Skip to content

Commit 21ddc67

Browse files
committed
Merge branch 'release/16.0' into dev
2 parents ea14c7d + 9535e14 commit 21ddc67

File tree

41 files changed

+321
-165
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+321
-165
lines changed

app/services/work_packages/delete_service.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def persist(service_result)
5050

5151
def destroy_descendants(descendants, result)
5252
descendants.each do |descendant|
53-
success = destroy(descendant)
53+
success = destroy(descendant.reload)
5454
result.add_dependent!(ServiceResult.new(success:, result: descendant))
5555
end
5656
end
@@ -63,6 +63,7 @@ def destroy(work_package)
6363

6464
def find_successors_of_self_and_descendants(work_package)
6565
WorkPackage.where(id: Relation.follows.of_predecessor(work_package.self_and_descendants).select(:from_id))
66+
.where.not(id: work_package.self_and_descendants)
6667
end
6768

6869
def update_ancestors_and_successors(successors, result)
@@ -94,8 +95,8 @@ def reschedule_related(deleted_work_package, successors)
9495
.new(user:, work_package: work_packages_to_reschedule)
9596
.call
9697

97-
result.dependent_results.map(&:result).each do |dependent_result|
98-
dependent_result.save(validate: false)
98+
result.dependent_results.map(&:result).each do |rescheduled_work_package|
99+
rescheduled_work_package.save(validate: false)
99100
end
100101

101102
result

docs/installation-and-operations/configuration/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ OPENPROJECT_SEED_DESIGN_EXPORT__COVER="..."
320320

321321
### Allowing public access
322322

323-
By default, any request to the OpenProject application needs to be authenticated. If you want to enable public unauthenticated access like we do for https://community.openproject.org, you can set the `login_required` to `false`. If not provided through environment variables, this setting is also accessible in the administrative UI. Please see the [authentication settings guide](../../system-admin-guide/authentication/authentication-settings/#general-authentication-settings) for more details.
323+
By default, any request to the OpenProject application needs to be authenticated. If you want to enable public unauthenticated access like we do for https://community.openproject.org, you can set the `login_required` to `false`. If not provided through environment variables, this setting is also accessible in the administrative UI. Please see the [authentication settings guide](../../system-admin-guide/authentication/login-registration-settings/) for more details.
324324

325325
*default: true*
326326

docs/system-admin-guide/authentication/README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ Configure **authentication** settings and authentication providers in OpenProjec
1313

1414
## Overview
1515

16-
| Topic | Content |
17-
|------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------|
18-
| [Authentication settings](authentication-settings) | Configure general authentication settings, such as registration, passwords, and more. |
19-
| [OAuth applications](oauth-applications) | How to configure OAuth applications in OpenProject. |
20-
| [OpenID providers](openid-providers) | How to configure OpenID providers in OpenProject. |
21-
| [Two-factor authentication](two-factor-authentication) | Set up and manage two-factor authentication (2FA) in OpenProject. |
22-
| [reCAPTCHA](recaptcha) | How to activate reCAPTCHA in OpenProject. |
23-
| [LDAP authentication](ldap-connections) | How to set up LDAP authentication in OpenProject. |
24-
| [LDAP group synchronization](ldap-connections/ldap-group-synchronization) | How to configure LDAP group synchronization in OpenProject. (Enterprise add-on) |
16+
| Topic | Content |
17+
| ------------------------------------------------------------ | :----------------------------------------------------------- |
18+
| [Login and registration settings](login-registration-settings) | Configure general authentication settings, such as registration, SSO, passwords, and more. |
19+
| [OAuth applications](oauth-applications) | How to configure OAuth applications in OpenProject. |
20+
| [OpenID providers](openid-providers) | How to configure OpenID providers in OpenProject. |
21+
| [Two-factor authentication](two-factor-authentication) | Set up and manage two-factor authentication (2FA) in OpenProject. |
22+
| [reCAPTCHA](recaptcha) | How to activate reCAPTCHA in OpenProject. |
23+
| [LDAP authentication](ldap-connections) | How to set up LDAP authentication in OpenProject. |
24+
| [LDAP group synchronization](ldap-connections/ldap-group-synchronization) | How to configure LDAP group synchronization in OpenProject. (Enterprise add-on) |

docs/system-admin-guide/authentication/authentication-faq/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ For on premises installations the functionality can be deactivated the same way
2222

2323
## Can we ensure that passwords are secure / have a high strength?
2424

25-
Password parameters for OpenProject can be configured on each OpenProject environment. Typically passwords require 10+ characters, as well as special characters. Please find the respective instruction [here](../authentication-settings/#configure-password-settings).
25+
Password parameters for OpenProject can be configured on each OpenProject environment. Typically passwords require 10+ characters, as well as special characters. Please find the respective instruction [here](../login-registration-settings/#password-settings).
2626

2727
## How can a user change his/her authentication method?
2828

docs/system-admin-guide/authentication/authentication-settings/README.md

Lines changed: 0 additions & 73 deletions
This file was deleted.
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
sidebar_navigation:
3+
title: Settings
4+
priority: 990
5+
description: Login and registration settings in OpenProject.
6+
keywords: authentication settings, login settings, registration settings, OpenProject login, login, registration
7+
---
8+
# Login and registration
9+
10+
To adapt general system **login and registration settings** in OpenProject, navigate to *Administration -> Authentication* and choose -> *Login and registration*.
11+
12+
Here you can adapt various settings related to login and registration in OpenProject, grouped under three tabs:
13+
14+
- Login and SSO
15+
16+
- Registration
17+
18+
- Passwords
19+
20+
![Login and registration settings in OpenProject administration](openproject_system_admin_guide_authentication_settings_login_and_registration.png)
21+
22+
## Login and SSO settings
23+
24+
Under the *Login and SSO* tab you can adjust following settings:
25+
26+
1. Select a **direct login SSO provider**. If this option is active, login requests will be redirected to the configured Omniauth provider. This will disable the login dropdown and sign-in page.
27+
28+
> [!NOTE]
29+
>
30+
> Unless you also disable password logins, with this option enabled, users can still log in internally by visiting internal login page, for example `https://yourinstancename.openproject.com/login/internal` login page.
31+
32+
2. Enable or disable the **autologin option**. This allows a user to remain logged in, even if they leave the site. If this option is activated, the “Stay signed in” option will appear on the login screen to be selected.
33+
34+
3. Activate the **session expiration option**.
35+
36+
4. Set the **duration for inactivity time**, after which a session will expire. Note that any value below 5 will be treated as disabling the session expiry setting.
37+
38+
5. Define whether **user login, name, and mail address** should be logged for all requests.
39+
40+
6. Define a path to **redirect users to after their first login**. If left empty, users are redirected to the homepage to see the onboarding tour.
41+
42+
7. Set a **default path to redirect users to after login** (only if the login link is not a back link, i.e. `www.example.openproject.com/login`). If left empty, users are redirected to the homepage.
43+
44+
Do not forget to **save** your changes.
45+
46+
![Login and SSO tab under login and registration settings in OpenProject system administration](openproject_system_admin_guide_authentication_settings_login_sso_tab.png)
47+
48+
## Registration settings
49+
50+
Under the *Registration* tab you can adjust following settings:
51+
52+
1. Select if the **authentication is required** to access OpenProject. For versions 13.1 and higher of OpenProject, this setting will be checked by default
53+
54+
> [!IMPORTANT]
55+
> If you uncheck this box, your OpenProject instance will be visible to the general public without logging in. The visibility of individual projects depends on [this setting](../../../user-guide/projects/#set-a-project-to-public).
56+
57+
2. Select an option for **self-registration**. Self-registration can either be **disabled**, or it can be allowed with the following criteria:
58+
59+
a) **Account activation by email** - users can register on their own. They will receive an activation email and will need to activate their account after confirming their email address.
60+
61+
> [!WARNING]
62+
>
63+
> Administrators have no moderation control over this activation process if this method is selected.
64+
65+
b) **Manual account activation** - users can register on their own. However, an administrator (or a user with the global permission to create or manage users) needs to activate them.
66+
67+
c) **Automatic account activation** - users can register on their own. Their accounts are immediately active without further action.
68+
69+
> [!WARNING]
70+
>
71+
> Administrators have no moderation control over this activation process if this method is selected.
72+
73+
> [!NOTE]
74+
> By default, self-registration is only applied to internal users (logging in with username and password). If you have an identity provider such as LDAP, SAML or OpenID Connect, use the respective settings in their configuration to control which users are applicable for automatic user creation.
75+
76+
3. Define after how many days the **activation email sent to new users will expire**. Afterwards, you will have the possibility to [re-send the activation email](../../users-permissions/users/#resend-user-invitation-via-email) via the user settings.
77+
78+
3. Choose for which **language** you want to define **the footer displayed at the bottom of the registration page** and formulate that footer text.
79+
80+
81+
![Registration tab under Login and Registration section of authentication settings in OpenProject administration](openproject_system_admin_guide_authentication_settings_registration_tab.png)
82+
83+
## Password settings
84+
85+
Under the *Password* tab you can adjust following settings:
86+
87+
1. Define the **minimum password length**.
88+
2. Select what **character classes are a mandatory part of the password**.
89+
3. Define the **minimum number of required character classes**.
90+
4. Define the number of days, after which a **password change should be enforced**. Value of 0 disables this option, i.e. no password change will be enforced.
91+
5. Define the **number of the most recently used passwords that a user should not be allowed to reuse**.
92+
6. Activate the **password reset** (Forgot your password option). This way users will be able to reset their own passwords via email.
93+
7. Define the number of failed **login attempts, after which a user will be temporarily blocked**. Value of 0 disables this option, i.e. users will not be blocked after any amount of failed login attempts.
94+
8. Define the **duration of the time, for which the user will be blocked after failed login attempts**. Value of 0 disables this option.
95+
96+
![Password settings tab under Login and Registration section of authentication settings in OpenProject administration](openproject_system_admin_guide_authentication_settings_password_tab.png)
97+
Loading

docs/system-admin-guide/authentication/saml/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ OPENPROJECT_SAML_SAML_SECURITY_DIGEST__METHOD="http://www.w3.org/2000/09/xmldsig
250250
251251
#### Optional: Restrict who can automatically self-register
252252
253-
You can configure OpenProject to restrict which users can register on the system with the [authentication self-registration setting](../authentication-settings)
253+
You can configure OpenProject to restrict which users can register on the system with the [authentication self-registration setting](../login-registration-settings/)
254254
255255
By default, users returning from a SAML idP will be automatically created. If you'd like for the SAML integration to respect the configured self-registration option, please use this setting:
256256
@@ -304,7 +304,7 @@ When you return from the authentication provider, you might be shown one of thes
304304
305305
Once created, you can assign this SAML provider to become the direct login provider. Users will be directed to the login page of the provider without seeing a login form in OpenProject. [Read more](../../../installation-and-operations/configuration/#omniauth-direct-login-provider).
306306
307-
In the user interface, you can assign this through [Administration > Authentication > Settings](../authentication-settings/).
307+
In the user interface, you can assign this through [Administration > Authentication > Settings](../login-registration-settings/).
308308
309309
Using environment variables, you could also set this in the following way
310310

0 commit comments

Comments
 (0)