def delete_user(username): """Удаление пользователя""" users = request.environ['authkit.users'] if request.params['username'] == 'admin': # Javascript here! redirect(url(h.url(controller='account', action='manage_accounts'))) else: users.user_delete(request.params['username']) redirect(url(h.url(controller='account', action='manage_accounts')))
def edit_group(self): """Изменение параметров группы""" users = request.environ['authkit.users'] # Изменение названия группы if self.form_result['group'] != request.params['group']: users.group_create(self.form_result['group']) for user in users.list_users(): if users.user_has_group(user, request.params['group']): users.user_remove_group(user) users.user_set_group(user, self.form_result['group']) users.group_delete(request.params['group']) # Изменение ответственного по группе if not users.user_has_role(self.form_result['boss'], 'boss'): # Создание списка пользователей группы users_in_group_list = [] for user in users.list_users(): if users.user_has_group(user, request.params['group']): try: users_in_group_list += [user] except: pass # Удаление старого ответственного по группе и назначение нового for user in users_in_group_list: if users.user_has_role(user, 'boss'): users.user_remove_role(user, 'boss') users.user_add_role(self.form_result['boss'], 'boss') users.group_set_view(self.form_result['group'], self.form_result['view']) redirect(url(h.url(controller='account', action='manage_accounts')))
def delete_group(self): """Удаление группы""" users = request.environ['authkit.users'] for user in users.list_users(): # Перемещение пользователей из несуществующей группы if users.user_has_group(user, request.params['group']): users.user_remove_group(user) # Удаление права отстветственного несуществующей группы if users.user_has_role(user, 'boss'): users.user_remove_role(user, 'boss') users.group_delete(request.params['group']) redirect(url(h.url(controller='account', action='manage_accounts')))
def edit_user(self): """Изменение параметов учётной записи пользователя""" users = request.environ['authkit.users'] #available_roles = users.list_roles() try: user_role = users.user_roles(request.params['username'])[0] except: user_role = 'user' users.user_set_password(request.params['username'], self.form_result['password']) users.user_set_view(request.params['username'], self.form_result['view']) users.user_set_mail(request.params['username'], self.form_result['mail']) users.user_set_group(request.params['username'], self.form_result['group']) users.user_add_role(request.params['username'], user_role) # try: # for role in self.form_result['roles']: # if role not in available_roles: # users.user_add_role(request.params['username'], self.form_result['roles']) # else: # users.user_add_role(request.params['username'], role) # except: # pass meta.Session.commit() redirect(url(h.url(controller='account', action='manage_accounts')))
def add_user(self): """Добавление нового пользователя""" users = request.environ['authkit.users'] c.available_groups = users.list_groups()[1:] available_roles = users.list_roles() if not users.user_exists(self.form_result['username']): users.user_create(self.form_result['username'], password=self.form_result['password']) users.user_set_view(self.form_result['username'], self.form_result['view']) users.user_set_mail(self.form_result['username'], self.form_result['mail']) users.user_set_group(self.form_result['username'], self.form_result['group']) # try: # for role in self.form_result['roles']: # if role not in available_roles: # users.user_add_role(self.form_result['username']), self.form_result['roles']) # else: # users.user_add_role(self.form_result['username']), role) # except: # pass users.user_add_role(self.form_result['username'], 'user') meta.Session.commit() redirect(url(h.url(controller='account', action='manage_accounts'))) else: c.username = self.form_result['username'] return render('/derived/account/add_user_form.html')
def add_group(self): """Добавление группы""" users = request.environ['authkit.users'] users.group_create(request.params['group']) redirect(url(h.url(controller='account', action='manage_accounts')))
def signinagain(self): """Вход в системe с другими логином и паролем""" request.environ['paste.auth_tkt.logout_user']() return render('/derived/account/signin.html').replace('%s', h.url('signin'))
def index(self): """Перенаправление на главную страницу контроллера""" redirect(url(h.url(controller='account', action='manage_accounts')))