Adding role api

remotes/origin/enhancement/email-actions
Alejandro Alonso 2013-07-17 10:04:12 +02:00
parent 9a1c9c8403
commit 71c4782c67
4 changed files with 53 additions and 30 deletions

View File

@ -6,11 +6,11 @@ import django_filters
from rest_framework import generics from rest_framework import generics
from rest_framework.permissions import IsAuthenticated from rest_framework.permissions import IsAuthenticated
from greenmine.base.models import *
from greenmine.scrum.serializers import * from greenmine.scrum.serializers import *
from greenmine.scrum.models import * from greenmine.scrum.models import *
from greenmine.scrum.permissions import * from greenmine.scrum.permissions import *
class UserStoryFilter(django_filters.FilterSet): class UserStoryFilter(django_filters.FilterSet):
no_milestone = django_filters.NumberFilter(name="milestone", lookup_type='isnull') no_milestone = django_filters.NumberFilter(name="milestone", lookup_type='isnull')
@ -318,3 +318,18 @@ class PointsDetail(generics.RetrieveUpdateDestroyAPIView):
model = Points model = Points
serializer_class = PointsSerializer serializer_class = PointsSerializer
permission_classes = (IsAuthenticated, PointsDetailPermission,) 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,)

View File

@ -5,62 +5,62 @@ from greenmine.base.permissions import BaseDetailPermission
class ProjectDetailPermission(BaseDetailPermission): class ProjectDetailPermission(BaseDetailPermission):
get_permission = "can_view_project" get_permission = "can_view_project"
put_permission = "change_project" put_permission = "can_change_project"
patch_permission = "change_project" patch_permission = "can_change_project"
delete_permission = "delete_project" delete_permission = "can_delete_project"
safe_methods = ['HEAD', 'OPTIONS'] safe_methods = ['HEAD', 'OPTIONS']
path_to_project = [] path_to_project = []
class MilestoneDetailPermission(BaseDetailPermission): class MilestoneDetailPermission(BaseDetailPermission):
get_permission = "can_view_milestone" get_permission = "can_view_milestone"
put_permission = "change_milestone" put_permission = "can_change_milestone"
patch_permission = "change_milestone" patch_permission = "can_change_milestone"
delete_permission = "delete_milestone" delete_permission = "can_delete_milestone"
safe_methods = ['HEAD', 'OPTIONS'] safe_methods = ['HEAD', 'OPTIONS']
path_to_project = ['project'] path_to_project = ['project']
class UserStoryDetailPermission(BaseDetailPermission): class UserStoryDetailPermission(BaseDetailPermission):
get_permission = "can_view_userstory" get_permission = "can_view_userstory"
put_permission = "change_userstory" put_permission = "can_change_userstory"
patch_permission = "change_userstory" patch_permission = "can_change_userstory"
delete_permission = "delete_userstory" delete_permission = "can_delete_userstory"
safe_methods = ['HEAD', 'OPTIONS'] safe_methods = ['HEAD', 'OPTIONS']
path_to_project = ['project'] path_to_project = ['project']
class TaskDetailPermission(BaseDetailPermission): class TaskDetailPermission(BaseDetailPermission):
get_permission = "can_view_task" get_permission = "can_view_task"
put_permission = "change_task" put_permission = "can_change_task"
patch_permission = "change_task" patch_permission = "can_change_task"
delete_permission = "delete_task" delete_permission = "can_delete_task"
safe_methods = ['HEAD', 'OPTIONS'] safe_methods = ['HEAD', 'OPTIONS']
path_to_project = ['project'] path_to_project = ['project']
class IssueDetailPermission(BaseDetailPermission): class IssueDetailPermission(BaseDetailPermission):
get_permission = "can_view_issue" get_permission = "can_view_issue"
put_permission = "change_issue" put_permission = "can_change_issue"
patch_permission = "change_issue" patch_permission = "can_change_issue"
delete_permission = "delete_issue" delete_permission = "can_delete_issue"
safe_methods = ['HEAD', 'OPTIONS'] safe_methods = ['HEAD', 'OPTIONS']
path_to_project = ['project'] path_to_project = ['project']
class AttachmentDetailPermission(BaseDetailPermission): class AttachmentDetailPermission(BaseDetailPermission):
get_permission = "can_view_changeattachment" get_permission = "can_view_attachment"
put_permission = "change_changeattachment" put_permission = "can_change_attachment"
patch_permission = "change_changeattachment" patch_permission = "can_change_attachment"
delete_permission = "can_delete_changeattachment" delete_permission = "can_delete_attachment"
safe_methods = ['HEAD', 'OPTIONS'] safe_methods = ['HEAD', 'OPTIONS']
path_to_project = ['change', 'project'] path_to_project = ['change', 'project']
class SeverityDetailPermission(BaseDetailPermission): class SeverityDetailPermission(BaseDetailPermission):
get_permission = "can_view_severity" get_permission = "can_view_severity"
put_permission = "can_severity_severity" put_permission = "can_change_severity"
patch_permission = "can_severity_severity" patch_permission = "can_change_severity"
delete_permission = "can_delete_severity" delete_permission = "can_delete_severity"
safe_methods = ['HEAD', 'OPTIONS'] safe_methods = ['HEAD', 'OPTIONS']
path_to_project = ['project'] path_to_project = ['project']
@ -68,8 +68,8 @@ class SeverityDetailPermission(BaseDetailPermission):
class IssueStatusDetailPermission(BaseDetailPermission): class IssueStatusDetailPermission(BaseDetailPermission):
get_permission = "can_view_issuestatus" get_permission = "can_view_issuestatus"
put_permission = "can_severity_issuestatus" put_permission = "can_change_issuestatus"
patch_permission = "can_severity_issuestatus" patch_permission = "can_change_issuestatus"
delete_permission = "can_delete_issuestatus" delete_permission = "can_delete_issuestatus"
safe_methods = ['HEAD', 'OPTIONS'] safe_methods = ['HEAD', 'OPTIONS']
path_to_project = ['project'] path_to_project = ['project']
@ -77,8 +77,8 @@ class IssueStatusDetailPermission(BaseDetailPermission):
class TaskStatusDetailPermission(BaseDetailPermission): class TaskStatusDetailPermission(BaseDetailPermission):
get_permission = "can_view_taskstatus" get_permission = "can_view_taskstatus"
put_permission = "can_severity_taskstatus" put_permission = "can_change_taskstatus"
patch_permission = "can_severity_taskstatus" patch_permission = "can_change_taskstatus"
delete_permission = "can_delete_taskstatus" delete_permission = "can_delete_taskstatus"
safe_methods = ['HEAD', 'OPTIONS'] safe_methods = ['HEAD', 'OPTIONS']
path_to_project = ['project'] path_to_project = ['project']
@ -86,8 +86,8 @@ class TaskStatusDetailPermission(BaseDetailPermission):
class UserStoryStatusDetailPermission(BaseDetailPermission): class UserStoryStatusDetailPermission(BaseDetailPermission):
get_permission = "can_view_userstorystatus" get_permission = "can_view_userstorystatus"
put_permission = "can_severity_userstorystatus" put_permission = "can_change_userstorystatus"
patch_permission = "can_severity_userstorystatus" patch_permission = "can_change_userstorystatus"
delete_permission = "can_delete_userstorystatus" delete_permission = "can_delete_userstorystatus"
safe_methods = ['HEAD', 'OPTIONS'] safe_methods = ['HEAD', 'OPTIONS']
path_to_project = ['project'] path_to_project = ['project']
@ -95,8 +95,8 @@ class UserStoryStatusDetailPermission(BaseDetailPermission):
class PriorityDetailPermission(BaseDetailPermission): class PriorityDetailPermission(BaseDetailPermission):
get_permission = "can_view_priority" get_permission = "can_view_priority"
put_permission = "can_severity_priority" put_permission = "can_change_priority"
patch_permission = "can_severity_priority" patch_permission = "can_change_priority"
delete_permission = "can_delete_priority" delete_permission = "can_delete_priority"
safe_methods = ['HEAD', 'OPTIONS'] safe_methods = ['HEAD', 'OPTIONS']
path_to_project = ['project'] path_to_project = ['project']

View File

@ -2,6 +2,7 @@
from rest_framework import serializers from rest_framework import serializers
from greenmine.base.models import *
from greenmine.scrum.models import * from greenmine.scrum.models import *
from picklefield.fields import dbsafe_encode, dbsafe_decode from picklefield.fields import dbsafe_encode, dbsafe_decode
@ -221,3 +222,8 @@ class IssueTypeSerializer(serializers.ModelSerializer):
fields = () fields = ()
class RoleSerializer(serializers.ModelSerializer):
class Meta:
model = Role
fields = ()

View File

@ -35,4 +35,6 @@ urlpatterns = format_suffix_patterns(patterns('',
url(r'^tasks/statuses/(?P<pk>[0-9]+)/$', api.TaskStatusDetail.as_view(), name='tasks-status-detail'), url(r'^tasks/statuses/(?P<pk>[0-9]+)/$', api.TaskStatusDetail.as_view(), name='tasks-status-detail'),
url(r'^priorities/$', api.PriorityList.as_view(), name='priority-list'), url(r'^priorities/$', api.PriorityList.as_view(), name='priority-list'),
url(r'^priorities/(?P<pk>[0-9]+)/$', api.PriorityDetail.as_view(), name='priority-detail'), url(r'^priorities/(?P<pk>[0-9]+)/$', api.PriorityDetail.as_view(), name='priority-detail'),
url(r'^roles/$', api.RoleList.as_view(), name='role-list'),
url(r'^roles/(?P<pk>[0-9]+)/$', api.RoleDetail.as_view(), name='role-detail'),
)) ))