Content
View differences
Updated by Marc Alcobé over 3 years ago
**As** an Admin of an OpenProject instance
**I want to** manually configure non-working days that affect all users, in all projects in the instance
**so that** work packages can be planned with more precision, with dates that correspond to actual working days
## **Acceptance criteria:**
Adding non-working would be possible through the administration setting "Working days" with a new section created bellow the work week. This section will contain:
* Short title and description (see the visuals for the text)
* A header to the list with the current year and two buttons with arrows to navigate between years _(need to be double check with dev team)_.
* A yearly list view of all the non-working days (excluding weekends) of a single year that is called from Fullcalendar.
* On hover of this list a bin icon will be displayed in the right to be able to eliminate non-working days _(need to be double check with dev team)_.
* At the bottom of the list there is a persistent button (always visible and not scrollable) to include new non-working days. Once clicked:
* A modal date picker is opened. The design of this modal are specified on <mention class="mention" data-id="42358" data-type="work_package" data-text="#42358">#42358</mention>.
* The user will be able to name the non-working day and select a date for it.
* If the desired date is a weekend the user should use the switch to allow weekend days selection.
* At the end of the screen there is the "Save" button that confirms all the selected options above. If the user perform any change, this action will trigger a confirmation modal:
* Use the current implemented modal updating the text (see the visuals). The user is indicated that this action might take some time and it will be notified once the changes are applied.
* Once the user confirm the changes the API call will be performed and an already implemented progress system will be used to notify the user once all the changes are applied _(dev team needs to confirm this is easy to implement)_.
* In the case of the admin creating a day on top of a day that has already been added, the last addition will always override the previous.
* The text on the top information box is also updated to include the non-working days (see visuals for the text).
* In case the year has no non-working days yet, the first section of the table will be displayed with a header "Non-working days" and a message "No specific non-working days are defined for this year. Click on "Add non-working day" below to add a date." (see visuals)
## Note
Texts in the modal and information boxes might change after review.
## Visuals
<img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/39887/content"><img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/39888/content"><img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/39889/content">
<img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/39890/content">
## <img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/42374/content">
## Figma link:
https://www.figma.com/file/SMzHAQWcY9k0PkTEKd5UQn/Duration-and-Non-Working-Days?node-id=2435%3A68835
## Out of Scope
* Monthly view: user can click on a single day or click and drag on multiple days to add one of multiple non-working days of a specific month. Once the mouse is released, a dialog with a text field appears to allow the user to name the day/s.
* Add public calendar: import a calendar from a public list of holidays depending on the location of the instance.
* Add more than a single holiday: add more than one day in a single creation step.
**I want to** manually configure non-working days that affect all users, in all projects in the instance
**so that** work packages can be planned with more precision, with dates that correspond to actual working days
## **Acceptance criteria:**
Adding non-working would be possible through the administration setting "Working days" with a new section created bellow the work week. This section will contain:
* Short title and description (see the visuals for the text)
* A header to the list with the current year and two buttons with arrows to navigate between years _(need to be double check with dev team)_.
* A yearly list view of all the non-working days (excluding weekends) of a single year that is called from Fullcalendar.
* On hover of this list a bin icon will be displayed in the right to be able to eliminate non-working days _(need to be double check with dev team)_.
* At the bottom of the list there is a persistent button (always visible and not scrollable) to include new non-working days. Once clicked:
* A modal date picker is opened. The design of this modal are specified on <mention class="mention" data-id="42358" data-type="work_package" data-text="#42358">#42358</mention>.
* The user will be able to name the non-working day and select a date for it.
* If the desired date is a weekend the user should use the switch to allow weekend days selection.
* At the end of the screen there is the "Save" button that confirms all the selected options above. If the user perform any change, this action will trigger a confirmation modal:
* Use the current implemented modal updating the text (see the visuals). The user is indicated that this action might take some time and it will be notified once the changes are applied.
* Once the user confirm the changes the API call will be performed and an already implemented progress system will be used to notify the user once all the changes are applied _(dev team needs to confirm this is easy to implement)_.
* In the case of the admin creating a day on top of a day that has already been added, the last addition will always override the previous.
* The text on the top information box is also updated to include the non-working days (see visuals for the text).
* In case the year has no non-working days yet, the first section of the table will be displayed with a header "Non-working days" and a message "No specific non-working days are defined for this year. Click on "Add non-working day" below to add a date." (see visuals)
## Note
Texts in the modal and information boxes might change after review.
## Visuals
<img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/39887/content"><img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/39888/content"><img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/39889/content">
<img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/39890/content">
## <img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/42374/content">
## Figma link:
https://www.figma.com/file/SMzHAQWcY9k0PkTEKd5UQn/Duration-and-Non-Working-Days?node-id=2435%3A68835
## Out of Scope
* Monthly view: user can click on a single day or click and drag on multiple days to add one of multiple non-working days of a specific month. Once the mouse is released, a dialog with a text field appears to allow the user to name the day/s.
* Add public calendar: import a calendar from a public list of holidays depending on the location of the instance.
* Add more than a single holiday: add more than one day in a single creation step.