154 Commits

Author SHA1 Message Date
Kabiru Mwenja e597aa4216 Fix NameError: uninitialized constant Projects::Identifier::CLASSIC_IDENTIFIER_FORMAT (#23293) 2026-05-20 22:02:41 +03:00
Tomas Hykel 506198d55d chore: Consolidate classic project ID generation 2026-05-18 14:15:20 +02:00
Klaus Zanders a66bc91c63 Include all permission dependencies, add a factory for the role with the correct permissions 2026-05-04 11:15:43 +02:00
Tomas Hykel 409f81b36e fix the test 2026-04-09 16:45:38 +02:00
Tomas Hykel 3b949f62f3 add a test 2026-04-09 16:06:43 +02:00
Kabiru Mwenja d3734a7485 Rename work_packages_identifier setting values to "classic" and "semantic"
The setting previously used "numeric" and "alphanumeric" as its allowed
values. Rename them to "classic" and "semantic" to better align with the
product terminology for the work package identifier modes.

Includes a migration to update any stored setting values in the database,
updated constants and helper methods on Setting::WorkPackageIdentifier,
and all corresponding references across models, components, forms,
frontend controllers, locales, and specs.
2026-03-28 10:01:57 +03:00
Kabiru Mwenja 6fc8a68ca0 Collect all alphanumeric identifier errors instead of returning early
Remove the early return in identifier_alphanumeric_format so users see
all validation errors at once (e.g. "123!" reports both
must_start_with_letter and no_special_characters). Simplify the special
characters regex since the leading-letter check is already separate.

Update API specs to use test identifiers that trigger only one
validation error, matching the new non-short-circuiting behavior.
2026-03-26 18:01:12 +03:00
Kabiru Mwenja 243c168a38 Fix error path in alphanumeric identifier API specs 2026-03-25 13:02:57 +03:00
Tomas Hykel 66cde72efa rubocop 2026-03-24 15:03:20 +01:00
Tomas Hykel db7e4cd844 tweak test 2026-03-24 14:15:47 +01:00
Tomas Hykel ebc94eb426 remove the useless test 2026-03-24 13:48:05 +01:00
Tomas Hykel e9da93c524 missing empty line 2026-03-24 12:56:46 +01:00
Tom Hykel 0ff1ac1d4e Update spec/requests/api/v3/projects/create_resource_spec.rb
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-23 14:58:56 +01:00
Tomas Hykel 665d4963bb fix a broken reference & tests 2026-03-20 15:51:13 +01:00
Tomas Hykel 6c7bc23966 fix the test 2026-03-20 14:24:49 +01:00
Tomas Hykel f42e04b86e fix the error assertion 2026-03-20 14:17:58 +01:00
Tomas Hykel c075b4af1c add V3 tests 2026-03-20 14:17:58 +01:00
Kabiru Mwenja 1bca833cd5 Remove workspace aliasing unless confirmed 2026-01-29 13:50:24 +03:00
Copilot 4ca0236c42 Add test coverage and OpenAPI documentation for workspace configuration endpoint 2026-01-29 13:42:05 +03:00
Kabiru Mwenja 8dbac61c57 Add project-scoped configuration API [OP#70979]
Adds `GET /api/v3/projects/:id/configuration` endpoint that returns
all global configuration properties plus project-specific settings.

This allows client apps to check both enterprise token features
(availableFeatures) and project settings (enabledInternalComments)
in a single API call.
2026-01-29 10:32:29 +03:00
Dombi Attila 2e624b1326 [#70982] 'For all projects' project attributes are not displayed during new project creation
https://community.openproject.org/work_packages/70982
2026-01-26 14:16:26 +02:00
Dombi Attila 7ee8fa5d93 Do not validate required project custom fields without the is_for_all flag on project creation. 2026-01-11 00:04:41 +02:00
Tobias Dillmann bb964931d9 [#70107] Add failing spec for a known bug
Next step: make it green
2026-01-10 11:40:46 +02:00
Tobias Dillmann f811f86247 [#70106] Use shared examples in spec to reduce lines 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 5ce132ccd7 [#69399] Add API specs 2025-12-12 13:03:46 +01:00
Tobias Dillmann 68dda34004 [#69399] Make specs green 2025-12-12 09:59:51 +01:00
ulferts 1c66a89ca4 reallow non project resources to be returned via the projects index endpoint 2025-11-26 11:06:34 +01:00
ulferts 40ff3deda1 maintain paths nested under /api/v3/projects/:id for all workspaces 2025-11-26 10:15:03 +01:00
ulferts 7653fbf66b workspace references in representers and auxilliary endpoints 2025-11-25 16:47:59 +01:00
ulferts d03bf6a763 adding workspace types endpoints 2025-11-25 16:32:58 +01:00
Ivan Kuchin bb566be958 pass workspace_type parameter for new project parent autocompleter 2025-11-24 13:51:08 +01:00
Dombi Attila 582b608d7c Add admin only and required custom field specs to the project resource specs 2025-10-14 12:01:58 +02:00
Dombi Attila e16146e20a Update all project resource specs to have custom field specs 2025-10-14 12:01:58 +02:00
Dombi Attila dafcc220c7 Update project create, update, form resources specs 2025-10-14 12:01:58 +02:00
Dombi Attila c98c94f4ae Add project form resource specs 2025-10-14 12:01:58 +02:00
Dombi Attila a4c71b9cde Add project custom fields api resource specs 2025-10-14 12:01:58 +02:00
Ivan Kuchin 7170315c46 use favorited_by? instead of favored_by? 2025-09-16 14:24:10 +02:00
Ivan Kuchin 6f092ae694 use set_favorited instead of set_favored 2025-09-16 14:16:55 +02:00
Jens Ulferts 08b0d4401a Merge pull request #20225 from opf/feat/projects-favorites-api
Favorite projects API
2025-09-16 11:55:09 +02:00
Oliver Günther dd35273d82 Favorite projects API 2025-09-11 10:45:44 +02:00
Alexander Brandon Coles 2b144e8542 Fix wording: Change "Favored" to "Favorited"
Favorite is the correct term in the context of expressing a preference
for a particular project / other OpenProject domain object.

Updates `ActsAsFavorable` to `ActsAsFavoritable`, as well as filenames,
identifiers and strings to:

    favored => favorited
    favorable => favoritable
    favoring => favoriting
2025-09-10 19:08:15 +01:00
Ivan Kuchin 10139945a8 fix custom_field_values to depend on all value 2025-08-18 14:21:05 +02:00
Dombi Attila 8c4c2b104d [#66298] It is possible to assign disabled and/or admin only project attributes given only edit permission
https://community.openproject.org/work_packages/66298
2025-08-08 09:00:19 +03: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
Bruno Pagno 97ccf0bfc5 adjust internal comments internal representation 2025-04-24 13:12:32 +02:00
Dombi Attila 82d492a2d7 Update specs 2024-08-07 15:38:27 +03:00
Oliver Günther 12ee9e6b83 Merge remote-tracking branch 'origin/idea/56781-remove-years-from-copyrights' into dev 2024-08-06 10:17:59 +02:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
Dombi Attila fbbdc7587e Add specs for required project custom fields not bleeding through to other member projects without permission. 2024-07-31 15:06:49 +03:00