Skip to content

Commit 24002a0

Browse files
committed
Correctly check for permissions on user owned petitions for signature related views
1 parent ab2499a commit 24002a0

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

pytition/petition/views.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,9 @@ def get_csv_signature(request, petition_id, only_confirmed):
197197
except Petition.DoesNotExist:
198198
return JsonResponse({}, status=404)
199199

200-
if petition.owner_type == "org":
201-
if not petition.org.is_allowed_to(user, "can_view_signatures"):
200+
if petition.owner_type == "org" and not petition.org.is_allowed_to(user, "can_view_signatures"):
201+
return JsonResponse({}, status=403)
202+
elif petition.owner_type == "user" and petition.owner != user:
202203
return JsonResponse({}, status=403)
203204

204205
filename = '{}.csv'.format(petition)
@@ -1310,6 +1311,9 @@ def show_signatures(request, petition_id):
13101311

13111312
if petition.owner_type == "user":
13121313
base_template = 'petition/user_base.html'
1314+
if petition.user != pytitionuser:
1315+
messages.error(request, _("You are not allowed to view this petition's signatures."))
1316+
return redirect("user_dashboard")
13131317
else:
13141318
org = petition.org
13151319
base_template = 'petition/org_base.html'
@@ -1345,10 +1349,7 @@ def show_signatures(request, petition_id):
13451349
else:
13461350
failed = True
13471351
else: # Petition is owned by a user, we check it's the one asking for deletion
1348-
if pet.user == pytitionuser:
1349-
s.delete()
1350-
else:
1351-
failed = True
1352+
s.delete()
13521353
if failed:
13531354
messages.error(request, _("You don't have permission to delete some or all of selected signatures"))
13541355
else:

0 commit comments

Comments
 (0)