OpenSlides / OpenSlides/openslides-client

Implement time limits for motions

Open
#1,913 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature
Dominant language
TypeScript
Stars
35
Forks
52
Avg merge
1d 9h
Merged PRs (30d)
52

Description

We need to implement time limits (per meeting) for different types of motions which will restrict certain meeting actions to certain time spans.
These time limits will be a new backend model within the meetings: time_limit.
See OpenSlides/openslides-backend#1582 to view the specifics of the new backend-side functionality

The client needs to:

  • add the new can_ignore_time_stamps permission (that will be added) to the clients permission handling
  • have a new view for creating/editing these time limits. It may look as follows:
    • the view is split vertically in two:
      • Left: A thin selectable list with the names of all time limits
      • Right: A detail view for the time limit that is currently selected (that functions as an edit view if the user has the perms)
    • the view could either be reached from the motion-list (since we're only restricting motions) or as part of the meeting settings (as we may want to add more options in the future, like restricting candidatures for example) => needs discussions
  • restrict the buttons corresponding to the according actions, if the current time is not within any relevant time limits.
    • unless there are no relevant time limits (then the default case should be what we currently do for that action)
    • or unless the operator has can_ignore_time_stamps
  • possibly implement notifications concerning time limits that have recently started/will end soon (the latter possibly with a countdown)
    • could be done using the banner
  • the view should at least be visible to anyone who is affected by any of the time limits (although they should not be able to edit)
    -> autoupdate restrictions should be extremely loose => needs discussion

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading OpenSlides/openslides-backend#1582 to understand the time_limit model and the can_ignore_time_stamps permission. Then map the existing motion actions, permission handling, meeting settings, and banner notification entry points before resolving where the new view belongs. Done means affected users can see time limits, permitted users can edit them, restricted actions follow the limits, and the agreed notification behavior is covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authorization, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.