OpenSlides / OpenSlides/openslides-backend
Implement time limits for motions
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 9
- Forks
- 40
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 19
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?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing meeting and motion models, their action permissions, and the autoupdate service. Clarify which motion-action fields are affected and how time limits should interact with autoupdates before implementation. Done means the time_limit model, create/update/delete actions, permission bypass, and affected motion and amendment actions are specified and covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- authorization, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100