Added membership/type.

This commit is contained in:
Robert Kolner committed 2013-09-11 22:31:24 +02:00
1 parent 9686821aa7
commit 8fea26a1cd
1 file changed
+34 -5
+34 -5
View File
@@ -1,8 +1,9 @@
from tastypie import fields
from tastypie.resources import ModelResource, ALL, ALL_WITH_RELATIONS
from tastypie.authorization import Authorization
from django.conf.urls import url
from dusken.api.member import MemberResource
from dusken.models import *
from tastypie import fields
from tastypie.authorization import Authorization
from tastypie.resources import ModelResource, ALL, ALL_WITH_RELATIONS
class MembershipResource(ModelResource):
@@ -17,15 +18,43 @@ class MembershipResource(ModelResource):
queryset = Membership.objects.all()
resource_name = 'membership'
list_allowed_methods = [ 'get', 'post' ]
detail_allowed_methods = [ 'get', 'post' ]
detail_allowed_methods = [ 'get', 'patch' ]
authorization = Authorization() # TODO: for dev (VERY INSECURE)
filtering = {
'member' : ALL_WITH_RELATIONS,
'expires' : [ 'exact','range','gt','gte','lt','lte' ], #TODO: Doesn't work.
}
def prepend_urls(self):
return [
url(r"^(?P<resource_name>%s)/type/$" % (self._meta.resource_name), self.wrap_view("list_type"), name="api_type"),
url(r"^(?P<resource_name>%s)/type/(?P<id>\d+)/$" % (self._meta.resource_name), self.wrap_view("detail_type"), name="api_detail_type"),
]
def list_type(self, request, **kwargs):
resource = MembershipTypeResource()
return resource.dispatch_list(request, **kwargs)
def detail_type(self, request, **kwargs):
resource = MembershipTypeResource()
return resource.dispatch_detail(request, **kwargs)
def dehydrate(self, bundle):
bundle.data['member'] = bundle.obj.member.id
bundle.data['mtype'] = bundle.obj.mtype.id
bundle.data['membership_type'] = bundle.obj.mtype.id
bundle.data['payment'] = None if not bundle.obj.payment else bundle.obj.payment.id
return bundle
class MembershipTypeResource(ModelResource):
class Meta:
object_class = MembershipType
queryset = MembershipType.objects.all()
resource_name = "membership/type"
list_allowed_methods = [ 'get', 'post' ]
detail_allowed_methods = [ 'get', 'delete' ]
authorization = Authorization() # TODO
def delete_detail(self, request, **kwarg):
#TODO set is_active flag to False
pass