@@ -40,26 +40,40 @@ 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 .is_owner (kwargs ['event_id' ]) or user .is_organizer (kwargs ['event_id' ]) or \
76+ user .is_coorganizer (kwargs ['event_id' ]):
6377 return view (* view_args , ** view_kwargs )
6478
6579 return ForbiddenError ({'source' : '' }, 'Co-organizer access is required.' ).respond ()
@@ -69,7 +83,8 @@ def is_coorganizer(view, view_args, view_kwargs, *args, **kwargs):
6983def is_coorganizer_but_not_admin (view , view_args , view_kwargs , * args , ** kwargs ):
7084 user = current_identity
7185
72- if user .is_organizer (kwargs ['event_id' ]) or user .is_coorganizer (kwargs ['event_id' ]):
86+ if user .is_owner (kwargs ['event_id' ]) or user .is_organizer (kwargs ['event_id' ]) or \
87+ user .is_coorganizer (kwargs ['event_id' ]):
7388 return view (* view_args , ** view_kwargs )
7489
7590 return ForbiddenError ({'source' : '' }, 'Co-organizer access is required.' ).respond ()
@@ -94,7 +109,8 @@ def is_coorganizer_endpoint_related_to_event(view, view_args, view_kwargs, *args
94109 _jwt_required (app .config ['JWT_DEFAULT_REALM' ])
95110 return view (* view_args , ** view_kwargs )
96111
97- if user .is_organizer (kwargs ['event_id' ]) or user .is_coorganizer (kwargs ['event_id' ]):
112+ if user .is_owner (kwargs ['event_id' ]) or user .is_organizer (kwargs ['event_id' ]) or \
113+ user .is_coorganizer (kwargs ['event_id' ]):
98114 _jwt_required (app .config ['JWT_DEFAULT_REALM' ])
99115 return view (* view_args , ** view_kwargs )
100116
@@ -127,7 +143,8 @@ def is_coorganizer_or_user_itself(view, view_args, view_kwargs, *args, **kwargs)
127143 if user .is_staff :
128144 return view (* view_args , ** view_kwargs )
129145
130- if user .is_organizer (kwargs ['event_id' ]) or user .is_coorganizer (kwargs ['event_id' ]):
146+ if user .is_owner (kwargs ['event_id' ]) or user .is_organizer (kwargs ['event_id' ]) or \
147+ user .is_coorganizer (kwargs ['event_id' ]):
131148 return view (* view_args , ** view_kwargs )
132149
133150 return ForbiddenError ({'source' : '' }, 'Co-organizer access is required.' ).respond ()
@@ -151,7 +168,8 @@ def is_speaker_for_session(view, view_args, view_kwargs, *args, **kwargs):
151168 except NoResultFound :
152169 return NotFoundError ({'parameter' : 'id' }, 'Session not found.' ).respond ()
153170
154- if user .is_organizer (session .event_id ) or user .is_coorganizer (session .event_id ):
171+ if user .is_owner (kwargs ['event_id' ]) or user .is_organizer (session .event_id ) or \
172+ user .is_coorganizer (session .event_id ):
155173 return view (* view_args , ** view_kwargs )
156174
157175 if session .speakers :
@@ -176,7 +194,8 @@ def is_speaker_itself_or_admin(view, view_args, view_kwargs, *args, **kwargs):
176194 if user .is_admin or user .is_super_admin :
177195 return view (* view_args , ** view_kwargs )
178196
179- if user .is_organizer (kwargs ['event_id' ]) or user .is_coorganizer (kwargs ['event_id' ]):
197+ if user .is_owner (kwargs ['event_id' ]) or user .is_organizer (kwargs ['event_id' ]) or \
198+ user .is_coorganizer (kwargs ['event_id' ]):
180199 return view (* view_args , ** view_kwargs )
181200
182201 if ('model' in kwargs ) and (kwargs ['model' ] == Speaker ):
@@ -205,7 +224,8 @@ def is_session_self_submitted(view, view_args, view_kwargs, *args, **kwargs):
205224 except NoResultFound :
206225 return NotFoundError ({'parameter' : 'session_id' }, 'Session not found.' ).respond ()
207226
208- if user .is_organizer (session .event_id ) or user .is_coorganizer (session .event_id ):
227+ if user .is_owner (kwargs ['event_id' ]) or user .is_organizer (session .event_id ) or \
228+ user .is_coorganizer (session .event_id ):
209229 return view (* view_args , ** view_kwargs )
210230
211231 if session .creator_id == user .id :
@@ -224,7 +244,8 @@ def is_registrar(view, view_args, view_kwargs, *args, **kwargs):
224244
225245 if user .is_staff :
226246 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 ):
247+ if user .is_registrar (event_id ) or user .is_owner (kwargs ['event_id' ]) or user .is_organizer (event_id ) or \
248+ user .is_coorganizer (event_id ):
228249 return view (* view_args , ** view_kwargs )
229250 return ForbiddenError ({'source' : '' }, 'Registrar Access is Required.' ).respond ()
230251
@@ -243,7 +264,8 @@ def is_registrar_or_user_itself(view, view_args, view_kwargs, *args, **kwargs):
243264 return view (* view_args , ** view_kwargs )
244265
245266 event_id = kwargs ['event_id' ]
246- if user .is_registrar (event_id ) or user .is_organizer (event_id ) or user .is_coorganizer (event_id ):
267+ if user .is_registrar (event_id ) or user .is_owner (kwargs ['event_id' ]) or user .is_organizer (event_id ) or \
268+ user .is_coorganizer (event_id ):
247269 return view (* view_args , ** view_kwargs )
248270
249271 return ForbiddenError ({'source' : '' }, 'Registrar access is required.' ).respond ()
@@ -259,7 +281,8 @@ def is_track_organizer(view, view_args, view_kwargs, *args, **kwargs):
259281
260282 if user .is_staff :
261283 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 ):
284+ if user .is_track_organizer (event_id ) or user .is_owner (kwargs ['event_id' ]) or user .is_organizer (event_id ) or \
285+ user .is_coorganizer (event_id ):
263286 return view (* view_args , ** view_kwargs )
264287 return ForbiddenError ({'source' : '' }, 'Track Organizer access is Required.' ).respond ()
265288
@@ -273,7 +296,8 @@ def is_moderator(view, view_args, view_kwargs, *args, **kwargs):
273296 event_id = kwargs ['event_id' ]
274297 if user .is_staff :
275298 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 ):
299+ if user .is_moderator (event_id ) or user .is_owner (kwargs ['event_id' ]) or user .is_organizer (event_id ) or \
300+ user .is_coorganizer (event_id ):
277301 return view_kwargs (* view_args , ** view_kwargs )
278302 return ForbiddenError ({'source' : '' }, 'Moderator Access is Required.' ).respond ()
279303
@@ -315,6 +339,7 @@ def create_event(view, view_args, view_kwargs, *args, **kwargs):
315339permissions = {
316340 'is_super_admin' : is_super_admin ,
317341 'is_admin' : is_admin ,
342+ 'is_owner' : is_owner ,
318343 'is_organizer' : is_organizer ,
319344 'is_coorganizer' : is_coorganizer ,
320345 'is_track_organizer' : is_track_organizer ,
0 commit comments