예제 #1
0
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))
예제 #2
0
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)
예제 #3
0
 def set_root_user(self, user):
     password = user['password']
     if password:
         password = hash_password(password)
     self.root_user = RootUser(password)