197 Commits

Author SHA1 Message Date
Jan Sandbrink 953ab1a6a8 Fix API::Errors::InternalError class
This class got broken during what seems to be a
drive-by style-improvement in fbe1215365. That change:

* made it incompatible with frozen strings as error messages
* broke the intended hiding of messages if they came from the
  wrong class

All of this went by unnoticed, because there were no specs
for the InternalError class.

Specs have now been added and the previous version of the code
mostly restored. Since there were some callers that always created the
exception with known safe error messages, I added a new class just for these
cases, because they were intended to "just show the message". So we can
keep using the original implementation for rescue_from handling.
2026-02-09 11:04:57 +01:00
Oliver Günther 896072d698 Release attribute highlighting to community 2026-01-30 15:02:45 +01:00
Alexander Brandon Coles d17da65477 Freeze string literals in app/models
rubocop -A --only Style/FrozenStringLiteralComment,Layout/EmptyLineAfterMagicComment,Style/RedundantFreeze app/models
2025-07-22 18:26:13 +01:00
Christophe Bliard d0cbe87904 [63191] Show % Complete sum in more cases
https://community.openproject.org/wp/63191

Before, % Complete sum was calculated based on work and remaining work
sums, meaning work packages with only % Complete is set are ignored.

Now, if "Calculation of % Complete hierarchy totals" is set to "Simple
average", the % Complete sum is calculated as an average of the %
Complete values of work packages having % Complete set.

If "Calculation of % Complete hierarchy totals" is set to "Weighted by
work", the calculation is not changed: it is still based on work and
remaining work sums.
2025-07-09 10:03:23 +02:00
Tobias Dillmann f3007a81bb refactor hack for finding the correct group by column 2025-06-03 17:46:33 +02:00
Tobias Dillmann 8e62fd5b4b display project phase in work package table
make group by for project phase definitions work

group by with leading phase icon

undo unnecessary changes
2025-06-03 17:46:33 +02:00
Christophe Bliard a407f61b4d refactoring: improve readability 2025-03-27 11:24:35 +01:00
ulferts d91de29d7c Merge remote-tracking branch 'origin/dev' into rails-7.2 2025-02-27 17:51:34 +01:00
Andreas Pfohl 7314758e32 [59920] Fixed group_by for single and multiselct hierarchy custom field 2024-12-19 11:00:57 +01:00
Andreas Pfohl 151dbff551 [59174] Fixed group row name rendering 2024-12-05 10:59:39 +01:00
Andreas Pfohl 640f983daa [59174] Fixed group_by hierarchy for multi select field 2024-12-05 10:48:36 +01:00
Andreas Pfohl e531573bba [59174] Added group by for hierarchy items 2024-12-05 10:48:36 +01:00
Klaus Zanders 3f20102c7b fix rubocop issues 2024-11-19 13:00:20 +01:00
Ivan Kuchin 9c99bc8cd9 extract method to calm rubocop 2024-11-12 12:42:37 +01:00
Ivan Kuchin 7e0ed443a8 use group_id instead of id to name the column used to group from summing 2024-11-12 12:42:37 +01:00
Ivan Kuchin e5082681d5 fix columns used in summing 2024-11-12 12:42:37 +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 119de6ee8a handle absent values in group by
Previously it relied on receiving empty string
2024-11-12 12:42:34 +01:00
Ivan Kuchin 48eda6efa5 handle joins for groupping by custom field 2024-11-12 12:42:34 +01:00
Ivan Kuchin 86ab142d89 rename order_statements to order_statement swithcing it to return single statement 2024-11-12 12:42:31 +01:00
Oliver Günther 12ee9e6b83 Merge remote-tracking branch 'origin/idea/56781-remove-years-from-copyrights' into dev 2024-08-06 10:17:59 +02:00
Christophe Bliard cdb0505ded refactor: Remove useless top-level :: when defining classes
It was messing up with ruby-lsp extension of vs code.
2024-08-01 07:23:09 +02:00
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
Ivan Kuchin 192e21cd9e manual rubocop corrections 2024-05-30 19:54:08 +02:00
Ivan Kuchin fa5d03eae0 rubocop safe autocorrect all except Rails/WhereRange 2024-05-30 19:54:08 +02:00
ulferts 1487e2422d rename order/filter/group_by methods to reflect changed responsibility 2024-05-27 16:29:46 +02:00
ulferts 7def909475 adapt work package filter`s scope implementation 2024-05-27 16:08:34 +02:00
OpenProject Actions CI 8847903104 Merge branch 'release/13.4' into dev 2024-03-26 03:35:15 +00:00
Oliver Günther aacb194469 Fix grouping and summing by integer custom fields
https://community.openproject.org/work_packages/53609
2024-03-25 13:30:12 +01: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 ba6cfc9554 keep column selection on page manipulations 2024-03-01 10:03:35 +01:00
ulferts ec29bf8d33 column registration 2024-03-01 10:01:07 +01:00
Oliver Günther 38904e92a8 Merge remote-tracking branch 'origin/release/13.2' into dev 2024-02-07 08:36:20 +01:00
Klaus Zanders b5186eaf78 Move the visible scope after the merge, add tests 2024-02-01 16:11:38 +01:00
Dombi Attila 1f3913706c Address CR comments 2024-02-01 14:23:26 +02:00
Dombi Attila 87abc1ed0c Adding a string to an sql literal implicitly is no longer possible, calling to_s 2024-02-01 14:22:13 +02:00
Dombi Attila 739223b7e2 Remove serializer deprecation warning. 2024-02-01 14:22:04 +02:00
Christophe Bliard 8fa8584538 Run rubocop --autocorrect on all files
Only the safe cops have run. rubocop version is 1.59.0.
2024-01-05 15:27:09 +01: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
Oliver Günther 117d82e724 Remove show_changes and more_global_index_pages feature flags
https://community.openproject.org/work_packages/49510
https://community.openproject.org/work_packages/49509
2023-08-07 13:38:43 +02:00
ulferts f9ddf9a843 use validity_period for at_timestamp filtering 2023-07-14 12:07:17 +02:00
Dombi Attila 05d5f71649 [#46841] Filtering with two timestamps for custom field values wrongfully requires a work package to match at both timestamps
https://community.openproject.org/work_packages/46841
2023-06-13 11:29:14 +03:00
ulferts 915e4cf94e check visibility at timestamps
The visiblity checks for timestamp based filtering is moved down into
the `Journable::WithHistoricAttributes` delegator. This enables
scenarios where a work package used to be visible but no longer is and
vice versa.

If a work package is no longer visible, but part of the query results,
permission is rechecked for every timestamp provided. If a work package
is visible now, no visibility check is conducted for the individual
timestamps.

On the representer layer, if a now invisible work package is to be
rendered, it is treated as if it were deleted. Only the bare minimum of
information is returned. On the other hand, the `attributesByTimestamp`
will contain all the attributes, regardless of whether they changed or
not. This is done so that the former attributes can be displayed without
revealing the current attributes.
2023-05-05 10:56:40 +02:00
Oliver Günther 046c625b60 Respect feature flag in query timestamp 2023-04-26 13:02:14 +02:00
Dombi Attila 581c92a12d Remove the Timestamp#iso8601 methods and add specs for valid? 2023-04-20 19:20:46 +03:00
Dombi Attila 732cd020dc fixup! [#46555] Extend Query resource in APIv3 by timestamps 2023-04-05 19:23:17 +03:00
Dombi Attila 64c3ad1dcd [#46555] Extend Query resource in APIv3 by timestamps
https://community.openproject.org/work_packages/46555
2023-04-03 12:43:40 +03:00