def put(self): old_username = self.normalized_payload.get('old_username') new_username = self.normalized_payload.get('new_username') user_id = user_services.get_user_id_from_username(old_username) if user_id is None: raise self.InvalidInputException('Invalid username: %s' % old_username) if user_services.is_username_taken(new_username): raise self.InvalidInputException('Username already taken.') user_services.set_username(user_id, new_username) user_services.log_username_change(self.user_id, old_username, new_username) self.render_json({})
def put(self): old_username = self.payload.get('old_username', None) new_username = self.payload.get('new_username', None) if old_username is None: raise self.InvalidInputException( 'Invalid request: The old username must be specified.') if new_username is None: raise self.InvalidInputException( 'Invalid request: A new username must be specified.') if not isinstance(old_username, python_utils.UNICODE): raise self.InvalidInputException( 'Expected old username to be a unicode string, received %s' % old_username) if not isinstance(new_username, python_utils.UNICODE): raise self.InvalidInputException( 'Expected new username to be a unicode string, received %s' % new_username) user_id = user_services.get_user_id_from_username(old_username) if user_id is None: raise self.InvalidInputException('Invalid username: %s' % old_username) if len(new_username) > constants.MAX_USERNAME_LENGTH: raise self.InvalidInputException( 'Expected new username to be less than %s characters, ' 'received %s' % (constants.MAX_USERNAME_LENGTH, new_username)) if user_services.is_username_taken(new_username): raise self.InvalidInputException('Username already taken.') user_services.set_username(user_id, new_username) user_services.log_username_change(self.user_id, old_username, new_username) self.render_json({})