Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/59183 filters for stages and gates on project list #17951

Draft
wants to merge 14 commits into
base: dev
Choose a base branch
from

Conversation

ulferts
Copy link
Contributor

@ulferts ulferts commented Feb 14, 2025

Ticket

https://community.openproject.org/wp/59183

What are you trying to accomplish?

  • The project list offers filters on stages and gates
    • Available filters:
      1. Projects that are in any stage/gate
        • [open] Name for the filter
      2. Projects that are in a specific Stage/Gate
        • This will require having one filter per Stage/Gate that are dynamically added/removed when new stages/gates are added.
        • The activation/deactivation of a Stage/Gate within a project does not factor into the availability of the filter. As soon as the stage/gate is created in the administration, the filter is available.
        • [open] Name for the filter.
    • Operators for both filters:
      • today - no value required: Matches if the specified stage/gate (for 2.) or if any stage/gate (for 1.) has a start date lower and an end date higher than today.
      • this week - no value required: Matches if the specified stage/gate's (for 2.) or if any stage/gate's (for 1.) interval formed by start and end date overlap the date interval created by the current week.
        • The calculation for the current week takes the "Week starts on" Setting into account.
      • on  - one value required: Matches if the specified stage/gate (for 2.) or if any stage/gate (for 1.) has a start date lower and an end date higher than the provided date.
        • [open] find term for this operator - the user would want to know if something happens on that day.
      • between - two values: Matches if the specified stage/gate's (for 2.) or if any stage/gate's (for 1.) interval formed by start and end date are within the date interval created by the two values. If only the lower value is provided, it matches if the stage/gate's values are higher than the value. If only the upper value is provided, it matches if the stage/gate's values are lower than the value.
      • is empty - no value required: Matches if the specified stage/gate (for 2.) or if any stage/gate (for 1.) has no value set.
    • Restrictions
      • In case a stage/gate is disabled in a project the value that stage/gate might have set in the project is not found.
      • The filters are only available if the user has the "View project phases and gates" permission in any project.
      • Only values set for stages/gates within a project are only filtered on if the user has the "View project phases and gates" in that project.
  • The filters are also available via the API v3.
    • Those added filters need to be documented in the API documentation.

Merge checklist

  • Added/updated tests
  • Added/updated documentation in Lookbook (patterns, previews, etc)
  • Tested major browsers (Chrome, Firefox, Edge, ...)

@ulferts ulferts force-pushed the feature/59183-filters-for-stages-and-gates-on-project-list branch from 46b175c to c2c143f Compare February 14, 2025 14:50
@ulferts ulferts force-pushed the feature/59183-filters-for-stages-and-gates-on-project-list branch from e9e79b4 to 33be539 Compare February 14, 2025 16:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant