def GET(self): # noqa i = web.input(user='') if not i.user: msg = 'Не указан пользователь!' return dumps({ 'status': Status.ERROR, 'msg' : msg }) user = H.check_username(i.user) if not user: msg = 'Неправильный формат имени пользователя!' return dumps({ 'status': Status.ERROR, 'msg' : msg }) log.save_action(session.name, 'admin', 'Просмотр прав {0}'.format(user)) # получим права пользователя из базы data = H.get_user_privileges(db, user) return dumps({ 'status' : Status.SUCCESS, 'data' : data })
def POST(self): # noqa log.save_action(session.name, 'admin', 'Попытка удаления пользователя') i = web.input(user='') user = H.check_username(i.user) if not user: msg = 'Не знаю кого удалять!' return dumps({ 'status': Status.ERROR, 'msg' : msg }) where = "user='******'".format(user) res = db.delete('users', where=where) if res != 1: msg = 'Не смог удалить пользователя!' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) log.save_action(session.name, 'admin', 'Удалил пользователя {0}'.format(user)) status = H.delete_user_sessions(db, store, user) if not status: msg = 'Не смог удалить сессии пользователя!' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) return dumps({ 'status' : Status.SUCCESS })
def POST(self): # noqa log.save_action(session.name, 'admin', 'Попытка копирования прав в админке') i = web.input(user='', to='') user = H.check_username(i.user) if not user: msg = 'Не с кого копировать права!' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) try: to = loads(i.to) except ValueError: msg = 'Не смог преобразовать входные данные!' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) if not to: msg = 'Пустые входные данные!' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) # обновим права в базе данных status = H.copy_user_privileges(db, user, to) if not status: msg = 'Не смог установить новые права пользователю!' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) data = H.get_user_privileges(db, user) # обновим права самому себе, чтобы не перелогиниваться if session.name in to: for rule in H.RULES: session[rule] = data[rule] regions = data['regions'].split(',') session['regions'] = map(int, regions) # обновим сессии пользователей в базе status = H.copy_user_sessions(db, store, to, data) if not status: print('Не смог обновить сессии пользователям') log.save_action(session.name, 'admin', 'Скопировал права {0} пользователям {1}'.format(user, ', '.join(to))) return dumps({ 'status' : Status.SUCCESS })
def POST(self): # noqa log.save_action(session.name, 'admin', 'Попытка изменений прав в админке') i = web.input(user='', data={}) user = H.check_username(i.user) if not user: msg = 'Не знаю кому изменять права!' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) try: data = loads(i.data) except ValueError: msg = 'Не смог преобразовать входные данные!' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) if not data: msg = 'Пустые входные данные!' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) # обновим права в базе данных status = H.update_user_privileges(db, user, data) if not status: msg = 'Не смог установить новые права пользователю!' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) # обновим права самому себе, чтобы не перелогиниваться if session.name == user: for rule in H.RULES: session[rule] = data[rule] regions = data['regions'].split(',') session['regions'] = map(int, regions) # обновим сессию пользователя в базе status = H.update_user_sessions(db, store, user, data) if not status: msg = 'Не смог обновить сессии пользователя!' print(msg) return dumps({ 'status': Status.ERROR, 'msg' : msg }) log.save_action(session.name, 'admin', 'Изменил права пользователю {0}'.format(user)) return dumps({ 'status' : Status.SUCCESS })