Archived
It was so long ago I can't remember, but it looks important.
This commit is contained in:
1 parent
6c02b6d9ab
commit
fda43b31d3
3 files changed
+27
-42
No files matched your search
@@ -20,7 +20,7 @@ class GroupsByMemberResource(Resource):
|
||||
|
||||
class Meta:
|
||||
object_class = GroupsByMemberObject
|
||||
list_allowed_methods = []
|
||||
list_allowed_methods = [ 'get' ]
|
||||
detail_allowed_methods = [ 'get', 'delete', 'post' ]
|
||||
authorization = Authorization() # TODO: Obvious
|
||||
|
||||
@@ -28,59 +28,43 @@ class GroupsByMemberResource(Resource):
|
||||
kwargs = {
|
||||
'resource_name': self._meta.resource_name,
|
||||
}
|
||||
if isinstance(bundle_or_obj, Bundle):
|
||||
kwargs['pk'] = bundle_or_obj.obj.group_id
|
||||
else:
|
||||
kwargs['pk'] = bundle_or_obj.group_id
|
||||
|
||||
if self._meta.api_name is not None:
|
||||
kwargs['api_name'] = self._meta.api_name
|
||||
|
||||
|
||||
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.
|
||||
return self.obj_get_list(request)
|
||||
|
||||
|
||||
def obj_get_list(self, request=None, **kwargs):
|
||||
member_id = int(kwargs['pk'])
|
||||
member_id = int(kwargs['member_id'])
|
||||
member = get_object_or_404(Member, pk=member_id)
|
||||
|
||||
obj = GroupsByMemberObject()
|
||||
obj.member_id = member_id
|
||||
|
||||
#print "\n\n\n" +str(member.groups.all()) +"\n\n\n"
|
||||
groups = []
|
||||
for group in member.groups.all():
|
||||
obj.groups.append(group)
|
||||
groups.append(group)
|
||||
|
||||
return obj
|
||||
return groups
|
||||
|
||||
def obj_get(self, request=None, **kwargs):
|
||||
member_id = int(kwargs['pk'])
|
||||
member_id = int(kwargs['member_id'])
|
||||
member = Member.objects.get(id=member_id)
|
||||
|
||||
member = None
|
||||
if len(keys) > 1:
|
||||
member_id = int(keys[1])
|
||||
member = Member.objects.get(id=member_id)
|
||||
group_id = int(kwargs['group_id'])
|
||||
group = Group.objects.get(id=group_id)
|
||||
|
||||
if member is None:
|
||||
return None
|
||||
if member is None:
|
||||
raise ImmediateHttpResponse(HttpNotFound())
|
||||
|
||||
if member.groups.filter(name=group.name).count() == 0:
|
||||
raise ImmediateHttpResponse(HttpNotFound())
|
||||
if member.groups.filter(name=group.name).count() == 0:
|
||||
raise ImmediateHttpResponse(HttpNotFound())
|
||||
|
||||
if group is None:
|
||||
return None
|
||||
|
||||
obj = MembersByGroupObject()
|
||||
obj.group_id = group.id
|
||||
|
||||
if member is None:
|
||||
for member in group.user_set.all():
|
||||
obj.members.append(member.id)
|
||||
else:
|
||||
obj.members.append(member.id)
|
||||
obj = GroupsByMemberObject()
|
||||
obj.member_id = member_id
|
||||
for group in member.groups.all():
|
||||
obj.groups.append(group)
|
||||
|
||||
return obj
|
||||
|
||||
|
||||
@@ -34,16 +34,17 @@ class MemberResource(ModelResource):
|
||||
|
||||
def prepend_urls(self):
|
||||
return [
|
||||
url(r"^(?P<resource_name>%s)/(?P<pk>\d+)/groups/$" % (self._meta.resource_name), self.wrap_view("get_groups"), name="api_get_groups"),
|
||||
url(r"^(?P<resource_name>%s)/(?P<member_id>\d+)/groups/$" % (self._meta.resource_name), self.wrap_view("get_groups"), name="api_get_groups"),
|
||||
url(r"^(?P<resource_name>%s)/(?P<member_id>\d+)/groups/(?P<group_id>\d+)/$" % (self._meta.resource_name), self.wrap_view("get_detail_groups"), name="api_get_detail_groups"),
|
||||
]
|
||||
|
||||
def get_groups(self, request, **kwargs):
|
||||
pk = kwargs['pk']
|
||||
member = get_object_or_404(Member, pk=pk)
|
||||
|
||||
#response = HttpResponse(self._meta.serializer.serialize(member, self.determine_format(request)))
|
||||
resource = GroupsByMemberResource()
|
||||
return resource.get_list(request, pk=pk)
|
||||
return resource.dispatch_list(request, **kwargs)
|
||||
|
||||
def get_detail_groups(self, request, **kwargs):
|
||||
resource = GroupsByMemberResource()
|
||||
return resource.dispatch_detail(request, **kwargs)
|
||||
|
||||
def apply_filters(self, request, applicable_filters):
|
||||
# Extra filters are used for filtering by attributes in User class. Find out if there
|
||||
|
||||
+1
-1
@@ -104,7 +104,7 @@ class MembershipType(models.Model):
|
||||
class Membership(models.Model):
|
||||
start_date = models.DateField()
|
||||
mtype = models.ForeignKey(MembershipType, db_column='type')
|
||||
payment = models.ForeignKey(PaymentForMembership, unique=True, null=True, blank=True)
|
||||
payment = models.ForeignKey(Payment, unique=True, null=True, blank=True)
|
||||
member = models.ForeignKey(Member)
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
updated = models.DateTimeField(auto_now=True)
|
||||
|
||||
Reference in new issue
Block a user