Added POST permissions

remotes/origin/enhancement/email-actions
David Barragán Merino 2013-10-31 12:01:30 +01:00
parent ec5002f8ed
commit ab7236fddf
9 changed files with 23 additions and 7 deletions

View File

@ -20,6 +20,7 @@ def has_project_perm(user, project, perm):
class BasePermission(permissions.BasePermission): class BasePermission(permissions.BasePermission):
get_permission = None get_permission = None
post_permission = None
put_permission = None put_permission = None
patch_permission = None patch_permission = None
delete_permission = None delete_permission = None
@ -46,15 +47,14 @@ class BasePermission(permissions.BasePermission):
# Members permissions # Members permissions
if request.method == "GET": if request.method == "GET":
return has_project_perm(request.user, project_obj, self.get_permission) return has_project_perm(request.user, project_obj, self.get_permission)
elif request.method == "POST":
return has_project_perm(request.user, project_obj, self.post_permission)
elif request.method == "PUT": elif request.method == "PUT":
return has_project_perm(request.user, project_obj, self.put_permission) return has_project_perm(request.user, project_obj, self.put_permission)
elif request.method == "DELETE":
return has_project_perm(request.user, project_obj, self.delete_permission)
elif request.method == "PATCH": elif request.method == "PATCH":
return has_project_perm(request.user, project_obj, self.patch_permission) return has_project_perm(request.user, project_obj, self.patch_permission)
elif request.method == "DELETE":
return has_project_perm(request.user, project_obj, self.delete_permission)
return False return False

View File

@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission
class DocumentPermission(BasePermission): class DocumentPermission(BasePermission):
get_permission = "view_document" get_permission = "view_document"
post_permission = "add_document"
put_permission = "change_document" put_permission = "change_document"
patch_permission = "change_document" patch_permission = "change_document"
delete_permission = "delete_document" delete_permission = "delete_document"

View File

@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission
class IssuePermission(BasePermission): class IssuePermission(BasePermission):
get_permission = "view_issue" get_permission = "view_issue"
post_permission = "add_issue"
put_permission = "change_issue" put_permission = "change_issue"
patch_permission = "change_issue" patch_permission = "change_issue"
delete_permission = "delete_issue" delete_permission = "delete_issue"

View File

@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission
class MilestonePermission(BasePermission): class MilestonePermission(BasePermission):
get_permission = "view_milestone" get_permission = "view_milestone"
post_permission = "add_milestone"
put_permission = "change_milestone" put_permission = "change_milestone"
patch_permission = "change_milestone" patch_permission = "change_milestone"
delete_permission = "delete_milestone" delete_permission = "delete_milestone"

View File

@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission
class ProjectPermission(BasePermission): class ProjectPermission(BasePermission):
get_permission = "view_project" get_permission = "view_project"
post_permission = "add_project"
put_permission = "change_project" put_permission = "change_project"
patch_permission = "change_project" patch_permission = "change_project"
delete_permission = "delete_project" delete_permission = "delete_project"
@ -14,6 +15,7 @@ class ProjectPermission(BasePermission):
class MembershipPermission(BasePermission): class MembershipPermission(BasePermission):
get_permission = "view_membership" get_permission = "view_membership"
post_permission = "add_membership"
put_permission = "change_membership" put_permission = "change_membership"
patch_permission = "change_membership" patch_permission = "change_membership"
delete_permission = "delete_membership" delete_permission = "delete_membership"
@ -23,6 +25,7 @@ class MembershipPermission(BasePermission):
class AttachmentPermission(BasePermission): class AttachmentPermission(BasePermission):
get_permission = "view_attachment" get_permission = "view_attachment"
post_permission = "add_attachment"
put_permission = "change_attachment" put_permission = "change_attachment"
patch_permission = "change_attachment" patch_permission = "change_attachment"
delete_permission = "delete_attachment" delete_permission = "delete_attachment"
@ -34,6 +37,7 @@ class AttachmentPermission(BasePermission):
class PointsPermission(BasePermission): class PointsPermission(BasePermission):
get_permission = "view_points" get_permission = "view_points"
post_permission = "add_points"
put_permission = "change_points" put_permission = "change_points"
patch_permission = "change_points" patch_permission = "change_points"
delete_permission = "delete_points" delete_permission = "delete_points"
@ -43,6 +47,7 @@ class PointsPermission(BasePermission):
class UserStoryStatusPermission(BasePermission): class UserStoryStatusPermission(BasePermission):
get_permission = "view_userstorystatus" get_permission = "view_userstorystatus"
post_permission = "add_userstorystatus"
put_permission = "change_userstorystatus" put_permission = "change_userstorystatus"
patch_permission = "change_userstorystatus" patch_permission = "change_userstorystatus"
delete_permission = "delete_userstorystatus" delete_permission = "delete_userstorystatus"
@ -54,6 +59,7 @@ class UserStoryStatusPermission(BasePermission):
class TaskStatusPermission(BasePermission): class TaskStatusPermission(BasePermission):
get_permission = "view_taskstatus" get_permission = "view_taskstatus"
post_permission = "ade_taskstatus"
put_permission = "change_taskstatus" put_permission = "change_taskstatus"
patch_permission = "change_taskstatus" patch_permission = "change_taskstatus"
delete_permission = "delete_taskstatus" delete_permission = "delete_taskstatus"
@ -65,6 +71,7 @@ class TaskStatusPermission(BasePermission):
class SeverityPermission(BasePermission): class SeverityPermission(BasePermission):
get_permission = "view_severity" get_permission = "view_severity"
post_permission = "add_severity"
put_permission = "change_severity" put_permission = "change_severity"
patch_permission = "change_severity" patch_permission = "change_severity"
delete_permission = "delete_severity" delete_permission = "delete_severity"
@ -74,6 +81,7 @@ class SeverityPermission(BasePermission):
class PriorityPermission(BasePermission): class PriorityPermission(BasePermission):
get_permission = "view_priority" get_permission = "view_priority"
post_permission = "add_priority"
put_permission = "change_priority" put_permission = "change_priority"
patch_permission = "change_priority" patch_permission = "change_priority"
delete_permission = "delete_priority" delete_permission = "delete_priority"
@ -83,6 +91,7 @@ class PriorityPermission(BasePermission):
class IssueStatusPermission(BasePermission): class IssueStatusPermission(BasePermission):
get_permission = "view_issuestatus" get_permission = "view_issuestatus"
post_permission = "add_issuestatus"
put_permission = "change_issuestatus" put_permission = "change_issuestatus"
patch_permission = "change_issuestatus" patch_permission = "change_issuestatus"
delete_permission = "delete_issuestatus" delete_permission = "delete_issuestatus"
@ -92,6 +101,7 @@ class IssueStatusPermission(BasePermission):
class IssueTypePermission(BasePermission): class IssueTypePermission(BasePermission):
get_permission = "view_issuetype" get_permission = "view_issuetype"
post_permission = "add_issuetype"
put_permission = "change_issuetype" put_permission = "change_issuetype"
patch_permission = "change_issuetype" patch_permission = "change_issuetype"
delete_permission = "delete_issuetype" delete_permission = "delete_issuetype"
@ -103,10 +113,9 @@ class IssueTypePermission(BasePermission):
class QuestionStatusPermission(BasePermission): class QuestionStatusPermission(BasePermission):
get_permission = "view_questionstatus" get_permission = "view_questionstatus"
post_permission = "add_questionstatus"
put_permission = "change_questionstatus" put_permission = "change_questionstatus"
patch_permission = "change_questionstatus" patch_permission = "change_questionstatus"
delete_permission = "delete_questionstatus" delete_permission = "delete_questionstatus"
safe_methods = ["HEAD", "OPTIONS"] safe_methods = ["HEAD", "OPTIONS"]
path_to_project = ["project"] path_to_project = ["project"]

View File

@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission
class QuestionPermission(BasePermission): class QuestionPermission(BasePermission):
get_permission = "view_question" get_permission = "view_question"
post_permission = "add_question"
put_permission = "change_question" put_permission = "change_question"
patch_permission = "change_question" patch_permission = "change_question"
delete_permission = "delete_question" delete_permission = "delete_question"

View File

@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission
class TaskPermission(BasePermission): class TaskPermission(BasePermission):
get_permission = "view_task" get_permission = "view_task"
post_permission = "add_task"
put_permission = "change_task" put_permission = "change_task"
patch_permission = "change_task" patch_permission = "change_task"
delete_permission = "delete_task" delete_permission = "delete_task"

View File

@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission
class UserStoryPermission(BasePermission): class UserStoryPermission(BasePermission):
get_permission = "view_userstory" get_permission = "view_userstory"
post_permission = "add_userstory"
put_permission = "change_userstory" put_permission = "change_userstory"
patch_permission = "change_userstory" patch_permission = "change_userstory"
delete_permission = "delete_userstory" delete_permission = "delete_userstory"

View File

@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission
class WikiPagePermission(BasePermission): class WikiPagePermission(BasePermission):
get_permission = "view_wikipage" get_permission = "view_wikipage"
post_permission = "add_wikipage"
put_permission = "change_wikipage" put_permission = "change_wikipage"
patch_permission = "change_wikipage" patch_permission = "change_wikipage"
delete_permission = "delete_wikipage" delete_permission = "delete_wikipage"