87 Commits

Author SHA1 Message Date
Alexander Brandon Coles 2d2b97e148 Add spec coverage for base filter input form
Covers BaseFilterForm's shared row contract directly via a throwaway
concrete subclass: row data attributes, the operator select with its
data-no-value branch, label targeting, hidden-when-inactive, the delete
button, hiding the operator select for a boolean filter, and the
abstract add_operand raising SubclassResponsibilityError.
2026-06-02 19:52:15 +02:00
Alexander Brandon Coles 434043bfd5 [OP-19453] Add spec coverage for filter input forms
Adds 47 specs across 6 form classes and a shared context.
Covers TextForm, ListForm, DateForm, BooleanForm, AutocompleteForm, and
AddFilterForm with assertions on rendered structure, data attributes,
and operator routing.

https://community.openproject.org/wp/OP-19453
2026-06-02 19:52:05 +02:00
Alexander Brandon Coles e7a01b741f [OP-19415] Convert FilterForm to ViewComponent
Replaces `Filters::FilterForm` (an `ApplicationForm` subclass) with
`Filters::FilterFormComponent` (an `ApplicationComponent`). The old form
overrode `:nodoc:` Primer hooks (`before_render`, `perform_render`) and
read semi-public ivars (`@builder`, `@view_context`). The new component
receives the builder as an explicit keyword arg and uses a standard ERB
template, reducing Primer internal coupling from five semi-public APIs
to one (`FormList`).

https://community.openproject.org/wp/OP-19415
2026-06-02 18:50:35 +02:00
Oliver Günther 1f3da064ac Escape CSV formula cells by default 2026-06-01 13:44:29 +02:00
Klaus Zanders 5db7e6afaf Add specs 2026-05-29 13:56:36 +02:00
Klaus Zanders ac41337290 Use Capybara helpers in testing 2026-05-29 09:28:06 +02:00
Klaus Zanders baf0f7351b Update spec/forms/filters/filter_form_spec.rb
Co-authored-by: Alexander Brandon Coles <a.coles@openproject.com>
2026-05-29 09:28:04 +02:00
Klaus Zanders 1f00123aa4 Extract a Filters::FilterForm that can be re-used in other primer forms 2026-05-29 09:28:02 +02:00
Tomas Hykel 948fa43321 chore: Remove feature flag for project-based work package identifiers 2026-05-25 17:45:06 +02:00
Ivan Kuchin b648341030 [#74768] Remove calculated_value_project_attribute feature flag
https://community.openproject.org/wp/74768
2026-05-19 17:42:42 +02:00
Klaus Zanders 516cf0aee9 Do not show feature flags when they are disabled and cannot be enabled 2026-05-05 13:25:03 +02:00
David F 8721ac9606 Copy workflow to multiple types at once. wp/72383 2026-04-16 17:09:00 +02:00
David F 6e2efe8eb1 Merge branch 'dev' into feature/72383-workflows-ux-improvement-apply-workflow-setting-from-role-to-role 2026-04-09 09:42:46 +02:00
David F 004876b177 Merge workflow copy modes into one unified form. wp/72383 2026-04-02 14:56:01 +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
David F 4690be175e Improve contextual information and navigation for workflow copy. wp/72383 2026-03-27 17:18:21 +01:00
David F d1a541a2b0 Merge branch 'epic/workflows-ux-quick-wins' into feature/72383-workflows-ux-improvement-apply-workflow-setting-from-role-to-role 2026-03-24 16:46:48 +01:00
David F e29c33a949 Copy workflows from a role to another role of the same type. wp/72383 2026-03-24 10:48:18 +01:00
David F 117469a0a8 Copy a type’s workflows to another one. wp/72383 2026-03-24 10:48:18 +01:00
Henriette Darge dc0a6b48a9 Merge pull request #22421 from opf/housekeeping/remove-data-qa-field
Replace qa-field-name with test-selector
2026-03-23 13:34:05 +01:00
Henriette Darge 60a23150df Replace qaFieldName with testSelector 2026-03-20 12:46:38 +01:00
Tomas Hykel 3bf2f8b7f2 appease rubocop 2026-03-19 09:41:32 +01:00
Tomas Hykel 84e9512a4c switch to raw EN strings in the editable identifier form spec 2026-03-19 08:14:38 +01:00
Tomas Hykel 8f1f56db90 Revert "EditableIdentifierForm => IdentifierForm"
This reverts commit b1fff98b3a.
2026-03-16 22:49:19 +01:00
Tomas Hykel b1fff98b3a EditableIdentifierForm => IdentifierForm 2026-03-16 21:29:56 +01:00
Tomas Hykel a30973cdc7 [#72855] Add semantic identifier support to "Add Project" 2026-03-12 21:51:01 +01:00
Ivan Kuchin baf412c2d0 test custom value inputs using public method 2026-02-25 20:07:18 +01:00
Ivan Kuchin e4552e9496 test rendering custom comments fields 2026-02-25 20:07:18 +01:00
Ivan Kuchin 5e1702eef0 use complete label for comment field if there are multiple custom fields rendered 2026-02-25 20:07:17 +01:00
Ivan Kuchin d29cdadd13 test custom comment form field 2026-02-25 20:07:16 +01:00
Jan Sandbrink d61bb47b2b Rename rest_api_enabled to api_tokens_enabled
The name of this setting was pretty outdated by now.
It might have disabled the entire API in the past, but that time
is long gone. By now the APIv3 can't be disabled at all and OpenProject
would fall apart if it was disabled.

The only thing that this setting changes, is whether users can create
an access token in their account settings and whether tokens created
this way are accepted by OpenProject. So naming and description have
been adapted accordingly.
2026-02-13 09:24:53 +01:00
Henriette Darge c82f493c9f [71069] Use autocompleters in Admin/Backlogs page (#21841)
* Replace selectPanel with autocompleters

* Fix specs for updated autocompleter

* Attempt to fix test

* Replace ng.getComponent by ViewChild API
2026-02-11 13:57:03 +01:00
Alexander Brandon Coles 21a0a3d667 [#69702] Primerize Admin API Settings form 2026-01-14 05:43:58 -03:00
ulferts 365d3e8dc2 rename Project status to Status 2026-01-06 14:55:20 +01:00
Tobias Dillmann c52967e991 [#69399] Additional specs for custom field form 2025-12-12 09:59:56 +01:00
Tobias Dillmann 2d374dc90f [#69399] New project wizard considers "for_all" cfs 2025-12-12 09:59:51 +01:00
ulferts 665823c6be require copy_projects permission in template 2025-12-03 15:30:09 +01:00
ulferts cca3d58278 update call to render form in spec 2025-12-03 15:30:08 +01:00
ulferts e58f05ba40 hide parent selection on portfolio settings 2025-11-26 18:09:49 +01:00
Alexander Brandon Coles 2253afae00 Merge pull request #21047 from opf/feature/69095-primerize-admin-system-settings
[#69095] Primerize Admin > System Settings forms
2025-11-26 11:20:24 -03:00
Alexander Brandon Coles 3de22aeb81 Fix naming collision in with *form shared contexts
Prefixes methods with `vc_` - similar to convention used in
`ViewComponent::TestHelpers`.

See https://github.com/ViewComponent/view_component/blob/main/lib/view_component/test_helpers.rb#L245
2025-11-26 10:16:21 -03:00
Alexander Brandon Coles 0d02a961b8 Use aria-describedby to associate field units 2025-11-25 19:28:08 -03:00
Alexander Brandon Coles 7d45642376 [#69095] Primerize Admin > System Settings forms 2025-11-25 19:05:02 -03:00
Alexander Brandon Coles e309d8a7c6 Introduce new settings input methods
Introduces `text_area`, `check_box_group` and `select_list` inputs.
Makes various refactorings to ensure that handling of explicit `valus`
params is as robust as possible.
2025-11-25 18:47:40 -03:00
ulferts 7653fbf66b workspace references in representers and auxilliary endpoints 2025-11-25 16:47:59 +01:00
Dombi Attila cb873f4460 Render the correct second step when the parent is invalid, display the inline error message on the parent autocompleter. 2025-11-24 19:29:13 +02:00
Ivan Kuchin 35cf13b2c6 render relations form for all workspace types 2025-11-24 13:51:06 +01:00
Dombi Attila 3d3e7d90a9 Merge branch 'dev' into feature/68856-project-create-separate-template-page 2025-11-21 20:31:13 +02:00
Dombi Attila 125dafb545 Update specs 2025-11-21 19:42:07 +02:00
Ivan Kuchin 1bdf3df07f add workspace type specific create routes to use same logic for finding template 2025-11-20 20:30:55 +01:00