This repository has been archived on 2026-10-23. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
dusken-old/dusken/api/membership.py
T
2013-05-19 16:19:03 +02:00

32 lines
1.1 KiB
Python

from tastypie import fields
from tastypie.resources import ModelResource, ALL, ALL_WITH_RELATIONS
from tastypie.authorization import Authorization
from dusken.api.member import MemberResource
from dusken.models import *
class MembershipResource(ModelResource):
"""
This class provides following endpoints:
(1) /api/v1/membership/
"""
member = fields.ForeignKey(MemberResource, 'member')
expires = fields.DateTimeField(attribute='expires', readonly=True)
class Meta:
queryset = Membership.objects.all()
resource_name = 'membership'
list_allowed_methods = [ 'get', 'post' ]
detail_allowed_methods = [ 'get', 'post' ]
authorization = Authorization() # TODO: for dev (VERY INSECURE)
filtering = {
'member' : ALL_WITH_RELATIONS,
'expires' : [ 'exact','range','gt','gte','lt','lte' ], #TODO: Doesn't work.
}
def dehydrate(self, bundle):
bundle.data['member'] = bundle.obj.member.id
bundle.data['mtype'] = bundle.obj.mtype.id
bundle.data['payment'] = None if not bundle.obj.payment else bundle.obj.payment.id
return bundle