Skip to content

Commit 299bd72

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

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

app/api/helpers/role_invite.py

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