diff --git a/apps/activity/views.py b/apps/activity/views.py index 7829a2ee..50607ceb 100644 --- a/apps/activity/views.py +++ b/apps/activity/views.py @@ -152,9 +152,11 @@ class ActivityDetailView(ProtectQuerysetMixin, LoginRequiredMixin, MultiTableMix def get_tables_data(self): return [ Guest.objects.filter(activity=self.object) - .filter(PermissionBackend.filter_queryset(self.request, Guest, "view")), + .filter(PermissionBackend.filter_queryset(self.request, Guest, "view")) + .distinct(), self.object.opener.filter(activity=self.object) - .filter(PermissionBackend.filter_queryset(self.request, Opener, "view")), + .filter(PermissionBackend.filter_queryset(self.request, Opener, "view")) + .distinct(), ] def render_to_response(self, context, **response_kwargs): @@ -309,7 +311,7 @@ class ActivityInviteView(ProtectQuerysetMixin, ProtectedCreateView): @transaction.atomic def form_valid(self, form): form.instance.activity = Activity.objects\ - .filter(PermissionBackend.filter_queryset(self.request, Activity, "view")).get(pk=self.kwargs["pk"]) + .filter(PermissionBackend.filter_queryset(self.request, Activity, "view")).distinct().get(pk=self.kwargs["pk"]) return super().form_valid(form) def get_success_url(self, **kwargs): diff --git a/apps/permission/fixtures/initial.json b/apps/permission/fixtures/initial.json index 0acd11c4..f6d90b31 100644 --- a/apps/permission/fixtures/initial.json +++ b/apps/permission/fixtures/initial.json @@ -927,7 +927,7 @@ "note", "transactiontemplate" ], - "query": "{\"destination\": [\"club\", \"note\"]}", + "query": "[\"AND\", {\"destination\": [\"club\", \"note\"]}, {\"category__name\": \"Clubs\"}]", "type": "view", "mask": 2, "field": "", @@ -943,7 +943,7 @@ "note", "transactiontemplate" ], - "query": "{\"destination\": [\"club\", \"note\"]}", + "query": "[\"AND\", {\"destination\": [\"club\", \"note\"]}, {\"category__name\": \"Clubs\"}]", "type": "add", "mask": 3, "field": "", @@ -959,7 +959,7 @@ "note", "transactiontemplate" ], - "query": "{\"destination\": [\"club\", \"note\"]}", + "query": "[\"AND\", {\"destination\": [\"club\", \"note\"]}, {\"category__name\": \"Clubs\"}]", "type": "change", "mask": 3, "field": "", @@ -3484,7 +3484,23 @@ "mask": 1, "permanent": false, "description": "Voir la bouffe servie" - } + } + }, + { + "model": "permission.permission", + "pk": 223, + "fields": { + "model": [ + "note", + "templatecategory" + ], + "query": "{\"name\": \"Clubs\"}", + "type": "view", + "mask": 2, + "field": "", + "permanent": false, + "description": "Voir la catégorie de bouton Clubs" + } }, { "model": "permission.permission", @@ -4896,7 +4912,6 @@ 19, 20, 21, - 27, 59, 60, 61, @@ -4907,6 +4922,7 @@ 182, 184, 185, + 223, 239, 240, 241 @@ -5271,6 +5287,12 @@ 176, 177, 197, + 211, + 212, + 213, + 214, + 215, + 216, 311, 319 ]