Archived
Updates to member class
This commit is contained in:
1 parent
d0dc823274
commit
3e809931c3
2 files changed
+12
-20
No files matched your search
+12
-2
@@ -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
|
||||
@@ -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.
|
||||
|
||||
Reference in new issue
Block a user