48 Commits

Author SHA1 Message Date
Tobias Dillmann d8bbc35ca6 [#70106] Convert symbol keys to string before casting, refactor 2026-01-07 15:01:07 +01:00
Tobias Dillmann 587333e79a [#70106] Activate a default field if the value is explicitly set
... even if it is identical to the default value
2026-01-07 15:01:07 +01:00
Tobias Dillmann 6651cb5f03 [#70106] Do not activate cfs in the first place if default
Without this commit, unwanted fields would still show up in the creation
form, as the NewProjectService will always create the mappings. But it
will only remove unwanted mappings after successfully persisting the
project. This does not happen if there are errors (e.g. a required field
has no value). Since the field should never have been activated in the
first place, it is expected to have no value. Still, this validation
errors prohibits saving - and thus the errornous field is never cleaned
up.
2026-01-07 15:01:07 +01:00
Tobias Dillmann edd06fb115 [#70106] Do not force-activate custom fields with a default value 2026-01-07 15:01:07 +01:00
Tobias Dillmann 2d3ea3adfe [#69399] new project service considers both flags 2025-12-12 09:59:50 +01:00
Oliver Günther 28fae53f35 Ensure a project role is created before copy of dependencies 2025-12-04 18:42:17 +01:00
Oliver Günther f3aae808b6 Skip creation on template selection
Otherwise, new_project is not saved
2025-11-25 13:29:58 +01:00
Mir Bhatia fd3d6acea5 Update new_project_service to send out mails 2025-11-24 18:13:08 +01:00
Klaus Zanders bff1de8a74 Fix to allow different user types to the custom field 2025-11-19 11:19:43 +01:00
Klaus Zanders 1229547621 Implement Service to manage memberships 2025-11-18 13:17:27 +01:00
Klaus Zanders ea7e2bb7d4 Integrate service with the project services 2025-11-18 10:02:20 +01:00
Dombi Attila 09665e9cb9 Fix bug where the new calculated value is not saved while copying a project. 2025-11-03 13:48:43 +02:00
Dombi Attila 5b43bdfd6f Address minor CR comments 2025-11-03 13:48:41 +02:00
Dombi Attila 3bdc482e73 Move the project custom field calculation logic from the SetAttributesService to the Create, Update and Copy services 2025-11-03 13:48:29 +02:00
Dombi Attila 4d51c3c2fc Remove changed by system when triggering calculated values. 2025-11-03 13:48:06 +02:00
Dombi Attila 3f48c963f0 Trigger custom value calculations when creating a new project. 2025-11-03 13:48:04 +02:00
Dombi Attila 302342de22 Activate required calculated custom fields on project creation. 2025-11-03 13:48:02 +02:00
Dombi Attila 2aae862d8a [#63550] Allow editing of individual work package/project attributes even if certain other attributes are invalid (eg. required field empty)
https://community.openproject.org/work_packages/63550
2025-10-14 12:01:58 +02:00
Ivan Kuchin 2230539bc0 [#66471] Enable calculation of admin only calculated values on change of non admin only field values by non admins fix
https://community.openproject.org/work_packages/66471
2025-08-22 12:15:22 +02:00
Ivan Kuchin 99dc6b8827 [#66471] Enable calculation of admin only calculated values on change of non admin only field values by non admins
https://community.openproject.org/work_packages/66471
2025-08-18 14:42:36 +02:00
Ivan Kuchin 4790725ba2 create field_format_calculated_value scope and use it 2025-08-11 13:48:56 +02:00
Ivan Kuchin 139883c710 block/remove all available calculated value custom fields from params 2025-08-11 13:48:54 +02:00
Ivan Kuchin 20b9520d33 calculating values on change of dependants 2025-08-11 13:48:52 +02:00
Alexander Brandon Coles 5e9f3827f5 Freeze string literals in app/services
rubocop -A --only Style/FrozenStringLiteralComment,Layout/EmptyLineAfterMagicComment,Style/RedundantFreeze app/services
2025-07-18 17:45:24 +01:00
Jan Sandbrink 40aff02f11 Remove params argument from BaseCallable#perform
This is making the interface of BaseCallable more consistent.
Previously it was unclear, whether the params passed to perform
should be used to reference parameters or whether the attribute accessor
should be used. Different code used different approaches.

To apply this change more consistently, BaseContracted also removed
params from the methods called inside its own perform method, e.g.
before_perform or after_validate.

At a later point we might consider removing this argument from other large
inheritors as well, for example `BaseServices::SetAttributes#set_attributes`.
2025-06-30 11:47:03 +02:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
Dombi Attila d8d45d2b82 Update Project service comments. 2024-06-17 16:02:17 +03:00
Dombi Attila ed36d46c7d Try removing unused callbacks 2024-06-17 16:02:17 +03:00
Dombi Attila 96f7ab53ec Remove accidental comments 2024-06-17 16:02:16 +03:00
Dombi Attila 2fd2fb897b Move specs for activating custom fields with default values to Projects::CreateContract 2024-06-17 16:02:15 +03:00
Dombi Attila 3640a74485 Move section based validation check to the Projects::CreateService 2024-06-17 16:02:15 +03:00
Dombi Attila a0367277f6 Move reject_section_scoped_validation to the Projects::CreateContract 2024-06-17 16:02:15 +03:00
Dombi Attila 2b85ab95ee Use the after_perform hook to reset global query on the Projects services 2024-06-17 16:02:15 +03:00
Dombi Attila cadf654308 Remove set_query_available_custom_fields_to_project_level after validate hook from the AAC patch 2024-06-17 16:02:15 +03:00
Dombi Attila ae717e7c5f Move AAC patch parts to the project services 2024-06-17 16:02:14 +03:00
Dombi Attila 0a6d3905b9 Move disable_custom_fields_with_empty_values to the NewProjectService concern. 2024-06-17 16:02:14 +03:00
Henriette Darge 2b6fa13a08 Take care that special code for demo project actions is really executed. Otherwise, the onboarding tour will start even if the project is not available any more 2024-02-19 17:29:17 +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 2b2abf864a introduce ProjectRole model 2023-10-09 14:34:20 +02:00
ulferts 604ee68663 adapt copy project job to work with role_ids
Using role_ids is supported by the Members::UpdateService
2023-09-28 10:35:10 +02:00
Christophe Bliard 21a696ef9b Update copyright information for 2023 2022-12-30 15:51:26 +01:00
Christophe Bliard 48a4f1b6ad lint with rubocop --autocorrect (safe cops only) 2022-06-02 10:40:10 +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
Christophe Bliard bc8d423ec2 update copyright information for 2022 2022-03-01 17:05:59 +01:00
ulferts dba8567f20 place project archiving into separate controller 2021-10-29 15:48:19 +02:00
Oliver Günther ccfa29c728 Move license and copyright docs to root, fix names and references 2021-09-02 21:50:46 +02:00
ulferts 6140f4c7e9 update copyright to 2021 (#8925)
Updates the copyright to 2021 for all files that have a copyright. Files in our source code without the copyright header still do not receive one automatically. Additionally, backlisted files are also excluded.

Previously the copyright of chiliproject which references redmine stated a copyright of redmine up to and including 2017 which is not true for the code we have in here. Because of that I changed that to 2013
2021-01-13 17:47:45 +01:00
ulferts f511f8d4f5 set default role when copying project as non admin (#8824) 2020-11-05 13:52:45 +00:00