Skip to content

Commit 5b6bda9

Browse files
committed
Allow annotator to view IdentificationTask (filtered)
1 parent 3f54e8e commit 5b6bda9

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

api/views.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
from rest_framework_simplejwt.tokens import Token
3333

3434
from tigacrafting.models import IdentificationTask, ExpertReportAnnotation, Taxon, PhotoPrediction, FavoritedReports, UserStat
35+
from tigacrafting.permissions import Role
3536
from tigaserver_app.models import (
3637
TigaUser,
3738
EuropeCountry,
@@ -559,7 +560,9 @@ def get_queryset(self):
559560
user_role = UserStat.objects.filter(user=user).first()
560561
has_role_view_perm = user_role and user_role.has_role_permission_by_model(action='view', model=IdentificationTask, country=None)
561562

562-
if has_view_perm or has_role_view_perm:
563+
general_role = user_role.get_role(country=None) if user_role else Role.BASE
564+
565+
if has_view_perm or has_role_view_perm and general_role in [Role.REVIEWER, Role.ADMIN]:
563566
return qs
564567

565568
if isinstance(user, User):

tigacrafting/permissions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def get_role_identification_task_permission(self, role: Role) -> IdentificationT
7373
return IdentificationTaskPermission(
7474
add=False,
7575
change=role in [Role.ADMIN],
76-
view=role in [Role.SUPERVISOR, Role.REVIEWER, Role.ADMIN],
76+
view=role in [Role.ANNOTATOR, Role.SUPERVISOR, Role.REVIEWER, Role.ADMIN],
7777
delete=role in [Role.ADMIN],
7878
)
7979

0 commit comments

Comments
 (0)