Users - OpenSlides/OpenSlides GitHub Wiki

The user model generally does not belong to a meeting (in contrast to OS3). A user has a scope which is mostly used to determinate who can update a user. Archived meetings are ignored for scope calculation.

User scopes

  • Meeting: The user is assigned to exactly one meeting and one committee.
  • Committee: The user is assigned to exactly one committee and more than one assigned meeting belonging to this committee.
  • Organization: None of the above: The user is in multiple committees or the user is neither in a meeting nor in a committee.

User association to committees

A user is associated to a committee if he has a committee_management_level for this committee or is associated via group membership to at least one meeting of the committee. He will be removed if these conditions are not fulfilled anymore.

User association to meetings

A user is associated to a meeting if he is in at least one group of the meeting. There is a calculated relation user/meeting_ids that the client can use. There is also a calculated reverse relation meeting/user_ids.

Permissions for altering a user

Whether the request user is allowed to execute the action depends on the scope of the updated user:

  • organization: The request user needs the OML can_manage_users
  • Committee: The request user needs at least one of:
    • the OML can_manage_users
    • the CML can_manage in the committee
  • Meeting: The request user needs at least one of:
    • the OML can_manage_users
    • the CML can_manage in the meeting's committee
    • user.can_manage in the meeting

User delegations

A user can delegegate his vote right to another user (meeting_user/vote_delegated_to_id) and a user can receive delegations (meeting_user/vote_delegations_from_ids). These relations are set up per meeting. It is not allowed to delegate to oneself and it is not allowed to receive delegations and delegate at the same time. So one relation has to be not set all the time.

⚠️ **GitHub.com Fallback** ⚠️