Content
View differences
Updated by Jens Ulferts over 1 year ago
**As** a project portfolio manager
**I want to** have filters for stages and gates on the project list
**so that** I can drill down on projects falling into a category (e..g all projects currently being closed)
**Acceptance criteria**
* 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 overlap 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.
**Assumptions**
* A stage will always have no date or both dates set. It will never be the case that only the start or only the end date are set.
**Note**
* the filter for lifecycle columns has been [hard-coded to be disabled](https://github.com/opf/openproject/pull/17400). Remove the comment in `sort_helper`.
**I want to** have filters for stages and gates on the project list
**so that** I can drill down on projects falling into a category (e..g all projects currently being closed)
**Acceptance criteria**
* 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
* 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.
**Assumptions**
* A stage will always have no date or both dates set. It will never be the case that only the start or only the end date are set.
**Note**
* the filter for lifecycle columns has been [hard-coded to be disabled](https://github.com/opf/openproject/pull/17400). Remove the comment in `sort_helper`.