Content
View differences
Updated by Oliver Günther over 3 years ago
**As** a project admin
**I want to** define the working days of the week for my OpenProject instance
**so that** weekends are correctly displayed and taken into account in all modules that involve dates (date picker, GANTT, team planner, calendar...).
### **Acceptance criteria**
* The icon for this entry is the existing "**icon-calendar**" (visible in the sidebar and on the overview pages).
* The page has a title: "Working days"
* There is an orange warning toast that is permanently visible:
* With icon 'warning'
* Text: "Changing which days of the week are considered working days can affect the start and finish days of all work packages in all projects in this instance."
* Text:
* **Define the working days of the week**
Non-working days are skipped when scheduling work packages and are excluded when calculating duration. This can be overriden at a work-package level.
* This is followed by the horizontal row of checkboxes, one for each day of the week.
* Monday–Friday are selected by default.
* Saturday and Sunday are unselected by default.
* **Mobile:** On smaller screens, the list become vertical, with only one element per line.
* A save button is present like on any settings page, except:
* If there was a change in the selection of working days (a new day checked or an old day unchecked), clicking on Save will display a modal dialogue:
* Header title: "Change working days"
* with divider under header
* Modal text:
* "Changing which days of the week are considered working days can affect the start and finish days of all work packages in all projects in this instance. Are you sure you want to to continue?"
* Primary button (danger): "Change working days" (same string as header)
* Secondary button (white): Cancel
* Focus is trapped within the modal:
* Focus is first set on the modal container
* Tabbing will move the focus to the cancel button
* Tabbing again will move the focus to the continue button
* Tabbing again restores focus to the container
* The user is free to enable/disable any of the days of the week as working days, as long as there is at least 1 day selected. _(Reason: removing days forces rescheduling based on next available day; unselecting all means there will be none, causing an infinite loop)_
* If a user unchecks all checkboxes and clicks on Save, a red error toast will be displayed with the words: "At least one day of the week must be defined as a working day". day".
* Saving will not be possible until at least one day is selected.
### **Visuals**
_Admin settings to configure working days of the week:_
<img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/38205/content">
_Modal dialogue askings users to confirm the change_
<img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/38206/content">
### Note
The settings here are instance-level and changes affect all work packages in all projects. An instance admin might not have the full context for scheduling in all projects in that instance. instance.
Changes here should therefore be made sparingly. This is why there is redundancy in the warning (on the page + modal). modal).
Such a change is also likely to generate a large number of notifications for a large number of users (when start/finish dates of assigned/watched/accountable work packages change as a result). In future iterations, we can think consider finding a way to consolidate these notifications so as to not overwhelm the user.
### **Figma**
https://www.figma.com/file/SMzHAQWcY9k0PkTEKd5UQn/Duration-and-Non-Working-Days?node-id=1667%3A46400
**I want to** define the working days of the week for my OpenProject instance
**so that** weekends are correctly displayed and taken into account in all modules that involve dates (date picker, GANTT, team planner, calendar...).
### **Acceptance criteria**
* The icon for this entry is the existing "**icon-calendar**" (visible in the sidebar and on the overview pages).
* The page has a title: "Working days"
* There is an orange warning toast that is permanently visible:
* With icon 'warning'
* Text: "Changing which days of the week are considered working days can affect the start and finish days of all work packages in all projects in this instance."
* Text:
* **Define the working days of the week**
Non-working days are skipped when scheduling work packages and are excluded when calculating duration. This can be overriden at a work-package level.
* This is followed by the horizontal row of checkboxes, one for each day of the week.
* Monday–Friday are selected by default.
* Saturday and Sunday are unselected by default.
* **Mobile:** On smaller screens, the list become vertical, with only one element per line.
* A save button is present like on any settings page, except:
* If there was a change in the selection of working days (a new day checked or an old day unchecked), clicking on Save will display a modal dialogue:
* Header title: "Change working days"
* with divider under header
* Modal text:
* "Changing which days of the week are considered working days can affect the start and finish days of all work packages in all projects in this instance. Are you sure you want to to continue?"
* Primary button (danger): "Change working days" (same string as header)
* Secondary button (white): Cancel
* Focus is trapped within the modal:
* Focus is first set on the modal container
* Tabbing will move the focus to the cancel button
* Tabbing again will move the focus to the continue button
* Tabbing again restores focus to the container
* The user is free to enable/disable any of the days of the week as working days, as long as there is at least 1 day selected. _(Reason: removing days forces rescheduling based on next available day; unselecting all means there will be none, causing an infinite loop)_
* If a user unchecks all checkboxes and clicks on Save, a red error toast will be displayed with the words: "At least one day of the week must be defined as a working day".
* Saving will not be possible until at least one day is selected.
### **Visuals**
_Admin settings to configure working days of the week:_
<img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/38205/content">
_Modal dialogue askings users to confirm the change_
<img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/38206/content">
### Note
The settings here are instance-level and changes affect all work packages in all projects. An instance admin might not have the full context for scheduling in all projects in that instance.
Changes here should therefore be made sparingly. This is why there is redundancy in the warning (on the page + modal).
Such a change is also likely to generate a large number of notifications for a large number of users (when start/finish dates of assigned/watched/accountable work packages change as a result). In future iterations, we can think consider finding a way to consolidate these notifications so as to not overwhelm the user.
### **Figma**
https://www.figma.com/file/SMzHAQWcY9k0PkTEKd5UQn/Duration-and-Non-Working-Days?node-id=1667%3A46400