Skip to content

Commit 9f815d4

Browse files
feat: adds checks for accepting owner role invite
1 parent 41c1deb commit 9f815d4

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

app/api/helpers/role_invite.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import logging
2+
from app.models import db
3+
from app.models.role_invite import RoleInvite
4+
5+
6+
def delete_previous_uer(previous_uer):
7+
"""
8+
Delete previous owner before adding one
9+
:param previous_uer: User Event Role to be deleted.
10+
:return:
11+
"""
12+
role_invite = db.session.query(RoleInvite).filter_by(
13+
email=previous_uer.user.email, event_id=previous_uer.event_id, role_name='owner', status='accepted'
14+
).first()
15+
db.session.delete(previous_uer)
16+
db.session.delete(role_invite)
17+
try:
18+
db.session.commit()
19+
except Exception as e:
20+
logging.error('DB Exception! %s' % e)
21+
db.session.rollback()

app/api/role_invites.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from app.api.helpers.notification import send_notif_event_role
1212
from app.api.helpers.permission_manager import has_access
1313
from app.api.helpers.query import event_query
14+
from app.api.helpers.role_invite import delete_previous_uer
1415
from app.api.helpers.utilities import require_relationship
1516
from app.api.schema.role_invites import RoleInviteSchema
1617
from app.models import db
@@ -165,6 +166,9 @@ def accept_invite():
165166
if not user.is_verified:
166167
user.is_verified = True
167168
save_to_db(user, 'User verified')
169+
if role_invite.role_name == 'owner':
170+
previous_uer = UsersEventsRoles.query.filter_by(event=event).filter_by(role=role).first()
171+
delete_previous_uer(previous_uer)
168172

169173
return jsonify({
170174
"email": user.email,

0 commit comments

Comments
 (0)