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.
* \[open\] The alternative would be to only find projects where the interval formed by the start and the end date is completely enclosed in the current week.
* 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 overlap the date interval created by the two values.
* \[open\] The alternative would be to only find projects where the interval formed by the start and the end date is completely enclosed in the interval created by the two values.
* This question indicates that it might be a good idea to add another operator to distinguish the two cases.
* 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**
* \[open\] 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.
* \[open\] The alternative would be to only find projects where the interval formed by the start and the end date is completely enclosed in the current week.
* 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 overlap the date interval created by the two values.
* This question indicates that it might be a good idea to add another operator to distinguish the two cases.
* is
* 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**
*
**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`.