Refactoring code parts where owner really means admin
parent
a94c1ce58b
commit
22d545ebd4
|
@ -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):
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
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')
|
||||
|
|
|
@ -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')
|
||||
|
|
|
@ -16,12 +16,12 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
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')
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from taiga.base.api.permissions import (TaigaResourcePermission, HasProjectPerm,
|
||||
IsProjectOwner, AllowAny)
|
||||
IsProjectAdmin, AllowAny)
|
||||
|
||||
|
||||
class ResolverPermission(TaigaResourcePermission):
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -16,12 +16,12 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
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')
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
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')
|
||||
|
|
|
@ -16,12 +16,12 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
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')
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -15,28 +15,28 @@
|
|||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
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()
|
||||
|
|
Loading…
Reference in New Issue