From b071ea3e8574f25bc2a0f536c2fceb677a5b5e29 Mon Sep 17 00:00:00 2001 From: Areeb Jamal Date: Thu, 12 Nov 2020 21:04:01 +0530 Subject: [PATCH] fix: Allow admin/organizer to edit/add sessions without speaker call (#7440) even when speaker call is not present --- app/api/helpers/speaker.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/app/api/helpers/speaker.py b/app/api/helpers/speaker.py index 9f48852546..4bc187ce84 100644 --- a/app/api/helpers/speaker.py +++ b/app/api/helpers/speaker.py @@ -13,17 +13,20 @@ def can_edit_after_cfs_ends(event_id): speakers_call = SpeakersCall.query.filter_by( event_id=event_id, deleted_at=None ).one_or_none() + not_allowed = not ( + has_access('is_admin') + or has_access('is_organizer', event_id=event_id) + or has_access('is_coorganizer', event_id=event_id) + ) if speakers_call: speakers_call_tz = speakers_call.ends_at.tzinfo return not ( speakers_call.ends_at <= datetime.now().replace(tzinfo=speakers_call_tz) - and not ( - has_access('is_admin') - or has_access('is_organizer', event_id=event_id) - or has_access('is_coorganizer', event_id=event_id) - ) + and not_allowed ) - raise ForbiddenError( - {'source': '/data/event-id'}, - f'Speaker Calls for event {event_id} not found', - ) + elif not_allowed: + raise ForbiddenError( + {'source': '/data/event-id'}, + f'Speaker Calls for event {event_id} not found', + ) + return True