Archived
Some things, I think. Not sure what, but it's probably important enough to commit.
This commit is contained in:
1 parent
4929b14bcf
commit
d0dc823274
2 files changed
+50
-11
No files matched your search
@@ -2,10 +2,12 @@ from tastypie import fields
|
||||
from tastypie.authorization import Authorization
|
||||
from tastypie.bundle import Bundle
|
||||
from tastypie.exceptions import ImmediateHttpResponse
|
||||
from tastypie.http import HttpNotFound
|
||||
from tastypie.http import HttpNotFound, HttpAccepted, HttpCreated, HttpResponse, HttpBadRequest
|
||||
from tastypie.resources import Resource
|
||||
from dusken.models import Member, Group
|
||||
|
||||
import logging
|
||||
|
||||
class MembersByGroupObject(object):
|
||||
def __init__(self):
|
||||
self.group_id = 0
|
||||
@@ -18,8 +20,8 @@ class MembersByGroupResource(Resource):
|
||||
class Meta:
|
||||
resource_name = 'membersbygroup'
|
||||
object_class = MembersByGroupObject
|
||||
list_allowed_methods = [ 'post' ]
|
||||
detail_allowed_methods = [ 'get', 'delete' ]
|
||||
list_allowed_methods = []
|
||||
detail_allowed_methods = [ 'get', 'delete', 'post' ]
|
||||
authorization = Authorization() # TODO: Obvious
|
||||
|
||||
def detail_uri_kwargs(self, bundle_or_obj):
|
||||
@@ -37,9 +39,11 @@ class MembersByGroupResource(Resource):
|
||||
return kwargs
|
||||
|
||||
def get_object_list(self, request):
|
||||
logging.info("Someone tried to get_object_list, but I can't do that, man, I can't do that!")
|
||||
pass # We can't return lists.
|
||||
|
||||
def obj_get_list(self, request=None, **kwargs):
|
||||
logging.info("Someone tried to obj_get_list, but I can't do that, man, I can't do that!")
|
||||
pass # We can't return lists.
|
||||
|
||||
def obj_get(self, request=None, **kwargs):
|
||||
@@ -72,20 +76,37 @@ class MembersByGroupResource(Resource):
|
||||
|
||||
return obj
|
||||
|
||||
def obj_create(self, request=None, **kwargs):
|
||||
pass # TODO
|
||||
def post_detail(self, request=None, **kwargs):
|
||||
"""
|
||||
Creates a new relationship be.
|
||||
"""
|
||||
|
||||
keys = kwargs['pk'].split('/')
|
||||
if len(keys) < 2:
|
||||
raise ImmediateHttpResponse(HttpBadRequest())
|
||||
|
||||
member_id = keys[0]
|
||||
group_id = keys[1]
|
||||
|
||||
|
||||
logging.error("Calling create function with parameters {0}".format(str(kwargs)))
|
||||
return HttpCreated()
|
||||
|
||||
def obj_update(self, bundle, request=None, **kwargs):
|
||||
pass # We can't update.
|
||||
logging.info("Someone tried to obj_update, but I can't do that, man, I can't do that!")
|
||||
return # We can't update.
|
||||
|
||||
def obj_delete_list(self, request=None, **kwargs):
|
||||
pass # We can't delete lists.
|
||||
logging.info("Someone tried to obj_delete_list, but I can't do that, man, I can't do that!")
|
||||
return # We can't delete lists.
|
||||
|
||||
def obj_delete(self, request=None, **kwargs):
|
||||
print str(kwargs +"\n\n\n\n")
|
||||
group = Group.objects.get(id=group_id)
|
||||
member = Member.objects.get(id=user_id)
|
||||
group.user_set.remove(member)
|
||||
|
||||
|
||||
def rollback(self, bundles):
|
||||
pass
|
||||
logging.info("Someone tried to rollback, but I can't do that, man, I can't do that!")
|
||||
return
|
||||
@@ -26,7 +26,7 @@ class MembersByGroupTest(ResourceTestCase):
|
||||
self.assertHttpMethodNotAllowed(resp)
|
||||
|
||||
resp = self.api_client.post(self.url)
|
||||
self.assertNotEquals(resp.status_code, 405)
|
||||
self.assertHttpMethodNotAllowed(resp)
|
||||
|
||||
resp = self.api_client.put(self.url)
|
||||
self.assertHttpMethodNotAllowed(resp)
|
||||
@@ -48,7 +48,25 @@ class MembersByGroupTest(ResourceTestCase):
|
||||
self.assertValidJSONResponse(resp)
|
||||
|
||||
def test_create_relation(self):
|
||||
pass
|
||||
group = Group(name="Design", posix_name="design")
|
||||
|
||||
data = {
|
||||
'member_id': self.member.pk,
|
||||
'group_id': group.pk
|
||||
}
|
||||
resp = self.api_client.post(self.url, format='json', data=data)
|
||||
self.assertHttpCreated(resp)
|
||||
self.assertNotEquals(self.member.groups.filter(name=group.name).count(), 0)
|
||||
|
||||
def test_remove_relation(self):
|
||||
pass
|
||||
data = {
|
||||
'member_id': self.member.pk,
|
||||
'group_id': self.group.pk
|
||||
}
|
||||
resp = self.api_client.delete(self.url, format='json', data=data)
|
||||
self.assertHttpAccepted(resp)
|
||||
self.assertEquals(self.member.groups.filter(name=group.name).count(), 0)
|
||||
|
||||
resp = self.api_client.delete(self.url, format='json', data=data)
|
||||
self.assertHttpGone(resp)
|
||||
|
||||
Reference in new issue
Block a user