def update(uid, **kwargs): user = User.get_by(uid=uid, to_dict=False, first=True) or abort( 404, "User <{0}> does not exist".format(uid)) if kwargs.get("username"): other = User.get_by(username=kwargs['username'], first=True, to_dict=False) if other is not None and other.uid != user.uid: return abort( 400, "User <{0}> cannot be duplicated".format( kwargs['username'])) UserCache.clean(user) if kwargs.get("username") and kwargs['username'] != user.username: role = Role.get_by(name=user.username, first=True, to_dict=False) if role is not None: RoleCRUD.update_role(role.id, **dict(name=kwargs['name'])) return user.update(**kwargs)
def put(self, rid): role = RoleCRUD.update_role(rid, **request.values) return self.jsonify(role.to_dict())