2020from app .models .user import User
2121from app .models .users_events_role import UsersEventsRoles
2222from app .settings import get_settings
23+ from datetime import datetime
24+
2325
2426role_invites_misc_routes = Blueprint ('role_invites_misc' , __name__ , url_prefix = '/v1' )
2527
@@ -155,8 +157,8 @@ def accept_invite():
155157 except NoResultFound :
156158 return NotFoundError ({'source' : '' }, 'Role corresponding to role invite not Found' ).respond ()
157159 event = Event .query .filter_by (id = role_invite .event_id ).first ()
158- uer = UsersEventsRoles .query .filter_by (user = user ).filter_by (
159- event = event ).filter_by (role = role ).first ()
160+ uer = UsersEventsRoles .query .filter_by (user = user ).filter_by (event = event ). filter_by (
161+ role = role ).filter_by (deleted_at = None ).first ()
160162 if not uer :
161163 role_invite .status = "accepted"
162164 save_to_db (role_invite , 'Role Invite Accepted' )
@@ -165,6 +167,11 @@ def accept_invite():
165167 if not user .is_verified :
166168 user .is_verified = True
167169 save_to_db (user , 'User verified' )
170+ if role_invite .role_name == 'owner' :
171+ previous_uer = UsersEventsRoles .query .filter_by (event = event ).filter_by (role = role ).filter_by (
172+ deleted_at = None ).first ()
173+ previous_uer .deleted_at = datetime .utcnow ()
174+ save_to_db (previous_uer , 'Past Owner deleted' )
168175
169176 return jsonify ({
170177 "email" : user .email ,
0 commit comments