It was so long ago I can't remember, but it looks important.

This commit is contained in:
Robert Kolner committed 2013-07-15 13:53:52 +02:00
1 parent 6c02b6d9ab
commit fda43b31d3
3 files changed
+27 -42

No files matched your search

+19 -35
View File
@@ -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
+7 -6
View File
@@ -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
View File
@@ -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)