def _remove(self, user, method, **kw): if user == identity.current.user: raise BX(_('You cannot remove yourself')) # cancel all running and queued jobs Job.cancel_jobs_by_user(user, 'User %s removed' % user.user_name) # Return all systems in use by this user for system in System.query.filter(System.user == user): reservation = system.open_reservation system.unreserve(reservation=reservation, service=method, user=user) # Return all loaned systems in use by this user for system in System.query.filter(System.loaned == user): system.record_activity(user=identity.current.user, service=method, action=u'Changed', field=u'Loaned To', old=u'%s' % system.loaned, new=u'None') system.loaned = None # Change the owner to the caller for system in System.query.filter(System.owner == user): system.owner = identity.current.user system.record_activity(user=identity.current.user, service=method, action=u'Changed', field=u'Owner', old=u'%s' % user, new=u'%s' % identity.current.user) # Finally remove the user user.removed = datetime.utcnow()
def _disable(self, user, method, msg='Your account has been temporarily disabled'): # cancel all queued and running jobs Job.cancel_jobs_by_user(user, msg)
def _remove(self, user, method, **kw): if user == identity.current.user: raise BX(_('You cannot remove yourself')) # cancel all running and queued jobs Job.cancel_jobs_by_user(user, 'User %s removed' % user.user_name) # Return all systems in use by this user for system in System.query.filter(System.user==user): reservation = system.open_reservation system.unreserve(reservation=reservation, service=method, user=user) # Return all loaned systems in use by this user for system in System.query.filter(System.loaned==user): system.record_activity(user=identity.current.user, service=method, action=u'Changed', field=u'Loaned To', old=u'%s' % system.loaned, new=u'None') system.loaned = None # Change the owner to the caller for system in System.query.filter(System.owner==user): system.owner = identity.current.user system.record_activity(user=identity.current.user, service=method, action=u'Changed', field=u'Owner', old=u'%s' % user, new=u'%s' % identity.current.user) # Finally remove the user user.removed=datetime.utcnow()
def _remove(user, method, **kw): if user == identity.current.user: raise BX(_('You cannot remove yourself')) # cancel all running and queued jobs Job.cancel_jobs_by_user(user, 'User %s removed' % user.user_name) # Return all systems in use by this user for system in System.query.filter(System.user==user): reservation = system.open_reservation system.unreserve(reservation=reservation, service=method) # Return all loaned systems in use by this user for system in System.query.filter(System.loaned==user): system.record_activity(user=identity.current.user, service=method, action=u'Changed', field=u'Loaned To', old=u'%s' % system.loaned, new=None) system.loaned = None # Remove the user from all system access policies for rule in SystemAccessPolicyRule.query.filter_by(user=user): rule.record_deletion(service=method) session.delete(rule) # Change the owner to the caller newowner = kw.get('newowner', identity.current.user) for system in System.query.filter(System.owner==user): system.owner = newowner system.record_activity(user=identity.current.user, service=method, action=u'Changed', field=u'Owner', old=u'%s' % user, new=u'%s' % newowner) # Remove the user from all groups for group in user.groups: if not group.membership_type == GroupMembershipType.inverted: group.remove_member(user=user, agent=identity.current.user, service=method) # Finally remove the user user.removed=datetime.utcnow()
def _remove(user, method, **kw): if user == identity.current.user: raise BX(_('You cannot remove yourself')) # cancel all running and queued jobs Job.cancel_jobs_by_user(user, 'User %s removed' % user.user_name) # Return all systems in use by this user for system in System.query.filter(System.user == user): reservation = system.open_reservation system.unreserve(reservation=reservation, service=method) # Return all loaned systems in use by this user for system in System.query.filter(System.loaned == user): system.record_activity(user=identity.current.user, service=method, action=u'Changed', field=u'Loaned To', old=u'%s' % system.loaned, new=None) system.loaned = None # Remove the user from all system access policies for rule in SystemAccessPolicyRule.query.filter_by(user=user): rule.record_deletion(service=method) session.delete(rule) # Change the owner to the caller newowner = kw.get('newowner', identity.current.user) for system in System.query.filter(System.owner == user): system.owner = newowner system.record_activity(user=identity.current.user, service=method, action=u'Changed', field=u'Owner', old=u'%s' % user, new=u'%s' % newowner) for pool in SystemPool.query.filter(SystemPool.owning_user == user): pool.change_owner(user=newowner, service=method) # Remove the user from all groups for group in user.groups: if not group.membership_type == GroupMembershipType.inverted: group.remove_member(user=user, agent=identity.current.user, service=method) # Finally remove the user user.removed = datetime.utcnow()
def _remove(self, user, method, **kw): if user == identity.current.user: raise BX(_('You cannot remove yourself')) # cancel all running and queued jobs Job.cancel_jobs_by_user(user, 'User %s removed' % user.user_name) # Return all systems in use by this user for system in System.query.filter(System.user==user): msg = '' try: reservation = system.open_reservation system.unreserve(reservation=reservation, service=method, user=user) except BX, error_msg: msg = 'Error: %s Action: %s' % (error_msg,system.release_action) system.activity.append(SystemActivity(identity.current.user, method, '%s' % system.release_action, 'Return', '', msg)) system.activity.append(SystemActivity(identity.current.user, method, 'Returned', 'User', '%s' % user, ''))