@@ -55,10 +55,12 @@ def view_comments(role, user, submission) -> bool:
5555 if role == StaffAdmin :
5656 return True
5757
58- if is_user_has_access_to_view_submission (user , submission ):
58+ submission_view , _ = can_view_submission (user , submission )
59+ if submission_view :
5960 return True
6061
61- if submission .project and can_access_project (user , submission .project ):
62+ project = getattr (submission , "project" , None )
63+ if project and can_access_project (user , project ):
6264 return True
6365
6466 return False
@@ -156,10 +158,8 @@ def can_alter_archived_submissions(user, submission=None) -> (bool, str):
156158
157159
158160def can_bulk_archive_submissions (user ) -> bool :
159- if can_alter_archived_submissions (user ) and can_bulk_delete_submissions (user ):
160- return True
161-
162- return False
161+ can_alter , _ = can_alter_archived_submissions (user )
162+ return can_alter and can_bulk_delete_submissions (user )
163163
164164
165165def can_change_external_reviewers (user , submission ) -> bool :
@@ -202,7 +202,7 @@ def can_export_submissions(user) -> bool:
202202 return False
203203
204204
205- def is_user_has_access_to_view_submission (user , submission ):
205+ def can_view_submission (user , submission ):
206206 if not user .is_authenticated :
207207 return False , "Login Required"
208208
@@ -224,7 +224,7 @@ def is_user_has_access_to_view_submission(user, submission):
224224
225225
226226def can_view_submission_screening (user , submission ):
227- submission_view , _ = is_user_has_access_to_view_submission (user , submission )
227+ submission_view , _ = can_view_submission (user , submission )
228228 if not submission_view :
229229 return False , "No access to view submission"
230230 if submission .user == user :
@@ -235,10 +235,11 @@ def can_view_submission_screening(user, submission):
235235def can_invite_co_applicants (user , submission ):
236236 if submission .is_archive :
237237 return False , "Co-applicant can't be added to archived submission"
238- if hasattr (submission , "project" ):
238+ project = getattr (submission , "project" , None )
239+ if project :
239240 from hypha .apply .projects .models .project import COMPLETE
240241
241- if submission . project .status == COMPLETE :
242+ if project .status == COMPLETE :
242243 return False , "Co-applicants can't be invited to completed projects"
243244 if (
244245 submission .co_applicant_invites .all ().count ()
@@ -263,10 +264,11 @@ def can_view_co_applicants(user, submission):
263264def can_update_co_applicant (user , invite ):
264265 if invite .submission .is_archive :
265266 return False , "Co-applicant can't be updated to archived submission"
266- if hasattr (invite .submission , "project" ):
267+ project = getattr (invite .submission , "project" , None )
268+ if project :
267269 from hypha .apply .projects .models .project import COMPLETE
268270
269- if invite . submission . project .status == COMPLETE :
271+ if project .status == COMPLETE :
270272 return False , "Co-applicants can't be updated to completed projects"
271273 if invite .invited_by == user :
272274 return True , "Same user who invited can delete the co-applicant"
@@ -285,7 +287,7 @@ def user_can_view_post_comment_form(user, submission):
285287
286288
287289permissions_map = {
288- "submission_view" : is_user_has_access_to_view_submission ,
290+ "submission_view" : can_view_submission ,
289291 "submission_edit" : can_edit_submission ,
290292 "submission_action" : can_take_submission_actions ,
291293 "can_view_submission_screening" : can_view_submission_screening ,
0 commit comments