Commit Graph

14875 Commits

Author SHA1 Message Date
Marcello Rocha d03d22edc8 Implements the GET /work_packages/:id/wiki_page_links endpoint (#22834)
* Introduce the PageLinkQuery
* Update page link query and some copyright
* Adds PageLinkCollectionRepresenter
* Introduces the endpoint /work_packages/id/wiki_page_links
* MetadaService tests, most of it is a work of fiction
* Adds urns for page link type improve some tests
* Removes mentions to view_wiki_page_links permissions
* Adds a test for multiple providers and same identifiers

---

Co-authored-by: Jan Sandbrink <j.sandbrink@openproject.com>
2026-05-08 17:38:52 +02:00
Alexander Brandon Coles 2c6f60f5fa Merge pull request #23139 from opf/merge-release/17.4-20260508131130
Merge release/17.4 into dev
2026-05-08 16:33:33 +01:00
Mir Bhatia 57197c8d9b Merge pull request #23116 from opf/bug/68272-wrong-calendar-week-in-my-time-tracking
[#68272] Wrong calendar week in My time tracking
2026-05-08 17:22:17 +02:00
Alexander Brandon Coles d8b3885d85 Merge branch 'dev' into merge-release/17.4-20260508131130 2026-05-08 15:26:29 +02:00
Alexander Brandon Coles 688d228dd7 Merge pull request #23117 from opf/bug/74552-wrong-pane-autoscrolled 2026-05-08 14:05:40 +01:00
Alexander Brandon Coles 211467c732 Merge pull request #23026 from opf/code-maintenance/66563-migrate-to-vitest
[#66563] Migrate frontend tests from Karma to Vitest
2026-05-08 12:37:19 +01:00
Mir Bhatia 1181c549b0 Add transition case specs 2026-05-08 11:55:21 +02:00
Mir Bhatia 8c73eb76be Use i18n beginning_of_week 2026-05-08 11:44:08 +02:00
Mir Bhatia 8d85470e12 Move to helper and remove unused string 2026-05-08 10:55:39 +02:00
Alexander Brandon Coles 9d4881216b Merge remote-tracking branch 'opf/dev' into HEAD
# Conflicts:
#	frontend/src/assets/sass/backlogs/_master_backlog.sass
#	modules/backlogs/config/locales/crowdin/ru.yml
#	modules/wikis/config/locales/crowdin/ru.yml
#	modules/wikis/config/locales/crowdin/uk.yml
#	modules/wikis/config/locales/crowdin/zh-CN.yml
2026-05-08 10:35:12 +02:00
Mir Bhatia 2b0c3cb756 Update title to show date range instead of calendar weeks in month mode 2026-05-08 10:15:01 +02:00
Alexander Brandon Coles 6e8510ca1d [#66563] Migrate specs to Vitest
Apply Angular's Vitest migration schematic to update frontend and plugin
specs from Jasmine globals to Vitest APIs.

    ng g @schematics/angular:refactor-jasmine-vitest

Fix migrated edge cases where async assertions or shallow tests changed.

https://community.openproject.org/wp/66563
2026-05-08 09:52:17 +02:00
OpenProject Actions CI afa2ee09da update locales from crowdin [ci skip] 2026-05-08 04:20:13 +00:00
OpenProject Actions CI 11b67fa17a update locales from crowdin [ci skip] 2026-05-08 04:13:36 +00:00
Alexander Brandon Coles b38fe80c09 Revert "[#74195] Fix incorrect indentation on drag preview"
This reverts commit 62105d9752.
2026-05-07 16:43:20 +01:00
Alexander Brandon Coles 870c280c40 Revert "[#74195] Fix incorrect indentation on drag preview"
This reverts commit 5d1d4bd052.
2026-05-07 16:38:21 +01:00
Ivan Kuchin bd7a0cfde1 Merge pull request #22930 from opf/fix-multiple-equality-non-equailty-filters
fix multiple equality, non equality filters
2026-05-07 15:52:07 +02:00
Mir Bhatia db47223919 Merge pull request #23106 from opf/bug/74743-add-upcoming-past-filter-to-meetings-index-page-filters
[#74743] Add upcoming/past filter to meetings index page filters
2026-05-07 14:53:37 +02:00
Oliver Günther 5bbb562f91 Show only 10 most recent recurrences from the previous schedule (#23090)
* Show only 10 most recent recurrences from the previous schedule

Instantiated occurrence ICS output is split into:

- at most 10 meetings from a previous schedule (recurrence_start_time < current_schedule_start) as RECURRENCE-ID overrides
- all upcoming instantiated meetings as RECURRENCE-ID overrides
- cancelled meetings as EXDATE (to suppress RRULE-generated occurrences)

The 10 past meetings are still having their RECURRENCE-ID to a series event with a later DTSTART. this might not be picked up
correctly by all clients. We'll have to test and see

* Exclude meetings from previous schedule for EXDATE
2026-05-07 14:26:36 +02:00
Jens Ulferts 424dcb0967 Merge pull request #23095 from opf/merge-release/17.4-20260507044340
Merge release/17.4 into dev
2026-05-07 13:31:04 +02:00
Mir Bhatia 0bef960199 Add TimeFilter to allowed filters 2026-05-07 12:40:59 +02:00
Henriette Darge 701b5d3a5d Use quick filter slot for meetings filter 2026-05-07 11:29:21 +02:00
Klaus Zanders 3d6c423cff Merge pull request #23086 from opf/stored-attributes-contract
Stored attributes contract
2026-05-07 10:54:18 +02:00
Oliver Günther d314c487d5 Use registry for associated journal objects, not hard coded map 2026-05-07 10:34:06 +02:00
ulferts 8648a42253 Merge remote-tracking branch 'origin/dev' into merge-release/17.4-20260507044340 2026-05-07 10:33:52 +02:00
Alexander Brandon Coles e8767481e9 [#70166] Fix accessibility errors found by ERB Lint (#21503)
* Fix GitHub/NoTitleAttribute, LinkHasHref errors

- Replaces `title` attribute with `aria-label` for interactive elements.
- Removes `title` from non-interactive elements.
- Converts `<a>` tags without proper `href` to `<button>` elements,
  using Primer `Button`/`IconButton` where possible.

# Conflicts:
#	app/views/custom_fields/_custom_options.html.erb
#	spec/features/admin/custom_fields/shared_custom_field_expectations.rb
#	spec/features/admin/custom_fields/work_packages/list_spec.rb

* Fix Autocomplete missing errors

* Fix GitHub/NoPositiveTabIndex errors

Removes all positive `tabindex` values.

* Fix Rails/LinkToBlank errors

* Replace toast with Primer Banner on LDAP form

* Add frozen_string_literal

* Ignore erb lint for deprecated files

* Fix linting errors in repository module

* Fix linting errors in budgets and custom actions

* Fix linting errors in member form and 2fa

* Fix linting errors in mcost types and wiki help and storages

* Fix linting errors in multi select filters, ifc viewer, and unsupported browser banner

* Fix failing spec

* Use Primer banner instead of op-toast where ever it is possible

* Use octicon instead of op_icon

* Fix failing tests

* Use no-decoration-on-hover for button links and change the button with only an icon to primer icon button

* Keep webhook response modal activation selector class-based

* use icon button for edit of hourly rate

---------

Co-authored-by: Behrokh Satarnejad <b.satarnejad@openproject.com>
2026-05-07 10:31:10 +02:00
Jan Sandbrink 6fed98298e Merge pull request #23080 from opf/core-health-validator
Move health validator to core
2026-05-07 08:13:45 +02:00
Jan Sandbrink 0e91c6ac03 Merge pull request #23071 from opf/core-health-components
Move health check components into core
2026-05-07 08:13:24 +02:00
Jan Sandbrink 6a6982b9a1 Merge pull request #23007 from opf/core-health-reports
Move storage of HealthReports into dedicated model
2026-05-07 08:13:06 +02:00
OpenProject Actions CI 1abd78146e update locales from crowdin [ci skip] 2026-05-07 04:31:59 +00:00
OpenProject Actions CI 0b01edf271 update locales from crowdin [ci skip] 2026-05-07 04:24:34 +00:00
Jens Ulferts e977aae527 Merge pull request #22956 from opf/bug/74369-workpackages-not-moved-to-bottom-of-inbox-upon-backlog-bucket-removal
Ensure position is updated on bucket deletion
2026-05-06 18:40:25 +02:00
Klaus Zanders b3d51774b3 Merge pull request #22968 from opf/resource-management-module
Introduce Resource Management Module
2026-05-06 17:07:07 +02:00
Eric Schubert aaa7727c55 Merge pull request #22877 from opf/feature/73440-extend-wiki-permissions
[#73440] refactor wiki permissions
2026-05-06 16:50:15 +02:00
Jan Sandbrink 2d4a559cf9 Move health check components into core
The idea is to reuse them in the wikis module and probably elsewhere
as well, offering a similar look & feel.

The ReportComponent has been lightened for this, though. Previously
it included the page layout and a default to render when there was
no report. Now it only focusses on rendering an actual report and
leaves the rest up to the including component or page.
2026-05-06 16:39:32 +02:00
Mir Bhatia 16c0d021cc Merge pull request #23014 from opf/feature/74577-build-primer-quickfilter
[#74577] Build segmented control quickfilter
2026-05-06 16:20:33 +02:00
ulferts 10915d49d7 increase spec readability 2026-05-06 15:28:21 +02:00
ulferts 67e804f45a use different slot in destroy modal 2026-05-06 15:27:59 +02:00
Klaus Zanders 1b30d9cede Proper styling for the star in the border table 2026-05-06 15:26:29 +02:00
Klaus Zanders 5550a454eb Add a validation that end date must be after start 2026-05-06 15:12:53 +02:00
ulferts be7703628f run work package moving after validation 2026-05-06 14:49:41 +02:00
OpenProject Actions CI 0778811719 Merge branch 'release/17.4' into dev 2026-05-06 12:47:03 +00:00
Oliver Günther 7b695debfc Fix current_schedule_end time using the new start_time (#23089)
* Fix current_schedule_end time using the new start_time

we use current_schedule_start and current_schedule_end to output the
"current occurrence rule" which may be later than the original start
date.

However, current_schedule_end did use the original start_time, this
caused this bug:

DTSTART;TZID=Europe/Berlin:20260505T134500
DTEND;TZID=Europe/Berlin:20260224T140000

DTEND < DTSTART should not be possible, ever.

* Fix factory to use duration of the series

* Fix expectation on meeting series name in body

The sidebar may have a meeting series
2026-05-06 14:09:46 +02:00
Eric Schubert b3420f07e7 [#73440] change dependency of edit page permission
- editing pages no longer needs the permission of viewing the history
- viewing past edits now is its own permission, still depending on
  viewing the page itself
2026-05-06 13:36:52 +02:00
Eric Schubert ab877b7c1d [#73440] fix review issues
- revert changes to OpenStruct
- make provider visible scope open for all
- removed locale keys of deleted permissions
2026-05-06 13:32:01 +02:00
Jan Sandbrink 704f96e6b9 Move health validator to core
This is part of making health reports available to other modules
than storages as well. The base classes are essentially free of relevant
references to the storages module and only contain the glue code necessary
to fill a health report properly.
2026-05-06 13:03:57 +02:00
Klaus Zanders c855429420 Use new helper in BacklogSettingsContract 2026-05-06 12:12:05 +02:00
Mir Bhatia 9155f80def Remove unnecessary Invitations filter from sidebar
"My meetings" and "Invitations" were already showing the same results
before, but passed their filter params differently. With changes to the
way the filter params are passed in this PR, both now get highlighted
for the same conditions, and so removing "Invitations" makes sense.

Some changes are needed to the condition to ensure "My meetings" stays
distinct from "All meetings", however.
2026-05-06 11:46:00 +02:00
Klaus Zanders c00d249efe Add license to all ERB files 2026-05-06 11:11:48 +02:00
Mir Bhatia f49a425f98 Move components to op_primer/ 2026-05-06 10:53:12 +02:00