From 8cff258d2ce1cccf8eb007f76b27b391affbd349 Mon Sep 17 00:00:00 2001 From: Robert Kolner Date: Sat, 7 Dec 2013 18:23:47 +0100 Subject: [PATCH] Put member register under member/register. --- dusken/api/member.py | 13 +++++++++---- dusken/urls.py | 1 - 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/dusken/api/member.py b/dusken/api/member.py index 1ada0da..18e2f75 100644 --- a/dusken/api/member.py +++ b/dusken/api/member.py @@ -42,6 +42,7 @@ class MemberResource(ModelResource): return [ url(r"^(?P%s)/(?P\d+)/groups/$" % (self._meta.resource_name), self.wrap_view("list_groups"), name="api_groups"), url(r"^(?P%s)/(?P\d+)/groups/(?P\d+)/$" % (self._meta.resource_name), self.wrap_view("detail_groups"), name="api_detail_groups"), + url(r"^(?P%s)/register/$" % (self._meta.resource_name), self.wrap_view("register_member"), name="api_register_member"), ] def list_groups(self, request, **kwargs): @@ -52,6 +53,11 @@ class MemberResource(ModelResource): resource = GroupsByMemberResource() return resource.dispatch_detail(request, **kwargs) + def register_member(self, request, **kwargs): + print "yoyo" + resource = MemberCreateResource() + return resource.dispatch_list(request, **kwargs) + #def apply_filters(self, request, applicable_filters): # # Extra filters are used for filtering by attributes in User class. Find out if there # # are any, and if so, apply them. @@ -167,7 +173,7 @@ class MemberCreateResource(ModelResource): # - do not return fields in excludes list """ This class provides the following endpoint: - (1) /api/v1/register/ + (1) /api/v1/member/register/ The create Member resource is needed because: - You need a user account to authenticate to our API @@ -176,9 +182,8 @@ class MemberCreateResource(ModelResource): Ref: http://psjinx.com/programming/2013/06/07/so-you-want-to-create-users-using-djangotastypie/ """ class Meta: - object_class = Member - resource_name = "register" - allowed_methods = ['post'] + list_allowed_methods = [ 'post' ] + detail_allowed_methods = [] default_format = "application/json" queryset = Member.objects.all() authentication = ServiceAuthentication() # anyone diff --git a/dusken/urls.py b/dusken/urls.py index 85ec196..c919ad6 100644 --- a/dusken/urls.py +++ b/dusken/urls.py @@ -11,7 +11,6 @@ admin.autodiscover() v1_api = Api(api_name='v1') v1_api.register(MemberResource()) -v1_api.register(MemberCreateResource()) v1_api.register(MembershipResource()) v1_api.register(GroupResource()) v1_api.register(InstitutionResource())