diff --git a/taiga/base/api/permissions.py b/taiga/base/api/permissions.py index b43d0067..62b40619 100644 --- a/taiga/base/api/permissions.py +++ b/taiga/base/api/permissions.py @@ -20,7 +20,7 @@ import abc from functools import reduce from taiga.base.utils import sequence as sq -from taiga.permissions.service import user_has_perm, is_project_owner +from taiga.permissions.service import user_has_perm, is_project_admin from django.apps import apps from django.utils.translation import ugettext as _ @@ -206,9 +206,9 @@ class HasMandatoryParam(PermissionComponent): return False -class IsProjectOwner(PermissionComponent): +class IsProjectAdmin(PermissionComponent): def check_permissions(self, request, view, obj=None): - return is_project_owner(request.user, obj) + return is_project_admin(request.user, obj) class IsObjectOwner(PermissionComponent): diff --git a/taiga/export_import/permissions.py b/taiga/export_import/permissions.py index 1e0a1dec..22a03ebe 100644 --- a/taiga/export_import/permissions.py +++ b/taiga/export_import/permissions.py @@ -17,11 +17,11 @@ from taiga.base.api.permissions import (TaigaResourcePermission, - IsProjectOwner, IsAuthenticated) + IsProjectAdmin, IsAuthenticated) class ImportExportPermission(TaigaResourcePermission): import_project_perms = IsAuthenticated() - import_item_perms = IsProjectOwner() - export_project_perms = IsProjectOwner() + import_item_perms = IsProjectAdmin() + export_project_perms = IsProjectAdmin() load_dump_perms = IsAuthenticated() diff --git a/taiga/permissions/service.py b/taiga/permissions/service.py index b452c0b2..a430e082 100644 --- a/taiga/permissions/service.py +++ b/taiga/permissions/service.py @@ -37,7 +37,7 @@ def _get_object_project(obj): return project -def is_project_owner(user, obj): +def is_project_admin(user, obj): if user.is_superuser: return True diff --git a/taiga/projects/api.py b/taiga/projects/api.py index 6da6b1f6..b7a712f4 100644 --- a/taiga/projects/api.py +++ b/taiga/projects/api.py @@ -144,7 +144,7 @@ class ProjectViewSet(LikedResourceMixin, HistoryResourceMixin, else: project = self.get_object() - if permissions_service.is_project_owner(self.request.user, project): + if permissions_service.is_project_admin(self.request.user, project): serializer_class = self.admin_serializer_class return serializer_class @@ -593,12 +593,12 @@ class MembershipViewSet(BlockedByProjectMixin, ModelCrudViewSet): use_admin_serializer = True if self.action == "retrieve": - use_admin_serializer = permissions_service.is_project_owner(self.request.user, self.object.project) + use_admin_serializer = permissions_service.is_project_admin(self.request.user, self.object.project) project_id = self.request.QUERY_PARAMS.get("project", None) if self.action == "list" and project_id is not None: project = get_object_or_404(models.Project, pk=project_id) - use_admin_serializer = permissions_service.is_project_owner(self.request.user, project) + use_admin_serializer = permissions_service.is_project_admin(self.request.user, project) if use_admin_serializer: return self.admin_serializer_class diff --git a/taiga/projects/custom_attributes/permissions.py b/taiga/projects/custom_attributes/permissions.py index 96fe120d..766f9d42 100644 --- a/taiga/projects/custom_attributes/permissions.py +++ b/taiga/projects/custom_attributes/permissions.py @@ -17,7 +17,7 @@ from taiga.base.api.permissions import TaigaResourcePermission from taiga.base.api.permissions import HasProjectPerm -from taiga.base.api.permissions import IsProjectOwner +from taiga.base.api.permissions import IsProjectAdmin from taiga.base.api.permissions import AllowAny from taiga.base.api.permissions import IsSuperUser @@ -27,39 +27,39 @@ from taiga.base.api.permissions import IsSuperUser ####################################################### class UserStoryCustomAttributePermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - bulk_update_order_perms = IsProjectOwner() + bulk_update_order_perms = IsProjectAdmin() class TaskCustomAttributePermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - bulk_update_order_perms = IsProjectOwner() + bulk_update_order_perms = IsProjectAdmin() class IssueCustomAttributePermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - bulk_update_order_perms = IsProjectOwner() + bulk_update_order_perms = IsProjectAdmin() ###################################################### @@ -67,7 +67,7 @@ class IssueCustomAttributePermission(TaigaResourcePermission): ####################################################### class UserStoryCustomAttributesValuesPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_us') update_perms = HasProjectPerm('modify_us') @@ -75,7 +75,7 @@ class UserStoryCustomAttributesValuesPermission(TaigaResourcePermission): class TaskCustomAttributesValuesPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_tasks') update_perms = HasProjectPerm('modify_task') @@ -83,7 +83,7 @@ class TaskCustomAttributesValuesPermission(TaigaResourcePermission): class IssueCustomAttributesValuesPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_issues') update_perms = HasProjectPerm('modify_issue') diff --git a/taiga/projects/history/permissions.py b/taiga/projects/history/permissions.py index fd139826..015ac22c 100644 --- a/taiga/projects/history/permissions.py +++ b/taiga/projects/history/permissions.py @@ -16,10 +16,10 @@ # along with this program. If not, see . from taiga.base.api.permissions import (TaigaResourcePermission, HasProjectPerm, - IsProjectOwner, AllowAny, + IsProjectAdmin, AllowAny, IsObjectOwner, PermissionComponent) -from taiga.permissions.service import is_project_owner +from taiga.permissions.service import is_project_admin from taiga.projects.history.services import get_model_from_key, get_pk_from_key @@ -38,7 +38,7 @@ class IsCommentProjectOwner(PermissionComponent): model = get_model_from_key(obj.key) pk = get_pk_from_key(obj.key) project = model.objects.get(pk=pk) - return is_project_owner(request.user, project) + return is_project_admin(request.user, project) class UserStoryHistoryPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') diff --git a/taiga/projects/issues/permissions.py b/taiga/projects/issues/permissions.py index 07e17201..291dede7 100644 --- a/taiga/projects/issues/permissions.py +++ b/taiga/projects/issues/permissions.py @@ -17,12 +17,12 @@ from taiga.base.api.permissions import (TaigaResourcePermission, HasProjectPerm, - IsProjectOwner, PermissionComponent, + IsProjectAdmin, PermissionComponent, AllowAny, IsAuthenticated, IsSuperUser) class IssuePermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_issues') create_perms = HasProjectPerm('add_issue') @@ -49,14 +49,14 @@ class HasIssueIdUrlParam(PermissionComponent): class IssueVotersPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_issues') list_perms = HasProjectPerm('view_issues') class IssueWatchersPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_issues') list_perms = HasProjectPerm('view_issues') diff --git a/taiga/projects/milestones/permissions.py b/taiga/projects/milestones/permissions.py index 54462605..7404feb0 100644 --- a/taiga/projects/milestones/permissions.py +++ b/taiga/projects/milestones/permissions.py @@ -16,12 +16,12 @@ # along with this program. If not, see . from taiga.base.api.permissions import (TaigaResourcePermission, HasProjectPerm, - IsAuthenticated, IsProjectOwner, AllowAny, + IsAuthenticated, IsProjectAdmin, AllowAny, IsSuperUser) class MilestonePermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_milestones') create_perms = HasProjectPerm('add_milestone') @@ -34,7 +34,7 @@ class MilestonePermission(TaigaResourcePermission): unwatch_perms = IsAuthenticated() & HasProjectPerm('view_milestones') class MilestoneWatchersPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_milestones') list_perms = HasProjectPerm('view_milestones') diff --git a/taiga/projects/permissions.py b/taiga/projects/permissions.py index 855cc44b..aecf8c3e 100644 --- a/taiga/projects/permissions.py +++ b/taiga/projects/permissions.py @@ -20,7 +20,7 @@ from django.utils.translation import ugettext as _ from taiga.base.api.permissions import TaigaResourcePermission from taiga.base.api.permissions import HasProjectPerm from taiga.base.api.permissions import IsAuthenticated -from taiga.base.api.permissions import IsProjectOwner +from taiga.base.api.permissions import IsProjectAdmin from taiga.base.api.permissions import AllowAny from taiga.base.api.permissions import IsSuperUser from taiga.base.api.permissions import PermissionComponent @@ -56,19 +56,19 @@ class ProjectPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') by_slug_perms = HasProjectPerm('view_project') create_perms = IsAuthenticated() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() - modules_perms = IsProjectOwner() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() + modules_perms = IsProjectAdmin() list_perms = AllowAny() - change_logo_perms = IsProjectOwner() - remove_logo_perms = IsProjectOwner() + change_logo_perms = IsProjectAdmin() + remove_logo_perms = IsProjectAdmin() stats_perms = HasProjectPerm('view_project') member_stats_perms = HasProjectPerm('view_project') issues_stats_perms = HasProjectPerm('view_project') - regenerate_userstories_csv_uuid_perms = IsProjectOwner() - regenerate_issues_csv_uuid_perms = IsProjectOwner() - regenerate_tasks_csv_uuid_perms = IsProjectOwner() + regenerate_userstories_csv_uuid_perms = IsProjectAdmin() + regenerate_issues_csv_uuid_perms = IsProjectAdmin() + regenerate_tasks_csv_uuid_perms = IsProjectAdmin() tags_perms = HasProjectPerm('view_project') tags_colors_perms = HasProjectPerm('view_project') like_perms = IsAuthenticated() & HasProjectPerm('view_project') @@ -77,21 +77,21 @@ class ProjectPermission(TaigaResourcePermission): unwatch_perms = IsAuthenticated() & HasProjectPerm('view_project') create_template_perms = IsSuperUser() leave_perms = CanLeaveProject() - transfer_request_perms = IsProjectOwner() + transfer_request_perms = IsProjectAdmin() transfer_start_perms = IsMainOwner() - transfer_reject_perms = IsProjectOwner() - transfer_accept_perms = IsProjectOwner() + transfer_reject_perms = IsProjectAdmin() + transfer_accept_perms = IsProjectAdmin() class ProjectFansPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_project') list_perms = HasProjectPerm('view_project') class ProjectWatchersPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_project') list_perms = HasProjectPerm('view_project') @@ -99,89 +99,89 @@ class ProjectWatchersPermission(TaigaResourcePermission): class MembershipPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - bulk_create_perms = IsProjectOwner() - resend_invitation_perms = IsProjectOwner() + bulk_create_perms = IsProjectAdmin() + resend_invitation_perms = IsProjectAdmin() # User Stories class PointsPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - bulk_update_order_perms = IsProjectOwner() + bulk_update_order_perms = IsProjectAdmin() class UserStoryStatusPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - bulk_update_order_perms = IsProjectOwner() + bulk_update_order_perms = IsProjectAdmin() # Tasks class TaskStatusPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - bulk_update_order_perms = IsProjectOwner() + bulk_update_order_perms = IsProjectAdmin() # Issues class SeverityPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - bulk_update_order_perms = IsProjectOwner() + bulk_update_order_perms = IsProjectAdmin() class PriorityPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - bulk_update_order_perms = IsProjectOwner() + bulk_update_order_perms = IsProjectAdmin() class IssueStatusPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - bulk_update_order_perms = IsProjectOwner() + bulk_update_order_perms = IsProjectAdmin() class IssueTypePermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - bulk_update_order_perms = IsProjectOwner() + bulk_update_order_perms = IsProjectAdmin() # Project Templates diff --git a/taiga/projects/references/permissions.py b/taiga/projects/references/permissions.py index a62d5a09..baa91d8c 100644 --- a/taiga/projects/references/permissions.py +++ b/taiga/projects/references/permissions.py @@ -16,7 +16,7 @@ # along with this program. If not, see . from taiga.base.api.permissions import (TaigaResourcePermission, HasProjectPerm, - IsProjectOwner, AllowAny) + IsProjectAdmin, AllowAny) class ResolverPermission(TaigaResourcePermission): diff --git a/taiga/projects/serializers.py b/taiga/projects/serializers.py index 0060ac2e..5650b351 100644 --- a/taiga/projects/serializers.py +++ b/taiga/projects/serializers.py @@ -33,7 +33,7 @@ from taiga.users.serializers import ProjectRoleSerializer from taiga.users.validators import RoleExistsValidator from taiga.permissions.service import get_user_project_permissions -from taiga.permissions.service import is_project_owner +from taiga.permissions.service import is_project_admin from taiga.projects.mixins.serializers import ValidateDuplicatedNameInProjectMixin from . import models @@ -241,7 +241,7 @@ class ProjectSerializer(FanResourceSerializerMixin, WatchedResourceModelSerializ anon_permissions = PgArrayField(required=False) public_permissions = PgArrayField(required=False) my_permissions = serializers.SerializerMethodField("get_my_permissions") - i_am_owner = serializers.SerializerMethodField("get_i_am_owner") + i_am_admin = serializers.SerializerMethodField("get_i_am_admin") i_am_member = serializers.SerializerMethodField("get_i_am_member") tags = TagsField(default=[], required=False) @@ -266,9 +266,9 @@ class ProjectSerializer(FanResourceSerializerMixin, WatchedResourceModelSerializ return get_user_project_permissions(self.context["request"].user, obj) return [] - def get_i_am_owner(self, obj): + def get_i_am_admin(self, obj): if "request" in self.context: - return is_project_owner(self.context["request"].user, obj) + return is_project_admin(self.context["request"].user, obj) return False def get_i_am_member(self, obj): diff --git a/taiga/projects/tasks/permissions.py b/taiga/projects/tasks/permissions.py index 4cb3f691..9e189f10 100644 --- a/taiga/projects/tasks/permissions.py +++ b/taiga/projects/tasks/permissions.py @@ -16,12 +16,12 @@ # along with this program. If not, see . from taiga.base.api.permissions import (TaigaResourcePermission, HasProjectPerm, - IsAuthenticated, IsProjectOwner, AllowAny, + IsAuthenticated, IsProjectAdmin, AllowAny, IsSuperUser) class TaskPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_tasks') create_perms = HasProjectPerm('add_task') @@ -39,14 +39,14 @@ class TaskPermission(TaigaResourcePermission): class TaskVotersPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_tasks') list_perms = HasProjectPerm('view_tasks') class TaskWatchersPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_tasks') list_perms = HasProjectPerm('view_tasks') diff --git a/taiga/projects/userstories/permissions.py b/taiga/projects/userstories/permissions.py index e5f4af7f..326c99fe 100644 --- a/taiga/projects/userstories/permissions.py +++ b/taiga/projects/userstories/permissions.py @@ -16,7 +16,7 @@ # along with this program. If not, see . from taiga.base.api.permissions import (TaigaResourcePermission, HasProjectPerm, - IsAuthenticated, IsProjectOwner, + IsAuthenticated, IsProjectAdmin, AllowAny, IsSuperUser) @@ -38,14 +38,14 @@ class UserStoryPermission(TaigaResourcePermission): class UserStoryVotersPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_us') list_perms = HasProjectPerm('view_us') class UserStoryWatchersPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_us') list_perms = HasProjectPerm('view_us') diff --git a/taiga/projects/wiki/permissions.py b/taiga/projects/wiki/permissions.py index 2a3c8e3f..d85d56ea 100644 --- a/taiga/projects/wiki/permissions.py +++ b/taiga/projects/wiki/permissions.py @@ -16,12 +16,12 @@ # along with this program. If not, see . from taiga.base.api.permissions import (TaigaResourcePermission, HasProjectPerm, - IsAuthenticated, IsProjectOwner, AllowAny, + IsAuthenticated, IsProjectAdmin, AllowAny, IsSuperUser) class WikiPagePermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_wiki_pages') by_slug_perms = HasProjectPerm('view_wiki_pages') @@ -36,14 +36,14 @@ class WikiPagePermission(TaigaResourcePermission): class WikiPageWatchersPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_wiki_pages') list_perms = HasProjectPerm('view_wiki_pages') class WikiLinkPermission(TaigaResourcePermission): - enought_perms = IsProjectOwner() | IsSuperUser() + enought_perms = IsProjectAdmin() | IsSuperUser() global_perms = None retrieve_perms = HasProjectPerm('view_wiki_links') create_perms = HasProjectPerm('add_wiki_link') diff --git a/taiga/users/permissions.py b/taiga/users/permissions.py index a00cce86..c884edf1 100644 --- a/taiga/users/permissions.py +++ b/taiga/users/permissions.py @@ -20,7 +20,7 @@ from taiga.base.api.permissions import IsSuperUser from taiga.base.api.permissions import AllowAny from taiga.base.api.permissions import IsAuthenticated from taiga.base.api.permissions import HasProjectPerm -from taiga.base.api.permissions import IsProjectOwner +from taiga.base.api.permissions import IsProjectAdmin from taiga.base.api.permissions import PermissionComponent @@ -54,8 +54,8 @@ class UserPermission(TaigaResourcePermission): class RolesPermission(TaigaResourcePermission): retrieve_perms = HasProjectPerm('view_project') - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() diff --git a/taiga/webhooks/permissions.py b/taiga/webhooks/permissions.py index 7dc41eea..bc1cae61 100644 --- a/taiga/webhooks/permissions.py +++ b/taiga/webhooks/permissions.py @@ -15,28 +15,28 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from taiga.base.api.permissions import (TaigaResourcePermission, IsProjectOwner, +from taiga.base.api.permissions import (TaigaResourcePermission, IsProjectAdmin, AllowAny, PermissionComponent) -from taiga.permissions.service import is_project_owner +from taiga.permissions.service import is_project_admin -class IsWebhookProjectOwner(PermissionComponent): +class IsWebhookProjectAdmin(PermissionComponent): def check_permissions(self, request, view, obj=None): - return is_project_owner(request.user, obj.webhook.project) + return is_project_admin(request.user, obj.webhook.project) class WebhookPermission(TaigaResourcePermission): - retrieve_perms = IsProjectOwner() - create_perms = IsProjectOwner() - update_perms = IsProjectOwner() - partial_update_perms = IsProjectOwner() - destroy_perms = IsProjectOwner() + retrieve_perms = IsProjectAdmin() + create_perms = IsProjectAdmin() + update_perms = IsProjectAdmin() + partial_update_perms = IsProjectAdmin() + destroy_perms = IsProjectAdmin() list_perms = AllowAny() - test_perms = IsProjectOwner() + test_perms = IsProjectAdmin() class WebhookLogPermission(TaigaResourcePermission): - retrieve_perms = IsWebhookProjectOwner() + retrieve_perms = IsWebhookProjectAdmin() list_perms = AllowAny() - resend_perms = IsWebhookProjectOwner() + resend_perms = IsWebhookProjectAdmin()