Updates to member class

This commit is contained in:
Robert Kolner committed 2013-06-05 19:46:20 +02:00
1 parent d0dc823274
commit 3e809931c3
2 files changed
+12 -20

No files matched your search

+12 -2
View File
@@ -17,7 +17,7 @@ class MemberResource(ModelResource):
queryset = Member.objects.all()
resource_name = 'member'
list_allowed_methods = [ 'get', 'post' ]
detail_allowed_methods = [ 'get', 'patch' ]
detail_allowed_methods = [ 'get', 'patch', 'delete' ]
authorization = Authorization() # TODO: for dev (VERY INSECURE)
excludes = [ 'date_joined', 'password', 'is_active', 'is_staff', 'is_superuser', 'last_login' ]
filtering = {
@@ -61,5 +61,15 @@ class MemberResource(ModelResource):
# We can't change username.
raise ImmediateHttpResponse(HttpForbidden("You can't change your username."))
elif key == 'password':
bundle.obj.set_password(value)
bundle.obj.set_password(value) #TODO Set password only once we know that we can trust the request.
return bundle
def post(self, request, **kwargs):
pass #TODO Activate user or...
return super(MemberResource, self).post(request, **kwargs)
def delete_detail(self, request, **kwargs):
member = Member.objects.get(kwargs['pk'])
member.is_active = False
member.save()
return 204
-18
View File
@@ -41,24 +41,6 @@ class MemberTest(ResourceTestCase):
self.all_members_url = '/api/v1/member/'
self.member_url = self.all_members_url + '{}/'.format(self.member.pk)
def test_check_request_types(self):
"""
Tests that the endpoint responds to correct types of requests.
"""
# /api/v1/member/
self.assertHttpOK(self.api_client.get(self.all_members_url))
self.assertHttpCreated(self.api_client.post(self.all_members_url))
self.assertHttpMethodNotAllowed(self.api_client.patch(self.all_members_url, data={}))
self.assertHttpMethodNotAllowed(self.api_client.put(self.all_members_url))
self.assertHttpMethodNotAllowed(self.api_client.delete(self.all_members_url))
# /api/v1/member/<pk>/
self.assertHttpOK(self.api_client.get(self.member_url))
self.assertHttpMethodNotAllowed(self.api_client.post(self.member_url))
self.assertHttpAccepted(self.api_client.patch(self.member_url, data={}))
self.assertHttpMethodNotAllowed(self.api_client.put(self.member_url))
self.assertHttpMethodNotAllowed(self.api_client.delete(self.member_url))
def test_get_member(self):
"""
Tests that we can get a premade user correctly.