37 Commits

Author SHA1 Message Date
Oliver Günther 0f1f0e62cb Reduce visibility of principals to common memberships or view_all_principals permission 2025-10-23 12:59:56 +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
Oliver Günther f791d33b72 Replace specs 2025-01-14 10:20:35 +01:00
Oliver Günther c7e2c0e800 Move placeholder spec to cuprite 2024-11-05 17:13:29 +01:00
Oliver Günther cd2d0f0e1a Remove primerized_flash prefix in methods 2024-09-30 21:39:36 +02:00
Oliver Günther 1cf49e2c9f Adapt specs 2024-09-30 20:37:00 +02:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
Henriette Darge 46860150b1 Adapt tests to new PageHeader structure 2024-07-15 14:28:09 +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
ulferts 5b2bc41f41 Merge remote-tracking branch 'origin/dev' into easier-factory-role-setup 2023-10-12 12:09:27 +02:00
ulferts 2b2abf864a introduce ProjectRole model 2023-10-09 14:34:20 +02:00
Klaus Zanders 78c1e4fadb Switch all uses of principal factories to use new interface 2023-10-09 10:39:44 +02:00
bsatarnejad 85411f20c7 change tests due to replacing .flash with .op-toast 2023-07-18 16:47:45 +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
Dombi Attila 5fa819a54b Remove enterprise_token_helper.rb and the with_enterprise_token method 2023-05-08 08:08:30 +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
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
Behrokh Satarnejad c051eb5174 [44955] Re-think and harmonize Enterprise Edition vs Enterprise edition (#11694)
* change Edition to edition in strings

* use add-on instead of feature

* replace premium with enterprise

* Change Edition to edition in readme files

* change feature to add-on
2022-11-24 11:36:08 +01:00
Christophe Bliard 48a4f1b6ad lint with rubocop --autocorrect (safe cops only) 2022-06-02 10:40:10 +02:00
Christophe Bliard bc8d423ec2 update copyright information for 2022 2022-03-01 17:05:59 +01:00
luz paz 1830420679 Fix various typos
Found via `codespell -q 3 -S ./config/locales,./modules/xls_export/config/locales,./modules/job_status/config/locales,./modules/two_factor_authentication/config/locales,./modules/backlogs/config/locales/crowdin -L ba,nd,parms,sur,varius`
2022-02-16 20:10:49 +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
Behrokh Satarnejad 97233137b9 [40038] Make team planner only accessible with EE token (#10021)
* check if the user has a correct ee token activated

* add team planner token and set the engine and routes of upsale

* Update team_planner_controller.rb

* before running the test we should check that we have a token

* check if there is an EE token, then start test

* change common upsale template

* improve the styles and add image to the template for each feature

* change custom actions and 2fa upsale template

* add image of team planner to its template and medal icon

* make placeholder user, 2fa and team planner upsale templates identical

* Make placeholder users upsale template the same as other upsale templates

* check if there is an ee token, then start testing

* check there is an enterprise token for team planner and start testing
2022-01-26 13:08:10 +01:00
Oliver Günther f08bea3467 Remove FactoryBot.* prefix where applicable 2022-01-25 08:19:06 +01:00
Oliver Günther ccfa29c728 Move license and copyright docs to root, fix names and references 2021-09-02 21:50:46 +02:00
Oliver Günther fc090ac024 [37136] Disable delete button and check for deletion (#9338)
https://community.openproject.org/wp/37136
2021-05-31 16:31:41 +02:00
Wieland Lindenthal 44d57d36c6 Fix #37136: Restrict deletion of placeholder users (#9294) 2021-05-26 12:39:35 +02:00
Oliver Günther a023ccf372 [36517] Fix placeholder filter returning query object, not AR collection (#9071)
We depend on the query for correct sorting by name.

https://community.openproject.com/work_packages/36517
2021-03-09 08:47:07 +01:00
Wieland Lindenthal ffa5ac84a8 Allow deletion of placeholder users when permission of :manage_placeholder_user give (#9018)
* Refactoring: Rename permission :add_user and :add_placholder_user

to :manage_user and :manage_placeholder_user

* Add deletion to :manage_placeholder_user permission label

* WIP: Check :manage_placeholder_user permission before deletion

Specs still missing

* In controller rely on authorize_global for deleting placeholder users

* Add deletion_info for placeholder users

* Extend specs

* Set placeholder users to locked when deleting

* Review feedback

Co-authored-by: Oliver Günther <mail@oliverguenther.de>
2021-02-17 10:22:14 +01:00
Oliver Günther af35670694 Make placeholder users EE (#9003)
* Add global permission to manage (but not delete) placeholders

https://community.openproject.com/work_packages/35508

* Show EE upsale and disable creation of placeholders without it

* Review feedback
2021-02-16 21:32:30 +01:00
Oliver Günther bbeae32698 [35508] Add global permission to manage placeholder users (#9000)
* Add global permission to manage (but not delete) placeholders

https://community.openproject.com/work_packages/35508

* Restore breadcrumbs for non-show routes

* Remove permissions to memberships for add_placeholder_user permission

* Allow non-admins with global permission to access membership

* Remove permissions to memberships for add_placeholder_user permission

* Rename shared_examples for admin contract validations

Co-authored-by: ulferts <jens.ulferts@googlemail.com>
2021-02-16 14:16:35 +01:00
Wieland Lindenthal a18954b2c9 Placeholder user services and administration (#8944)
* Adding placeholder user contracts

* Adding create, update, and delete services for placeholder users

* WIP: Adding Placeholder User contract specs [ci skip]

* Extract contract validation into common helper

* Add common validation in BaseContract + common example for admin checks

* Introduce common ModelContract shared context for validations

* WIP: PlaceholderUser controller, i18n, and routes [ci skip]

* Placeholder users index page and query

- moved all group related scopes from User to Principal to make them also available in PlaceholderUser.

* end

* Create PlaceholderUser

* Feature spec for editing a placeholder user

* Manage PlaceholderUser memberships

The managment of memberships is pretty similar for User and PlaceholderUser. This commit extacts the similarities and uses them for both.

* General partial and show view for PlaceholderUser

* Delete obosolete partial

* Allow RequireAdminGuard to be used as a module function

* Fix I18n for confirmation text

* Smaller code improvements

* Fix: Syntax for accessing status enums was wrong.

* Use UpdateService for updating a placeholder user

* Add spec for PlaceholderUsersController

* First code improvements after code review.

- more improvements to come.

* Further code improvements after review

... still more to come

* Correct namespace of delete service

* Fix: Make placeholder user contract validate

* Remove :type attribute from base contract of User and PlaceholerUser

...and add it to the CreateContracts.
Also add type validations.

Further extract shared examples for placeholder user attribute
validation

* Refactor: Extract membership hook calls to helper

* Fix redirect paths for membership controllers

* Specs already present in shared exampels.

* Fix duplicates routes for users and placeholder users

* Fix user path

* Add attribute name and lastname

We don't need a writeable check as both are equally writable

* Replace more references to tab_edit_user_path

* Skip specs for PlaceholderUsers::DeletionService

We will tackle that service in a separate PR.

* Fix module usage of RequireAdminGuard

* Fix group filter for placeholder users

* Fix invalid reference to expect_valid

* Fix: Fix tabbed edit path for placeholder users

* Fix status filtering on users

* Linting

* Improve generalisation of individual principal filter cell

- Check for presence of groups and statuses in order
  to toggle visibility of their UI element.
- Remove groups from placeholder user controller and
  cell initialization and options

* Fix selector on groups assign

* Remove using_shared_fixtures

Co-authored-by: Oliver Günther <mail@oliverguenther.de>
2021-02-12 17:18:55 +01:00