# Feature OP-10399 - Administration page for changing the global work schedule - Weekends only

Project: OpenProject
Status: closed
URL: https://community.openproject.org/work_packages/OP-10399

## Planning

| Attribute | Value |
| --- | --- |
| Date | 2022-05-04 – 2022-10-26 |
| Priority | Medium |
| Target versions | 12.3.0 |
| Sprint | 12.3.0 |
| Backlog bucket |  |
| Votes |  |
| List |  |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

_No work packages_

## Features and Chunks

| ID | Subject | Type | Status | Assignee | Target versions | Spent time |
| --- | --- | --- | --- | --- | --- | --- |
| OP-10579 | Handle updating schedule (start/finish dates) as non working days are changed | Implementation | closed |  | 12.3.0 |  |
| OP-10999 | Basic administration for non working days (excluding danger zone) | Implementation | closed |  | 12.3.0 |  |
| OP-11000 | Danger zone guarding changes to non working days | Implementation | closed |  | 12.3.0 |  |
| OP-11156 | Connect administration page and background job | Implementation | closed |  | 12.3.0 |  |
| OP-11159 | Throw an error if the user attempts to change working days before previous change has been processed | Implementation | closed |  | 12.3.0 |  |
| OP-11190 | Support mobile view - vertical alignment of weekly checkboxes | Implementation | closed |  | 12.3.0 |  |

## Bugs and other work packages

_No work packages_

## Technical Details

| Attribute | Value |
| --- | --- |
| Module |  |
| Feature Flag |  |
| Requires doc change | No |
| Enterprise plan |  |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups |  |
| Found in mobile app version |  |
| Follow-up feedback e-mail |  |
| Accessibility | No |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable |  |
| Product manager |  |
| Developers |  |
| Designer | Parimal Satyal |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| PD (min) |  |
| PD (max) |  |
| Work | 3d 0h · Σ 8d 0h |
| Labor costs |  |

## Description

**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 overridden 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
  - 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>
