387 Commits

Author SHA1 Message Date
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
Klaus Zanders 78abead8b4 Fix interaction between Filters::FilterForm and the WorkPackage Query 2026-05-29 13:40:58 +02:00
Klaus Zanders 2a7e93d978 Add compatability for Work Package Queries 2026-05-29 09:28:03 +02:00
Oliver Günther 40bc3c04e5 Add OpenProject::Cache.fetch_request_cached for hot-path caching
Add fetch_request_cached method that layers RequestStore in front of Rails.cache.fetch

Used in the following places, as they are repeatedly accessed during schema initialization.

all_work_package_form_attributes, form_config_attribute_representation, Query.available_columns

In my tests, this improves cold cache access by reducing initial number of queries to access cache
2026-04-09 15:48:40 +02:00
ulferts b009937e9a remove query behaviour of clearing columns if they match default ones
This behaviour leads to surprising side effects. E.g. by removing a column
the default columns might be matched suddenly so that then the columns change
if the default ones are changed afterwards. Additionally, it becomes impossible
to remove the project column from the global work package list.

The intend of relying on the default columns is still working for newly created queries as well as
for default column (e.g. "all open").
2025-06-10 19:20:44 +02:00
Kabiru Mwenja 7b6f16fc07 [#64153] Journals index atom export can expose internal comments
https://community.openproject.org/work_packages/64153
2025-05-21 13:59:34 +03:00
Tobias Dillmann ddf27024a5 [#57388] unit tests for export_settings 2025-04-03 11:34:31 +02:00
Tobias Dillmann 8402752392 [#57388] save export settings to database if checkbox is checked 2025-04-03 11:34:31 +02:00
Tobias Dillmann 0ff47c2656 [#57388] create table: export_settings 2025-04-03 11:34:31 +02:00
Jens Ulferts 4457b81c4d Merge pull request #18271 from opf/code-maintenance/61352_rails_5_2_defaults
Code maintenance/61352 rails 5 2 defaults
2025-03-17 11:04:38 +01:00
Tobias Dillmann 8d62cec0fd [#36559] use User.current over current_user 2025-03-13 13:11:24 +01:00
Tobias Dillmann 2b3b369787 [#36559] use User.current instead of passing current_user around 2025-03-13 13:11:24 +01:00
Tobias Dillmann 19e9f1bba8 [#36559] always pass current_user to a query 2025-03-13 13:11:23 +01:00
Tobias Dillmann 255a0a05c8 [#36559] freeze string literals 2025-03-13 13:11:22 +01:00
Tobias Dillmann b0f3851325 [#36559] pass user to work package queries
There must be a better way to do this, so that we don't have to alter
all selects and queries.
2025-03-13 13:11:22 +01:00
Tobias Dillmann 27b738ab90 [#36559] performance optimization -> use one map instead of two 2025-03-13 13:11:21 +01:00
ulferts 8018cc060b use cache_key_with_version to adapt to changed cache_key method 2025-03-12 17:43:29 +01:00
Ivan Kuchin fbb246fe8d fix order of list custom field groups to be same as when ordering 2024-11-12 12:42:36 +01:00
Ivan Kuchin 48eda6efa5 handle joins for groupping by custom field 2024-11-12 12:42:34 +01:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
Ivan Kuchin fa5d03eae0 rubocop safe autocorrect all except Rails/WhereRange 2024-05-30 19:54:08 +02:00
ulferts 3b2121f733 Revert "Merge remote-tracking branch 'origin/release/13.4' into dev"
This reverts commit 40b2bbeb09, reversing
changes made to b4c6cb17cc.
2024-03-21 11:31:17 +01:00
Ivan Kuchin 7787e457a3 Revert "Merge branch 'dev' into release/13.4"
This reverts commit a901541269, reversing
changes made to e573ca00b7.
2024-03-20 20:19:08 +01:00
Ivan Kuchin 9e4934cd0a change quotes using rubocop --only Style/StringLiterals,Style/QuotedSymbols -a 2024-03-20 18:05:22 +01:00
ulferts e8b1ff3a98 turn draggable autocompleter into web component 2024-03-01 10:03:32 +01:00
Dombi Attila 739223b7e2 Remove serializer deprecation warning. 2024-02-01 14:22:04 +02:00
Christophe Bliard c795874f7f Update copyright year for 2024
command used: `rg -l 'Copyright \(C\) 2012-202\d the OpenProject' | xargs -n 100 sed -i -r 's/Copyright \(C\) 2012-202. the OpenProject/Copyright (C) 2012-2024 the OpenProject/'`
2024-01-02 16:23:54 +01:00
Klaus Zanders 0c7fd939c8 Fixes Performance/MapCompact offenses 2023-09-06 11:06:36 +02:00
Dombi Attila 8389c14e3c [#49379] The work package show endpoint allows any timestamps when not EE
https://community.openproject.org/work_packages/49379
2023-08-01 10:12:56 +03:00
Oliver Günther 72c958bee6 Fix timestamps allowing all oneDayAgo timestamps (#12855)
* Fix timestamps allowing all oneDayAgo timestamps

https://community.openproject.org/wp/48566

* Rename Timestamp#oneDayAgo method to #one_day_ago

---------

Co-authored-by: Dombi Attila <83396+dombesz@users.noreply.github.com>
2023-06-13 17:31:06 +02:00
Jonas Jabari 06fb90e423 Merge branch 'dev' into feature/15339-share-project-calendars-using-the-icalendar-format 2023-06-01 11:07:58 +02:00
ulferts 84278a7fc2 move name validation from query model to contract 2023-05-31 11:54:36 +02:00
Jonas Jabari 3113932145 fixed whitespace 2023-05-30 18:42:33 +02:00
Jonas Jabari a605e054ca fixed rubocop and eslint 2023-05-30 18:07:02 +02:00
Jonas Jabari 72dbc3a5c7 Merge branch 'dev' into feature/15339-share-project-calendars-using-the-icalendar-format 2023-05-30 15:19:21 +02:00
Jonas Jabari 71ab229392 implemented review feedback from @ulferts 2023-05-30 15:18:46 +02:00
ulferts 4f87662353 add a #remove_filter method to Query 2023-05-26 13:57:28 +02:00
Dombi Attila e83eb05ea1 fixup! [#48001] Restrict timestamps outside enterprise to "yesterday"in query timestamps backend 2023-05-10 13:54:18 +03:00
Dombi Attila 54ad3e6283 fixup! [#48001] Restrict timestamps outside enterprise to "yesterday"in query timestamps backend 2023-05-09 15:13:37 +03:00
Sebastian Fiedlschuster 054197f23a Merge https://github.com/opf/openproject/pull/11243 into https://github.com/opf/openproject/pull/11678 2023-02-12 12:14:08 +01:00
Christophe Bliard 21a696ef9b Update copyright information for 2023 2022-12-30 15:51:26 +01:00
Sebastian Fiedlschuster 1181bde276 Merge https://github.com/opf/openproject/pull/11243 into https://github.com/opf/openproject/pull/11678 2022-11-22 12:19:28 +01:00
Sebastian Fiedlschuster 49d14e6631 adding and persisting attribute Query#timestamps
in preparation of the baseline-comparison feature

https://community.openproject.org/projects/openproject/work_packages/26448
2022-10-30 10:23:05 +01:00
ulferts 7de57caed6 add typeahead column used only for sorting 2022-10-26 10:22:14 +02:00
Christophe Bliard 48a4f1b6ad lint with rubocop --autocorrect (safe cops only) 2022-06-02 10:40:10 +02:00
Oliver Günther cb8fac1f14 Add validation and test for include_subprojects 2022-04-04 10:00:35 +02:00
Oliver Günther e5b05b9fa0 Add spec for changed subproject behavior 2022-04-04 09:56:40 +02:00
Oliver Günther 00c6fd2692 Add new query attribute include_subprojects 2022-04-04 09:56:38 +02:00
Christophe Bliard a33524ef6d remove ruby magic comment for utf-8
ruby interprets source encoding as utf-8 since 2.0.0, making magic comment redundant and useless
2022-03-10 19:36:58 +01:00
Christophe Bliard bc8d423ec2 update copyright information for 2022 2022-03-01 17:05:59 +01:00