Skip to content

Commit f9ddce8

Browse files
fix: checks on session and role-invite api
1 parent f5428b8 commit f9ddce8

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

app/api/admin_statistics_api/users.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class Meta:
3030
admin = fields.Method("admin_count")
3131
verified = fields.Method("verified_count")
3232
unverified = fields.Method("unverified_count")
33+
owner = fields.Method("owner_count")
3334
organizer = fields.Method("organizer_count")
3435
coorganizer = fields.Method("coorganizer_count")
3536
attendee = fields.Method("attendee_count")
@@ -53,6 +54,9 @@ def get_all_user_roles(self, role_name):
5354
UsersEventsRoles.role == role).distinct()
5455
return newquery
5556

57+
def owner_count(self, obj):
58+
return self.get_all_user_roles('owner').count()
59+
5660
def organizer_count(self, obj):
5761
return self.get_all_user_roles('organizer').count()
5862

app/api/role_invites.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,10 @@ def before_update_object(self, role_invite, data, view_kwargs):
112112
"""
113113
user = User.query.filter_by(email=role_invite.email).first()
114114
if user:
115-
if not has_access('is_user_itself', user_id=user.id):
116-
raise UnprocessableEntity({'source': ''}, "Only users can edit their own status")
115+
if not has_access('is_organizer', event_id=role_invite.event_id) and not has_access('is_user_itself',
116+
user_id=user.id):
117+
raise UnprocessableEntity({'source': ''},
118+
"Status can be updated only by event organizer or user hiself")
117119
if not user and not has_access('is_organizer', event_id=role_invite.event_id):
118120
raise UnprocessableEntity({'source': ''}, "User not registered")
119121
if not has_access('is_organizer', event_id=role_invite.event_id) and (len(list(data.keys())) > 1 or

app/api/sessions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def before_update_object(self, session, data, view_kwargs):
141141
:return:
142142
"""
143143
if data.get('is_locked') != session.is_locked:
144-
if not (has_access('is_admin') or has_access('is_organizer')):
144+
if not (has_access('is_admin') or has_access('is_organizer', event_id=session.event_id)):
145145
raise ForbiddenException({'source': '/data/attributes/is-locked'},
146146
"You don't have enough permissions to change this property")
147147

0 commit comments

Comments
 (0)