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 })