214 Commits

Author SHA1 Message Date
Tomas Hykel 948fa43321 chore: Remove feature flag for project-based work package identifiers 2026-05-25 17:45:06 +02:00
Kabiru Mwenja f1e729ce16 Use formatted_id in WorkPackage#to_s so autocomplete labels speak semantic ids
The autocomplete dropdown in CKEditor renders each result with
`item.name = wp.to_s`, and `to_s` hardcoded `##{id}` — so a semantic-mode
search for `#KSTP-2` resolved correctly but the dropdown row showed
`Task #10244: Subject` instead of `Task KSTP-2: Subject`.

Switch to `formatted_id`, which already produces the user-facing form in
both modes (`PROJ-7` semantic, `#42` classic). The other caller — the
delete-dialog component — benefits from the same mode awareness.
2026-05-13 17:41:48 +03:00
Kabiru Mwenja 3218d482ba Use formatted_id in WorkPackage#infoline
The page <title> on the WP show view is built from #infoline; with a
hardcoded "##{id}" it disagreed with every other surface in semantic
mode (numeric primary key vs. "PROJ-1"). formatted_id resolves to "#42"
in classic mode and "PROJ-1" in semantic, mirroring the shape already
used by #to_s and link_to_work_package.
2026-05-07 08:49:04 +03:00
Eric Schubert 9bab9e5da7 [#69991] applied review suggestion
- mostly regarding readability and consistency
2026-02-19 11:06:53 +01:00
Eric Schubert b07931364c [#69991] add unit test cases 2026-02-18 16:20:40 +01:00
ulferts cae1128c44 update update_columns on journable in spec
updated_at is otherwise rewritten by the journal creation
2026-01-14 10:29:36 +01:00
Klaus Zanders c0db85b35b Remove remaining usages of work_package instead of entity in Unit Specs 2025-07-14 09:31:26 +02:00
Ivan Kuchin 6be3ffce0d allow rubocop not to fail 2025-06-04 18:47:49 +02:00
ulferts 155c99841e turn retrieving the project_phase into a work_package instance method 2025-05-21 11:42:00 +02:00
Jan Sandbrink 03c8db36bf Merge pull request #18806 from opf/frozen-specs
Freeze string literals in specs
2025-05-07 07:54:10 +02:00
Jan Sandbrink 0b87e7543f Freeze string literals in specs
Rolling out frozen string literals further by freezing all
string literals in core specs.
2025-05-05 09:29:55 +02:00
ulferts a18ef28118 show phase definition linked to work package 2025-04-17 10:27:06 +02:00
ulferts 07453315a5 adapt spec expectation to renamed association 2025-04-01 16:41:47 +03:00
ulferts e3ee5bb552 broad rename to phase 2025-04-01 16:39:39 +03:00
Dombi Attila 1a9d77e4a6 Rename WorkPackage#life_cycle_step to #project_life_cycle_step 2024-11-22 17:58:04 +01:00
Dombi Attila 6270213e59 Rename LifeCycle to Project::LifeCycleStepDefinition, Stage to Project::StageDefinition and Gate to Project::GateDefinition 2024-11-22 17:58:04 +01:00
Dombi Attila 7f458c71f6 Use ::Project namespace for LifeCycle, Stage and Gate 2024-11-22 17:58:04 +01:00
Dombi Attila 52a2fb1e60 Change association between LifeCycle and Project to a has_many through. 2024-11-22 17:58:04 +01:00
Dombi Attila b8de6438e6 [#58159] Fixed set of project stages and gates editable on project overview page
https://community.openproject.org/work_packages/58159
2024-11-22 17:58:04 +01:00
Christophe Bliard 03721ce32c [52233] Validate % complete numericality when it's a string
If invalid, work and remaining work values are not derived.
2024-08-16 11:08:10 +02: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
Ivan Kuchin 4911b8a149 remove years from copyrights (except for COPYRIGHT file) 2024-07-31 15:02:49 +02:00
Christophe Bliard 4230e479ab Harmonize errors when progress values are invalid
- Hide some less important errors when some of the progress values are
  invalid.
- Provide a more meaningful error message when % complete is not in the
  0-100 range. (previous message was "is not included in the list.". It
  is now "must be between 0 and 100.")
- The error messages are now the same for work and remaining work when
  they are negative.
2024-07-16 09:57:18 +02:00
Ivan Kuchin cc7be0e148 use it_behaves_like for "creates an audit trail on destroy" shared example
Otherwise subject overrides the one in outer scope
2024-07-05 19:38:47 +02:00
Christophe Bliard 495aa9cc77 Display durations as days and hours 2024-06-10 11:49:46 +02:00
Christophe Bliard 69b61c3352 Handle conversion of duration strings to hours in model
This allows to do things like `wp.estimated_hours = "3d 4h 30m"`
directly so that all the code can benefit from it.
2024-06-06 16:25:26 +02:00
Eric Schubert 8e967ffeb5 [#53672] fixed test expectations in work package model spec 2024-05-08 17:27:14 +02:00
Pavel Balashou 3da0d59485 [#53672] Refactor hide attachments. Add tests. 2024-05-06 08:20:06 +02:00
Christophe Bliard 188bae702d Switch to double quotes for files modified on this branch 2024-03-21 14:19:58 +01:00
Christophe Bliard ba5b978145 Make done_ratio nil by default 2024-03-21 14:03:30 +01:00
Christophe Bliard 583ef2c8f6 Merge branch 'dev' into implementation/51193-move-remaining-work-field-into-core 2024-01-04 14:36:21 +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
Christophe Bliard c30a2972b2 [51193] Move remaining_time field to core
And improve time of spec/models/work_package_spec.rb (15s -> 3.5s)
2023-12-08 10:01:35 +01:00
Dombi Attila 2080e2e1db [#50496] Keep MeetingAgenda items when deleting related Work Package
https://community.openproject.org/work_packages/50496
2023-10-16 14:20:22 +03:00
ulferts 5b2bc41f41 Merge remote-tracking branch 'origin/dev' into easier-factory-role-setup 2023-10-12 12:09:27 +02:00
ulferts 2b2abf864a introduce ProjectRole model 2023-10-09 14:34:20 +02:00
Klaus Zanders 78c1e4fadb Switch all uses of principal factories to use new interface 2023-10-09 10:39:44 +02:00
Klaus Zanders 6e2435ba21 ename principals -> member_principals 2023-09-05 13:04:32 +02:00
Klaus Zanders 55d68f7547 Add relation for members on work package 2023-09-05 13:04:31 +02:00
Christophe Bliard 4c2a9d0aa8 Enable RSpec zero monkey patching mode
The plan for RSpec 4.0 is to disable monkey patching.

See https://github.com/rspec/rspec-core/blob/main/features/configuration/zero_monkey_patching_mode.feature for details.
2023-05-31 19:22:29 +02:00
Christophe Bliard 85b3258a29 Autocorrect with some rubocop cops
RSpec/Rails/InferredSpecType and Style/RedundantConstantBase

rubocop --autocorrect-all --only RSpec/Rails/InferredSpecType,Style/RedundantConstantBase spec modules/*/spec
2023-01-13 14:28:59 +01:00
Christophe Bliard 21a696ef9b Update copyright information for 2023 2022-12-30 15:51:26 +01:00
Dombi Attila a4dac2e6e5 Update spec/models/work_package_spec.rb
Co-authored-by: Christophe Bliard <c.bliard@openproject.com>
2022-08-31 11:46:00 +02:00
Dombi Attila a519ba0c72 Change default for ignore_non_working_days on work packages 2022-08-31 11:44:16 +02:00
Oliver Günther 44882643d4 Add on_destroy paper_trail audits (#10876)
* Add on_destroy paper_trail audits

This sets whodunnit through meta override

This ensures we always access the User.current object. It would be a problem if we want to

override whodunnit, but currently this is not the case.

* Add backtrace information for deleted records

* Add cleanup job to remove old audits
2022-06-29 14:02:05 +01:00
ulferts c33890eb2c autolint work_package spec 2022-06-15 10:04:59 +02:00
ulferts fd3fb7b46c spec default value for ignore_non_working_days 2022-06-15 10:04:52 +02:00
Christophe Bliard 48a4f1b6ad lint with rubocop --autocorrect (safe cops only) 2022-06-02 10:40:10 +02:00
ulferts 1b04f5192c turn duration into explicit column on wp 2022-05-25 14:51:42 +02:00
Christophe Bliard bc8d423ec2 update copyright information for 2022 2022-03-01 17:05:59 +01:00