2020from  app .models .user  import  User 
2121from  app .models .users_events_role  import  UsersEventsRoles 
2222from  app .settings  import  get_settings 
23+ from  flask  import  jsonify , request , Blueprint 
24+ from  app .api .helpers .errors  import  NotFoundError 
25+ from  sqlalchemy .orm .exc  import  NoResultFound 
26+ from  datetime  import  datetime 
27+ 
2328
2429role_invites_misc_routes  =  Blueprint ('role_invites_misc' , __name__ , url_prefix = '/v1' )
2530
@@ -155,8 +160,8 @@ def accept_invite():
155160        except  NoResultFound :
156161            return  NotFoundError ({'source' : '' }, 'Role corresponding to role invite not Found' ).respond ()
157162        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 ()
163+         uer  =  UsersEventsRoles .query .filter_by (user = user ).filter_by (event = event ). filter_by ( 
164+             role = role ).filter_by (deleted_at = None ).first ()
160165        if  not  uer :
161166            role_invite .status  =  "accepted" 
162167            save_to_db (role_invite , 'Role Invite Accepted' )
@@ -165,6 +170,11 @@ def accept_invite():
165170            if  not  user .is_verified :
166171                user .is_verified  =  True 
167172                save_to_db (user , 'User verified' )
173+             if  role_invite .role_name  ==  'owner' :
174+                 previous_uer  =  UsersEventsRoles .query .filter_by (event = event ).filter_by (role = role ).filter_by (
175+                              deleted_at = None ).first ()
176+                 previous_uer .deleted_at  =  datetime .utcnow ()
177+                 save_to_db (previous_uer , 'Past Owner deleted' )
168178
169179    return  jsonify ({
170180        "email" : user .email ,
0 commit comments