640 Commits

Author SHA1 Message Date
Tomas Hykel 008f39b7f4 Revert "[STC-356] Disallow setting journal aggregation period to >2 hours"
This reverts commit 75de0dbcd2.
2026-06-12 15:36:40 +02:00
Tomas Hykel 75de0dbcd2 [STC-356] Disallow setting journal aggregation period to >2 hours 2026-06-12 15:31:55 +02:00
ulferts 0b7a866065 Merge remote-tracking branch 'origin/dev' into feature/74147-bring-sprint-sharing-safe-to-corporate-plan 2026-05-20 21:27:34 +02:00
Ivan Kuchin 0f7b6be8ae allow deleting calculated value custom fields without enterprise token 2026-05-19 17:42:43 +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
ulferts 02ede99126 prevent sprint sharing on contract level 2026-05-18 10:06:47 +02:00
Behrokh Satarnejad d924c255cf [69524] Primerize Types form configuration page (#22854)
* Create the section component

* Create the form configuration component

* Create a controller

* change form template

* Use primer dialog for reset to defaults button

* show WP configuration modal while creating a related WPs table

* Fix the drag and drop functionality without save button

* Fix renaming functionality

* Use generic drag and drop in form configuration and move all client side action handling to server side

* Fix embedded query form configuration regressions

* Add data test selectors to all elements that we used for test

* update the current tests with the new implementations and design

* Add new tests for new controller of sections and rows

* WP quesry row should only have edit quesry action

* Update transformer spec regarding the new changes

* Fix the failing test in reset form configuration and some tests for actions

* Fix rubocop errors

* Fix eslint errors

* Add spec for removing a section

* Use condensed border boxes

* fix failing specs

* fix failing specs

* Switch the buttons in form configuration component

* Create the section at the top of the list

* Instead of using UUID, use the name of the group as the key

* Add missing check for EE for section actions

* Remove angular components

* Use action list instead of a border box for left side panel

* Reduce the margin between the right side panel and sub header, add some space to the query table left side, span to the whole available space

* Show validation errors while updating and creating a section

* Use a danger dialog for reset to default

* Add a confirmation for removing the section

* Align items in the row

* Use test_selector instead of data-test-selector

* Create move_action in rb file

* Create move_action in rb file

* Simplify section component

* Simplify form configuration component

* Remove dialog for rename and delete section on missing EE

* Create a component for inactive attribute list

* Create a separate component for reset dialog

* Remove EE feedback dialog

* Remove form partial which is not needed anymore

* Remove unused js strings

* Update using update_via_turbo

* Remove form configuration rows controller

* Create a blanksalte component

* Fix failing specs

* Fix failing specs

* Fix failing specs

* Remove unused translation strings

* Align form configuration section routes with actual create flow

* Change section to group

* Change section to group in services and controllers

* Change section to group in en.yml

* Fix rubocop errors

* Move the query group persistence assertion from the JS feature spec
to the synchronous form configuration groups controller spec.

* Reuse query service result in embedded query build

* Keep inactive attribute filter after turbo list refresh

* Extract form configuration group edit state into form model

* Fix the failing test

* Potential fix for pull request finding 'CodeQL / Potentially uninitialized local variable'

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Rename inactive attribute component inputs

* Refine reset dialog wording for form configuration

* Use direct Turbo action for adding attribute groups

* Reuse generic filter-list controller for inactive attributes

* Remove focus impelementation in ts

* Group form configuration Stimulus controllers under one namespace

* Use turbo request service in form configuration controller

* Clarify legacy group key normalization in form config contract

* Replace inactive attribute list wrapper via turbo stream

* Extract duplicate untitled group key generation into Type::FormGroup.next_untitled_key

* Auto-generate untitled group name on create instead of returning an error

* Avoid mixed return types in form config group create service

* Extract shared form configuration group service behavior into concern

* Fix spacing for the last group and italic font for the placeholder rows

* Replace Angular no-results component with Primer Banner on form configuration page

* Hide dropped element immediately to prevent flickering before Turbo Stream response

* Reload type before rendering create error to prevent duplicate groups

* Await service initialization before use to prevent potential race condition

* Replace sleep calls with deterministic waits in form configuration spec

* Handle malformed JSON and invalid query errors gracefully in form configuration update

* Make query group label a clickable button and empty group hint italic

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-05-13 12:56:18 +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
Klaus Zanders 32e3a6c5a5 Rubocop fix 2026-05-07 09:54:19 +02:00
Klaus Zanders be88aa64e5 Update spec/contracts/model_contract_spec.rb
Co-authored-by: Dombi Attila <83396+dombesz@users.noreply.github.com>
2026-05-07 09:46:08 +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
OpenProject Actions CI 0778811719 Merge branch 'release/17.4' into dev 2026-05-06 12:47:03 +00:00
Klaus Zanders 551587917e Add specs for ModelContract including the new behavior 2026-05-06 12:12:26 +02:00
Oliver Günther c660802146 Merge remote-tracking branch 'origin/release/17.3' into release/17.4 2026-05-06 09:19:25 +02:00
Eric Schubert c3557734cd [#73440] fix permission checks
- move actions to correct controller name
- fix unit test
2026-05-04 14:52:52 +02:00
Yauheni Suhakou 2cd9a7b08f [73319] Create and use two-way OAuth 2 (#22816)
Update the OAuth section for the XWiki provider. Since XWiki provides only public clients, there are no client secrets passed in between OP and XWiki. Thus, the UI is, for now, just a mock with a client ID.
2026-04-28 14:07:37 +02:00
Oliver Günther 6877e29351 Validate current user password confirmation when changing passwords through API
https://community.openproject.org/work_packages/74335
2026-04-23 14:19:50 +02:00
Oliver Günther 34952c8217 Stricter parent validations when updating work packages
https://community.openproject.org/work_packages/72363
2026-04-22 14:03:23 +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
Oliver Günther f41c5e6f80 Validate user limit when trying to activate user 2026-04-17 09:04:59 +02:00
Klaus Zanders 710eac52ba Do not allow changing the organizational_unit flag and allow setting parent in the API 2026-04-16 18:11:13 +02:00
Klaus Zanders 50104b4900 Ensure department check also runs when adding users to a Group via AddUsersService 2026-04-16 17:24:28 +02:00
Oliver Günther e757ef55b6 Properly check move_work_packages in source project
https://community.openproject.org/work_packages/73924
2026-04-16 14:33:46 +02:00
Jens Ulferts 6e0121f935 Merge pull request #22054 from opf/feature/72227-sprints-included-in-api-get-sprint-and-sprint-on-work-package-resource
Add sprint GET end points to v3
2026-03-19 13:08:54 +01:00
ulferts 2e19fb154e fix spec descriptions 2026-03-19 12:08:57 +01:00
Klaus Zanders 59696bbd7d Merge branch 'dev' into user-working-times 2026-03-11 14:25:33 +01:00
ulferts 1240b066c3 work package creation and update including backlogs properties 2026-03-11 13:24:32 +01:00
Alexander Brandon Coles bb1eb75e20 Merge branch 'dev' into merge-release/17.2-20260310041552
# Conflicts:
#	config/locales/crowdin/uk.yml
#	modules/backlogs/config/locales/crowdin/uk.yml
#	modules/budgets/config/locales/crowdin/ko.yml
#	modules/meeting/config/locales/crowdin/de.yml
2026-03-10 05:37:12 -03:00
Pavel Balashou 58cfb67c54 Fix Rubocop and add some jira related specs. 2026-03-09 16:10:52 +01:00
Klaus Zanders 727cb945e8 Refactor UserNonWorkingDay into a model that covers date ranges 2026-03-06 13:28:35 +01:00
Klaus Zanders e32a3f65ff Implement frontend for managing working hours 2026-03-06 13:28:20 +01:00
Klaus Zanders 51558b9979 Add services for UserNonWorkingDay and UserWorkingHours 2026-03-06 13:27:49 +01:00
Dombi Attila 60e747be2b Apply manage_sprint_items permissions on the work packages model and update specs.
- Do not remove the assign_versions permission anymore, it still has
purpose in the context of updating work packages.
- Update backlog related specs.
2026-03-03 15:40:36 +02:00
Ivan Kuchin 0838ec3c80 rework readonly_attribute_errors variable in project update contract spec 2026-02-25 20:07:27 +01:00
Ivan Kuchin 1b56aefc35 test permissions for custom comments in update contract 2026-02-25 20:07:12 +01:00
Ivan Kuchin 8f044dc6d2 cleanup permissions part of update contract spec 2026-02-25 20:07:12 +01:00
Ivan Kuchin 2cbbcf8d72 test writable attributes for custom comments in update contract 2026-02-25 20:07:12 +01:00
Ivan Kuchin a14f3caca9 clearly distinguish shared spec for attributes and custom field values 2026-02-25 20:07:11 +01:00
Ivan Kuchin 1a587a4d73 a bit of rubocop corrections 2026-02-25 20:07:11 +01:00
Ivan Kuchin c2b1445731 don't add nesting with shared examples when not needed in update contract spec 2026-02-25 20:07:10 +01:00
Ivan Kuchin 17dd3bbf36 test custom comments in project create contract 2026-02-25 20:07:10 +01:00
Ivan Kuchin 290c573109 small refactor of project attribute specs 2026-02-25 20:07:09 +01:00
Ivan Kuchin 07b58ce037 rename shared example in project create contract 2026-02-25 20:07:09 +01:00
Ivan Kuchin d16cc85f58 test handling available custom fields in BaseContract 2026-02-25 20:07:06 +01:00
Jan Sandbrink 485e09c357 Disable inputs in edit forms more consistently
The decision on which fields are writable has been moved into
the user's contract. Previously the fields in the My Account form were only
disabled in the frontend, but when changing the browser form, the user could
still update values. Now the contract has been updated to check the
authentication method as well, denying changes to the own name and email address.

Similarly when the contract prevents edits, this is also reflected in the admin
UI for users. It's not pretty, because there seems to be no formatting for disabled
text boxes in our old forms, but it still gives faster feedback than the
old forms, where you had to submit to see that a change to your own login
was rejected.

In the My Accounts form, this change leads to the curious case, where
an admin CAN change their own name in the My Account view, because admins
could do it in other forms as well. It's surprising, but consistent.

Additionally the behaviour has been harmonized across LDAP and other auth providers.
Editing the email address is now also forbidden in all cases for the user themselves.
2026-02-18 16:25:47 +01:00
OpenProject Actions CI 188cb5ea08 Merge branch 'release/17.1' into dev 2026-02-16 15:39:58 +00:00
Klaus Zanders 7b812af2cf Prevent forum messages to be moved to forums in different projects 2026-02-16 14:16:54 +01:00
Klaus Zanders 51159af334 Do not allow admins to delete themselves when they are the last admin 2026-02-13 15:17:39 +01:00
OpenProject Actions CI 69a38bf0c0 Merge branch 'release/17.1' into dev 2026-02-11 04:20:17 +00:00
Dombi Attila 92d26c6260 Add back specs that are still valid 2026-02-10 17:57:23 +02:00