104 Commits

Author SHA1 Message Date
Oliver Günther c660802146 Merge remote-tracking branch 'origin/release/17.3' into release/17.4 2026-05-06 09:19:25 +02:00
Oliver Günther 8eca1925ec Respect activation limit in user unlocking
https://community.openproject.org/work_packages/74373
2026-04-24 09:19:06 +02:00
Oliver Günther 6877e29351 Validate current user password confirmation when changing passwords through API
https://community.openproject.org/work_packages/74335
2026-04-23 14:19:50 +02:00
Oliver Günther f41c5e6f80 Validate user limit when trying to activate user 2026-04-17 09:04:59 +02:00
Oliver Günther 716dcd80db change specs to not found, as user is no longer visible for locked admin 2026-03-31 10:24:04 +02:00
Klaus Zanders bc463e6d06 Fix API specs 2026-03-26 11:53:39 +01:00
Oliver Günther 0dd5ce5942 Merge remote-tracking branch 'origin/release/17.0' into dev 2025-12-02 16:37:59 +01:00
Oliver Günther 77b1e16e1f Add required depending permission for manage_user 2025-12-02 16:34:48 +01:00
OpenProject Actions CI 8de1ec9966 Merge branch 'release/17.0' into dev 2025-12-02 13:30:52 +00:00
Oliver Günther 25ad8669ed Merge remote-tracking branch 'origin/release/16.6' into release/17.0 2025-12-02 11:16:19 +01:00
Oliver Günther fb39a779f5 Use User.visible scope on users 2025-12-01 20:47:31 +01:00
Klaus Zanders 096dd5e915 Fix specs for update controller 2025-11-26 12:14:54 +01:00
Klaus Zanders 2ef2469c3f Fix tests for users API 2025-11-26 12:03:37 +01:00
Jan Sandbrink 162ec266df Mark user's name property as read-only
This property was inherited from the PrincipalRepresenter where
it's writable. For users this would lead to a server error, since
there is no name attribute on the user model.

We could've just marked the property as `writable: false`, though
then changes to it would just be ignored without any API feedback,
but marking it as read-only through the contract is not possible, since
the contract can only validate attributes that really do exist.

To be able to provide API feedback, I overwrote the setter to raise a proper
validation error.
2025-11-25 09:55:06 +01:00
Oliver Günther 0733913cf6 Adapt CF validation after core changes 2025-10-23 14:06:36 +02:00
Dombi Attila efe53df610 Add custom field testcases to user create/update form/resource specs 2025-10-14 12:01:58 +02:00
Pavel Balashou 1323927095 [#65068] Add deleted status to user.
https://community.openproject.org/work_packages/65068
2025-08-27 09:53:37 +02:00
Pavel Balashou e78b12a51e [#62107] Fix specs. Add openjdk to backend image.
- Add openjdk to backend image.
  It is required to sping up test LDAP server in specs.
  https://github.com/NUARIG/ladle
2025-06-30 17:50:39 +02:00
Pavel Balashou 2db9ef305c [#63912] Support multiple authentication provider user links
https://community.openproject.org/work_packages/63912
2025-06-03 10:13:00 +02:00
Jan Sandbrink 0b87e7543f Freeze string literals in specs
Rolling out frozen string literals further by freezing all
string literals in core specs.
2025-05-05 09:29:55 +02:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
Christophe Bliard a885fef2bd Conform to RSpecRails/HaveHttpStatus cop
With a hack to get `have_http_status` to work with `Rack::MockResponse`.
2024-06-24 17:50:57 +02:00
ulferts 3b2121f733 Revert "Merge remote-tracking branch 'origin/release/13.4' into dev"
This reverts commit 40b2bbeb09, reversing
changes made to b4c6cb17cc.
2024-03-21 11:31:17 +01:00
Ivan Kuchin 7787e457a3 Revert "Merge branch 'dev' into release/13.4"
This reverts commit a901541269, reversing
changes made to e573ca00b7.
2024-03-20 20:19:08 +01:00
Ivan Kuchin 9e4934cd0a change quotes using rubocop --only Style/StringLiterals,Style/QuotedSymbols -a 2024-03-20 18:05:22 +01:00
Christophe Bliard 8fa8584538 Run rubocop --autocorrect on all files
Only the safe cops have run. rubocop version is 1.59.0.
2024-01-05 15:27:09 +01:00
Christophe Bliard c795874f7f Update copyright year for 2024
command used: `rg -l 'Copyright \(C\) 2012-202\d the OpenProject' | xargs -n 100 sed -i -r 's/Copyright \(C\) 2012-202. the OpenProject/Copyright (C) 2012-2024 the OpenProject/'`
2024-01-02 16:23:54 +01:00
Oliver Günther d60120f1fb Adapt specs now that login_required defaults to true 2023-11-08 11:30:58 +01:00
Dombi Attila 9fbe0729b8 Remove the default admin shared context as it is not necessary. 2023-11-01 15:04:45 +02:00
Dombi Attila fbb2844069 [#50208] Disabling the default admin user is possible via a system user (#14057)
* [#50208] When disabling the default `admin` user, after an update two `admin` users exists in the database.

https://community.openproject.org/work_packages/50208

* fix specs
2023-11-01 08:29:36 +01:00
Klaus Zanders 78c1e4fadb Switch all uses of principal factories to use new interface 2023-10-09 10:39:44 +02:00
Christophe Bliard df827db627 Refactor CustomField factories using traits
Reduce duplication and harmonize the factory names:
- bool/boolean => boolean
- int/integer => integer

Co-authored-by: Aaron Contreras <aaronlcaq@gmail.com>
2023-08-29 08:57:39 +02:00
Oliver Günther e32d2d0058 Remove AuthSource base namespace, model 2023-07-27 08:16:43 +02:00
Klaus Zanders 29790b00ce Fix specs and checks for roles 2023-07-20 08:59:16 +02:00
Klaus Zanders 3d5f4e1b29 Start using create_user permission in appropriate places 2023-07-20 08:59:15 +02:00
Christophe Bliard 4c2a9d0aa8 Enable RSpec zero monkey patching mode
The plan for RSpec 4.0 is to disable monkey patching.

See https://github.com/rspec/rspec-core/blob/main/features/configuration/zero_monkey_patching_mode.feature for details.
2023-05-31 19:22:29 +02:00
Christophe Bliard aa23106c11 lint: autocorrect RSpec/FactoryBot/ConsistentParenthesesStyle
command is

    rubocop -A --only RSpec/FactoryBot/ConsistentParenthesesStyle modules spec
2023-03-07 15:04:32 +01:00
Dombi Attila b3f3ed8f43 refactor: Extract customField1 json format into the CustomField#attribute_name method 2023-01-23 14:54:25 +02:00
Christophe Bliard 10085736da refactor: Rename and generalize #accessor_name as #attribute_name
Also extract #attribute_getter and #attribute_setter when
using #attribute_name in the context of calling the getter/setter
methods.
2023-01-17 09:39:27 +01:00
Christophe Bliard 85b3258a29 Autocorrect with some rubocop cops
RSpec/Rails/InferredSpecType and Style/RedundantConstantBase

rubocop --autocorrect-all --only RSpec/Rails/InferredSpecType,Style/RedundantConstantBase spec modules/*/spec
2023-01-13 14:28:59 +01:00
Christophe Bliard 21a696ef9b Update copyright information for 2023 2022-12-30 15:51:26 +01:00
ulferts e35791503d ensure default language is applied on new user record 2022-11-29 16:31:35 +01:00
Christophe Bliard 48a4f1b6ad lint with rubocop --autocorrect (safe cops only) 2022-06-02 10:40:10 +02:00
Oliver Günther 02a80edccd Allow setting the status on User create/update contracts 2022-04-05 08:30:35 +02:00
Christophe Bliard a33524ef6d remove ruby magic comment for utf-8
ruby interprets source encoding as utf-8 since 2.0.0, making magic comment redundant and useless
2022-03-10 19:36:58 +01:00
ulferts 74cb479c74 minimal support for user sql representer 2022-03-03 14:54:11 +01:00
ulferts a7a37ea47a use standard index endpoint 2022-03-03 14:54:10 +01:00
Christophe Bliard bc8d423ec2 update copyright information for 2022 2022-03-01 17:05:59 +01:00
Christophe Bliard 47a297daae Fix argument alignment since f08bea3467 (#10129)
* Fix argument alignment since f08bea3467

The FactoryBot.* prefix has been removed in f08bea3467. Since then
rubocop complains about Layout/ArgumentAlignment. This commit fixes it.

* do not fix alignments for modules/*/spec yet

hoping to be under the limit of 65535 characters for reviewdog to report on rubocop errors
2022-02-02 21:48:06 +01:00
Oliver Günther f08bea3467 Remove FactoryBot.* prefix where applicable 2022-01-25 08:19:06 +01:00