{
// Required
list_of_speakers_id: Id;
meeting_user_id: Id; // except if speech_state == interposed_question, see below
// Optional
speech_state: string;
point_of_order: boolean;
note: string;
point_of_order_category_id: Id;
structure_level_id: Id;
}
Two types of operation:
-
adding oneself (
meeting_user_id
belongs to the request user):If it is:
- (not a point of order or
meeting/list_of_speakers_closing_disables_point_of_order
is set) and - the list of speakers is closed and
- the request user does not have
list_of_speakers.can_manage
the request must be rejected due to a closed list.
Or if:
- the meeting has
users_forbid_delegator_in_list_of_speakers
set to true and - the request user has his voting rights delegated and
- the request user does not have
list_of_speakers.can_manage
the request must be rejected as well.
All other cases are allowed.
- (not a point of order or
-
adding another user (
meeting_user_id
does not belong to the request user) is allowed with conditions see under Permissions. Ifpoint_of_order
is alsotrue
, it is only allowed ifmeeting.list_of_speakers_can_create_point_of_order_for_others
istrue
as well.
meeting_user_id
is not required if speech_state == "interposed_question"
.
There are many things to watch out for:
- Point of order speakers are only allowed if
meeting/list_of_speakers_enable_point_of_order_speakers
is true. note
is only allowed if itpoint_of_order
is true.point_of_order_category_id
is only allowed and in this case required, ifpoint_of_order
is true andmeeting.list_of_speakers_enable_point_of_order_categories
is also true. This opens an alternative way to get the point-of-order-speakers sorted, see Point of order.- If
meeting/list_of_speakers_present_users_only
is true, the user must be present (user/present_in_meeting_ids
). - The
weight
must be calculated as described in Point of order with an eye to detail regarding point of order speakers. - If
meeting.list_of_speakers_allow_multiple_speakers
isFalse
, the given user must not be already waiting. It is allowed to have the user once as a normal speaker and once as a point of order speaker, but not two speakers of the same type. - The user must belong to the meeting.
speech_state
can only be set topro
orcontra
ifmeeting/list_of_speakers_enable_pro_contra_speech
is truespeech_state
can only be set tocontribution
iflist_of_speakers.can_manage
ormeeting/list_of_speakers_can_set_contribution_self
is truespeech_state
can only be set tointervention
ifmeeting/list_of_speakers_intervention_time > 0
speech_state
can only be set tointerposed_question
ifmeeting/list_of_speakers_enable_interposed_question
is true- If
speech_state == "interposed_question"
, the speaker has to be sorted after all other interposed questions, but before all other speakers (including point of order speakers) - The speech states
intervention
andinterposed_question
cannot be combined withpoint_of_order == True
If the optional structure_level_id
is given, it is checked whether a
structure_level_list_of_speakers
for this LOS and structure level exists. If it doesn't, it is
first created. Then, its id
is added to the speaker instance.
structure_level_id
is only allowed if meeting/list_of_speakers_default_structure_level_time > 0
.
- adding oneself: The request user needs
list_of_speakers.can_be_speaker
. Also see conditions above. - adding another user: The request user needs
list_of_speakers.can_manage
.