Skip to content

Implement time limits for motions #1582

@r-peschke

Description

@r-peschke

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_limit that 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?

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions