-
Notifications
You must be signed in to change notification settings - Fork 32
Open
Labels
Milestone
Description
We need to implement time limits (per meeting) for different types of motions.
These time limits should be implemented as a new model within the meetings: time_limit.
It should include the following fields:
- name: a string representing the title of the time limit
- meeting_id: relation to corresponding meeting
- begin: a timestamp marking the point from which a user is allowed to carry out the associated actions
- end: a timestamp marking the end of the time period
- type: a multiselect specifying the actions which the time limit restricts.
- the selectable options are: create motions, update motions, support motions, create amendments, update amendments, support amendments
There ought to be corresponding new actions time_limit.create, time_limit.update and time_limit.delete that allow the editing of these models.
All actions that involve creating/updating motions or editing the supporters of a motion should have their permissions changed to consider the time_limits in the following manner:
- If there are no time limits concerning the attempted action, proceed as usual.
- If there are time limits concerning the attempted action, normal users can only perform that action while the current time is within one of those time limits.
- Given that certain members staff should be able to edit motions after the fact for organizational reasons there should be a new permission
can_ignore_time_limitthat causes this time limit check to be skipped.
Which fields of the motion actions will be affected specifically will have to be discussed at a later date.
TODO: What will have to be done in the autoupdate service?