Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] dev from opf:dev #220

Merged
merged 43 commits into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
6126960
build(deps): bump @types/hotwired__turbo in /frontend
dependabot[bot] Nov 12, 2024
c32516c
[#59466] Change data model to allow start and end times for time entries
klaustopher Nov 20, 2024
9f5890f
add columns to allow time tracking
klaustopher Nov 20, 2024
3b0fb36
Add Feature Decision and setting for the costs module
klaustopher Nov 20, 2024
3d827ae
exclude virtual columns from journaling
klaustopher Nov 20, 2024
9435f5e
remove generated columns for now
klaustopher Nov 21, 2024
89c0665
migrate costs settings to regular settings
klaustopher Nov 21, 2024
d7f5496
fix all usages of Setting.plugin_costs
klaustopher Nov 21, 2024
76418ac
Move settings for costs into its own controller
klaustopher Nov 21, 2024
6ac2920
move costs menu items into the engine
klaustopher Nov 21, 2024
ff4ce78
remove unneded test
klaustopher Nov 21, 2024
cb97863
fix routing specs
klaustopher Nov 21, 2024
a99ec2b
bump Ascii85 & pdf-reader
ulferts Nov 13, 2024
dbbc6da
bump aws-partitions & date & net-imap & timeout
ulferts Nov 13, 2024
cfaeccd
bump aws-sdk-core
ulferts Nov 13, 2024
44e7963
bump aws-sdk-s3
ulferts Nov 13, 2024
44540a5
bump axe-core-api & axe-core-rspec & ostruct
ulferts Nov 13, 2024
f5c88c0
bump dry-core & excon & mime-types-data & psych & reline & stringio &…
ulferts Nov 13, 2024
c1108d5
bump hashdiff
ulferts Nov 13, 2024
b83bf4a
bump http-2
ulferts Nov 13, 2024
7f148e3
bump httpx
ulferts Nov 13, 2024
fff9428
bump json
ulferts Nov 13, 2024
e0c722b
bump msgpack
ulferts Nov 13, 2024
ceae1ed
bump optimist
ulferts Nov 13, 2024
e217701
bump parser
ulferts Nov 13, 2024
8ad87dd
bump rspec-rails
ulferts Nov 13, 2024
8a7c0e9
bump rubocop & rubocop-ast
ulferts Nov 13, 2024
9038b35
bump selenium-devtools
ulferts Nov 13, 2024
3cfae79
bump activerecord-import
ulferts Nov 13, 2024
5b76852
bump aws-sdk-sns
ulferts Nov 13, 2024
adc0689
bump doorkeeper
ulferts Nov 13, 2024
2b649c0
bump rouge
ulferts Nov 13, 2024
d7bc19e
bump rspec-rails
ulferts Nov 13, 2024
0bf92d0
adapt user agent expectations in specs
ulferts Nov 13, 2024
eb8ba6b
Merge pull request #17236 from opf/implementation/59466-change-data-m…
klaustopher Nov 21, 2024
86a4b98
Split TableHelpers::Column into multiple files
cbliard May 31, 2024
2219c89
Add schedule and properties column types to table_helpers
cbliard Nov 21, 2024
5d45507
Merge pull request #17196 from opf/fix/bump_gems
ulferts Nov 21, 2024
9de4893
build(deps): bump acts_as_list from 1.2.3 to 1.2.4
dependabot[bot] Nov 21, 2024
020e8df
Do not disable caching classes as it seems to make tests fail on CI
cbliard Nov 21, 2024
f16da50
Merge pull request #17179 from opf/dependabot/npm_and_yarn/frontend/d…
ulferts Nov 21, 2024
aad69cd
Merge pull request #17242 from opf/dependabot/bundler/dev/acts_as_lis…
ulferts Nov 21, 2024
066083e
Merge pull request #15716 from opf/chore/merge_table_helpers_together
cbliard Nov 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ ruby File.read(File.expand_path(".ruby-version", __dir__)).strip

gem "actionpack-xml_parser", "~> 2.0.0"
gem "activemodel-serializers-xml", "~> 1.0.1"
gem "activerecord-import", "~> 1.7.0"
gem "activerecord-import", "~> 1.8.0"
gem "activerecord-session_store", "~> 2.1.0"
gem "ox"
gem "rails", "~> 7.1.3"
Expand All @@ -46,7 +46,7 @@ gem "ffi", "~> 1.15"

gem "rdoc", ">= 2.4.2"

gem "doorkeeper", "~> 5.7.0"
gem "doorkeeper", "~> 5.8.0"
# Maintain our own omniauth due to relative URL root issues
# see upstream PR: https://github.com/omniauth/omniauth/pull/903
gem "omniauth", git: "https://github.com/opf/omniauth", ref: "fe862f986b2e846e291784d2caa3d90a658c67f0"
Expand Down Expand Up @@ -93,7 +93,7 @@ gem "deckar01-task_list", "~> 2.3.1"
# Requires escape-utils for faster escaping
gem "escape_utils", "~> 1.3"
# Syntax highlighting used in html-pipeline with rouge
gem "rouge", "~> 4.4.0"
gem "rouge", "~> 4.5.1"
# HTML sanitization used for html-pipeline
gem "sanitize", "~> 6.1.0"
# HTML autolinking for mails and urls (replaces autolink)
Expand Down Expand Up @@ -250,7 +250,7 @@ group :test do
gem "rack_session_access"
gem "rspec", "~> 3.13.0"
# also add to development group, so 'spec' rake task gets loaded
gem "rspec-rails", "~> 7.0.0", group: :development
gem "rspec-rails", "~> 7.1.0", group: :development

# Retry failures within the same environment
gem "retriable", "~> 3.1.1"
Expand Down
73 changes: 37 additions & 36 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ PATH
remote: modules/two_factor_authentication
specs:
openproject-two_factor_authentication (1.0.0)
aws-sdk-sns (~> 1.88.0)
aws-sdk-sns (~> 1.90.0)
messagebird-rest (~> 1.4.2)
rotp (~> 6.1)
webauthn (~> 3.0)
Expand All @@ -233,7 +233,7 @@ PATH
GEM
remote: https://rubygems.org/
specs:
Ascii85 (1.1.1)
Ascii85 (2.0.1)
actioncable (7.1.5)
actionpack (= 7.1.5)
activesupport (= 7.1.5)
Expand Down Expand Up @@ -299,7 +299,7 @@ GEM
activemodel (= 7.1.5)
activesupport (= 7.1.5)
timeout (>= 0.4.0)
activerecord-import (1.7.0)
activerecord-import (1.8.1)
activerecord (>= 4.2)
activerecord-nulldb-adapter (1.0.1)
activerecord (>= 5.2.0, < 7.2)
Expand Down Expand Up @@ -329,7 +329,7 @@ GEM
mutex_m
securerandom (>= 0.3)
tzinfo (~> 2.0)
acts_as_list (1.2.3)
acts_as_list (1.2.4)
activerecord (>= 6.1)
activesupport (>= 6.1)
acts_as_tree (2.9.1)
Expand All @@ -352,30 +352,30 @@ GEM
awesome_nested_set (3.7.0)
activerecord (>= 4.0.0, < 8.0)
aws-eventstream (1.3.0)
aws-partitions (1.1001.0)
aws-sdk-core (3.211.0)
aws-partitions (1.1005.0)
aws-sdk-core (3.212.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.95.0)
aws-sdk-core (~> 3, >= 3.210.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.170.0)
aws-sdk-s3 (1.170.1)
aws-sdk-core (~> 3, >= 3.210.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sdk-sns (1.88.0)
aws-sdk-core (~> 3, >= 3.207.0)
aws-sdk-sns (1.90.0)
aws-sdk-core (~> 3, >= 3.210.0)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.10.1)
aws-eventstream (~> 1, >= 1.0.2)
axe-core-api (4.10.1)
axe-core-api (4.10.2)
dumb_delegator
ostruct
virtus
axe-core-rspec (4.10.1)
axe-core-api (= 4.10.1)
axe-core-rspec (4.10.2)
axe-core-api (= 4.10.2)
dumb_delegator
ostruct
virtus
Expand Down Expand Up @@ -473,7 +473,7 @@ GEM
disposable (0.6.3)
declarative (>= 0.0.9, < 1.0.0)
representable (>= 3.1.1, < 4)
doorkeeper (5.7.1)
doorkeeper (5.8.0)
railties (>= 5)
dotenv (3.1.4)
dotenv-rails (3.1.4)
Expand All @@ -488,8 +488,9 @@ GEM
zeitwerk (~> 2.6)
dry-container (0.11.0)
concurrent-ruby (~> 1.0)
dry-core (1.0.1)
dry-core (1.0.2)
concurrent-ruby (~> 1.0)
logger
zeitwerk (~> 2.6)
dry-inflector (1.1.0)
dry-initializer (3.1.1)
Expand Down Expand Up @@ -552,7 +553,7 @@ GEM
tzinfo
eventmachine (1.2.7)
eventmachine_httpserver (0.2.1)
excon (1.0.0)
excon (1.2.0)
factory_bot (6.5.0)
activesupport (>= 5.0.0)
factory_bot_rails (6.4.4)
Expand Down Expand Up @@ -645,7 +646,7 @@ GEM
rack
gravatar_image_tag (1.2.0)
hana (1.3.7)
hashdiff (1.1.1)
hashdiff (1.1.2)
hashery (2.1.2)
hashie (3.6.0)
highline (3.1.1)
Expand All @@ -656,10 +657,10 @@ GEM
htmlbeautifier (1.4.3)
htmldiff (0.0.1)
htmlentities (4.3.4)
http-2 (1.0.1)
http-2 (1.0.2)
http_parser.rb (0.6.0)
httpclient (2.8.3)
httpx (1.3.1)
httpx (1.3.3)
http-2 (>= 1.0.0)
i18n (1.14.6)
concurrent-ruby (~> 1.0)
Expand Down Expand Up @@ -688,7 +689,7 @@ GEM
reline (>= 0.4.2)
iso8601 (0.13.0)
jmespath (1.6.2)
json (2.7.4)
json (2.8.1)
json-jwt (1.16.7)
activesupport (>= 4.2)
aes_key_wrap
Expand Down Expand Up @@ -765,12 +766,12 @@ GEM
mime-types (3.6.0)
logger
mime-types-data (~> 3.2015)
mime-types-data (3.2024.1001)
mime-types-data (3.2024.1105)
mini_magick (5.0.1)
mini_mime (1.1.5)
mini_portile2 (2.8.8)
minitest (5.25.1)
msgpack (1.7.3)
msgpack (1.7.5)
multi_json (1.15.0)
mustermann (3.0.3)
ruby2_keywords (~> 0.0.1)
Expand All @@ -779,7 +780,7 @@ GEM
mutex_m (0.3.0)
net-http (0.4.1)
uri
net-imap (0.5.0)
net-imap (0.5.1)
date
net-protocol
net-ldap (0.19.0)
Expand Down Expand Up @@ -829,7 +830,7 @@ GEM
openssl (3.2.0)
openssl-signature_algorithm (1.3.0)
openssl (> 2.0)
optimist (3.1.0)
optimist (3.2.0)
os (1.1.4)
ostruct (0.6.1)
ox (2.14.18)
Expand All @@ -839,14 +840,14 @@ GEM
parallel (1.26.3)
parallel_tests (4.7.2)
parallel
parser (3.3.5.0)
parser (3.3.6.0)
ast (~> 2.4.1)
racc
pdf-core (0.9.0)
pdf-inspector (1.3.0)
pdf-reader (>= 1.0, < 3.0.a)
pdf-reader (2.12.0)
Ascii85 (~> 1.0)
pdf-reader (2.13.0)
Ascii85 (>= 1.0, < 3.0, != 2.0.0)
afm (~> 0.2.1)
hashery (~> 2.0)
ruby-rc4
Expand Down Expand Up @@ -991,7 +992,7 @@ GEM
roar (1.2.0)
representable (~> 3.1)
rotp (6.3.0)
rouge (4.4.0)
rouge (4.5.1)
rspec (3.13.0)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
Expand All @@ -1004,7 +1005,7 @@ GEM
rspec-mocks (3.13.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-rails (7.0.1)
rspec-rails (7.1.0)
actionpack (>= 7.0)
activesupport (>= 7.0)
railties (>= 7.0)
Expand All @@ -1017,7 +1018,7 @@ GEM
rspec-support (3.13.1)
rspec-wait (1.0.1)
rspec (>= 3.4)
rubocop (1.67.0)
rubocop (1.68.0)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
Expand All @@ -1027,7 +1028,7 @@ GEM
rubocop-ast (>= 1.32.2, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.32.3)
rubocop-ast (1.35.0)
parser (>= 3.3.1.0)
rubocop-capybara (2.21.0)
rubocop (~> 1.41)
Expand Down Expand Up @@ -1070,7 +1071,7 @@ GEM
nokogiri (>= 1.12.0)
secure_headers (7.0.0)
securerandom (0.3.2)
selenium-devtools (0.129.0)
selenium-devtools (0.130.0)
selenium-webdriver (~> 4.2)
selenium-webdriver (4.26.0)
base64 (~> 0.2)
Expand Down Expand Up @@ -1128,7 +1129,7 @@ GEM
thor (1.3.2)
thread_safe (0.3.6)
timecop (0.9.10)
timeout (0.4.1)
timeout (0.4.2)
tpm-key_attestation (0.12.1)
bindata (~> 2.4)
openssl (> 2.0)
Expand Down Expand Up @@ -1206,7 +1207,7 @@ PLATFORMS
DEPENDENCIES
actionpack-xml_parser (~> 2.0.0)
activemodel-serializers-xml (~> 1.0.1)
activerecord-import (~> 1.7.0)
activerecord-import (~> 1.8.0)
activerecord-nulldb-adapter (~> 1.0.0)
activerecord-session_store (~> 2.1.0)
acts_as_list (~> 1.2.0)
Expand Down Expand Up @@ -1244,7 +1245,7 @@ DEPENDENCIES
debug
deckar01-task_list (~> 2.3.1)
disposable (~> 0.6.2)
doorkeeper (~> 5.7.0)
doorkeeper (~> 5.8.0)
dotenv-rails
dry-auto_inject
dry-container
Expand Down Expand Up @@ -1359,9 +1360,9 @@ DEPENDENCIES
retriable (~> 3.1.1)
rinku (~> 2.0.4)
roar (~> 1.2.0)
rouge (~> 4.4.0)
rouge (~> 4.5.1)
rspec (~> 3.13.0)
rspec-rails (~> 7.0.0)
rspec-rails (~> 7.1.0)
rspec-retry (~> 0.6.1)
rspec-wait
rubocop
Expand Down
2 changes: 1 addition & 1 deletion app/models/journal/base_journal.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def journaled_attributes
end

def self.journaled_attributes
@journaled_attributes ||= column_names.map(&:to_sym) - excluded_attributes
@journaled_attributes ||= columns.reject(&:virtual?).map { |col| col.name.to_sym } - excluded_attributes
end

def self.excluded_attributes
Expand Down
4 changes: 2 additions & 2 deletions app/models/work_package/exports/formatters/costs.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ def format_options

def number_format_string
# [$CUR] makes sure we have an actually working currency format with arbitrary currencies
curr = "[$CUR]".gsub "CUR", ERB::Util.h(Setting.plugin_costs["costs_currency"])
format = ERB::Util.h Setting.plugin_costs["costs_currency_format"]
curr = "[$CUR]".gsub "CUR", ERB::Util.h(Setting.costs_currency)
format = ERB::Util.h Setting.costs_currency_format
number = "#,##0.00"

format.gsub("%n", number).gsub("%u", curr)
Expand Down
10 changes: 5 additions & 5 deletions config/environments/test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
# See COPYRIGHT and LICENSE files for more details.
#++

require 'active_support/core_ext/integer/time'
require "active_support/core_ext/integer/time"

# The test environment is used exclusively to run your application's
# test suite. You never need to work with it otherwise. Remember that
Expand All @@ -52,7 +52,7 @@

# Configure public file server for tests with Cache-Control for performance.
config.public_file_server.enabled = true
config.public_file_server.headers = { 'Cache-Control' => 'public, max-age=3600' }
config.public_file_server.headers = { "Cache-Control" => "public, max-age=3600" }

# Show full error reports and disable caching.
config.consider_all_requests_local = true
Expand All @@ -75,11 +75,11 @@
config.action_mailer.delivery_method = :test

# Silence deprecations early on for testing on CI
deprecators.silenced = ENV['CI'].present?
deprecators.silenced = ENV["CI"].present?

# Print deprecation notices to the stderr.
config.active_support.deprecation =
if ENV['CI']
if ENV["CI"]
:silence
else
:stderr
Expand Down Expand Up @@ -114,7 +114,7 @@
# Use in-memory store for testing
Rack::Attack.cache.store = ActiveSupport::Cache::MemoryStore.new

if ENV['TEST_ENV_NUMBER']
if ENV["TEST_ENV_NUMBER"]
assets_cache_path = Rails.root.join("tmp/cache/assets/paralleltests#{ENV['TEST_ENV_NUMBER']}")
config.assets.cache = Sprockets::Cache::FileStore.new(assets_cache_path)
end
Expand Down
12 changes: 0 additions & 12 deletions config/initializers/menus.rb
Original file line number Diff line number Diff line change
Expand Up @@ -546,18 +546,6 @@
icon: "op-enterprise-addons",
if: proc { User.current.admin? && OpenProject::Configuration.ee_manager_visible? }

menu.push :admin_costs,
{ controller: "/admin/settings", action: "show_plugin", id: :costs },
if: Proc.new { User.current.admin? },
caption: :project_module_costs,
icon: "op-cost-reports"

menu.push :costs_setting,
{ controller: "/admin/settings", action: "show_plugin", id: :costs },
if: Proc.new { User.current.admin? },
caption: :label_setting_plural,
parent: :admin_costs

menu.push :admin_backlogs,
{ controller: "/backlogs_settings", action: :show },
if: Proc.new { User.current.admin? },
Expand Down
13 changes: 13 additions & 0 deletions db/migrate/20241120103858_add_start_end_times_to_time_entries.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
class AddStartEndTimesToTimeEntries < ActiveRecord::Migration[7.1]
def change
change_table :time_entries, bulk: true do |t|
t.integer :start_time, null: true
t.integer :end_time, null: true
end

change_table :time_entry_journals, bulk: true do |t|
t.integer :start_time, null: true
t.integer :end_time, null: true
end
end
end
Loading
Loading