From 84de51d9a74abdd71eb0ed478347aa4088ff6daf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Tue, 25 Aug 2015 11:21:51 +0200 Subject: [PATCH] [Backport] Add partial_update_perms to permission classes to allow put requests --- taiga/projects/attachments/permissions.py | 4 ++++ taiga/projects/custom_attributes/permissions.py | 6 ++++++ taiga/projects/issues/permissions.py | 2 ++ taiga/projects/milestones/permissions.py | 1 + taiga/projects/notifications/permissions.py | 1 + taiga/projects/permissions.py | 9 +++++++++ taiga/projects/tasks/permissions.py | 1 + taiga/projects/userstories/permissions.py | 1 + taiga/users/permissions.py | 2 ++ taiga/webhooks/permissions.py | 1 + 10 files changed, 28 insertions(+) diff --git a/taiga/projects/attachments/permissions.py b/taiga/projects/attachments/permissions.py index 47d922aa..f709c378 100644 --- a/taiga/projects/attachments/permissions.py +++ b/taiga/projects/attachments/permissions.py @@ -30,6 +30,7 @@ class UserStoryAttachmentPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_us') | IsAttachmentOwnerPerm() create_perms = HasProjectPerm('modify_us') update_perms = HasProjectPerm('modify_us') | IsAttachmentOwnerPerm() + partial_update_perms = HasProjectPerm('modify_us') | IsAttachmentOwnerPerm() destroy_perms = HasProjectPerm('modify_us') | IsAttachmentOwnerPerm() list_perms = AllowAny() @@ -38,6 +39,7 @@ class TaskAttachmentPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_tasks') | IsAttachmentOwnerPerm() create_perms = HasProjectPerm('modify_task') update_perms = HasProjectPerm('modify_task') | IsAttachmentOwnerPerm() + partial_update_perms = HasProjectPerm('modify_task') | IsAttachmentOwnerPerm() destroy_perms = HasProjectPerm('modify_task') | IsAttachmentOwnerPerm() list_perms = AllowAny() @@ -46,6 +48,7 @@ class IssueAttachmentPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_issues') | IsAttachmentOwnerPerm() create_perms = HasProjectPerm('modify_issue') update_perms = HasProjectPerm('modify_issue') | IsAttachmentOwnerPerm() + partial_update_perms = HasProjectPerm('modify_issue') | IsAttachmentOwnerPerm() destroy_perms = HasProjectPerm('modify_issue') | IsAttachmentOwnerPerm() list_perms = AllowAny() @@ -54,6 +57,7 @@ class WikiAttachmentPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_wiki_pages') | IsAttachmentOwnerPerm() create_perms = HasProjectPerm('modify_wiki_page') update_perms = HasProjectPerm('modify_wiki_page') | IsAttachmentOwnerPerm() + partial_update_perms = HasProjectPerm('modify_wiki_page') | IsAttachmentOwnerPerm() destroy_perms = HasProjectPerm('modify_wiki_page') | IsAttachmentOwnerPerm() list_perms = AllowAny() diff --git a/taiga/projects/custom_attributes/permissions.py b/taiga/projects/custom_attributes/permissions.py index 160d340e..14307d1a 100644 --- a/taiga/projects/custom_attributes/permissions.py +++ b/taiga/projects/custom_attributes/permissions.py @@ -31,6 +31,7 @@ class UserStoryCustomAttributePermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() bulk_update_order_perms = IsProjectOwner() @@ -42,6 +43,7 @@ class TaskCustomAttributePermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() bulk_update_order_perms = IsProjectOwner() @@ -53,6 +55,7 @@ class IssueCustomAttributePermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() bulk_update_order_perms = IsProjectOwner() @@ -67,6 +70,7 @@ class UserStoryCustomAttributesValuesPermission(TaigaResourcePermission): global_perms = None retrieve_perms = HasProjectPerm('view_us') update_perms = HasProjectPerm('modify_us') + partial_update_perms = HasProjectPerm('modify_us') class TaskCustomAttributesValuesPermission(TaigaResourcePermission): @@ -74,6 +78,7 @@ class TaskCustomAttributesValuesPermission(TaigaResourcePermission): global_perms = None retrieve_perms = HasProjectPerm('view_tasks') update_perms = HasProjectPerm('modify_task') + partial_update_perms = HasProjectPerm('modify_task') class IssueCustomAttributesValuesPermission(TaigaResourcePermission): @@ -81,3 +86,4 @@ class IssueCustomAttributesValuesPermission(TaigaResourcePermission): global_perms = None retrieve_perms = HasProjectPerm('view_issues') update_perms = HasProjectPerm('modify_issue') + partial_update_perms = HasProjectPerm('modify_issue') diff --git a/taiga/projects/issues/permissions.py b/taiga/projects/issues/permissions.py index 0a106092..eeeebdb0 100644 --- a/taiga/projects/issues/permissions.py +++ b/taiga/projects/issues/permissions.py @@ -26,6 +26,7 @@ class IssuePermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_issues') create_perms = HasProjectPerm('add_issue') update_perms = HasProjectPerm('modify_issue') + partial_update_perms = HasProjectPerm('modify_issue') destroy_perms = HasProjectPerm('delete_issue') list_perms = AllowAny() csv_perms = AllowAny() @@ -49,5 +50,6 @@ class IssueVotersPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_issues') create_perms = HasProjectPerm('add_issue') update_perms = HasProjectPerm('modify_issue') + partial_update_perms = HasProjectPerm('modify_issue') destroy_perms = HasProjectPerm('delete_issue') list_perms = HasProjectPerm('view_issues') diff --git a/taiga/projects/milestones/permissions.py b/taiga/projects/milestones/permissions.py index c0a25230..9823c8de 100644 --- a/taiga/projects/milestones/permissions.py +++ b/taiga/projects/milestones/permissions.py @@ -25,6 +25,7 @@ class MilestonePermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_milestones') create_perms = HasProjectPerm('add_milestone') update_perms = HasProjectPerm('modify_milestone') + partial_update_perms = HasProjectPerm('modify_milestone') destroy_perms = HasProjectPerm('delete_milestone') list_perms = AllowAny() stats_perms = HasProjectPerm('view_milestones') diff --git a/taiga/projects/notifications/permissions.py b/taiga/projects/notifications/permissions.py index 9b6e9d63..a89b9caf 100644 --- a/taiga/projects/notifications/permissions.py +++ b/taiga/projects/notifications/permissions.py @@ -21,5 +21,6 @@ class NotifyPolicyPermission(TaigaResourcePermission): retrieve_perms = IsAuthenticated() create_perms = IsAuthenticated() update_perms = IsAuthenticated() + partial_update_perms = IsAuthenticated() destroy_perms = IsAuthenticated() list_perms = IsAuthenticated() diff --git a/taiga/projects/permissions.py b/taiga/projects/permissions.py index 5483e3d6..6f7afc66 100644 --- a/taiga/projects/permissions.py +++ b/taiga/projects/permissions.py @@ -72,6 +72,7 @@ class MembershipPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() bulk_create_perms = IsProjectOwner() @@ -84,6 +85,7 @@ class PointsPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() bulk_update_order_perms = IsProjectOwner() @@ -93,6 +95,7 @@ class UserStoryStatusPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() bulk_update_order_perms = IsProjectOwner() @@ -104,6 +107,7 @@ class TaskStatusPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() bulk_update_order_perms = IsProjectOwner() @@ -115,6 +119,7 @@ class SeverityPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() bulk_update_order_perms = IsProjectOwner() @@ -124,6 +129,7 @@ class PriorityPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() bulk_update_order_perms = IsProjectOwner() @@ -133,6 +139,7 @@ class IssueStatusPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() bulk_update_order_perms = IsProjectOwner() @@ -142,6 +149,7 @@ class IssueTypePermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() bulk_update_order_perms = IsProjectOwner() @@ -153,5 +161,6 @@ class ProjectTemplatePermission(TaigaResourcePermission): retrieve_perms = AllowAny() create_perms = IsSuperUser() update_perms = IsSuperUser() + partial_update_perms = IsSuperUser() destroy_perms = IsSuperUser() list_perms = AllowAny() diff --git a/taiga/projects/tasks/permissions.py b/taiga/projects/tasks/permissions.py index f97215b8..2c1fd7b0 100644 --- a/taiga/projects/tasks/permissions.py +++ b/taiga/projects/tasks/permissions.py @@ -24,6 +24,7 @@ class TaskPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_tasks') create_perms = HasProjectPerm('add_task') update_perms = HasProjectPerm('modify_task') + partial_update_perms = HasProjectPerm('modify_task') destroy_perms = HasProjectPerm('delete_task') list_perms = AllowAny() csv_perms = AllowAny() diff --git a/taiga/projects/userstories/permissions.py b/taiga/projects/userstories/permissions.py index 3b836cb6..c832277d 100644 --- a/taiga/projects/userstories/permissions.py +++ b/taiga/projects/userstories/permissions.py @@ -23,6 +23,7 @@ class UserStoryPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_us') create_perms = HasProjectPerm('add_us_to_project') | HasProjectPerm('add_us') update_perms = HasProjectPerm('modify_us') + partial_update_perms = HasProjectPerm('modify_us') destroy_perms = HasProjectPerm('delete_us') list_perms = AllowAny() csv_perms = AllowAny() diff --git a/taiga/users/permissions.py b/taiga/users/permissions.py index 70cfa3b8..bad16f1a 100644 --- a/taiga/users/permissions.py +++ b/taiga/users/permissions.py @@ -34,6 +34,7 @@ class UserPermission(TaigaResourcePermission): retrieve_perms = AllowAny() by_username_perms = retrieve_perms update_perms = IsTheSameUser() + partial_update_perms = IsTheSameUser() destroy_perms = IsTheSameUser() list_perms = AllowAny() stats_perms = AllowAny() @@ -52,5 +53,6 @@ class RolesPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() diff --git a/taiga/webhooks/permissions.py b/taiga/webhooks/permissions.py index 7bc58ef6..40463642 100644 --- a/taiga/webhooks/permissions.py +++ b/taiga/webhooks/permissions.py @@ -29,6 +29,7 @@ class WebhookPermission(TaigaResourcePermission): retrieve_perms = IsProjectOwner() create_perms = IsProjectOwner() update_perms = IsProjectOwner() + partial_update_perms = IsProjectOwner() destroy_perms = IsProjectOwner() list_perms = AllowAny() test_perms = IsProjectOwner()