Corp/backend/projects/permissions.py
2026-09-07 19:43:48 +03:00

19 lines
465 B
Python

from django.db.models import Q
from .models import Project
def can_create(user):
return user.is_staff or user.has_perm("projects.add_project")
def can_manage(user, project):
return user.is_staff or user.is_superuser or project.manager_id == user.pk
def visible_projects(user):
qs = Project.objects.all()
if user.is_staff or user.is_superuser:
return qs
return qs.filter(Q(manager=user) | Q(memberships__employee=user)).distinct()