395 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
Andrej 57a525cb94 Merge branch 'dev' into bug/75031-imprecise-error-for-unallowed-ip-when-testing-jira-connection 2026-05-20 15:24:24 +02:00
Andrej 82e1f72d15 Merge branch 'dev' into bug/75031-imprecise-error-for-unallowed-ip-when-testing-jira-connection 2026-05-20 12:09:01 +02:00
as-op 8e8dd09c28 [#75032] Imprecise error for SSL errors when testing Jira connection
https://community.openproject.org/wp/75032
2026-05-20 11:09:36 +02:00
as-op 926b726ab1 [#75031] Imprecise error for unallowed IP when testing Jira connection
https://community.openproject.org/wp/75031
2026-05-19 16:20:42 +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
Pavel Balashou e9c4860c8f [#74343] Make it obvious that Jira Migrator is in Beta status.
https://community.openproject.org/wp/74343

- rephrase a lot of text
- make sure backtrace is included in case of errors in all jira migrator related jobs.
- change InfoListBox component to support subheader and any icon
- remove link to users in review mode due to its uselessness
- sort jira configs by created_at (new configurations first)
2026-04-29 10:21:44 +02: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
Klaus Zanders 8d15647333 Merge pull request #22372 from opf/departments-admin-menu
Manage organizations in Admin Menu
2026-04-20 12:39:43 +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
Klaus Zanders 830b84f12d Implement moving the department to a new parent 2026-04-14 12:20:00 +02:00
Klaus Zanders 41ade8a143 Implement delete, and proper action menu 2026-04-14 11:56:24 +02:00
Klaus Zanders 44765a0c29 Implement specs for the deprtments controller 2026-04-14 10:50:08 +02:00
Klaus Zanders 48b2ab7bcc Implement removing users from departments and add proper flashes 2026-04-14 09:58:13 +02:00
Klaus Zanders 6667584735 Implement department adding 2026-04-14 09:58:13 +02:00
Klaus Zanders 51d60ce6cf For departments get rid of the old users interface 2026-04-14 09:58:11 +02:00
Klaus Zanders 86e9044a83 Implement adding users with ensured membership in one department only 2026-04-14 09:58:11 +02:00
Klaus Zanders f4281408e8 Add departmetn adding behavior 2026-04-14 09:58:10 +02:00
Klaus Zanders 4c118fee4b Use Turbo Frame to render the department detail component in different states 2026-04-14 09:58:10 +02:00
Klaus Zanders 76f28b2de2 Add sub header and start add user action 2026-04-14 09:58:09 +02:00
Klaus Zanders 13c072765e Combine User+Subgroup list into one and prepare adding new users 2026-04-14 09:58:08 +02:00
Klaus Zanders 835f503b6f Preload the detail 2026-04-14 09:58:07 +02:00
Klaus Zanders d4104ea2e1 Move all department specific components into the proper module 2026-04-14 09:58:06 +02:00
Klaus Zanders 9a78015f46 Duplicate group views 2026-04-14 09:58:04 +02:00
Klaus Zanders e348fb5c0d Switch navigation to turbo stream, add links, use breadcrumbs 2026-04-14 09:58:03 +02:00
Klaus Zanders 2e97dfa2ea Implement details component and navigation via turbo frame 2026-04-14 09:58:02 +02:00
Klaus Zanders 0287ea9730 Show Groups in tree view and allow editing organization name 2026-04-14 09:58:01 +02:00
Klaus Zanders 8893af88a5 Only show visible 2026-04-14 09:57:59 +02:00
Klaus Zanders e74ae25d8e Add page layout for organization page 2026-04-14 09:57:59 +02:00
Klaus Zanders df949c1ac2 Introduce Departments area of the user management 2026-04-14 09:57:57 +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
Oliver Günther 15e5fbc9df Destroy backups of a user resetting their backup token
https://community.openproject.org/work_packages/73341
2026-03-23 14:20:22 +01:00
Kabiru Mwenja 36b17555b6 Merge pull request #22094 from opf/implementation/72461-administration-setting-for-sematic-work-package-identifiers-ui
Implementation/72461 administration setting for semantic work package identifiers UI
2026-03-18 12:30:17 +03:00
Jan Sandbrink ca3cf738b2 Merge pull request #22276 from opf/sort-mcp-things
Sort MCP things by name
2026-03-10 08:34:23 +01:00
Jan Sandbrink c39f966596 Sort MCP things by name
Previously there was no defined order for tools and resources.

This made it harder than necessary to find something in the lists
and even worse, the order could change after updating tools/resources
or whenever the database felt like returning rows in a different order.

Now sorting them by the "Name" column, since this seems to be the
most expectable sort order from a user's perspective.
2026-03-09 16:18:31 +01:00
Pavel Balashou 10299f9943 Fix some jira import bugs. Add finalization modal.
- Modify jira_open_project_references unique constrant
  It must include jira_id, because multiple jira configuration can refer same op entities.
- Add finalization modal
- Add finalization job
  The job activates all imported users. Checks that user_limit has not been exceeded with specific contact.
  Destroys jira_* objects.
- Destroy jira object on revert as well.
- Use EmptyContract when creating Attachements, WorkPackages, Members
- Import only users fetched in the current jira_import. It was a bug.
2026-03-09 16:10:17 +01:00
as-op 3899aa0925 [#72913] Danger dialog before starting import
https://community.openproject.org/work_packages/72913
2026-03-09 12:20:39 +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 17d417e014 Merge branch 'dev' into implementation/72461-administration-setting-for-sematic-work-package-identifiers-ui 2026-03-07 15:49:38 +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
as-op 87657901fd adjust to removed/renamed import run states 2026-03-03 15:08:02 +01:00