Issue #16: Implement the API for memberships
parent
cc8543c2e6
commit
a08986dd01
|
@ -30,6 +30,12 @@ class ProjectViewSet(ModelCrudViewSet):
|
||||||
super(ProjectViewSet, self).pre_save(obj)
|
super(ProjectViewSet, self).pre_save(obj)
|
||||||
|
|
||||||
|
|
||||||
|
class MembershipViewSet(ModelCrudViewSet):
|
||||||
|
model = models.Membership
|
||||||
|
serializer_class = serializers.MembershipSerializer
|
||||||
|
permission_classes = (IsAuthenticated, permissions.MembershipPermission)
|
||||||
|
|
||||||
|
|
||||||
# User Stories commin ViewSets
|
# User Stories commin ViewSets
|
||||||
|
|
||||||
class PointsViewSet(ModelListViewSet):
|
class PointsViewSet(ModelListViewSet):
|
||||||
|
|
|
@ -12,6 +12,15 @@ class ProjectPermission(BasePermission):
|
||||||
path_to_project = []
|
path_to_project = []
|
||||||
|
|
||||||
|
|
||||||
|
class MembershipPermission(BasePermission):
|
||||||
|
get_permission = "view_membership"
|
||||||
|
put_permission = "change_membership"
|
||||||
|
patch_permission = "change_membership"
|
||||||
|
delete_permission = "delete_membership"
|
||||||
|
safe_methods = ["HEAD", "OPTIONS"]
|
||||||
|
path_to_project = ["project"]
|
||||||
|
|
||||||
|
|
||||||
class AttachmentPermission(BasePermission):
|
class AttachmentPermission(BasePermission):
|
||||||
get_permission = "view_attachment"
|
get_permission = "view_attachment"
|
||||||
put_permission = "change_attachment"
|
put_permission = "change_attachment"
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
from greenmine.base import routers
|
from greenmine.base import routers
|
||||||
from greenmine.base.users.api import AuthViewSet, RolesViewSet, UsersViewSet
|
from greenmine.base.users.api import AuthViewSet, RolesViewSet, UsersViewSet
|
||||||
from greenmine.base.searches.api import SearchViewSet
|
from greenmine.base.searches.api import SearchViewSet
|
||||||
from greenmine.projects.api import ProjectViewSet
|
from greenmine.projects.api import ProjectViewSet, MembershipViewSet
|
||||||
from greenmine.projects.milestones.api import MilestoneViewSet
|
from greenmine.projects.milestones.api import MilestoneViewSet
|
||||||
from greenmine.projects.userstories.api import UserStoryViewSet, UserStoryAttachmentViewSet
|
from greenmine.projects.userstories.api import UserStoryViewSet, UserStoryAttachmentViewSet
|
||||||
from greenmine.projects.tasks.api import TaskViewSet, TaskAttachmentViewSet
|
from greenmine.projects.tasks.api import TaskViewSet, TaskAttachmentViewSet
|
||||||
|
@ -25,6 +25,7 @@ router.register(r"search", SearchViewSet, base_name="search")
|
||||||
|
|
||||||
# greenmine.projects
|
# greenmine.projects
|
||||||
router.register(r"projects", ProjectViewSet, base_name="projects")
|
router.register(r"projects", ProjectViewSet, base_name="projects")
|
||||||
|
router.register(r"memberships", MembershipViewSet, base_name="memberships")
|
||||||
|
|
||||||
# greenmine.projects.milestones
|
# greenmine.projects.milestones
|
||||||
router.register(r"milestones", MilestoneViewSet, base_name="milestones")
|
router.register(r"milestones", MilestoneViewSet, base_name="milestones")
|
||||||
|
|
Loading…
Reference in New Issue