async def user_created(user, event): user.password = hash_password(user.password) # user has access to his own object by default container = get_current_container() roleperm = IPrincipalRoleManager(container) roleperm.assign_role_to_principal('guillotina.Owner', user.id) await notify(NewUserAdded(user))
async def on_user_modified(user: User, event: BeforeObjectModifiedEvent) -> None: # keep group.users updated with changes from users if "password" in event.payload: event.payload["password"] = hash_password(event.payload["password"]) old_groups = user.user_groups or [] new_groups = event.payload.get("user_groups", []) groups_added = set(new_groups) - set(old_groups) groups_removed = set(old_groups) - set(new_groups) await _update_groups(user.id, groups_added, groups_removed)
def set_root_user(self, user): password = user['password'] if password: password = hash_password(password) self.root_user = RootUser(password)