236 Commits

Author SHA1 Message Date
Oliver Günther 11dc79a74d Merge remote-tracking branch 'origin/release/17.5' into dev 2026-06-02 16:22:39 +02:00
Tomas Hykel 27f56b14bd fix: Render a proper error when releasing a 404d project identifier 2026-06-02 12:08:01 +02:00
Oliver Günther 1f3da064ac Escape CSV formula cells by default 2026-06-01 13:44:29 +02:00
Behrokh Satarnejad 031c3ce1cc [73372] Wrong icon used when changing non working days (#23292)
* Create a new dialog component for non-working days

* Change the non-working days component

* Add feature spec

* Fix reload after canceling the action

* preserve submitted form data for confirmation, and simplify cancel handling

* Change header text

* Remove the typescript unnecessary codes and listening to a form submit and call update on confirm changes
2026-05-29 09:08:48 +02:00
Tomas Hykel 948fa43321 chore: Remove feature flag for project-based work package identifiers 2026-05-25 17:45:06 +02:00
Tomas Hykel 46390ca62a feat: Release reserved project identifiers via admin 2026-05-20 20:48:00 +02:00
Tomas Hykel 1ce03faa03 feat: Improve progress reporting during identifier conversion 2026-05-20 20:27:43 +02:00
Dombi Attila 86d4831164 Update the respond_to_with_turbo_streams method to accept a service result too as a response. 2026-05-19 00:44:11 +03:00
Mir Bhatia ddaff61e26 Merge pull request #22762 from opf/fix/68573-blank-page-and-error-404-when-calendar-board-team-planner-role-is-deleted
Draft: [68582] Blank page and error 404 when calendar, board, team planner, role is deleted
2026-04-23 09:29:38 +02:00
Mir Bhatia c8148ab799 Fix more redirection HTTP statuses 2026-04-22 16:44:50 +02:00
Tomas Hykel 3a7fad89df [#73711] refactor: Rename the project identifier namespace 2026-04-16 21:40:38 +02:00
Tomas Hykel cc475e6c2e [#71645] Improve interface of WP identifier setting controller 2026-04-16 20:35:34 +02:00
Jan Sandbrink f9d8bc6614 Introduce SubclassResponsibility error
This error is intended for cases when a method is
intentionally not implemented, because the module/class defining
it expects a subclass (or class including the module) to implement
the method.

This is intended to distinguish it from other cases, such as:
* feature not implemented yet
* edge case of a method call not yet supported

Notably it avoids the misuse of the Ruby-defined NotImplementedError,
which is only intended for much more specific scenarios:

> Raised when a feature is not implemented on the current platform. For example, methods depending on the fsync or fork system calls may raise this exception [...]

Also see https://docs.ruby-lang.org/en/master/NotImplementedError.html
2026-03-27 08:14:56 +01:00
Kabiru Mwenja 88205c911c Async-fetch confirm dialog via respond_with_dialog
Replace the imperative Stimulus openConfirmDialog action (which pre-rendered
the dialog in the page and called showModal() via JS) with the idiomatic
Hotwire approach: a GET endpoint that streams the dialog on demand.

- Add confirm_dialog route and controller action using respond_with_dialog
- Include OpTurbo::Streamable in ChangeIdentifiersDialogComponent
- Convert autofix button to a link with data-turbo-stream pointing to the
  new route; remove static dialog render from the form template
- Remove openConfirmDialog method from the Stimulus controller
- Update specs to use click_on and raw English strings instead of I18n.t()

Relates to #72461
2026-03-09 08:45:29 +03:00
Kabiru Mwenja 7a7f9261c6 Fix state-machine bugs in identifier settings form
- Swap wrapper_data_attrs condition: poll-for-changes must only be
  active in :change_in_progress state, not :edit/:completed
- Replace update_to_alphanumeric? with autofix_requested? keyed on
  confirm_dangerous_action param (DangerDialog checkbox signal)
- Use ActiveRecord::Type::Boolean cast for truthy check
- Fix spec: radio group label renders as <legend>, not <h2>; add
  visible: :all for hidden element assertion
2026-03-07 12:54:23 +03:00
Kabiru Mwenja a5ea92db04 Unify identifier settings form into single state-machine component
Replace the two-component approach (IdentifierSettingsFormComponent +
IdentifierChangeInProgressComponent) with a single component cycling
through three lifecycle states: :edit, :change_in_progress, :completed.
2026-03-06 09:21:17 +03:00
Kabiru Mwenja ff84a0b694 Base formation of work packages identifier admin settings form 2026-02-24 18:56:21 +03:00
Henriette Darge 72a274dbd5 Restore the old customOptions table but within a separate "items" tab 2026-02-19 15:45:20 +01:00
Klaus Zanders ca5e934da9 Merge branch 'dev' into more-visible-scopes 2026-02-10 13:27:01 +01:00
Oliver Günther 71ee7d77dd Exclude mail_from from validation if not set
https://community.openproject.org/work_packages/70906
2026-02-09 15:23:03 +01:00
Klaus Zanders 4789993b82 Fix specs in more areas 2026-02-09 15:08:22 +01:00
Oliver Günther 712731ca73 Render link warning 2026-01-28 13:51:53 +01:00
Alexander Brandon Coles 21a0a3d667 [#69702] Primerize Admin API Settings form 2026-01-14 05:43:58 -03:00
Oliver Günther 47477fe687 Add tab for work package custom fields 2025-11-25 22:06:39 +01:00
Oliver Günther 3237096fe5 Add tab to project custom fields settings 2025-11-25 22:06:39 +01:00
Mir Bhatia 9af0d224df Primerize and add new tab to new project settings 2025-11-24 18:13:07 +01:00
Klaus Zanders 5bf222ac08 Display changes in the modal 2025-11-21 15:45:07 +01:00
Klaus Zanders 828ccd0ffa Implement dynamic preview behavior 2025-11-21 13:44:31 +01:00
Klaus Zanders b295ce44e5 Primerize form 2025-11-21 11:29:13 +01:00
Klaus Zanders ab33a1a94c add custom action and service to assign role to add side effects 2025-11-20 10:21:52 +01:00
Klaus Zanders 5a9c04c0a0 Merge pull request #20998 from opf/membership-custom-fields
Add association between custom field and role
2025-11-19 12:08:51 +01:00
Klaus Zanders f0160b3ecc Correct givable 2025-11-19 10:16:09 +01:00
Henriette Darge caa609d34c [61445] Configure project attribute sections to be shown as widgets on the project overview page (#20899)
* Show project attributes as sections in project overview

* Introduce a column "shown_in" for CustomFieldSection which defines whether the section shall be shown in the sidebar or the main section of the project overview

* Show only those attributes in main section that are configured to be shown there. Same for the sidebar.

* Update project attribute sections after editing them

* Write a test for the new positioning behavior of project attribute sections

* Rename "shown_in" with "display_representation" and make it a hash

* Provide proper default when creating a new section

* Enforce project attribute widgets to be in a new line and wrap properly

* Hide logic for moivng sections to the main area behind the feature flag

* Rename "main section" to "main area"

* Extract custom margins into normal sass

* Rename "side-panel" to "side panel"

* Update test to changed wording
2025-11-19 08:01:42 +01:00
Klaus Zanders a95132582a Move role assignemnt to its own tab 2025-11-18 10:02:18 +01:00
Eric Schubert e321db10d4 [#67453] added hierarchical lists to project custom fields
- https://community.openproject.org/work_packages/67453
- added scored list and hierarchy to project attributes
- added new controller and routes
- amended view templates
2025-09-19 17:03:08 +02:00
Ivan Kuchin 870658c82b custom field delete service and contract (error with links if referenced in calculated value fields) 2025-08-25 20:11:11 +02:00
Ivan Kuchin 4fcc08f9b2 handle error in project custom fields controller move and drop actions 2025-08-22 20:19:14 +02:00
Alexander Brandon Coles f15be6e07f Freeze string literals in app/controllers
rubocop -A --only Style/FrozenStringLiteralComment,Layout/EmptyLineAfterMagicComment,Style/RedundantFreeze app/controllers
2025-07-18 17:51:00 +01:00
Jens Ulferts fc26246e8a Merge pull request #19226 from opf/implementation/64347-new-project-attribute-calculated-value-add-attribute
Implementation/64347 new project attribute calculated value
2025-07-01 13:07:56 +02:00
Tobias Dillmann f0c119ca85 [#64347] Allow viewing/editing calculated values without FF
We still show these CFs, but we will not allow creating new ones. This
explictly only applies to enabled/disabled custom fields. We are
stricter with the enterprise flag.
2025-06-30 16:11:32 +02:00
Tobias Dillmann 2ef58e38ad [#53722] Only allow pcf to be created when there is at least one section 2025-06-26 15:22:25 +02:00
Tobias Dillmann f49ea99982 [#64347] refactor hidden calculated values w/o feature flag 2025-06-25 10:13:19 +02:00
Tobias Dillmann 399a233fa2 [#64347] remove unnecessary calculated values controller
With the menu rework, this is no longer necessary
2025-06-25 10:13:14 +02:00
Tobias Dillmann 373591a5fd [#64347] remove non-existent module import 2025-06-25 10:13:12 +02:00
Tobias Dillmann 35954c7eb1 [#64347] controller checks feature flag 2025-06-25 10:13:12 +02:00
Tobias Dillmann 68f14261b2 [#64347] show correct active menu item 2025-06-25 10:13:11 +02:00
Tobias Dillmann a5f30703e8 [#64347] primerize view for calculated value 2025-06-25 10:13:10 +02:00
Tobias Dillmann fb60aabbe4 [#64347] introduce formula field to custom field admin views 2025-06-25 10:13:10 +02:00
Jens Ulferts 5c06cd0a37 Merge pull request #19182 from opf/feature/64800-select-custom-field-format-at-the-index-page-of-custom-fields-and-project-attributes
Feature/64800 select custom field format at the index page of custom fields and project attributes
2025-06-23 12:01:42 +02:00
Ivan Kuchin bf556f4f30 remove stages_and_gates usage from production code 2025-06-20 12:34:59 +02:00