@@ -40,26 +40,39 @@ def is_admin(view, view_args, view_kwargs, *args, **kwargs):
4040
4141
4242@jwt_required
43- def is_organizer (view , view_args , view_kwargs , * args , ** kwargs ):
43+ def is_owner (view , view_args , view_kwargs , * args , ** kwargs ):
4444 user = current_identity
4545
4646 if user .is_staff :
4747 return view (* view_args , ** view_kwargs )
4848
49- if not user .is_organizer (kwargs ['event_id' ]):
50- return ForbiddenError ({'source' : '' }, 'Organizer access is required' ).respond ()
49+ if not user .is_owner (kwargs ['event_id' ]):
50+ return ForbiddenError ({'source' : '' }, 'Owner access is required' ).respond ()
5151
5252 return view (* view_args , ** view_kwargs )
5353
5454
55+ @jwt_required
56+ def is_organizer (view , view_args , view_kwargs , * args , ** kwargs ):
57+ user = current_identity
58+
59+ if user .is_staff :
60+ return view (* view_args , ** view_kwargs )
61+
62+ if user .is_owner (kwargs ['event_id' ]) or user .is_organizer (kwargs ['event_id' ]):
63+ return view (* view_args , ** view_kwargs )
64+
65+ return ForbiddenError ({'source' : '' }, 'Organizer access is required' ).respond ()
66+
67+
5568@jwt_required
5669def is_coorganizer (view , view_args , view_kwargs , * args , ** kwargs ):
5770 user = current_identity
5871
5972 if user .is_staff :
6073 return view (* view_args , ** view_kwargs )
6174
62- if user .is_organizer ( kwargs [ 'event_id' ]) or user . is_coorganizer (kwargs ['event_id' ]):
75+ if user .has_event_access (kwargs ['event_id' ]):
6376 return view (* view_args , ** view_kwargs )
6477
6578 return ForbiddenError ({'source' : '' }, 'Co-organizer access is required.' ).respond ()
@@ -69,7 +82,7 @@ def is_coorganizer(view, view_args, view_kwargs, *args, **kwargs):
6982def is_coorganizer_but_not_admin (view , view_args , view_kwargs , * args , ** kwargs ):
7083 user = current_identity
7184
72- if user .is_organizer ( kwargs [ 'event_id' ]) or user . is_coorganizer (kwargs ['event_id' ]):
85+ if user .has_event_access (kwargs ['event_id' ]):
7386 return view (* view_args , ** view_kwargs )
7487
7588 return ForbiddenError ({'source' : '' }, 'Co-organizer access is required.' ).respond ()
@@ -94,7 +107,7 @@ def is_coorganizer_endpoint_related_to_event(view, view_args, view_kwargs, *args
94107 _jwt_required (app .config ['JWT_DEFAULT_REALM' ])
95108 return view (* view_args , ** view_kwargs )
96109
97- if user .is_organizer ( kwargs [ 'event_id' ]) or user . is_coorganizer (kwargs ['event_id' ]):
110+ if user .has_event_access (kwargs ['event_id' ]):
98111 _jwt_required (app .config ['JWT_DEFAULT_REALM' ])
99112 return view (* view_args , ** view_kwargs )
100113
@@ -127,7 +140,7 @@ def is_coorganizer_or_user_itself(view, view_args, view_kwargs, *args, **kwargs)
127140 if user .is_staff :
128141 return view (* view_args , ** view_kwargs )
129142
130- if user .is_organizer ( kwargs [ 'event_id' ]) or user . is_coorganizer (kwargs ['event_id' ]):
143+ if user .has_event_access (kwargs ['event_id' ]):
131144 return view (* view_args , ** view_kwargs )
132145
133146 return ForbiddenError ({'source' : '' }, 'Co-organizer access is required.' ).respond ()
@@ -151,7 +164,7 @@ def is_speaker_for_session(view, view_args, view_kwargs, *args, **kwargs):
151164 except NoResultFound :
152165 return NotFoundError ({'parameter' : 'id' }, 'Session not found.' ).respond ()
153166
154- if user .is_organizer ( session . event_id ) or user . is_coorganizer (session .event_id ):
167+ if user .has_event_access (session .event_id ):
155168 return view (* view_args , ** view_kwargs )
156169
157170 if session .speakers :
@@ -176,7 +189,7 @@ def is_speaker_itself_or_admin(view, view_args, view_kwargs, *args, **kwargs):
176189 if user .is_admin or user .is_super_admin :
177190 return view (* view_args , ** view_kwargs )
178191
179- if user .is_organizer ( kwargs [ 'event_id' ]) or user . is_coorganizer (kwargs ['event_id' ]):
192+ if user .has_event_access (kwargs ['event_id' ]):
180193 return view (* view_args , ** view_kwargs )
181194
182195 if ('model' in kwargs ) and (kwargs ['model' ] == Speaker ):
@@ -205,7 +218,7 @@ def is_session_self_submitted(view, view_args, view_kwargs, *args, **kwargs):
205218 except NoResultFound :
206219 return NotFoundError ({'parameter' : 'session_id' }, 'Session not found.' ).respond ()
207220
208- if user .is_organizer ( session . event_id ) or user . is_coorganizer (session .event_id ):
221+ if user .has_event_access (session .event_id ):
209222 return view (* view_args , ** view_kwargs )
210223
211224 if session .creator_id == user .id :
@@ -224,7 +237,7 @@ def is_registrar(view, view_args, view_kwargs, *args, **kwargs):
224237
225238 if user .is_staff :
226239 return view (* view_args , ** view_kwargs )
227- if user .is_registrar (event_id ) or user .is_organizer ( event_id ) or user . is_coorganizer (event_id ):
240+ if user .is_registrar (event_id ) or user .has_event_access (event_id ):
228241 return view (* view_args , ** view_kwargs )
229242 return ForbiddenError ({'source' : '' }, 'Registrar Access is Required.' ).respond ()
230243
@@ -243,7 +256,7 @@ def is_registrar_or_user_itself(view, view_args, view_kwargs, *args, **kwargs):
243256 return view (* view_args , ** view_kwargs )
244257
245258 event_id = kwargs ['event_id' ]
246- if user .is_registrar (event_id ) or user .is_organizer ( event_id ) or user . is_coorganizer (event_id ):
259+ if user .is_registrar (event_id ) or user .has_event_access (event_id ):
247260 return view (* view_args , ** view_kwargs )
248261
249262 return ForbiddenError ({'source' : '' }, 'Registrar access is required.' ).respond ()
@@ -259,7 +272,7 @@ def is_track_organizer(view, view_args, view_kwargs, *args, **kwargs):
259272
260273 if user .is_staff :
261274 return view (* view_args , ** view_kwargs )
262- if user .is_track_organizer (event_id ) or user .is_organizer ( event_id ) or user . is_coorganizer (event_id ):
275+ if user .is_track_organizer (event_id ) or user .has_event_access (event_id ):
263276 return view (* view_args , ** view_kwargs )
264277 return ForbiddenError ({'source' : '' }, 'Track Organizer access is Required.' ).respond ()
265278
@@ -273,7 +286,7 @@ def is_moderator(view, view_args, view_kwargs, *args, **kwargs):
273286 event_id = kwargs ['event_id' ]
274287 if user .is_staff :
275288 return view (* view_args , ** view_kwargs )
276- if user .is_moderator (event_id ) or user .is_organizer ( event_id ) or user . is_coorganizer (event_id ):
289+ if user .is_moderator (event_id ) or user .has_event_access (event_id ):
277290 return view_kwargs (* view_args , ** view_kwargs )
278291 return ForbiddenError ({'source' : '' }, 'Moderator Access is Required.' ).respond ()
279292
@@ -315,6 +328,7 @@ def create_event(view, view_args, view_kwargs, *args, **kwargs):
315328permissions = {
316329 'is_super_admin' : is_super_admin ,
317330 'is_admin' : is_admin ,
331+ 'is_owner' : is_owner ,
318332 'is_organizer' : is_organizer ,
319333 'is_coorganizer' : is_coorganizer ,
320334 'is_track_organizer' : is_track_organizer ,
0 commit comments