@@ -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