Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @jsonrpc.method('User.modify(user_id=Number, username=String, password=String, usr_data=Object)')
- @auth.login_required
- def user_modify(user_id, username, password, usr_data):
- """
- Редактирование информации о пользователях
- :param user_id: int
- :param username: str
- :param password: str
- :param usr_data: str
- :return: dict
- """
- auth_type, token = request.headers['Authorization'].split(None, 1)
- if not models.UserSession.is_operator(token):
- raise exceptions.InvalidCredentialsError
- if not isinstance(user_id, int):
- raise exceptions.InvalidParamsError
- user = models.User.get(user_id)
- if not user:
- raise errors.UserDoesNotExists
- try:
- user.username = username
- except models.InvalidLoginOrPassword:
- raise errors.InvalidUsage("User %r already exists" % username)
- if len(password):
- user.password = password
- if isinstance(usr_data, dict) and len(usr_data.keys()):
- for key in usr_data.keys():
- if key not in dir(user): continue
- user.__setattr__(key, usr_data[key])
- db.session.commit()
- return {
- "id": user.id,
- "username": user.username,
- "fam": user.fam,
- "name": user.name,
- "otch": user.otch,
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement