From 71c4782c67e6a0f39552811a62fdf418ce4de971 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 17 Jul 2013 10:04:12 +0200 Subject: [PATCH] Adding role api --- greenmine/scrum/api.py | 17 +++++++++- greenmine/scrum/permissions.py | 58 +++++++++++++++++----------------- greenmine/scrum/serializers.py | 6 ++++ greenmine/scrum/urls.py | 2 ++ 4 files changed, 53 insertions(+), 30 deletions(-) diff --git a/greenmine/scrum/api.py b/greenmine/scrum/api.py index 9643d27e..39638c50 100644 --- a/greenmine/scrum/api.py +++ b/greenmine/scrum/api.py @@ -6,11 +6,11 @@ import django_filters from rest_framework import generics from rest_framework.permissions import IsAuthenticated +from greenmine.base.models import * from greenmine.scrum.serializers import * from greenmine.scrum.models import * from greenmine.scrum.permissions import * - class UserStoryFilter(django_filters.FilterSet): no_milestone = django_filters.NumberFilter(name="milestone", lookup_type='isnull') @@ -318,3 +318,18 @@ class PointsDetail(generics.RetrieveUpdateDestroyAPIView): model = Points serializer_class = PointsSerializer permission_classes = (IsAuthenticated, PointsDetailPermission,) + + +class RoleList(generics.ListAPIView): + model = Role + serializer_class = RoleSerializer + permission_classes = (IsAuthenticated,) + + def get_queryset(self): + return self.model.objects.all() + + +class RoleDetail(generics.RetrieveAPIView): + model = Role + serializer_class = RoleSerializer + permission_classes = (IsAuthenticated,) diff --git a/greenmine/scrum/permissions.py b/greenmine/scrum/permissions.py index d7b5e390..2914e56f 100644 --- a/greenmine/scrum/permissions.py +++ b/greenmine/scrum/permissions.py @@ -5,62 +5,62 @@ from greenmine.base.permissions import BaseDetailPermission class ProjectDetailPermission(BaseDetailPermission): get_permission = "can_view_project" - put_permission = "change_project" - patch_permission = "change_project" - delete_permission = "delete_project" + put_permission = "can_change_project" + patch_permission = "can_change_project" + delete_permission = "can_delete_project" safe_methods = ['HEAD', 'OPTIONS'] path_to_project = [] class MilestoneDetailPermission(BaseDetailPermission): get_permission = "can_view_milestone" - put_permission = "change_milestone" - patch_permission = "change_milestone" - delete_permission = "delete_milestone" + put_permission = "can_change_milestone" + patch_permission = "can_change_milestone" + delete_permission = "can_delete_milestone" safe_methods = ['HEAD', 'OPTIONS'] path_to_project = ['project'] class UserStoryDetailPermission(BaseDetailPermission): get_permission = "can_view_userstory" - put_permission = "change_userstory" - patch_permission = "change_userstory" - delete_permission = "delete_userstory" + put_permission = "can_change_userstory" + patch_permission = "can_change_userstory" + delete_permission = "can_delete_userstory" safe_methods = ['HEAD', 'OPTIONS'] path_to_project = ['project'] class TaskDetailPermission(BaseDetailPermission): get_permission = "can_view_task" - put_permission = "change_task" - patch_permission = "change_task" - delete_permission = "delete_task" + put_permission = "can_change_task" + patch_permission = "can_change_task" + delete_permission = "can_delete_task" safe_methods = ['HEAD', 'OPTIONS'] path_to_project = ['project'] class IssueDetailPermission(BaseDetailPermission): get_permission = "can_view_issue" - put_permission = "change_issue" - patch_permission = "change_issue" - delete_permission = "delete_issue" + put_permission = "can_change_issue" + patch_permission = "can_change_issue" + delete_permission = "can_delete_issue" safe_methods = ['HEAD', 'OPTIONS'] path_to_project = ['project'] class AttachmentDetailPermission(BaseDetailPermission): - get_permission = "can_view_changeattachment" - put_permission = "change_changeattachment" - patch_permission = "change_changeattachment" - delete_permission = "can_delete_changeattachment" + get_permission = "can_view_attachment" + put_permission = "can_change_attachment" + patch_permission = "can_change_attachment" + delete_permission = "can_delete_attachment" safe_methods = ['HEAD', 'OPTIONS'] path_to_project = ['change', 'project'] class SeverityDetailPermission(BaseDetailPermission): get_permission = "can_view_severity" - put_permission = "can_severity_severity" - patch_permission = "can_severity_severity" + put_permission = "can_change_severity" + patch_permission = "can_change_severity" delete_permission = "can_delete_severity" safe_methods = ['HEAD', 'OPTIONS'] path_to_project = ['project'] @@ -68,8 +68,8 @@ class SeverityDetailPermission(BaseDetailPermission): class IssueStatusDetailPermission(BaseDetailPermission): get_permission = "can_view_issuestatus" - put_permission = "can_severity_issuestatus" - patch_permission = "can_severity_issuestatus" + put_permission = "can_change_issuestatus" + patch_permission = "can_change_issuestatus" delete_permission = "can_delete_issuestatus" safe_methods = ['HEAD', 'OPTIONS'] path_to_project = ['project'] @@ -77,8 +77,8 @@ class IssueStatusDetailPermission(BaseDetailPermission): class TaskStatusDetailPermission(BaseDetailPermission): get_permission = "can_view_taskstatus" - put_permission = "can_severity_taskstatus" - patch_permission = "can_severity_taskstatus" + put_permission = "can_change_taskstatus" + patch_permission = "can_change_taskstatus" delete_permission = "can_delete_taskstatus" safe_methods = ['HEAD', 'OPTIONS'] path_to_project = ['project'] @@ -86,8 +86,8 @@ class TaskStatusDetailPermission(BaseDetailPermission): class UserStoryStatusDetailPermission(BaseDetailPermission): get_permission = "can_view_userstorystatus" - put_permission = "can_severity_userstorystatus" - patch_permission = "can_severity_userstorystatus" + put_permission = "can_change_userstorystatus" + patch_permission = "can_change_userstorystatus" delete_permission = "can_delete_userstorystatus" safe_methods = ['HEAD', 'OPTIONS'] path_to_project = ['project'] @@ -95,8 +95,8 @@ class UserStoryStatusDetailPermission(BaseDetailPermission): class PriorityDetailPermission(BaseDetailPermission): get_permission = "can_view_priority" - put_permission = "can_severity_priority" - patch_permission = "can_severity_priority" + put_permission = "can_change_priority" + patch_permission = "can_change_priority" delete_permission = "can_delete_priority" safe_methods = ['HEAD', 'OPTIONS'] path_to_project = ['project'] diff --git a/greenmine/scrum/serializers.py b/greenmine/scrum/serializers.py index 8b1a2572..c286bb55 100644 --- a/greenmine/scrum/serializers.py +++ b/greenmine/scrum/serializers.py @@ -2,6 +2,7 @@ from rest_framework import serializers +from greenmine.base.models import * from greenmine.scrum.models import * from picklefield.fields import dbsafe_encode, dbsafe_decode @@ -221,3 +222,8 @@ class IssueTypeSerializer(serializers.ModelSerializer): fields = () +class RoleSerializer(serializers.ModelSerializer): + class Meta: + model = Role + fields = () + diff --git a/greenmine/scrum/urls.py b/greenmine/scrum/urls.py index 5c15cbc6..8806e090 100644 --- a/greenmine/scrum/urls.py +++ b/greenmine/scrum/urls.py @@ -35,4 +35,6 @@ urlpatterns = format_suffix_patterns(patterns('', url(r'^tasks/statuses/(?P[0-9]+)/$', api.TaskStatusDetail.as_view(), name='tasks-status-detail'), url(r'^priorities/$', api.PriorityList.as_view(), name='priority-list'), url(r'^priorities/(?P[0-9]+)/$', api.PriorityDetail.as_view(), name='priority-detail'), + url(r'^roles/$', api.RoleList.as_view(), name='role-list'), + url(r'^roles/(?P[0-9]+)/$', api.RoleDetail.as_view(), name='role-detail'), ))