From ab7236fddfe03e94592d334f1b379fdd9f32565a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Thu, 31 Oct 2013 12:01:30 +0100 Subject: [PATCH] Added POST permissions --- greenmine/base/permissions.py | 10 +++++----- greenmine/projects/documents/permissions.py | 1 + greenmine/projects/issues/permissions.py | 1 + greenmine/projects/milestones/permissions.py | 1 + greenmine/projects/permissions.py | 13 +++++++++++-- greenmine/projects/questions/permissions.py | 1 + greenmine/projects/tasks/permissions.py | 1 + greenmine/projects/userstories/permissions.py | 1 + greenmine/projects/wiki/permissions.py | 1 + 9 files changed, 23 insertions(+), 7 deletions(-) diff --git a/greenmine/base/permissions.py b/greenmine/base/permissions.py index 7d8ce187..d941e163 100644 --- a/greenmine/base/permissions.py +++ b/greenmine/base/permissions.py @@ -20,6 +20,7 @@ def has_project_perm(user, project, perm): class BasePermission(permissions.BasePermission): get_permission = None + post_permission = None put_permission = None patch_permission = None delete_permission = None @@ -46,15 +47,14 @@ class BasePermission(permissions.BasePermission): # Members permissions if request.method == "GET": 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": 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": 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 diff --git a/greenmine/projects/documents/permissions.py b/greenmine/projects/documents/permissions.py index 3725654c..9dbe6413 100644 --- a/greenmine/projects/documents/permissions.py +++ b/greenmine/projects/documents/permissions.py @@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission class DocumentPermission(BasePermission): get_permission = "view_document" + post_permission = "add_document" put_permission = "change_document" patch_permission = "change_document" delete_permission = "delete_document" diff --git a/greenmine/projects/issues/permissions.py b/greenmine/projects/issues/permissions.py index 85d30771..0a0bdf48 100644 --- a/greenmine/projects/issues/permissions.py +++ b/greenmine/projects/issues/permissions.py @@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission class IssuePermission(BasePermission): get_permission = "view_issue" + post_permission = "add_issue" put_permission = "change_issue" patch_permission = "change_issue" delete_permission = "delete_issue" diff --git a/greenmine/projects/milestones/permissions.py b/greenmine/projects/milestones/permissions.py index fa4110dd..cc7c7ba5 100644 --- a/greenmine/projects/milestones/permissions.py +++ b/greenmine/projects/milestones/permissions.py @@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission class MilestonePermission(BasePermission): get_permission = "view_milestone" + post_permission = "add_milestone" put_permission = "change_milestone" patch_permission = "change_milestone" delete_permission = "delete_milestone" diff --git a/greenmine/projects/permissions.py b/greenmine/projects/permissions.py index e60c3a1f..fcb2b128 100644 --- a/greenmine/projects/permissions.py +++ b/greenmine/projects/permissions.py @@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission class ProjectPermission(BasePermission): get_permission = "view_project" + post_permission = "add_project" put_permission = "change_project" patch_permission = "change_project" delete_permission = "delete_project" @@ -14,6 +15,7 @@ class ProjectPermission(BasePermission): class MembershipPermission(BasePermission): get_permission = "view_membership" + post_permission = "add_membership" put_permission = "change_membership" patch_permission = "change_membership" delete_permission = "delete_membership" @@ -23,6 +25,7 @@ class MembershipPermission(BasePermission): class AttachmentPermission(BasePermission): get_permission = "view_attachment" + post_permission = "add_attachment" put_permission = "change_attachment" patch_permission = "change_attachment" delete_permission = "delete_attachment" @@ -34,6 +37,7 @@ class AttachmentPermission(BasePermission): class PointsPermission(BasePermission): get_permission = "view_points" + post_permission = "add_points" put_permission = "change_points" patch_permission = "change_points" delete_permission = "delete_points" @@ -43,6 +47,7 @@ class PointsPermission(BasePermission): class UserStoryStatusPermission(BasePermission): get_permission = "view_userstorystatus" + post_permission = "add_userstorystatus" put_permission = "change_userstorystatus" patch_permission = "change_userstorystatus" delete_permission = "delete_userstorystatus" @@ -54,6 +59,7 @@ class UserStoryStatusPermission(BasePermission): class TaskStatusPermission(BasePermission): get_permission = "view_taskstatus" + post_permission = "ade_taskstatus" put_permission = "change_taskstatus" patch_permission = "change_taskstatus" delete_permission = "delete_taskstatus" @@ -65,6 +71,7 @@ class TaskStatusPermission(BasePermission): class SeverityPermission(BasePermission): get_permission = "view_severity" + post_permission = "add_severity" put_permission = "change_severity" patch_permission = "change_severity" delete_permission = "delete_severity" @@ -74,6 +81,7 @@ class SeverityPermission(BasePermission): class PriorityPermission(BasePermission): get_permission = "view_priority" + post_permission = "add_priority" put_permission = "change_priority" patch_permission = "change_priority" delete_permission = "delete_priority" @@ -83,6 +91,7 @@ class PriorityPermission(BasePermission): class IssueStatusPermission(BasePermission): get_permission = "view_issuestatus" + post_permission = "add_issuestatus" put_permission = "change_issuestatus" patch_permission = "change_issuestatus" delete_permission = "delete_issuestatus" @@ -92,6 +101,7 @@ class IssueStatusPermission(BasePermission): class IssueTypePermission(BasePermission): get_permission = "view_issuetype" + post_permission = "add_issuetype" put_permission = "change_issuetype" patch_permission = "change_issuetype" delete_permission = "delete_issuetype" @@ -103,10 +113,9 @@ class IssueTypePermission(BasePermission): class QuestionStatusPermission(BasePermission): get_permission = "view_questionstatus" + post_permission = "add_questionstatus" put_permission = "change_questionstatus" patch_permission = "change_questionstatus" delete_permission = "delete_questionstatus" safe_methods = ["HEAD", "OPTIONS"] path_to_project = ["project"] - - diff --git a/greenmine/projects/questions/permissions.py b/greenmine/projects/questions/permissions.py index 0fa60b48..76635996 100644 --- a/greenmine/projects/questions/permissions.py +++ b/greenmine/projects/questions/permissions.py @@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission class QuestionPermission(BasePermission): get_permission = "view_question" + post_permission = "add_question" put_permission = "change_question" patch_permission = "change_question" delete_permission = "delete_question" diff --git a/greenmine/projects/tasks/permissions.py b/greenmine/projects/tasks/permissions.py index 4e89bb85..0fe6e8f0 100644 --- a/greenmine/projects/tasks/permissions.py +++ b/greenmine/projects/tasks/permissions.py @@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission class TaskPermission(BasePermission): get_permission = "view_task" + post_permission = "add_task" put_permission = "change_task" patch_permission = "change_task" delete_permission = "delete_task" diff --git a/greenmine/projects/userstories/permissions.py b/greenmine/projects/userstories/permissions.py index 0c7e0c81..367f497d 100644 --- a/greenmine/projects/userstories/permissions.py +++ b/greenmine/projects/userstories/permissions.py @@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission class UserStoryPermission(BasePermission): get_permission = "view_userstory" + post_permission = "add_userstory" put_permission = "change_userstory" patch_permission = "change_userstory" delete_permission = "delete_userstory" diff --git a/greenmine/projects/wiki/permissions.py b/greenmine/projects/wiki/permissions.py index da0f6df1..08ab651b 100644 --- a/greenmine/projects/wiki/permissions.py +++ b/greenmine/projects/wiki/permissions.py @@ -5,6 +5,7 @@ from greenmine.base.permissions import BasePermission class WikiPagePermission(BasePermission): get_permission = "view_wikipage" + post_permission = "add_wikipage" put_permission = "change_wikipage" patch_permission = "change_wikipage" delete_permission = "delete_wikipage"