diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 273953ad74a0..b2eac6ca41e7 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -3,3 +3,5 @@ 48a4f1b6adb1e847a90a61f2ab277f28bcd77608 # Update copyright information for 2023 21a696ef9b170e14ad2daf53364a4c2113822c2f +# Update copyright information for 2023 +c795874f7f281297bbd3bad2fdb58b24cb4ce624 diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index f516daeb7a3b..494934e0eb18 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -33,9 +33,6 @@ jobs: target: slim - platform: linux/amd64 target: all-in-one - - platform: linux/ppc64le - bim_support: false - target: all-in-one - platform: linux/arm64/v8 bim_support: false target: all-in-one diff --git a/.rubocop.yml b/.rubocop.yml index 2e049139c5d3..b951a30741b5 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -164,6 +164,10 @@ Rails/I18nLocaleAssignment: Exclude: - 'spec/**/*.rb' +# Do not bother if `let` statements use an index in their name +RSpec/IndexedLet: + Enabled: false + # The http verbs in Rack::Test do not accept named parameters (params: params) Rails/HttpPositionalArguments: Exclude: diff --git a/.ruby-version b/.ruby-version index e4604e3afd0d..be94e6f53db6 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.2.1 +3.2.2 diff --git a/COPYRIGHT b/COPYRIGHT index e4986d3380e3..52db00687216 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -1,6 +1,6 @@ OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License diff --git a/COPYRIGHT_short b/COPYRIGHT_short index 880605fd64a9..f6628456eb30 100644 --- a/COPYRIGHT_short +++ b/COPYRIGHT_short @@ -1,5 +1,5 @@ OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/Gemfile b/Gemfile index 56705a35af2c..4353ca3b469b 100644 --- a/Gemfile +++ b/Gemfile @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,11 @@ source 'https://rubygems.org' -ruby '~> 3.2.1' +# TODO: Once packager.io and heroku buildpacks support bundler 2.4.22, +# then we can use the new bundler syntax `ruby file: '.ruby-version'`. +# https://github.com/heroku/heroku-buildpack-ruby/issues/1408#issuecomment-1841596215 + +ruby File.read('.ruby-version').strip gem 'actionpack-xml_parser', '~> 2.0.0' gem 'activemodel-serializers-xml', '~> 1.0.1' @@ -79,7 +83,7 @@ gem 'htmldiff' gem 'stringex', '~> 2.8.5' # CommonMark markdown parser with GFM extension -gem 'commonmarker', '~> 0.23.9' +gem 'commonmarker', '~> 1.0.3' # HTML pipeline for transformations on text formatter output # such as sanitization or additional features @@ -123,7 +127,7 @@ gem 'daemons' gem 'delayed_cron_job', '~> 0.9.0' gem 'delayed_job_active_record', '~> 4.1.5' -gem 'rack-protection', '~> 3.1.0' +gem 'rack-protection', '~> 3.2.0' # Rack::Attack is a rack middleware to protect your web app from bad clients. # It allows whitelisting, blacklisting, throttling, and tracking based @@ -152,12 +156,12 @@ gem 'structured_warnings', '~> 0.4.0' # don't require by default, instead load on-demand when actually configured gem 'airbrake', '~> 13.0.0', require: false -gem 'md_to_pdf', git: 'https://github.com/opf/md-to-pdf', ref: 'cc286655dfa2ea2b30bf2a149063f42f7081aa3d' +gem 'md_to_pdf', git: 'https://github.com/opf/md-to-pdf', ref: 'bbda8ad0054d465eec01c23fcab5c6d62c7baa44' gem 'prawn', '~> 2.4' # prawn implicitly depends on matrix gem no longer in ruby core with 3.1 gem 'matrix', '~> 0.4.2' -gem 'meta-tags', '~> 2.19.0' +gem 'meta-tags', '~> 2.20.0' gem "paper_trail", "~> 12.3" @@ -174,11 +178,11 @@ gem 'rails-i18n', '~> 7.0.0' gem 'sprockets', '~> 3.7.2' # lock sprockets below 4.0 gem 'sprockets-rails', '~> 3.4.2' -gem 'puma', '~> 6.3', '>= 6.3.1' +gem 'puma', '~> 6.4' gem 'puma-plugin-statsd', '~> 2.0' gem 'rack-timeout', '~> 0.6.3', require: "rack/timeout/base" -gem 'nokogiri', '~> 1.15.1' +gem 'nokogiri', '~> 1.16.0' gem 'carrierwave', '~> 1.3.1' gem 'carrierwave_direct', '~> 2.1.0' @@ -209,7 +213,7 @@ gem "appsignal", "~> 3.0", require: false gem 'view_component' # Lookbook -gem 'lookbook', '~> 2.1.0' +gem 'lookbook', '~> 2.2.0' # Require factory_bot for usage with openproject plugins testing gem 'factory_bot', '~> 6.4.0', require: false @@ -218,6 +222,8 @@ gem 'factory_bot_rails', '~> 6.4.0', require: false gem 'turbo-rails', "~> 1.1" +gem 'httpx' + group :test do gem 'launchy', '~> 2.5.0' gem 'rack-test', '~> 2.1.0' @@ -253,11 +259,11 @@ group :test do gem 'rails-controller-testing', '~> 1.0.2' gem 'capybara', '~> 3.39.0' + gem 'capybara_accessible_selectors', git: 'https://github.com/citizensadvice/capybara_accessible_selectors', branch: 'main' gem 'capybara-screenshot', '~> 1.0.17' gem 'cuprite', '~> 0.15.0' gem 'selenium-devtools' - gem 'selenium-webdriver', '~> 4.15' - gem 'capybara_accessible_selectors', git: 'https://github.com/citizensadvice/capybara_accessible_selectors', branch: 'main' + gem 'selenium-webdriver', '~> 4.16.0' gem 'fuubar', '~> 2.5.0' gem 'timecop', '~> 0.9.0' @@ -273,7 +279,7 @@ group :test do gem 'equivalent-xml', '~> 0.6' gem 'json_spec', '~> 1.1.4' - gem 'shoulda-matchers', '~> 5.0', require: nil + gem 'shoulda-matchers', '~> 6.0', require: nil gem 'parallel_tests', '~> 4.0' end @@ -325,7 +331,10 @@ group :development, :test do gem "erblint-github", require: false # Brakeman scanner - gem 'brakeman', '~> 6.0.0' + gem 'brakeman', '~> 6.1.0' + + # i18n-tasks helps find and manage missing and unused translations. + gem 'i18n-tasks', '~> 1.0.13' end gem 'bootsnap', '~> 1.17.0', require: false @@ -372,4 +381,4 @@ end gem "openproject-octicons", '~>19.8.0' gem "openproject-octicons_helper", '~>19.8.0' -gem "openproject-primer_view_components", '~>0.18.1' +gem "openproject-primer_view_components", '~>0.20.0' diff --git a/Gemfile.lock b/Gemfile.lock index 11f3da4c2e49..0de9aa7191e2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,10 +1,10 @@ GIT remote: https://github.com/citizensadvice/capybara_accessible_selectors - revision: da34e96c4787bd7705c477fe2e70f993bfad8f5c + revision: 70f7f125c7c662057c407a93c931286b6865f458 branch: main specs: capybara_accessible_selectors (0.10.0) - capybara (>= 3.36.0) + capybara (~> 3.36) GIT remote: https://github.com/crohr/turbo_tests.git @@ -18,15 +18,15 @@ GIT GIT remote: https://github.com/opf/md-to-pdf - revision: cc286655dfa2ea2b30bf2a149063f42f7081aa3d - ref: cc286655dfa2ea2b30bf2a149063f42f7081aa3d + revision: bbda8ad0054d465eec01c23fcab5c6d62c7baa44 + ref: bbda8ad0054d465eec01c23fcab5c6d62c7baa44 specs: - md_to_pdf (0.0.20) - commonmarker (~> 0.23) + md_to_pdf (0.0.22) front_matter_parser (~> 1.0) - json-schema (~> 4.0) + json-schema (~> 4.1) + markly (~> 0.7) matrix (~> 0.4) - nokogiri (~> 1.15) + nokogiri (~> 1.1) prawn (~> 2.4) prawn-table (~> 0.2) text-hyphen (~> 1.5) @@ -122,6 +122,11 @@ PATH specs: openproject-documents (1.0.0) +PATH + remote: modules/gantt + specs: + openproject-gantt (1.0.0) + PATH remote: modules/github_integration specs: @@ -301,7 +306,7 @@ GEM activerecord (>= 4.2) acts_as_tree (2.9.1) activerecord (>= 3.0.0) - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) aes_key_wrap (1.1.0) afm (0.2.2) @@ -309,25 +314,25 @@ GEM airbrake-ruby (~> 6.0) airbrake-ruby (6.2.2) rbtree3 (~> 0.6) - appsignal (3.4.16) + appsignal (3.5.3) rack ast (2.4.2) - attr_required (1.0.1) + attr_required (1.0.2) auto_strip_attributes (2.6.0) activerecord (>= 4.0) awesome_nested_set (3.6.0) activerecord (>= 4.0.0, < 7.2) aws-eventstream (1.3.0) - aws-partitions (1.862.0) - aws-sdk-core (3.190.0) + aws-partitions (1.877.0) + aws-sdk-core (3.190.2) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.8) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.74.0) + aws-sdk-kms (1.75.0) aws-sdk-core (~> 3, >= 3.188.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.141.0) + aws-sdk-s3 (1.142.0) aws-sdk-core (~> 3, >= 3.189.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.8) @@ -356,10 +361,12 @@ GEM erubi (~> 1.4) parser (>= 2.4) smart_properties + bigdecimal (3.1.5) bindata (2.4.15) bootsnap (1.17.0) msgpack (~> 1.2) - brakeman (6.0.1) + brakeman (6.1.1) + racc browser (5.3.1) builder (3.2.4) byebug (11.1.3) @@ -383,7 +390,7 @@ GEM carrierwave_direct (2.1.0) carrierwave (>= 1.0.0) fog-aws - cgi (0.4.0) + cgi (0.4.1) climate_control (1.2.0) closure_tree (7.4.0) activerecord (>= 4.2.10) @@ -392,7 +399,8 @@ GEM coercible (1.0.0) descendants_tracker (~> 0.0.1) colored2 (4.0.0) - commonmarker (0.23.10) + commonmarker (1.0.4) + rb_sys (~> 0.9) compare-xml (0.66) nokogiri (~> 1.8) concurrent-ruby (1.2.2) @@ -412,9 +420,9 @@ GEM date_validator (0.12.0) activemodel (>= 3) activesupport (>= 3) - debug (1.8.0) - irb (>= 1.5.0) - reline (>= 0.3.1) + debug (1.9.1) + irb (~> 1.10) + reline (>= 0.3.8) deckar01-task_list (2.3.3) html-pipeline declarative (0.0.20) @@ -482,13 +490,13 @@ GEM tzinfo eventmachine (1.2.7) eventmachine_httpserver (0.2.1) - excon (0.105.0) - factory_bot (6.4.2) + excon (0.108.0) + factory_bot (6.4.5) activesupport (>= 5.0.0) - factory_bot_rails (6.4.2) + factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - faraday (2.7.12) + faraday (2.8.1) base64 faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) @@ -545,10 +553,13 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-gmail_v1 (0.36.0) + google-apis-gmail_v1 (0.37.0) google-apis-core (>= 0.11.0, < 2.a) - googleauth (1.8.1) - faraday (>= 0.17.3, < 3.a) + google-cloud-env (2.1.0) + faraday (>= 1.0, < 3.a) + googleauth (1.9.1) + faraday (>= 1.0, < 3.a) + google-cloud-env (~> 2.1) jwt (>= 1.4, < 3.0) multi_json (~> 1.11) os (>= 0.9, < 2.0) @@ -565,35 +576,50 @@ GEM rack gravatar_image_tag (1.2.0) hana (1.3.7) - hashdiff (1.0.1) + hashdiff (1.1.0) hashery (2.1.2) hashie (3.6.0) + highline (2.1.0) html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) htmlbeautifier (1.4.2) htmldiff (0.0.1) htmlentities (4.3.4) + http-2-next (1.0.1) http_parser.rb (0.6.0) httpclient (2.8.3) + httpx (1.0.2) + http-2-next (>= 1.0.1) i18n (1.14.1) concurrent-ruby (~> 1.0) i18n-js (4.2.3) glob (>= 0.4.0) i18n + i18n-tasks (1.0.13) + activesupport (>= 4.0.2) + ast (>= 2.1.0) + better_html (>= 1.0, < 3.0) + erubi + highline (>= 2.0.0) + i18n + parser (>= 3.2.2.1) + rails-i18n + rainbow (>= 2.2.2, < 4.0) + terminal-table (>= 1.5.1) icalendar (2.10.1) ice_cube (~> 0.16) ice_cube (0.16.4) ice_nine (0.11.2) interception (0.5) - io-console (0.6.0) - irb (1.10.0) + io-console (0.7.1) + irb (1.11.0) rdoc reline (>= 0.3.8) iso8601 (0.13.0) jmespath (1.6.2) - json (2.7.0) - json-jwt (1.16.3) + json (2.7.1) + json-jwt (1.16.4) activesupport (>= 4.2) aes_key_wrap bindata @@ -632,7 +658,7 @@ GEM loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) - lookbook (2.1.1) + lookbook (2.2.0) activemodel css_parser htmlbeautifier (~> 1.3) @@ -650,14 +676,15 @@ GEM net-pop net-smtp marcel (1.0.2) + markly (0.10.0) matrix (0.4.2) messagebird-rest (1.4.2) - meta-tags (2.19.0) - actionpack (>= 3.2.0, < 7.2) + meta-tags (2.20.0) + actionpack (>= 6.0.0, < 7.2) method_source (1.0.0) - mime-types (3.5.1) + mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2023.1003) + mime-types-data (3.2023.1205) mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.5) @@ -668,7 +695,7 @@ GEM ruby2_keywords (~> 0.0.1) mustermann-grape (1.0.2) mustermann (>= 1.0.0) - net-imap (0.4.7) + net-imap (0.4.9) date net-protocol net-ldap (0.18.0) @@ -679,22 +706,22 @@ GEM net-smtp (0.4.0) net-protocol nio4r (2.7.0) - nokogiri (1.15.5) + nokogiri (1.16.0) mini_portile2 (~> 2.8.2) racc (~> 1.4) - oj (3.16.1) + oj (3.16.3) + bigdecimal (>= 3.0) okcomputer (1.18.5) omniauth-saml (1.10.3) omniauth (~> 1.3, >= 1.3.2) ruby-saml (~> 1.9) open4 (1.3.4) - openid_connect (2.2.0) + openid_connect (2.2.1) activemodel attr_required (>= 1.0.0) faraday (~> 2.0) faraday-follow_redirects json-jwt (>= 1.16) - net-smtp rack-oauth2 (~> 2.2) swd (~> 2.0) tzinfo @@ -706,7 +733,7 @@ GEM actionview openproject-octicons (= 19.8.0) railties - openproject-primer_view_components (0.18.1) + openproject-primer_view_components (0.20.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) openproject-octicons (>= 19.8.0) @@ -718,16 +745,16 @@ GEM paper_trail (12.3.0) activerecord (>= 5.2) request_store (~> 1.1) - parallel (1.23.0) - parallel_tests (4.3.0) + parallel (1.24.0) + parallel_tests (4.4.0) parallel - parser (3.2.2.4) + parser (3.3.0.2) 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.11.0) + pdf-reader (2.12.0) Ascii85 (~> 1.0) afm (~> 0.2.1) hashery (~> 2.0) @@ -754,7 +781,7 @@ GEM pry-rescue (1.5.2) interception (>= 0.5) pry (>= 0.12.0) - psych (5.1.1.1) + psych (5.1.2) stringio public_suffix (5.0.4) puffing-billy (4.0.0) @@ -765,9 +792,9 @@ GEM eventmachine_httpserver http_parser.rb (~> 0.6.0) multi_json - puma (6.4.0) + puma (6.4.2) nio4r (~> 2.0) - puma-plugin-statsd (2.5.0) + puma-plugin-statsd (2.6.0) puma (>= 5.0, < 7) raabro (1.4.0) racc (1.7.3) @@ -778,16 +805,17 @@ GEM rack (>= 1.0, < 4) rack-cors (2.0.1) rack (>= 2.0.0) - rack-mini-profiler (3.1.1) + rack-mini-profiler (3.3.0) rack (>= 1.2.0) - rack-oauth2 (2.2.0) + rack-oauth2 (2.2.1) activesupport attr_required faraday (~> 2.0) faraday-follow_redirects json-jwt (>= 1.11.0) rack (>= 2.1.0) - rack-protection (3.1.0) + rack-protection (3.2.0) + base64 (>= 0.1.0) rack (~> 2.2, >= 2.2.4) rack-test (2.1.0) rack (>= 1.3) @@ -835,16 +863,17 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) + rb_sys (0.9.86) rbtree3 (0.7.1) - rdoc (6.6.0) + rdoc (6.6.2) psych (>= 4.0.0) recaptcha (5.16.0) redcarpet (3.6.0) redis (5.0.8) redis-client (>= 0.17.0) - redis-client (0.18.0) + redis-client (0.19.1) connection_pool - regexp_parser (2.8.2) + regexp_parser (2.9.0) reline (0.4.1) io-console (~> 0.5) representable (3.2.0) @@ -886,7 +915,7 @@ GEM rspec-retry (0.6.2) rspec-core (> 3.3) rspec-support (3.12.1) - rubocop (1.58.0) + rubocop (1.59.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -899,23 +928,23 @@ GEM unicode-display_width (>= 2.4.0, < 3.0) rubocop-ast (1.30.0) parser (>= 3.2.1.0) - rubocop-capybara (2.19.0) + rubocop-capybara (2.20.0) rubocop (~> 1.41) - rubocop-factory_bot (2.24.0) + rubocop-factory_bot (2.25.0) rubocop (~> 1.33) rubocop-inflector (0.2.1) activesupport rubocop rubocop-rspec - rubocop-performance (1.19.1) - rubocop (>= 1.7.0, < 2.0) - rubocop-ast (>= 0.4.0) - rubocop-rails (2.22.2) + rubocop-performance (1.20.2) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.30.0, < 2.0) + rubocop-rails (2.23.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) rubocop-ast (>= 1.30.0, < 2.0) - rubocop-rspec (2.25.0) + rubocop-rspec (2.26.1) rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) @@ -924,14 +953,14 @@ GEM i18n iso8601 ruby-ole (1.2.12.2) - ruby-prof (1.6.3) + ruby-prof (1.7.0) ruby-progressbar (1.13.0) ruby-rc4 (0.1.5) ruby-saml (1.16.0) nokogiri (>= 1.13.10) rexml ruby2_keywords (0.0.5) - rubytree (2.0.2) + rubytree (2.0.3) json (~> 2.0, > 2.3.1) rubyzip (2.3.2) sanitize (6.1.0) @@ -946,7 +975,7 @@ GEM websocket (~> 1.0) semantic (1.6.1) shoulda-context (2.0.0) - shoulda-matchers (5.3.0) + shoulda-matchers (6.0.0) activesupport (>= 5.2.0) signet (0.18.0) addressable (~> 2.8) @@ -978,7 +1007,7 @@ GEM stringio (3.1.0) structured_warnings (0.4.0) svg-graph (2.2.2) - swd (2.0.2) + swd (2.0.3) activesupport (>= 3) attr_required (>= 0.0.5) faraday (~> 2.0) @@ -986,7 +1015,9 @@ GEM sys-filesystem (1.4.4) ffi (~> 1.1) table_print (1.5.7) - test-prof (1.3.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + test-prof (1.3.1) text-hyphen (1.5.0) thor (1.3.0) thread_safe (0.3.6) @@ -1002,7 +1033,7 @@ GEM rails (>= 5.0.4) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - tzinfo-data (1.2023.3) + tzinfo-data (1.2023.4) tzinfo (>= 1.0.0) uber (0.1.0) unf (0.1.4) @@ -1016,7 +1047,7 @@ GEM activemodel (>= 3.0.0) public_suffix vcr (6.2.0) - view_component (3.8.0) + view_component (3.10.0) activesupport (>= 5.2.0, < 8.0) concurrent-ruby (~> 1.0) method_source (~> 1.0) @@ -1028,7 +1059,7 @@ GEM rack (>= 2.0.9) warden-basic_auth (0.2.1) warden (~> 1.2) - webfinger (2.1.2) + webfinger (2.1.3) activesupport faraday (~> 2.0) faraday-follow_redirects @@ -1070,7 +1101,7 @@ DEPENDENCIES axe-core-rspec bcrypt (~> 3.1.6) bootsnap (~> 1.17.0) - brakeman (~> 6.0.0) + brakeman (~> 6.1.0) browser (~> 5.3.0) budgets! capybara (~> 3.39.0) @@ -1081,7 +1112,7 @@ DEPENDENCIES climate_control closure_tree (~> 7.4.0) colored2 - commonmarker (~> 0.23.9) + commonmarker (~> 1.0.3) compare-xml (~> 0.66) costs! cuprite (~> 0.15.0) @@ -1117,7 +1148,9 @@ DEPENDENCIES grids! html-pipeline (~> 2.14.0) htmldiff + httpx i18n-js (~> 4.2.3) + i18n-tasks (~> 1.0.13) json_schemer (~> 2.1.0) json_spec (~> 1.1.4) ladle @@ -1126,16 +1159,16 @@ DEPENDENCIES letter_opener listen (~> 3.8.0) lograge (~> 0.14.0) - lookbook (~> 2.1.0) + lookbook (~> 2.2.0) mail (= 2.8.1) matrix (~> 0.4.2) md_to_pdf! - meta-tags (~> 2.19.0) + meta-tags (~> 2.20.0) mini_magick (~> 4.12.0) multi_json (~> 1.15.0) my_page! net-ldap (~> 0.18.0) - nokogiri (~> 1.15.1) + nokogiri (~> 1.16.0) oj (~> 3.16.0) okcomputer (~> 1.18.1) omniauth! @@ -1150,6 +1183,7 @@ DEPENDENCIES openproject-boards! openproject-calendar! openproject-documents! + openproject-gantt! openproject-github_integration! openproject-job_status! openproject-ldap_groups! @@ -1157,7 +1191,7 @@ DEPENDENCIES openproject-octicons (~> 19.8.0) openproject-octicons_helper (~> 19.8.0) openproject-openid_connect! - openproject-primer_view_components (~> 0.18.1) + openproject-primer_view_components (~> 0.20.0) openproject-recaptcha! openproject-reporting! openproject-storages! @@ -1178,12 +1212,12 @@ DEPENDENCIES pry-rails (~> 0.3.6) pry-rescue (~> 1.5.2) puffing-billy (~> 4.0.0) - puma (~> 6.3, >= 6.3.1) + puma (~> 6.4) puma-plugin-statsd (~> 2.0) rack-attack (~> 6.7.0) rack-cors (~> 2.0.0) rack-mini-profiler - rack-protection (~> 3.1.0) + rack-protection (~> 3.2.0) rack-test (~> 2.1.0) rack-timeout (~> 0.6.3) rack_session_access @@ -1213,10 +1247,10 @@ DEPENDENCIES sanitize (~> 6.1.0) secure_headers (~> 6.5.0) selenium-devtools - selenium-webdriver (~> 4.15) + selenium-webdriver (~> 4.16.0) semantic (~> 1.6.1) shoulda-context (~> 2.0) - shoulda-matchers (~> 5.0) + shoulda-matchers (~> 6.0) spring spring-commands-rspec spring-commands-rubocop @@ -1245,7 +1279,7 @@ DEPENDENCIES with_advisory_lock (~> 5.0.0) RUBY VERSION - ruby 3.2.1p31 + ruby 3.2.2p53 BUNDLED WITH - 2.4.7 + 2.4.22 diff --git a/Gemfile.modules b/Gemfile.modules index 0fc99facde82..6e8a38a26e85 100644 --- a/Gemfile.modules +++ b/Gemfile.modules @@ -44,6 +44,7 @@ group :opf_plugins do gem 'overviews', path: 'modules/overviews' gem 'budgets', path: 'modules/budgets' gem 'openproject-team_planner', path: 'modules/team_planner' + gem 'openproject-gantt', path: 'modules/gantt' gem 'openproject-calendar', path: 'modules/calendar' gem 'openproject-storages', path: 'modules/storages' diff --git a/Guardfile b/Guardfile index 14d128f45c0a..83e8583758b0 100644 --- a/Guardfile +++ b/Guardfile @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/Rakefile b/Rakefile index d067dc4784d0..6dbf99fe781e 100755 --- a/Rakefile +++ b/Rakefile @@ -1,7 +1,7 @@ #!/usr/bin/env rake #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/activities/days_component.html.erb b/app/components/activities/days_component.html.erb index b9af3266dffd..c0fd1098bf59 100644 --- a/app/components/activities/days_component.html.erb +++ b/app/components/activities/days_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/activities/days_component.rb b/app/components/activities/days_component.rb index b138a5a0f438..27c7668f5c44 100644 --- a/app/components/activities/days_component.rb +++ b/app/components/activities/days_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/activities/item_component.html.erb b/app/components/activities/item_component.html.erb index 74d18e17dbd3..d5f5f7727dd4 100644 --- a/app/components/activities/item_component.html.erb +++ b/app/components/activities/item_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/activities/item_component.rb b/app/components/activities/item_component.rb index 384144cc1141..a9ec9cc0173b 100644 --- a/app/components/activities/item_component.rb +++ b/app/components/activities/item_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/activities/item_subtitle_component.html.erb b/app/components/activities/item_subtitle_component.html.erb index 50b43e3490f6..2b9edbce4e7f 100644 --- a/app/components/activities/item_subtitle_component.html.erb +++ b/app/components/activities/item_subtitle_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/activities/item_subtitle_component.rb b/app/components/activities/item_subtitle_component.rb index 3bce0f79a7f4..6585a39d7caa 100644 --- a/app/components/activities/item_subtitle_component.rb +++ b/app/components/activities/item_subtitle_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/application_component.rb b/app/components/application_component.rb index 8f655afb2c0a..8ac0007e320c 100644 --- a/app/components/application_component.rb +++ b/app/components/application_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/attribute_groups/attribute_group_component.html.erb b/app/components/attribute_groups/attribute_group_component.html.erb index 856f6e3d49b8..36c6ad38aa48 100644 --- a/app/components/attribute_groups/attribute_group_component.html.erb +++ b/app/components/attribute_groups/attribute_group_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/attribute_groups/attribute_group_component.rb b/app/components/attribute_groups/attribute_group_component.rb index 00a41223718a..ec401d6d7ca8 100644 --- a/app/components/attribute_groups/attribute_group_component.rb +++ b/app/components/attribute_groups/attribute_group_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/attribute_groups/attribute_group_header_component.html.erb b/app/components/attribute_groups/attribute_group_header_component.html.erb index 473ba68f87d0..b93babe89bd3 100644 --- a/app/components/attribute_groups/attribute_group_header_component.html.erb +++ b/app/components/attribute_groups/attribute_group_header_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/attribute_groups/attribute_group_header_component.rb b/app/components/attribute_groups/attribute_group_header_component.rb index 8db8509b221f..dc74e61d38a8 100644 --- a/app/components/attribute_groups/attribute_group_header_component.rb +++ b/app/components/attribute_groups/attribute_group_header_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/attribute_groups/attribute_key_value_component.html.erb b/app/components/attribute_groups/attribute_key_value_component.html.erb index dd6a2c7a4c1c..a36d9c5defdc 100644 --- a/app/components/attribute_groups/attribute_key_value_component.html.erb +++ b/app/components/attribute_groups/attribute_key_value_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/attribute_groups/attribute_key_value_component.rb b/app/components/attribute_groups/attribute_key_value_component.rb index 092729739bc2..f96b6c92cbc3 100644 --- a/app/components/attribute_groups/attribute_key_value_component.rb +++ b/app/components/attribute_groups/attribute_key_value_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/components/on_off_status_component.html.erb b/app/components/components/on_off_status_component.html.erb index 45fccd6b7a26..4a805303bbf8 100644 --- a/app/components/components/on_off_status_component.html.erb +++ b/app/components/components/on_off_status_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/components/on_off_status_component.rb b/app/components/components/on_off_status_component.rb index 20b56fac14b7..439a23248a77 100644 --- a/app/components/components/on_off_status_component.rb +++ b/app/components/components/on_off_status_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/concerns/op_turbo/streamable.rb b/app/components/concerns/op_turbo/streamable.rb index 223ea13769dd..d0d76118d96a 100644 --- a/app/components/concerns/op_turbo/streamable.rb +++ b/app/components/concerns/op_turbo/streamable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/custom_actions/row_component.rb b/app/components/custom_actions/row_component.rb index ffe4c4c40f9b..78aae79668f9 100644 --- a/app/components/custom_actions/row_component.rb +++ b/app/components/custom_actions/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/custom_actions/table_component.rb b/app/components/custom_actions/table_component.rb index f6ec1c400a76..5b35e3a3c40e 100644 --- a/app/components/custom_actions/table_component.rb +++ b/app/components/custom_actions/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/enumerations/row_component.rb b/app/components/enumerations/row_component.rb index 60dd4041ca90..78c5597f23cc 100644 --- a/app/components/enumerations/row_component.rb +++ b/app/components/enumerations/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/enumerations/table_component.rb b/app/components/enumerations/table_component.rb index 9d2ca664cb9e..08b5c1a4286c 100644 --- a/app/components/enumerations/table_component.rb +++ b/app/components/enumerations/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/individual_principal_base_filter_component.html.erb b/app/components/individual_principal_base_filter_component.html.erb index 7b2a7493e8ba..588b7e913c94 100644 --- a/app/components/individual_principal_base_filter_component.html.erb +++ b/app/components/individual_principal_base_filter_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -82,6 +82,24 @@ See COPYRIGHT and LICENSE files for more details. %> <% end %> + <% if has_shares? %> +
  • + + <%= + select_tag( + :shared_role_id, + options_for_select( + shares, + params[:shared_role_id] + ), + { + include_blank: true, + name: "shared_role_id", + class: 'simple-filters--filter-value' + }) + %> +
  • + <% end %>
  • <%= text_field_tag 'name', params[:name], class: 'simple-filters--filter-value' %> diff --git a/app/components/individual_principal_base_filter_component.rb b/app/components/individual_principal_base_filter_component.rb index c8b80f072565..1bff0229a696 100644 --- a/app/components/individual_principal_base_filter_component.rb +++ b/app/components/individual_principal_base_filter_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -42,8 +42,12 @@ def filter(params) query(params).results end + def filter_param_keys + %i(name status group_id role_id) + end + def filtered?(params) - %i(name status group_id role_id).any? { |name| params[name].present? } + filter_param_keys.any? { |name| params[name].present? } end def filter_name(query, name) @@ -108,6 +112,10 @@ def has_groups? defined?(groups) && groups.present? end + def has_shares? + false + end + def params model end diff --git a/app/components/ldap_auth_sources/row_component.rb b/app/components/ldap_auth_sources/row_component.rb index 4eab374bf68a..2e8a9a8ccdf2 100644 --- a/app/components/ldap_auth_sources/row_component.rb +++ b/app/components/ldap_auth_sources/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/ldap_auth_sources/table_component.rb b/app/components/ldap_auth_sources/table_component.rb index 7e534ab8c168..f4735796b600 100644 --- a/app/components/ldap_auth_sources/table_component.rb +++ b/app/components/ldap_auth_sources/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/members/index_page_header_component.html.erb b/app/components/members/index_page_header_component.html.erb new file mode 100644 index 000000000000..8011af10bc9e --- /dev/null +++ b/app/components/members/index_page_header_component.html.erb @@ -0,0 +1,39 @@ +<%= + render(Primer::OpenProject::PageHeader.new) do |header| + header.with_title(variant: :large) { t(:label_member_plural) } + + header.with_actions do + flex_layout do |actions| + if User.current.allowed_in_project?(:manage_members, @project) + actions.with_column(mr: BUTTON_MARGIN_RIGHT) do + render( + Primer::Beta::Button.new( + scheme: :primary, + size: :medium, + aria: { label: I18n.t(:button_add_member) }, + title: I18n.t(:button_add_member), + id: 'add-member-button', + data: add_button_data_attributes + ) + ) do |button| + button.with_leading_visual_icon(icon: :plus) + t('activerecord.models.member') + end + end + end + + actions.with_column do + render( + Primer::Beta::IconButton.new( + icon: 'filter', + id: 'filter-member-button', + aria: { label: I18n.t(:description_filter) }, + class: 'toggle-member-filter-link', + data: filter_button_data_attributes + ) + ) + end + end + end + end +%> diff --git a/app/components/members/index_page_header_component.rb b/app/components/members/index_page_header_component.rb new file mode 100644 index 000000000000..689eb40daab8 --- /dev/null +++ b/app/components/members/index_page_header_component.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2010-2023 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +# ++ + +class Members::IndexPageHeaderComponent < ApplicationComponent + include OpPrimer::ComponentHelpers + include ApplicationHelper + + BUTTON_MARGIN_RIGHT = 2 + + def initialize(project: nil) + super + @project = project + end + + def add_button_data_attributes + attributes = { + 'members-form-target': 'addMemberButton', + action: 'members-form#showAddMemberForm', + 'test-selector': 'member-add-button' + } + + attributes['trigger-initially'] = "true" if params[:show_add_members] + + attributes + end + + def filter_button_data_attributes + { + 'members-form-target': 'filterMemberButton', + action: 'members-form#toggleMemberFilter' + } + end +end diff --git a/app/components/members/role_form_component.html.erb b/app/components/members/role_form_component.html.erb index 5a5ee98b3c26..45d06ed41219 100644 --- a/app/components/members/role_form_component.html.erb +++ b/app/components/members/role_form_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/members/role_form_component.rb b/app/components/members/role_form_component.rb index c0c7a15666f8..47eca2ba63d5 100644 --- a/app/components/members/role_form_component.rb +++ b/app/components/members/role_form_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/members/row_component.rb b/app/components/members/row_component.rb index f32a8ba7a6e5..b388a71794f4 100644 --- a/app/components/members/row_component.rb +++ b/app/components/members/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,6 +31,7 @@ module Members class RowComponent < ::RowComponent property :principal + delegate :project, to: :table def member model @@ -41,7 +42,7 @@ def row_css_id end def row_css_class - "member #{principal_class_name}".strip + "member #{principal_class_name} principal-#{principal.id}".strip end def name @@ -73,11 +74,21 @@ def roles end end + def shared + count = member.shared_work_packages_count + if count > 0 + link_to I18n.t(:'label_x_work_packages', count:), + helpers.project_work_packages_shared_with_path(principal, member.project), + target: "_blank" + end + end + def roles_label - label = h member.roles.uniq.sort.collect(&:name).join(', ') + project_roles = member.roles.select { |role| role.is_a?(ProjectRole) }.uniq.sort + label = h project_roles.collect(&:name).join(', ') if principal&.admin? - label << tag(:br) + label << tag(:br) if project_roles.any? label << I18n.t(:label_member_all_admin) end @@ -95,7 +106,7 @@ def role_form def groups if user? - principal.groups.map(&:name).join(", ") + (principal.groups & project.groups).map(&:name).join(", ") end end @@ -112,7 +123,9 @@ def may_delete? end def button_links - if may_update? && may_delete? + if !model.project_role? + [share_warning] + elsif may_update? && may_delete? [edit_link, delete_link].compact elsif may_delete? [delete_link].compact @@ -121,6 +134,13 @@ def button_links end end + def share_warning + content_tag(:span, + title: I18n.t('members.no_modify_on_shared')) do + helpers.op_icon('icon icon-info1') + end + end + def edit_link link_to( helpers.op_icon('icon icon-edit'), diff --git a/app/components/members/table_component.rb b/app/components/members/table_component.rb index 32d4a84a1540..2e3e39fef3b6 100644 --- a/app/components/members/table_component.rb +++ b/app/components/members/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,10 +30,42 @@ module Members class TableComponent < ::TableComponent - options :authorize_update, :available_roles, :is_filtered - columns :name, :mail, :roles, :groups, :status + options :authorize_update, :available_roles, :is_filtered, :project + columns :name, :mail, :roles, :groups, :shared, :status sortable_columns :name, :mail, :status + def apply_sort(model) + apply_member_scopes super(model) + end + + def apply_member_scopes(model) + model + .with_shared_work_packages_count(only_role_id:) + # This additional select is necessary for removing "duplicate" memberships in the members table + # In reality, we want to show distinct principals in the members page, but are filtering on the members + # table which now has multiplpe entries per user if they are the recipient of multiple shares, + # or are a project member on top of that. + .where(id: subselected_member_ids(model)) + end + + def subselected_member_ids(model) + Member + .where( + id: model + .reselect('DISTINCT ON (members.user_id) members.id') + .reorder('members.user_id, members.entity_type NULLS FIRST') + ) + end + + def only_role_id + case params[:shared_role_id] + when 'all', nil + nil + else + params[:shared_role_id] + end + end + def initial_sort %i[name asc] end @@ -45,7 +77,15 @@ def headers end def header_options(name) - { caption: User.human_attribute_name(name) } + caption = + case name + when :shared + I18n.t('members.columns.shared') + else + User.human_attribute_name(name) + end + + { caption: } end ## diff --git a/app/components/members/user_filter_component.rb b/app/components/members/user_filter_component.rb index 894018f6830a..3dc96333fc07 100644 --- a/app/components/members/user_filter_component.rb +++ b/app/components/members/user_filter_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,6 +30,8 @@ module Members class UserFilterComponent < ::UserFilterComponent + ALL_SHARED_FILTER_KEY = 'all' + def initially_visible? false end @@ -38,6 +40,14 @@ def has_close_icon? true end + def has_shares? + true + end + + def shares + @shares ||= self.class.share_options + end + ## # Adapts the user filter counts to count members as opposed to users. def extra_user_status_options @@ -69,11 +79,57 @@ def base_query Queries::Members::MemberQuery end + def filter_param_keys + super + %i(shared_role_id) + end + + def share_options + share_options = WorkPackageRole + .where(builtin: builtin_share_roles) + .order(builtin: :asc) + .map { |role| [mapped_shared_role_name(role), role.id] } + + share_options.unshift([I18n.t('members.filters.all_shares'), ALL_SHARED_FILTER_KEY]) + end + + def builtin_share_roles + [ + Role::BUILTIN_WORK_PACKAGE_VIEWER, + Role::BUILTIN_WORK_PACKAGE_COMMENTER, + Role::BUILTIN_WORK_PACKAGE_EDITOR + ].freeze + end + + def mapped_shared_role_name(role) + case role.builtin + when Role::BUILTIN_WORK_PACKAGE_VIEWER + I18n.t('work_package.sharing.permissions.view') + when Role::BUILTIN_WORK_PACKAGE_COMMENTER + I18n.t('work_package.sharing.permissions.comment') + when Role::BUILTIN_WORK_PACKAGE_EDITOR + I18n.t('work_package.sharing.permissions.edit') + else + role.name + end + end + protected + def filter_shares(query, role_id) + if role_id === ALL_SHARED_FILTER_KEY + ids = WorkPackageRole + .where(builtin: builtin_share_roles) + .pluck(:id) + + query.where(:role_id, '=', ids.uniq) + elsif role_id.to_i > 0 + query.where(:role_id, '=', role_id.to_i) + end + end + def apply_filters(params, query) super(params, query) - query.where(:only_project_member, '=', 't') + filter_shares(query, params[:shared_role_id]) if params.key?(:shared_role_id) query end diff --git a/app/components/oauth/applications/row_component.rb b/app/components/oauth/applications/row_component.rb index d7b3ac0f4166..33bfc1e631db 100644 --- a/app/components/oauth/applications/row_component.rb +++ b/app/components/oauth/applications/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,6 @@ module OAuth module Applications class RowComponent < ::RowComponent - property :confidential def application diff --git a/app/components/oauth/applications/table_component.rb b/app/components/oauth/applications/table_component.rb index e30b56689423..86b0cd15f099 100644 --- a/app/components/oauth/applications/table_component.rb +++ b/app/components/oauth/applications/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/op_primer/box_collection_component.html.erb b/app/components/op_primer/box_collection_component.html.erb index 4a2b89ed111e..bb48bb9b959a 100644 --- a/app/components/op_primer/box_collection_component.html.erb +++ b/app/components/op_primer/box_collection_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/op_primer/box_collection_component.rb b/app/components/op_primer/box_collection_component.rb index 60a48468d8ce..91cc31be24b4 100644 --- a/app/components/op_primer/box_collection_component.rb +++ b/app/components/op_primer/box_collection_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/op_primer/component_collection_component.html.erb b/app/components/op_primer/component_collection_component.html.erb index 909a68a165f8..6eda7cd0f6ed 100644 --- a/app/components/op_primer/component_collection_component.html.erb +++ b/app/components/op_primer/component_collection_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/op_primer/component_collection_component.rb b/app/components/op_primer/component_collection_component.rb index e49213dbed71..7ff211224381 100644 --- a/app/components/op_primer/component_collection_component.rb +++ b/app/components/op_primer/component_collection_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/op_primer/component_helpers.rb b/app/components/op_primer/component_helpers.rb index 19c1d888db29..210aa879b8e5 100644 --- a/app/components/op_primer/component_helpers.rb +++ b/app/components/op_primer/component_helpers.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/op_primer/relative_time_component.rb b/app/components/op_primer/relative_time_component.rb index c49ab4758ca0..3171ef824cd4 100644 --- a/app/components/op_primer/relative_time_component.rb +++ b/app/components/op_primer/relative_time_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/op_turbo/frame_component.html.erb b/app/components/op_turbo/frame_component.html.erb index 64adfb7f55d9..ef2ba54cf46d 100644 --- a/app/components/op_turbo/frame_component.html.erb +++ b/app/components/op_turbo/frame_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/op_turbo/frame_component.rb b/app/components/op_turbo/frame_component.rb index 4db96dd27a07..29eafe073797 100644 --- a/app/components/op_turbo/frame_component.rb +++ b/app/components/op_turbo/frame_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/op_turbo/stream_component.html.erb b/app/components/op_turbo/stream_component.html.erb index 4ef68b5bbbd0..67e4445ee764 100644 --- a/app/components/op_turbo/stream_component.html.erb +++ b/app/components/op_turbo/stream_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/op_turbo/stream_component.rb b/app/components/op_turbo/stream_component.rb index 2a1149d94651..1db75dd0138a 100644 --- a/app/components/op_turbo/stream_component.rb +++ b/app/components/op_turbo/stream_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/open_project/common/duration_component.rb b/app/components/open_project/common/duration_component.rb index 55864e7dcfca..f5dd5c34de0e 100644 --- a/app/components/open_project/common/duration_component.rb +++ b/app/components/open_project/common/duration_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/open_project/common/submenu_component.html.erb b/app/components/open_project/common/submenu_component.html.erb new file mode 100644 index 000000000000..97fa34d2fa2a --- /dev/null +++ b/app/components/open_project/common/submenu_component.html.erb @@ -0,0 +1,52 @@ +
    +
    + <% top_level_sidebar_menu_items = @sidebar_menu_items.filter { |menu_item| menu_item.header.nil? } %> + <% if top_level_sidebar_menu_items.any? %> +
    +
      + <% top_level_sidebar_menu_items.first.children.each do |menu_item| %> +
    • + <% selected = menu_item.selected ? 'selected' : '' %> + + <%= menu_item.title %> + +
    • + <% end %> +
    +
    + <% end %> + + + <% nested_sidebar_menu_items = @sidebar_menu_items.filter { |menu_item| menu_item.header.present? } %> + <% if nested_sidebar_menu_items.any? %> + <% nested_sidebar_menu_items.each do |menu_item| %> +
    + + + +
      + <% menu_item.children.each do |child_item| %> +
    • + <% selected = child_item.selected ? 'selected' : '' %> + + <%= child_item.title %> + +
    • + <% end %> +
    +
    + <% end %> + <% end %> +
    +
    diff --git a/app/components/open_project/common/submenu_component.rb b/app/components/open_project/common/submenu_component.rb new file mode 100644 index 000000000000..b3371c9625da --- /dev/null +++ b/app/components/open_project/common/submenu_component.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2023 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +# ++ +# +module OpenProject + module Common + class SubmenuComponent < ApplicationComponent + def initialize(sidebar_menu_items: nil) + super() + @sidebar_menu_items = sidebar_menu_items + end + + def render? + @sidebar_menu_items.present? + end + end + end +end diff --git a/app/components/placeholder_users/placeholder_user_filter_component.rb b/app/components/placeholder_users/placeholder_user_filter_component.rb index 4a4a57fce214..989b3991a4a0 100644 --- a/app/components/placeholder_users/placeholder_user_filter_component.rb +++ b/app/components/placeholder_users/placeholder_user_filter_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/placeholder_users/row_component.rb b/app/components/placeholder_users/row_component.rb index f752ca2a4087..3f439b37fb7d 100644 --- a/app/components/placeholder_users/row_component.rb +++ b/app/components/placeholder_users/row_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/placeholder_users/table_component.rb b/app/components/placeholder_users/table_component.rb index cc37b2e3b903..99cd383d0485 100644 --- a/app/components/placeholder_users/table_component.rb +++ b/app/components/placeholder_users/table_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/filters/_form.html.erb b/app/components/projects/filters_component.html.erb similarity index 84% rename from app/views/projects/filters/_form.html.erb rename to app/components/projects/filters_component.html.erb index 906ee00b0bbd..4b70865b0115 100644 --- a/app/views/projects/filters/_form.html.erb +++ b/app/components/projects/filters_component.html.erb @@ -1,6 +1,6 @@ <%= form_tag({}, method: :get, - class: "project-filters #{show_filters_section? ? '-expanded' : ''}", + class: "project-filters", data: { 'project-target': 'filterForm', action: 'submit->project#sendForm:prevent' @@ -12,7 +12,7 @@ data-action="project#toggleFilterForm"> <%= t(:label_filter_plural) %> <% unless EnterpriseToken.allows_to?(:custom_fields_in_projects_list)%> <%= - angular_component_tag 'op-enterprise-banner', - inputs: { - collapsible: true, - textMessage: t('ee.upsale.project_filters.description_html'), - moreInfoLink: OpenProject::Static::Links.links[:enterprise_docs][:custom_field_projects][:href], - } + helpers.angular_component_tag 'op-enterprise-banner', + inputs: { + collapsible: true, + textMessage: t('ee.upsale.project_filters.description_html'), + moreInfoLink: OpenProject::Static::Links.links[:enterprise_docs][:custom_field_projects][:href], + } %> <% end %> diff --git a/app/components/projects/filters_component.rb b/app/components/projects/filters_component.rb new file mode 100644 index 000000000000..c25894c717b2 --- /dev/null +++ b/app/components/projects/filters_component.rb @@ -0,0 +1,59 @@ +# frozen_string_literal: true + +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2010-2023 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +# ++ + +class Projects::FiltersComponent < ApplicationComponent + options :query + + def allowed_filters + query + .available_filters + .select { |f| allowed_filter?(f) } + .sort_by(&:human_name) + end + + private + + def allowed_filter?(filter) + allowlist = [ + Queries::Projects::Filters::ActiveFilter, + Queries::Projects::Filters::TemplatedFilter, + Queries::Projects::Filters::PublicFilter, + Queries::Projects::Filters::ProjectStatusFilter, + Queries::Projects::Filters::MemberOfFilter, + Queries::Projects::Filters::CreatedAtFilter, + Queries::Projects::Filters::LatestActivityAtFilter, + Queries::Projects::Filters::NameAndIdentifierFilter, + Queries::Projects::Filters::TypeFilter + ] + allowlist << Queries::Filters::Shared::CustomFields::Base if EnterpriseToken.allows_to?(:custom_fields_in_projects_list) + + allowlist.detect { |clazz| filter.is_a? clazz } + end +end diff --git a/app/components/projects/index_page_header_component.html.erb b/app/components/projects/index_page_header_component.html.erb new file mode 100644 index 000000000000..fa2fec19331d --- /dev/null +++ b/app/components/projects/index_page_header_component.html.erb @@ -0,0 +1,100 @@ +<%= render(Primer::OpenProject::PageHeader.new) do |header| %> + <% header.with_title(variant: :large) { t(:label_project_plural) } %> + + <% header.with_actions do %> + <% if current_user.allowed_globally?(:add_project) %> + <%= render( + Primer::Beta::Button.new( + tag: :a, + href: new_project_path, + scheme: :primary, + size: :medium, + aria: { label: I18n.t(:label_project_new) }, + mr: BUTTON_MARGIN_RIGHT, + data: { 'test-selector': 'project-new-button' } + ) + ) do |button| + button.with_leading_visual_icon(icon: :plus) + Project.model_name.human + end + %> + <% end %> + + <%= render( + Primer::Beta::IconButton.new( + icon: :filter, + size: :medium, + aria: { label: t(:label_filters_toggle) }, + mr: BUTTON_MARGIN_RIGHT, + data: { 'project-target': 'filterFormToggle', + 'action': 'project#toggleDisplayFilters', + 'test-selector': 'project-filter-toggle' } + ) + ) + %> + + <%= render( + Primer::Beta::Button.new( + tag: :a, + href: activities_path, + size: :medium, + type: :submit, + aria: { label: t(:label_overall_activity) }, + mr: BUTTON_MARGIN_RIGHT + ) + ) do + t(:label_overall_activity) + end + %> + + <%= render( + Primer::Beta::Button.new( + tag: :a, + href: gantt_portfolio_query_link, + size: :medium, + disabled: gantt_portfolio_project_ids.empty?, + type: :submit, + aria: { label: t('projects.index.open_as_gantt') }, + mr: BUTTON_MARGIN_RIGHT, + id: 'projects-index-open-as-gantt', + target: '_blank' + ) + ) do |button| + button.with_leading_visual_icon(icon: 'op-view-timeline') + button.with_trailing_visual_icon(icon: 'link-external') + button.with_tooltip(text: gantt_portfolio_title) + + t('projects.index.open_as_gantt') + end %> + + <%= render(Primer::Alpha::ActionMenu.new) do |menu| + menu.with_show_button(icon: 'op-kebab-vertical', 'aria-label': t(:label_more), data: { 'test-selector': 'project-more-dropdown-menu' }) + + if current_user.admin? + menu.with_item( + label: t('button_configure'), + href: admin_settings_projects_path, + content_arguments: { target: '_blank' } + ) do |item| + item.with_leading_visual_icon(icon: :gear) + end + end + + menu.with_item( + label: t('js.label_export'), + content_arguments: { 'data-show-dialog-id': 'project-export-dialog' } + ) do |item| + item.with_leading_visual_icon(icon: 'op-file-download') + end + end + %> + <% end %> +<% end %> + +<%= render(Primer::Alpha::Dialog.new(title: t('js.label_export'), + id: 'project-export-dialog')) do |d| + d.with_header(variant: :large) + d.with_body do + render partial: 'project_export_modal', locals: { query: query } + end +end %> diff --git a/app/components/projects/index_page_header_component.rb b/app/components/projects/index_page_header_component.rb new file mode 100644 index 000000000000..bfd7af52b0e0 --- /dev/null +++ b/app/components/projects/index_page_header_component.rb @@ -0,0 +1,61 @@ +# frozen_string_literal: true + +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2010-2023 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +# ++ + +class Projects::IndexPageHeaderComponent < ApplicationComponent + options :projects, + :current_user, + :query + + BUTTON_MARGIN_RIGHT = 2 + + def gantt_portfolio_query_link + generator = ::Projects::GanttQueryGeneratorService.new(gantt_portfolio_project_ids) + work_packages_path query_props: generator.call + end + + def gantt_portfolio_project_ids + @gantt_portfolio_project_ids ||= projects + .where(active: true) + .select(:id) + .uniq + .pluck(:id) + end + + def gantt_portfolio_title + title = t('projects.index.open_as_gantt_title') + + if current_user.admin? + title << ' ' + title << t('projects.index.open_as_gantt_title_admin') + end + + title + end +end diff --git a/app/components/projects/row_component.html.erb b/app/components/projects/row_component.html.erb index 0a88ea785638..c87c63e5c71b 100644 --- a/app/components/projects/row_component.html.erb +++ b/app/components/projects/row_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/projects/row_component.rb b/app/components/projects/row_component.rb index 0c284e983756..487c1a8c9ac7 100644 --- a/app/components/projects/row_component.rb +++ b/app/components/projects/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/projects/storage_information_component.html.erb b/app/components/projects/storage_information_component.html.erb new file mode 100644 index 000000000000..92a6c1658bce --- /dev/null +++ b/app/components/projects/storage_information_component.html.erb @@ -0,0 +1,6 @@ +

    + <%= helpers.op_icon('icon-info1') %> + <%= t(:label_projects_storage_information, + count: Project.count, + storage: number_to_human_size(Project.total_projects_size, precision: 2)) %> +

    diff --git a/app/components/projects/storage_information_component.rb b/app/components/projects/storage_information_component.rb new file mode 100644 index 000000000000..e42c11bfa2f2 --- /dev/null +++ b/app/components/projects/storage_information_component.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2010-2023 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +# ++ + +class Projects::StorageInformationComponent < ApplicationComponent + options :current_user + + def render? + current_user.admin? + end +end diff --git a/app/components/projects/table_component.html.erb b/app/components/projects/table_component.html.erb index 328add258e92..32c50810249c 100644 --- a/app/components/projects/table_component.html.erb +++ b/app/components/projects/table_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/projects/table_component.rb b/app/components/projects/table_component.rb index 8558b3144a71..96cf97e5c353 100644 --- a/app/components/projects/table_component.rb +++ b/app/components/projects/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/row_component.html.erb b/app/components/row_component.html.erb index e9f5f39b4d64..8ed51f189240 100644 --- a/app/components/row_component.html.erb +++ b/app/components/row_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/row_component.rb b/app/components/row_component.rb index d5578daa524a..640a26176676 100644 --- a/app/components/row_component.rb +++ b/app/components/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/settings/numeric_setting_component.html.erb b/app/components/settings/numeric_setting_component.html.erb index 298953dc6764..77005c385c04 100644 --- a/app/components/settings/numeric_setting_component.html.erb +++ b/app/components/settings/numeric_setting_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/settings/numeric_setting_component.rb b/app/components/settings/numeric_setting_component.rb index 09ba3da0a4f3..0883cfbabbeb 100644 --- a/app/components/settings/numeric_setting_component.rb +++ b/app/components/settings/numeric_setting_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/settings/text_setting_component.html.erb b/app/components/settings/text_setting_component.html.erb index 0272326f9dec..1fe3cf4789ec 100644 --- a/app/components/settings/text_setting_component.html.erb +++ b/app/components/settings/text_setting_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/settings/text_setting_component.rb b/app/components/settings/text_setting_component.rb index 05efe5c2f0f9..e757d2af1ead 100644 --- a/app/components/settings/text_setting_component.rb +++ b/app/components/settings/text_setting_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/settings/time_zone_setting_component.html.erb b/app/components/settings/time_zone_setting_component.html.erb index 9e900b29577b..543cf7e480fa 100644 --- a/app/components/settings/time_zone_setting_component.html.erb +++ b/app/components/settings/time_zone_setting_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/settings/time_zone_setting_component.rb b/app/components/settings/time_zone_setting_component.rb index fe052d702bf5..84b2f964c1b7 100644 --- a/app/components/settings/time_zone_setting_component.rb +++ b/app/components/settings/time_zone_setting_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/statuses/row_component.rb b/app/components/statuses/row_component.rb index e15607308c25..27c24d9b14b2 100644 --- a/app/components/statuses/row_component.rb +++ b/app/components/statuses/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/statuses/table_component.rb b/app/components/statuses/table_component.rb index 199562a50c0a..e7792d44ae5b 100644 --- a/app/components/statuses/table_component.rb +++ b/app/components/statuses/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/table_component.html.erb b/app/components/table_component.html.erb index 26821fd827f7..6fe25f4f57f2 100644 --- a/app/components/table_component.html.erb +++ b/app/components/table_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/table_component.rb b/app/components/table_component.rb index c20972668d95..26a88eaa6784 100644 --- a/app/components/table_component.rb +++ b/app/components/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/user_filter_component.rb b/app/components/user_filter_component.rb index eaac406b9212..c70909092459 100644 --- a/app/components/user_filter_component.rb +++ b/app/components/user_filter_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/users/auto_login_tokens/row_component.rb b/app/components/users/auto_login_tokens/row_component.rb index fad98299ed7f..784205909c99 100644 --- a/app/components/users/auto_login_tokens/row_component.rb +++ b/app/components/users/auto_login_tokens/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -37,9 +37,7 @@ def token model end - def token_data - token.data - end + delegate :data, to: :token, prefix: true def current? token == current_token diff --git a/app/components/users/auto_login_tokens/table_component.rb b/app/components/users/auto_login_tokens/table_component.rb index 9492bae3b9d2..a73c1a959857 100644 --- a/app/components/users/auto_login_tokens/table_component.rb +++ b/app/components/users/auto_login_tokens/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/users/avatar_component.rb b/app/components/users/avatar_component.rb index 0d3b376ab3eb..a95a5f0c3683 100644 --- a/app/components/users/avatar_component.rb +++ b/app/components/users/avatar_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/users/row_component.rb b/app/components/users/row_component.rb index dbd45017bf2b..b5a435af947b 100644 --- a/app/components/users/row_component.rb +++ b/app/components/users/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/users/sessions/row_component.rb b/app/components/users/sessions/row_component.rb index 292ec1019330..3410ffcda4c2 100644 --- a/app/components/users/sessions/row_component.rb +++ b/app/components/users/sessions/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/users/sessions/table_component.rb b/app/components/users/sessions/table_component.rb index 55cfc086a9eb..8cff7a6775c2 100644 --- a/app/components/users/sessions/table_component.rb +++ b/app/components/users/sessions/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/users/table_component.rb b/app/components/users/table_component.rb index 8af4f9a1b07a..b7f2eea504b3 100644 --- a/app/components/users/table_component.rb +++ b/app/components/users/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/users/user_filter_component.rb b/app/components/users/user_filter_component.rb index c68bf7d03de5..b55cd0d1600a 100644 --- a/app/components/users/user_filter_component.rb +++ b/app/components/users/user_filter_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/versions/row_component.rb b/app/components/versions/row_component.rb index 99b9e889e53a..0bddbf1bc6cb 100644 --- a/app/components/versions/row_component.rb +++ b/app/components/versions/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/versions/table_component.rb b/app/components/versions/table_component.rb index 02b84793dd56..eebc3e41af4f 100644 --- a/app/components/versions/table_component.rb +++ b/app/components/versions/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/work_packages/share/invite_user_form_component.rb b/app/components/work_packages/share/invite_user_form_component.rb index 718f1b7679fc..945256030394 100644 --- a/app/components/work_packages/share/invite_user_form_component.rb +++ b/app/components/work_packages/share/invite_user_form_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/work_packages/share/modal_body_component.rb b/app/components/work_packages/share/modal_body_component.rb index 1eb52aff711a..2d80e91e9c10 100644 --- a/app/components/work_packages/share/modal_body_component.rb +++ b/app/components/work_packages/share/modal_body_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/work_packages/share/modal_upsale_component.rb b/app/components/work_packages/share/modal_upsale_component.rb index 498494814fd4..4a387bec3904 100644 --- a/app/components/work_packages/share/modal_upsale_component.rb +++ b/app/components/work_packages/share/modal_upsale_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/components/work_packages/share/permission_button_component.html.erb b/app/components/work_packages/share/permission_button_component.html.erb index ee6558611046..076976c73e1c 100644 --- a/app/components/work_packages/share/permission_button_component.html.erb +++ b/app/components/work_packages/share/permission_button_component.html.erb @@ -18,8 +18,7 @@ data: { value: option[:value] }, form_arguments: { method: :patch, - name: 'role_ids[]', - value: option[:value] + inputs: form_inputs(option[:value]) }) do |item| item.with_description.with_content(option[:description]) end diff --git a/app/components/work_packages/share/permission_button_component.rb b/app/components/work_packages/share/permission_button_component.rb index 42c5fdfe9a93..e6e03482a364 100644 --- a/app/components/work_packages/share/permission_button_component.rb +++ b/app/components/work_packages/share/permission_button_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -74,6 +74,13 @@ def active_role def permission_name(value) options.select { |option| option[:value] == value } end + + def form_inputs(role_id) + [].tap do |inputs| + inputs << { name: 'role_ids[]', value: role_id } + inputs << { name: 'filters', value: params[:filters] } if params[:filters] + end + end end end end diff --git a/app/contracts/admin_only_contract.rb b/app/contracts/admin_only_contract.rb index 41aaaddcc287..5d7ae4e65961 100644 --- a/app/contracts/admin_only_contract.rb +++ b/app/contracts/admin_only_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/attachments/create_contract.rb b/app/contracts/attachments/create_contract.rb index 897e92b538c5..d4f8b48acc4e 100644 --- a/app/contracts/attachments/create_contract.rb +++ b/app/contracts/attachments/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/attachments/delete_contract.rb b/app/contracts/attachments/delete_contract.rb index 3ad5890a09a7..63f4a375a190 100644 --- a/app/contracts/attachments/delete_contract.rb +++ b/app/contracts/attachments/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/attachments/prepare_upload_contract.rb b/app/contracts/attachments/prepare_upload_contract.rb index 9319c9a46784..5a54cfac1942 100644 --- a/app/contracts/attachments/prepare_upload_contract.rb +++ b/app/contracts/attachments/prepare_upload_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/attachments/validate_replacements.rb b/app/contracts/attachments/validate_replacements.rb index 128b06bacf50..b283805712d0 100644 --- a/app/contracts/attachments/validate_replacements.rb +++ b/app/contracts/attachments/validate_replacements.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/attribute_help_texts/base_contract.rb b/app/contracts/attribute_help_texts/base_contract.rb index e95b7ceff8ec..6e6bbaafd60a 100644 --- a/app/contracts/attribute_help_texts/base_contract.rb +++ b/app/contracts/attribute_help_texts/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/attribute_help_texts/create_contract.rb b/app/contracts/attribute_help_texts/create_contract.rb index 866384c9d23c..286bbe0b1893 100644 --- a/app/contracts/attribute_help_texts/create_contract.rb +++ b/app/contracts/attribute_help_texts/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/attribute_help_texts/update_contract.rb b/app/contracts/attribute_help_texts/update_contract.rb index 1c0eacd12070..eb259eb02f44 100644 --- a/app/contracts/attribute_help_texts/update_contract.rb +++ b/app/contracts/attribute_help_texts/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/authentication/omniauth_auth_hash_contract.rb b/app/contracts/authentication/omniauth_auth_hash_contract.rb index c0fd4e4d630e..3e89231559a0 100644 --- a/app/contracts/authentication/omniauth_auth_hash_contract.rb +++ b/app/contracts/authentication/omniauth_auth_hash_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/backups/create_contract.rb b/app/contracts/backups/create_contract.rb index 3d6b274b3c85..17bc328d8a46 100644 --- a/app/contracts/backups/create_contract.rb +++ b/app/contracts/backups/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/base_contract.rb b/app/contracts/base_contract.rb index 1e0f321fba76..c57c66d1a60d 100644 --- a/app/contracts/base_contract.rb +++ b/app/contracts/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -180,9 +180,10 @@ def ancestor_attribute_aliases # Traverse ancestor hierarchy to collect contract information. # This allows to define attributes on a common base class of two or more contracts. + # Reverse merge is important to use the more specific overrides from subclasses. def collect_ancestor_attributes(attribute_to_collect) combination_method, cleanup_method = if self.class.send(attribute_to_collect).is_a?(Hash) - %i[merge with_indifferent_access] + %i[reverse_merge! with_indifferent_access] else %i[concat uniq] end @@ -198,6 +199,7 @@ def collect_ancestor_attributes_by(attribute_to_collect, combination_method, cle # similar object from the superclass, every call would alter the memoized object as an unwanted side effect. # Not only would that lead to the subclass now having all the attributes of the superclass, # but those attributes would also be duplicated so that performance suffers significantly. + # `dup` also enables usage of combination methods working in place, e.g. `reverse_merge!` attributes = klass.send(attribute_to_collect).dup while klass.superclass != ::BaseContract @@ -246,8 +248,8 @@ def reduce_by_writable_permissions(attributes) canonical_attribute = attribute.delete_suffix('_id') permissions = attribute_permissions[canonical_attribute] || - attribute_permissions["#{canonical_attribute}_id"] || - attribute_permissions[:default_permission] + attribute_permissions["#{canonical_attribute}_id"] || + attribute_permissions[:default_permission] next unless permissions diff --git a/app/contracts/concerns/assignable_custom_field_values.rb b/app/contracts/concerns/assignable_custom_field_values.rb index 379768e852de..91d7339f9bab 100644 --- a/app/contracts/concerns/assignable_custom_field_values.rb +++ b/app/contracts/concerns/assignable_custom_field_values.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/concerns/requires_admin_guard.rb b/app/contracts/concerns/requires_admin_guard.rb index 568193a0bca0..b01feb96064b 100644 --- a/app/contracts/concerns/requires_admin_guard.rb +++ b/app/contracts/concerns/requires_admin_guard.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/concerns/requires_enterprise_guard.rb b/app/contracts/concerns/requires_enterprise_guard.rb index 291baa559bb8..06e13acdb567 100644 --- a/app/contracts/concerns/requires_enterprise_guard.rb +++ b/app/contracts/concerns/requires_enterprise_guard.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/concerns/single_table_inheritance_model_contract.rb b/app/contracts/concerns/single_table_inheritance_model_contract.rb index b60509b01c14..dcc270996947 100644 --- a/app/contracts/concerns/single_table_inheritance_model_contract.rb +++ b/app/contracts/concerns/single_table_inheritance_model_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/concerns/unchanged_project.rb b/app/contracts/concerns/unchanged_project.rb index cdd8e8b71ea7..6ec6e48fba65 100644 --- a/app/contracts/concerns/unchanged_project.rb +++ b/app/contracts/concerns/unchanged_project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/custom_actions/cu_contract.rb b/app/contracts/custom_actions/cu_contract.rb index 6817bd0c7c22..54e7025349d1 100644 --- a/app/contracts/custom_actions/cu_contract.rb +++ b/app/contracts/custom_actions/cu_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/custom_actions/execute_contract.rb b/app/contracts/custom_actions/execute_contract.rb index 112bcd4fc7b1..08c29a66a594 100644 --- a/app/contracts/custom_actions/execute_contract.rb +++ b/app/contracts/custom_actions/execute_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/custom_fields/base_contract.rb b/app/contracts/custom_fields/base_contract.rb index 381b140ab5c9..faea4941b9c1 100644 --- a/app/contracts/custom_fields/base_contract.rb +++ b/app/contracts/custom_fields/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/custom_fields/create_contract.rb b/app/contracts/custom_fields/create_contract.rb index 3f74c1855399..e12a3014174f 100644 --- a/app/contracts/custom_fields/create_contract.rb +++ b/app/contracts/custom_fields/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/custom_fields/update_contract.rb b/app/contracts/custom_fields/update_contract.rb index 66e7a32794af..6e7df4fd813a 100644 --- a/app/contracts/custom_fields/update_contract.rb +++ b/app/contracts/custom_fields/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/delete_contract.rb b/app/contracts/delete_contract.rb index 21c950e4c057..1817df95a5a8 100644 --- a/app/contracts/delete_contract.rb +++ b/app/contracts/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/empty_contract.rb b/app/contracts/empty_contract.rb index d62aa9efad43..f9790809b260 100644 --- a/app/contracts/empty_contract.rb +++ b/app/contracts/empty_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/groups/base_contract.rb b/app/contracts/groups/base_contract.rb index bc7d69e30cfe..ee0309e789d3 100644 --- a/app/contracts/groups/base_contract.rb +++ b/app/contracts/groups/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/groups/create_contract.rb b/app/contracts/groups/create_contract.rb index 4e9fd41f4249..8c7d48ed5005 100644 --- a/app/contracts/groups/create_contract.rb +++ b/app/contracts/groups/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/groups/delete_contract.rb b/app/contracts/groups/delete_contract.rb index 536f3c28cf1f..628f9f90f20b 100644 --- a/app/contracts/groups/delete_contract.rb +++ b/app/contracts/groups/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/groups/update_contract.rb b/app/contracts/groups/update_contract.rb index ca0780cb0f31..e724972b80aa 100644 --- a/app/contracts/groups/update_contract.rb +++ b/app/contracts/groups/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/journals/update_contract.rb b/app/contracts/journals/update_contract.rb index 5b3e63011541..85fba341370a 100644 --- a/app/contracts/journals/update_contract.rb +++ b/app/contracts/journals/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/members/base_contract.rb b/app/contracts/members/base_contract.rb index a81252e4ed1e..040a3bd5becc 100644 --- a/app/contracts/members/base_contract.rb +++ b/app/contracts/members/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/members/create_contract.rb b/app/contracts/members/create_contract.rb index cd008bfb77cc..27f616eb10d3 100644 --- a/app/contracts/members/create_contract.rb +++ b/app/contracts/members/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/members/delete_contract.rb b/app/contracts/members/delete_contract.rb index 724a2dbd1220..bd8d14803cbc 100644 --- a/app/contracts/members/delete_contract.rb +++ b/app/contracts/members/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/members/update_contract.rb b/app/contracts/members/update_contract.rb index 664017403780..f3b966cb1e54 100644 --- a/app/contracts/members/update_contract.rb +++ b/app/contracts/members/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/messages/base_contract.rb b/app/contracts/messages/base_contract.rb index f9a9a0923180..fe89acf761b7 100644 --- a/app/contracts/messages/base_contract.rb +++ b/app/contracts/messages/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/messages/create_contract.rb b/app/contracts/messages/create_contract.rb index 1d59c0f40d2b..6d70d0de5262 100644 --- a/app/contracts/messages/create_contract.rb +++ b/app/contracts/messages/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/messages/update_contract.rb b/app/contracts/messages/update_contract.rb index 5ce7e1ddcf29..db2a8508b75e 100644 --- a/app/contracts/messages/update_contract.rb +++ b/app/contracts/messages/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/model_contract.rb b/app/contracts/model_contract.rb index a73616f2b9f8..4c482f3cbdf1 100644 --- a/app/contracts/model_contract.rb +++ b/app/contracts/model_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require_relative './base_contract' +require_relative 'base_contract' ## # Model contract for AR records that diff --git a/app/contracts/notifications/create_contract.rb b/app/contracts/notifications/create_contract.rb index aad839a65344..712884a2b82d 100644 --- a/app/contracts/notifications/create_contract.rb +++ b/app/contracts/notifications/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/oauth/application_contract.rb b/app/contracts/oauth/application_contract.rb index e80296d3d717..8560edfabc89 100644 --- a/app/contracts/oauth/application_contract.rb +++ b/app/contracts/oauth/application_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/oauth_clients/create_contract.rb b/app/contracts/oauth_clients/create_contract.rb index f367479e5b65..3500a4774cef 100644 --- a/app/contracts/oauth_clients/create_contract.rb +++ b/app/contracts/oauth_clients/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/oauth_clients/delete_contract.rb b/app/contracts/oauth_clients/delete_contract.rb index 65c68488b2c7..4fbdc22fea50 100644 --- a/app/contracts/oauth_clients/delete_contract.rb +++ b/app/contracts/oauth_clients/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/params_contract.rb b/app/contracts/params_contract.rb index 05edaf05cbc8..575f302d9222 100644 --- a/app/contracts/params_contract.rb +++ b/app/contracts/params_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/placeholder_users/base_contract.rb b/app/contracts/placeholder_users/base_contract.rb index 870149e1d4ca..cff24d7d52f8 100644 --- a/app/contracts/placeholder_users/base_contract.rb +++ b/app/contracts/placeholder_users/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/placeholder_users/create_contract.rb b/app/contracts/placeholder_users/create_contract.rb index a03eb57ec360..7a02a7b15da7 100644 --- a/app/contracts/placeholder_users/create_contract.rb +++ b/app/contracts/placeholder_users/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/placeholder_users/delete_contract.rb b/app/contracts/placeholder_users/delete_contract.rb index 70852a7de562..1767521a6786 100644 --- a/app/contracts/placeholder_users/delete_contract.rb +++ b/app/contracts/placeholder_users/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/placeholder_users/update_contract.rb b/app/contracts/placeholder_users/update_contract.rb index 5ae315751db1..83d4bb615804 100644 --- a/app/contracts/placeholder_users/update_contract.rb +++ b/app/contracts/placeholder_users/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/projects/archive_contract.rb b/app/contracts/projects/archive_contract.rb index cf88dc4c4b6a..7c719d255a25 100644 --- a/app/contracts/projects/archive_contract.rb +++ b/app/contracts/projects/archive_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/projects/base_contract.rb b/app/contracts/projects/base_contract.rb index bdedad49f4be..84bfde71333e 100644 --- a/app/contracts/projects/base_contract.rb +++ b/app/contracts/projects/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/projects/copy_contract.rb b/app/contracts/projects/copy_contract.rb index 5779cb596e56..205789fac648 100644 --- a/app/contracts/projects/copy_contract.rb +++ b/app/contracts/projects/copy_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/projects/create_contract.rb b/app/contracts/projects/create_contract.rb index 7bafb6e4eca9..2db60762324c 100644 --- a/app/contracts/projects/create_contract.rb +++ b/app/contracts/projects/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/projects/delete_contract.rb b/app/contracts/projects/delete_contract.rb index 084186e88eb0..4c0967a21a3d 100644 --- a/app/contracts/projects/delete_contract.rb +++ b/app/contracts/projects/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/projects/enabled_modules_contract.rb b/app/contracts/projects/enabled_modules_contract.rb index fa397e946392..864caf4f007f 100644 --- a/app/contracts/projects/enabled_modules_contract.rb +++ b/app/contracts/projects/enabled_modules_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/projects/unarchive_contract.rb b/app/contracts/projects/unarchive_contract.rb index e2144abea9ce..53ec5e9b9182 100644 --- a/app/contracts/projects/unarchive_contract.rb +++ b/app/contracts/projects/unarchive_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/projects/update_contract.rb b/app/contracts/projects/update_contract.rb index ca9b662c61f4..471a55e86fb8 100644 --- a/app/contracts/projects/update_contract.rb +++ b/app/contracts/projects/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/queries/base_contract.rb b/app/contracts/queries/base_contract.rb index 0d1b5b902844..d8beb65a253b 100644 --- a/app/contracts/queries/base_contract.rb +++ b/app/contracts/queries/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/queries/copy_contract.rb b/app/contracts/queries/copy_contract.rb index e02dc9f4593f..b67a0c02dcd5 100644 --- a/app/contracts/queries/copy_contract.rb +++ b/app/contracts/queries/copy_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/queries/create_contract.rb b/app/contracts/queries/create_contract.rb index 21f97b1ed3b2..91e46b8791c5 100644 --- a/app/contracts/queries/create_contract.rb +++ b/app/contracts/queries/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/queries/ical_sharing_contract.rb b/app/contracts/queries/ical_sharing_contract.rb index a4d2995ced3d..64dcc1f8db58 100644 --- a/app/contracts/queries/ical_sharing_contract.rb +++ b/app/contracts/queries/ical_sharing_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/queries/update_contract.rb b/app/contracts/queries/update_contract.rb index b9b685e55ad2..a2479b775187 100644 --- a/app/contracts/queries/update_contract.rb +++ b/app/contracts/queries/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/queries/update_form_contract.rb b/app/contracts/queries/update_form_contract.rb index ea83c3eeaf09..ff83d8dad989 100644 --- a/app/contracts/queries/update_form_contract.rb +++ b/app/contracts/queries/update_form_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/relations/base_contract.rb b/app/contracts/relations/base_contract.rb index 01b99134813e..981653ad605c 100644 --- a/app/contracts/relations/base_contract.rb +++ b/app/contracts/relations/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/relations/create_contract.rb b/app/contracts/relations/create_contract.rb index 288f24e7e0f2..6f6318ceef6d 100644 --- a/app/contracts/relations/create_contract.rb +++ b/app/contracts/relations/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/relations/delete_contract.rb b/app/contracts/relations/delete_contract.rb index a0a10c26465a..9a266dabc669 100644 --- a/app/contracts/relations/delete_contract.rb +++ b/app/contracts/relations/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/relations/update_contract.rb b/app/contracts/relations/update_contract.rb index cda517a52fee..4551c9bed4f0 100644 --- a/app/contracts/relations/update_contract.rb +++ b/app/contracts/relations/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/roles/base_contract.rb b/app/contracts/roles/base_contract.rb index 493ccc23c9b2..696c0ed92219 100644 --- a/app/contracts/roles/base_contract.rb +++ b/app/contracts/roles/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/roles/create_contract.rb b/app/contracts/roles/create_contract.rb index eb84bb6e6dc3..076d7774501c 100644 --- a/app/contracts/roles/create_contract.rb +++ b/app/contracts/roles/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/roles/delete_contract.rb b/app/contracts/roles/delete_contract.rb index d0a28ba37337..3bd499fad3f0 100644 --- a/app/contracts/roles/delete_contract.rb +++ b/app/contracts/roles/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/roles/update_contract.rb b/app/contracts/roles/update_contract.rb index afd27cf3f865..d0fdbc44a15e 100644 --- a/app/contracts/roles/update_contract.rb +++ b/app/contracts/roles/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/settings/update_contract.rb b/app/contracts/settings/update_contract.rb index 3dc8a89156d0..a78c3dbe0010 100644 --- a/app/contracts/settings/update_contract.rb +++ b/app/contracts/settings/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/settings/working_days_params_contract.rb b/app/contracts/settings/working_days_params_contract.rb index 24b01cb03813..c19f63062f85 100644 --- a/app/contracts/settings/working_days_params_contract.rb +++ b/app/contracts/settings/working_days_params_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/types/base_contract.rb b/app/contracts/types/base_contract.rb index 35ef7a058883..22202424a38b 100644 --- a/app/contracts/types/base_contract.rb +++ b/app/contracts/types/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/user_preferences/base_contract.rb b/app/contracts/user_preferences/base_contract.rb index c1b336d208eb..c23970bf1e7f 100644 --- a/app/contracts/user_preferences/base_contract.rb +++ b/app/contracts/user_preferences/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/user_preferences/params_contract.rb b/app/contracts/user_preferences/params_contract.rb index 5482b251659f..0450f0c0144d 100644 --- a/app/contracts/user_preferences/params_contract.rb +++ b/app/contracts/user_preferences/params_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/user_preferences/update_contract.rb b/app/contracts/user_preferences/update_contract.rb index 7c09a5abc9e7..37463a2ecd47 100644 --- a/app/contracts/user_preferences/update_contract.rb +++ b/app/contracts/user_preferences/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/users/base_contract.rb b/app/contracts/users/base_contract.rb index 3f7279e71ab0..a28ddcd0ec13 100644 --- a/app/contracts/users/base_contract.rb +++ b/app/contracts/users/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/users/create_contract.rb b/app/contracts/users/create_contract.rb index 145488bf3900..3055261bf060 100644 --- a/app/contracts/users/create_contract.rb +++ b/app/contracts/users/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/users/delete_contract.rb b/app/contracts/users/delete_contract.rb index 35cbe2b2acc4..994dac0be868 100644 --- a/app/contracts/users/delete_contract.rb +++ b/app/contracts/users/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/users/update_contract.rb b/app/contracts/users/update_contract.rb index c60e7c426c34..f794a575a7d6 100644 --- a/app/contracts/users/update_contract.rb +++ b/app/contracts/users/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/versions/base_contract.rb b/app/contracts/versions/base_contract.rb index 6b40cfba9a97..253c13e9c6b0 100644 --- a/app/contracts/versions/base_contract.rb +++ b/app/contracts/versions/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/versions/create_contract.rb b/app/contracts/versions/create_contract.rb index cb41b2023f1b..76399e0d1f8e 100644 --- a/app/contracts/versions/create_contract.rb +++ b/app/contracts/versions/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/versions/delete_contract.rb b/app/contracts/versions/delete_contract.rb index ead8d962b25b..744fec993d40 100644 --- a/app/contracts/versions/delete_contract.rb +++ b/app/contracts/versions/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/versions/update_contract.rb b/app/contracts/versions/update_contract.rb index 4a05f874ea6b..614499eb0f0c 100644 --- a/app/contracts/versions/update_contract.rb +++ b/app/contracts/versions/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/views/base_contract.rb b/app/contracts/views/base_contract.rb index 64ac1c142b85..2be1e778027a 100644 --- a/app/contracts/views/base_contract.rb +++ b/app/contracts/views/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/views/create_contract.rb b/app/contracts/views/create_contract.rb index 948c7af736ef..0f326a0d849f 100644 --- a/app/contracts/views/create_contract.rb +++ b/app/contracts/views/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/views/update_contract.rb b/app/contracts/views/update_contract.rb index 0b35cd497d4f..474a5d012e85 100644 --- a/app/contracts/views/update_contract.rb +++ b/app/contracts/views/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/wiki_pages/base_contract.rb b/app/contracts/wiki_pages/base_contract.rb index f915ea29584e..11f254ef15ab 100644 --- a/app/contracts/wiki_pages/base_contract.rb +++ b/app/contracts/wiki_pages/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/wiki_pages/copy_contract.rb b/app/contracts/wiki_pages/copy_contract.rb index c8a7ed434e2b..d7cf16e9e624 100644 --- a/app/contracts/wiki_pages/copy_contract.rb +++ b/app/contracts/wiki_pages/copy_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/wiki_pages/create_contract.rb b/app/contracts/wiki_pages/create_contract.rb index 5f3e4c3944ca..5074f964300d 100644 --- a/app/contracts/wiki_pages/create_contract.rb +++ b/app/contracts/wiki_pages/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/wiki_pages/update_contract.rb b/app/contracts/wiki_pages/update_contract.rb index 748a7258a1f4..e32643172f02 100644 --- a/app/contracts/wiki_pages/update_contract.rb +++ b/app/contracts/wiki_pages/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/work_packages/base_contract.rb b/app/contracts/work_packages/base_contract.rb index 7fce2c620fb2..a5e488c562b9 100644 --- a/app/contracts/work_packages/base_contract.rb +++ b/app/contracts/work_packages/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,6 +34,7 @@ class BaseContract < ::ModelContract attribute :subject attribute :description attribute :status_id, + permission: %i[edit_work_packages change_work_package_status], writable: ->(*) { # If we did not change into the status, # mark unwritable if status and version is closed @@ -60,6 +61,10 @@ class BaseContract < ::ModelContract attribute :derived_estimated_hours, writable: false + attribute :remaining_hours + attribute :derived_remaining_hours, + writable: false + attribute :parent_id, permission: :manage_subtasks @@ -194,7 +199,9 @@ def assignable_budgets end def assignable_assignees - if model.project + if model.persisted? + Principal.possible_assignee(model) + elsif model.project Principal.possible_assignee(model.project) else Principal.none diff --git a/app/contracts/work_packages/copy_project_contract.rb b/app/contracts/work_packages/copy_project_contract.rb index a30062894bbb..178289a5517c 100644 --- a/app/contracts/work_packages/copy_project_contract.rb +++ b/app/contracts/work_packages/copy_project_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/work_packages/create_contract.rb b/app/contracts/work_packages/create_contract.rb index a217318c8e9a..a8090b4ff267 100644 --- a/app/contracts/work_packages/create_contract.rb +++ b/app/contracts/work_packages/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,6 +34,11 @@ class CreateContract < BaseContract writable: false do errors.add :author_id, :invalid if model.author != user end + attribute :status_id, + # Overriding permission from WP base contract to ignore change_work_package_status for creation, + # because we don't require that permission for writable status during WP creation. + # Note that nil would not override and [] would ignore the default permission, so we use the default here: + permission: :add_work_packages default_attribute_permission :add_work_packages diff --git a/app/contracts/work_packages/create_note_contract.rb b/app/contracts/work_packages/create_note_contract.rb index 7f949d2a4398..4d28ea9fecc0 100644 --- a/app/contracts/work_packages/create_note_contract.rb +++ b/app/contracts/work_packages/create_note_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/work_packages/delete_contract.rb b/app/contracts/work_packages/delete_contract.rb index 64c3b985d2a4..35913f594a9c 100644 --- a/app/contracts/work_packages/delete_contract.rb +++ b/app/contracts/work_packages/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/work_packages/skip_authorization_checks.rb b/app/contracts/work_packages/skip_authorization_checks.rb index 897a1718cadf..a14e83fc3181 100644 --- a/app/contracts/work_packages/skip_authorization_checks.rb +++ b/app/contracts/work_packages/skip_authorization_checks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/contracts/work_packages/update_contract.rb b/app/contracts/work_packages/update_contract.rb index ee27bc04fde7..f8e54351e9b7 100644 --- a/app/contracts/work_packages/update_contract.rb +++ b/app/contracts/work_packages/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ class UpdateContract < BaseContract include UnchangedProject attribute :lock_version, - permission: %i[edit_work_packages assign_versions manage_subtasks move_work_packages] do + permission: %i[edit_work_packages change_work_package_status assign_versions manage_subtasks move_work_packages] do if model.lock_version.nil? || model.lock_version_changed? errors.add :base, :error_conflict end @@ -52,6 +52,7 @@ def user_allowed_to_edit with_unchanged_project_id do next if @can.allowed?(model, :edit) || @can.allowed?(model, :assign_version) || + @can.allowed?(model, :change_status) || @can.allowed?(model, :manage_subtasks) || @can.allowed?(model, :move) next if allowed_journal_addition? diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index 08aca931c65f..b055a92dbe0e 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -203,12 +203,10 @@ def activate_self_registered(token) else flash[:error] = I18n.t(:notice_activation_failed) end + elsif user.active? + flash[:notice] = I18n.t(:notice_account_already_activated) else - if user.active? - flash[:notice] = I18n.t(:notice_account_already_activated) - else - flash[:error] = I18n.t(:notice_activation_failed) - end + flash[:error] = I18n.t(:notice_activation_failed) end diff --git a/app/controllers/activities_controller.rb b/app/controllers/activities_controller.rb index dc9fcc6e5643..ea5c8b292ccb 100644 --- a/app/controllers/activities_controller.rb +++ b/app/controllers/activities_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/backups_controller.rb b/app/controllers/admin/backups_controller.rb index 8cca46ba8cfe..4bd22d771041 100644 --- a/app/controllers/admin/backups_controller.rb +++ b/app/controllers/admin/backups_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/aggregation_settings_controller.rb b/app/controllers/admin/settings/aggregation_settings_controller.rb index f14f5c6e1a97..a01f5b774a33 100644 --- a/app/controllers/admin/settings/aggregation_settings_controller.rb +++ b/app/controllers/admin/settings/aggregation_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/api_settings_controller.rb b/app/controllers/admin/settings/api_settings_controller.rb index c7ad4f4949f9..249c390e3ce1 100644 --- a/app/controllers/admin/settings/api_settings_controller.rb +++ b/app/controllers/admin/settings/api_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/attachments_settings_controller.rb b/app/controllers/admin/settings/attachments_settings_controller.rb index 81a9a78c62a7..98633cee7f9b 100644 --- a/app/controllers/admin/settings/attachments_settings_controller.rb +++ b/app/controllers/admin/settings/attachments_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/authentication_settings_controller.rb b/app/controllers/admin/settings/authentication_settings_controller.rb index 2bcfaaece5b1..875d6c16789a 100644 --- a/app/controllers/admin/settings/authentication_settings_controller.rb +++ b/app/controllers/admin/settings/authentication_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/date_format_settings_controller.rb b/app/controllers/admin/settings/date_format_settings_controller.rb index 37de469133d6..27f21858d511 100644 --- a/app/controllers/admin/settings/date_format_settings_controller.rb +++ b/app/controllers/admin/settings/date_format_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/experimental_settings_controller.rb b/app/controllers/admin/settings/experimental_settings_controller.rb index 9a1ab0391697..2e05c08c5ddf 100644 --- a/app/controllers/admin/settings/experimental_settings_controller.rb +++ b/app/controllers/admin/settings/experimental_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/general_settings_controller.rb b/app/controllers/admin/settings/general_settings_controller.rb index 38cc32cc19b6..114a65065d95 100644 --- a/app/controllers/admin/settings/general_settings_controller.rb +++ b/app/controllers/admin/settings/general_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/icalendar_settings_controller.rb b/app/controllers/admin/settings/icalendar_settings_controller.rb index df970f0fde87..5bbb35d04765 100644 --- a/app/controllers/admin/settings/icalendar_settings_controller.rb +++ b/app/controllers/admin/settings/icalendar_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/incoming_mails_settings_controller.rb b/app/controllers/admin/settings/incoming_mails_settings_controller.rb index bf8e02e5894f..4848e5ea802d 100644 --- a/app/controllers/admin/settings/incoming_mails_settings_controller.rb +++ b/app/controllers/admin/settings/incoming_mails_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/languages_settings_controller.rb b/app/controllers/admin/settings/languages_settings_controller.rb index 8851ee2a130a..3a2ed0fc99d3 100644 --- a/app/controllers/admin/settings/languages_settings_controller.rb +++ b/app/controllers/admin/settings/languages_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/mail_notifications_settings_controller.rb b/app/controllers/admin/settings/mail_notifications_settings_controller.rb index b0f0f877ad65..2029d00a2a22 100644 --- a/app/controllers/admin/settings/mail_notifications_settings_controller.rb +++ b/app/controllers/admin/settings/mail_notifications_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/projects_settings_controller.rb b/app/controllers/admin/settings/projects_settings_controller.rb index c10212545cd8..aa90d96147dc 100644 --- a/app/controllers/admin/settings/projects_settings_controller.rb +++ b/app/controllers/admin/settings/projects_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/repositories_settings_controller.rb b/app/controllers/admin/settings/repositories_settings_controller.rb index 36a70aa26684..05dd5f86778c 100644 --- a/app/controllers/admin/settings/repositories_settings_controller.rb +++ b/app/controllers/admin/settings/repositories_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/users_settings_controller.rb b/app/controllers/admin/settings/users_settings_controller.rb index 322667aea469..e41ae5479f27 100644 --- a/app/controllers/admin/settings/users_settings_controller.rb +++ b/app/controllers/admin/settings/users_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/work_packages_settings_controller.rb b/app/controllers/admin/settings/work_packages_settings_controller.rb index 7791e4572619..6d7134d0b48c 100644 --- a/app/controllers/admin/settings/work_packages_settings_controller.rb +++ b/app/controllers/admin/settings/work_packages_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings/working_days_settings_controller.rb b/app/controllers/admin/settings/working_days_settings_controller.rb index e3f63a9519f9..f0c7bdfa89fb 100644 --- a/app/controllers/admin/settings/working_days_settings_controller.rb +++ b/app/controllers/admin/settings/working_days_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb index 7bee5fdd5c2a..72d222b08e68 100644 --- a/app/controllers/admin/settings_controller.rb +++ b/app/controllers/admin/settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 0afa1ea2bafb..91dd292afc99 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -105,7 +105,7 @@ def show_local_breadcrumb private def hidden_admin_menu_items - (OpenProject::Configuration.hidden_menu_items[:admin_menu.to_s] || []) + OpenProject::Configuration.hidden_menu_items[:admin_menu.to_s] || [] end def plaintext_extraction_checks diff --git a/app/controllers/angular_controller.rb b/app/controllers/angular_controller.rb index f20b1b2d3d36..c92abcda3769 100644 --- a/app/controllers/angular_controller.rb +++ b/app/controllers/angular_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/api_docs_controller.rb b/app/controllers/api_docs_controller.rb index d19fdd30e491..50ac41572efd 100644 --- a/app/controllers/api_docs_controller.rb +++ b/app/controllers/api_docs_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 5ca9eb2b0514..9aa5ae8ee0cd 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -263,7 +263,7 @@ def authorize_in_any_project(ctrl = params[:controller], action = params[:action end def authorize_in_model(ctrl = params[:controller], action = params[:action]) - model = instance_variable_get("@#{model_object.to_s.underscore}") + model = instance_variable_get(:"@#{model_object.to_s.underscore}") allowed = User.current.allowed_in_entity?({ controller: ctrl, action: }, model, model_object) @@ -377,7 +377,7 @@ def find_model_object(object_id = :id) model = self.class._model_object if model @object = model.find(params[object_id]) - instance_variable_set("@#{controller_name.singularize}", @object) if @object + instance_variable_set(:"@#{controller_name.singularize}", @object) if @object end rescue ActiveRecord::RecordNotFound render_404 @@ -388,7 +388,7 @@ def find_model_object_and_project(object_id = :id) model_object = self.class._model_object instance = model_object.find(params[object_id]) @project = instance.project - instance_variable_set("@#{model_object.to_s.underscore}", instance) + instance_variable_set(:"@#{model_object.to_s.underscore}", instance) else @project = Project.find(params[:project_id]) end diff --git a/app/controllers/attribute_help_texts_controller.rb b/app/controllers/attribute_help_texts_controller.rb index 18a5cc9c4810..f9a5b2bbdf0b 100644 --- a/app/controllers/attribute_help_texts_controller.rb +++ b/app/controllers/attribute_help_texts_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/categories_controller.rb b/app/controllers/categories_controller.rb index dc52c16dd1bb..1c9755f07c5a 100644 --- a/app/controllers/categories_controller.rb +++ b/app/controllers/categories_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/colors_controller.rb b/app/controllers/colors_controller.rb index c28739aa80d8..5e671dc1ee5e 100644 --- a/app/controllers/colors_controller.rb +++ b/app/controllers/colors_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/concerns/accounts/current_user.rb b/app/controllers/concerns/accounts/current_user.rb index 2df6d50c501e..ef2b81a36f55 100644 --- a/app/controllers/concerns/accounts/current_user.rb +++ b/app/controllers/concerns/accounts/current_user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -113,6 +113,7 @@ def current_rss_key_user def current_api_key_user return unless Setting.rest_api_enabled? && api_request? + key = api_key_from_request if key && accept_key_auth_actions.include?(params[:action]) diff --git a/app/controllers/concerns/accounts/omniauth_login.rb b/app/controllers/concerns/accounts/omniauth_login.rb index 61adf240a692..80af54e8fe68 100644 --- a/app/controllers/concerns/accounts/omniauth_login.rb +++ b/app/controllers/concerns/accounts/omniauth_login.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/concerns/accounts/redirect_after_login.rb b/app/controllers/concerns/accounts/redirect_after_login.rb index 3ff528d1e965..e5bcc7e9a359 100644 --- a/app/controllers/concerns/accounts/redirect_after_login.rb +++ b/app/controllers/concerns/accounts/redirect_after_login.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/concerns/accounts/user_consent.rb b/app/controllers/concerns/accounts/user_consent.rb index aabf5e04b775..74cf7f9d00ca 100644 --- a/app/controllers/concerns/accounts/user_consent.rb +++ b/app/controllers/concerns/accounts/user_consent.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/concerns/accounts/user_limits.rb b/app/controllers/concerns/accounts/user_limits.rb index 649e3508c91e..18b2cd91056c 100644 --- a/app/controllers/concerns/accounts/user_limits.rb +++ b/app/controllers/concerns/accounts/user_limits.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/concerns/accounts/user_password_change.rb b/app/controllers/concerns/accounts/user_password_change.rb index ff4c5b8b6212..00ccee1b98bf 100644 --- a/app/controllers/concerns/accounts/user_password_change.rb +++ b/app/controllers/concerns/accounts/user_password_change.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/concerns/attachable_service_call.rb b/app/controllers/concerns/attachable_service_call.rb index a247bbd88557..aa878d44ce7c 100644 --- a/app/controllers/concerns/attachable_service_call.rb +++ b/app/controllers/concerns/attachable_service_call.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/concerns/layout.rb b/app/controllers/concerns/layout.rb index 93641495fcce..c1efaadd2374 100644 --- a/app/controllers/concerns/layout.rb +++ b/app/controllers/concerns/layout.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/concerns/member_helper.rb b/app/controllers/concerns/member_helper.rb index c9abd1529ce5..93f15002b4e7 100644 --- a/app/controllers/concerns/member_helper.rb +++ b/app/controllers/concerns/member_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -79,10 +79,8 @@ def enterprise_allow_new_users? !OpenProject::Enterprise.user_limit_reached? || !OpenProject::Enterprise.fail_fast? end - def each_comma_separated(array, &block) - array.map do |e| - block.call(e) - end.flatten + def each_comma_separated(array, &) + array.map(&).flatten end def transform_array_of_comma_separated_ids(array) diff --git a/app/controllers/concerns/op_turbo/component_stream.rb b/app/controllers/concerns/op_turbo/component_stream.rb index 585c2411c729..6d8c2ed136ac 100644 --- a/app/controllers/concerns/op_turbo/component_stream.rb +++ b/app/controllers/concerns/op_turbo/component_stream.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,7 +36,7 @@ def respond_to_with_turbo_streams(&format_block) render turbo_stream: turbo_streams, status: end - format_block.call(format) if block_given? + yield(format) if format_block end end alias_method :respond_with_turbo_streams, :respond_to_with_turbo_streams diff --git a/app/controllers/concerns/password_confirmation.rb b/app/controllers/concerns/password_confirmation.rb index c2887c69be8e..79ecc8e1446f 100644 --- a/app/controllers/concerns/password_confirmation.rb +++ b/app/controllers/concerns/password_confirmation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/concerns/user_invitation.rb b/app/controllers/concerns/user_invitation.rb index 67d2209362d7..f95192f48ff5 100644 --- a/app/controllers/concerns/user_invitation.rb +++ b/app/controllers/concerns/user_invitation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/custom_actions_controller.rb b/app/controllers/custom_actions_controller.rb index f85c3606a1db..50a017ce0247 100644 --- a/app/controllers/custom_actions_controller.rb +++ b/app/controllers/custom_actions_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/custom_fields_controller.rb b/app/controllers/custom_fields_controller.rb index 7d1e21b8330e..b7b656437260 100644 --- a/app/controllers/custom_fields_controller.rb +++ b/app/controllers/custom_fields_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/custom_styles_controller.rb b/app/controllers/custom_styles_controller.rb index 2ffa180ae684..3eacc1d00a7d 100644 --- a/app/controllers/custom_styles_controller.rb +++ b/app/controllers/custom_styles_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/enterprises_controller.rb b/app/controllers/enterprises_controller.rb index 39432ffefb16..ef36a889c0c6 100644 --- a/app/controllers/enterprises_controller.rb +++ b/app/controllers/enterprises_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/enumerations_controller.rb b/app/controllers/enumerations_controller.rb index f72ea6235b33..6dee9f4253fe 100644 --- a/app/controllers/enumerations_controller.rb +++ b/app/controllers/enumerations_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb index bf5208a03871..d67db8c46e18 100644 --- a/app/controllers/errors_controller.rb +++ b/app/controllers/errors_controller.rb @@ -8,7 +8,7 @@ def not_found end def unacceptable - render file: "#{Rails.root}/public/422.html", + render file: "#{Rails.public_path.join('422.html')}", status: :unacceptable, layout: false end diff --git a/app/controllers/forums_controller.rb b/app/controllers/forums_controller.rb index 2f8a28ab9f4c..b7795a503b42 100644 --- a/app/controllers/forums_controller.rb +++ b/app/controllers/forums_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/groups_controller.rb b/app/controllers/groups_controller.rb index 9bf04cb0ba01..ddd33e3cade7 100644 --- a/app/controllers/groups_controller.rb +++ b/app/controllers/groups_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/help_controller.rb b/app/controllers/help_controller.rb index 0963bc474293..2af67cb280a4 100644 --- a/app/controllers/help_controller.rb +++ b/app/controllers/help_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/highlighting_controller.rb b/app/controllers/highlighting_controller.rb index 11dd0f132fbc..4a19f32904e1 100644 --- a/app/controllers/highlighting_controller.rb +++ b/app/controllers/highlighting_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/homescreen_controller.rb b/app/controllers/homescreen_controller.rb index 4ddfe4ecdf1e..686c1434e39f 100644 --- a/app/controllers/homescreen_controller.rb +++ b/app/controllers/homescreen_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/journals_controller.rb b/app/controllers/journals_controller.rb index ce7b52c3c66e..c1725f4bdbc2 100644 --- a/app/controllers/journals_controller.rb +++ b/app/controllers/journals_controller.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/ldap_auth_sources_controller.rb b/app/controllers/ldap_auth_sources_controller.rb index 7438cee241ef..286329269deb 100644 --- a/app/controllers/ldap_auth_sources_controller.rb +++ b/app/controllers/ldap_auth_sources_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/members/menus_controller.rb b/app/controllers/members/menus_controller.rb new file mode 100644 index 000000000000..6d0aeca4cc65 --- /dev/null +++ b/app/controllers/members/menus_controller.rb @@ -0,0 +1,107 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2024 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ +module Members + class MenusController < ApplicationController + before_action :find_project_by_project_id, + :authorize + + def show + @sidebar_menu_items = first_level_menu_items + nested_menu_items + render layout: nil + end + + private + + def first_level_menu_items + [ + OpenProject::Menu::MenuGroup.new(header: nil, children: user_status_options) + ] + end + + def user_status_options + [ + OpenProject::Menu::MenuItem.new(title: I18n.t('members.menu.all'), + href: project_members_path, + selected: active_filter_count == 0), + OpenProject::Menu::MenuItem.new(title: I18n.t('members.menu.locked'), + href: project_members_path(status: :locked), + selected: selected?(:status, :locked)), + OpenProject::Menu::MenuItem.new(title: I18n.t('members.menu.invited'), + href: project_members_path(status: :invited), + selected: selected?(:status, :invited)) + ] + end + + def nested_menu_items + [ + OpenProject::Menu::MenuGroup.new(header: I18n.t('members.menu.project_roles'), children: project_roles_entries), + OpenProject::Menu::MenuGroup.new(header: I18n.t('members.menu.wp_shares'), children: permission_menu_entries), + OpenProject::Menu::MenuGroup.new(header: I18n.t('members.menu.groups'), children: project_group_entries) + ] + end + + def project_roles_entries + ProjectRole + .where(id: MemberRole.where(member_id: @project.members.select(:id)).select(:role_id)) + .distinct + .pluck(:id, :name) + .map { |id, name| menu_item(:role_id, id, name) } + end + + def permission_menu_entries + Members::UserFilterComponent + .share_options + .map { |name, id| menu_item(:shared_role_id, id, name) } + end + + def project_group_entries + @project + .groups + .order(lastname: :asc) + .distinct + .pluck(:id, :lastname) + .map { |id, name| menu_item(:group_id, id, name) } + end + + def menu_item(filter_key, id, name) + OpenProject::Menu::MenuItem.new(title: name, + href: project_members_path(filter_key => id), + selected: selected?(filter_key, id)) + end + + def selected?(filter_key, value) + return false if active_filter_count > 1 + + params[filter_key] == value.to_s + end + + def active_filter_count + @active_filter_count ||= (params.keys & Members::UserFilterComponent.filter_param_keys.map(&:to_s)).count + end + end +end diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb index 3c047e323173..baac43876d9e 100644 --- a/app/controllers/members_controller.rb +++ b/app/controllers/members_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -142,12 +142,14 @@ def members_table_options(roles) def members_filter_options(roles) groups = Group.all.sort + shares = WorkPackageRole.all status = Members::UserFilterComponent.status_param(params) { groups:, roles:, status:, + shares:, clear_url: project_members_path(@project), project: @project } @@ -186,7 +188,7 @@ def possible_members(criteria, limit) end def index_members - filters = params.slice(:name, :group_id, :role_id, :status) + filters = params.slice(*Members::UserFilterComponent.filter_param_keys) filters[:project_id] = @project.id.to_s @members_query = Members::UserFilterComponent.query(filters) diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 9a30c929a251..24937ec88998 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -114,7 +114,7 @@ def update if call.success? flash[:notice] = t(:notice_successful_update) @message.reload - redirect_to topic_path(@message.root, r: (@message.parent_id && @message.id)) + redirect_to topic_path(@message.root, r: @message.parent_id && @message.id) else render action: 'edit' end diff --git a/app/controllers/my_controller.rb b/app/controllers/my_controller.rb index f6564b5d1b0c..52937b948e4a 100644 --- a/app/controllers/my_controller.rb +++ b/app/controllers/my_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/news/comments_controller.rb b/app/controllers/news/comments_controller.rb index 7e81179f7a6f..7ed4205ec213 100644 --- a/app/controllers/news/comments_controller.rb +++ b/app/controllers/news/comments_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/news_controller.rb b/app/controllers/news_controller.rb index 748dab486135..56f9b39854ce 100644 --- a/app/controllers/news_controller.rb +++ b/app/controllers/news_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/oauth/applications_controller.rb b/app/controllers/oauth/applications_controller.rb index 8634e898082c..11610214d967 100644 --- a/app/controllers/oauth/applications_controller.rb +++ b/app/controllers/oauth/applications_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/oauth/auth_base_controller.rb b/app/controllers/oauth/auth_base_controller.rb index 22c72c950803..7da92dbfe624 100644 --- a/app/controllers/oauth/auth_base_controller.rb +++ b/app/controllers/oauth/auth_base_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/oauth/grants_controller.rb b/app/controllers/oauth/grants_controller.rb index cc44d6bfd4b8..de59afa3ab57 100644 --- a/app/controllers/oauth/grants_controller.rb +++ b/app/controllers/oauth/grants_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/oauth_clients_controller.rb b/app/controllers/oauth_clients_controller.rb index 2d9ec2a95cdf..90804313f79a 100644 --- a/app/controllers/oauth_clients_controller.rb +++ b/app/controllers/oauth_clients_controller.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -118,6 +118,10 @@ def clear_oauth_state_cookie end def set_oauth_errors(service_result) + if service_result.errors.is_a?(::Storages::StorageError) + service_result.errors = service_result.errors.to_active_model_errors + end + flash[:error] = ["#{t(:'oauth_client.errors.oauth_authorization_code_grant_had_errors')}:"] service_result.errors.each do |error| flash[:error] << "#{t(:'oauth_client.errors.oauth_reported')}: #{error.full_message}" diff --git a/app/controllers/onboarding_controller.rb b/app/controllers/onboarding_controller.rb index 1c7dee887a88..b63925e1b9b7 100644 --- a/app/controllers/onboarding_controller.rb +++ b/app/controllers/onboarding_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/placeholder_users/memberships_controller.rb b/app/controllers/placeholder_users/memberships_controller.rb index acd5a5e73950..346c8d91edbd 100644 --- a/app/controllers/placeholder_users/memberships_controller.rb +++ b/app/controllers/placeholder_users/memberships_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/placeholder_users_controller.rb b/app/controllers/placeholder_users_controller.rb index 91a5f2a68cea..06ad095d445a 100644 --- a/app/controllers/placeholder_users_controller.rb +++ b/app/controllers/placeholder_users_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/archive_controller.rb b/app/controllers/projects/archive_controller.rb index e3fec4a88b1e..5ac441fa9c8d 100644 --- a/app/controllers/projects/archive_controller.rb +++ b/app/controllers/projects/archive_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/identifier_controller.rb b/app/controllers/projects/identifier_controller.rb index 8db91dc6474a..9d640988e907 100644 --- a/app/controllers/projects/identifier_controller.rb +++ b/app/controllers/projects/identifier_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/menus_controller.rb b/app/controllers/projects/menus_controller.rb new file mode 100644 index 000000000000..291e1f723950 --- /dev/null +++ b/app/controllers/projects/menus_controller.rb @@ -0,0 +1,81 @@ +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2010-2023 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +# ++ +module Projects + class MenusController < ApplicationController + # No authorize as every user (or logged in user) + # is allowed to see the menu. + + def show + @sidebar_menu_items = first_level_menu_items + render layout: nil + end + + private + + def first_level_menu_items + [ + OpenProject::Menu::MenuGroup.new(header: nil, children: static_filters) + ] + end + + def static_filters + [ + menu_item(I18n.t(:label_all_projects), + []), + menu_item(I18n.t(:label_my_projects), + [{ member_of: { operator: '=', values: ['t'] } }]), + menu_item(I18n.t(:label_public_projects), + [{ public: { operator: '=', values: ['t'] } }]), + menu_item(I18n.t(:label_archived_projects), + [{ active: { operator: '=', values: ['f'] } }]) + ] + end + + def menu_item(title, filters) + href = projects_path_with_filters(filters) + + OpenProject::Menu::MenuItem.new(title:, + href:, + selected: item_selected?(filters)) + end + + def projects_path_with_filters(filters) + return projects_path if filters.empty? + + projects_path(filters: filters.to_json, hide_filters_section: true) + end + + def item_selected?(filters) + active_filters = JSON.parse(params[:filters] || '[]') + + filters == active_filters.map(&:deep_symbolize_keys) + rescue JSON::ParserError + false + end + end +end diff --git a/app/controllers/projects/settings/categories_controller.rb b/app/controllers/projects/settings/categories_controller.rb index f61c21fc72a0..1929018ac415 100644 --- a/app/controllers/projects/settings/categories_controller.rb +++ b/app/controllers/projects/settings/categories_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/settings/custom_fields_controller.rb b/app/controllers/projects/settings/custom_fields_controller.rb index cd139826780c..03f6a1acacaa 100644 --- a/app/controllers/projects/settings/custom_fields_controller.rb +++ b/app/controllers/projects/settings/custom_fields_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/settings/general_controller.rb b/app/controllers/projects/settings/general_controller.rb index 0673b84ba25f..024869dc4bda 100644 --- a/app/controllers/projects/settings/general_controller.rb +++ b/app/controllers/projects/settings/general_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/settings/modules_controller.rb b/app/controllers/projects/settings/modules_controller.rb index e01d84f3fe15..1ef457ae26d1 100644 --- a/app/controllers/projects/settings/modules_controller.rb +++ b/app/controllers/projects/settings/modules_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/settings/repository_controller.rb b/app/controllers/projects/settings/repository_controller.rb index 59ee52e260c1..3bd1d50b160a 100644 --- a/app/controllers/projects/settings/repository_controller.rb +++ b/app/controllers/projects/settings/repository_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/settings/storage_controller.rb b/app/controllers/projects/settings/storage_controller.rb index ed58f78ce7a7..45de66390e04 100644 --- a/app/controllers/projects/settings/storage_controller.rb +++ b/app/controllers/projects/settings/storage_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/settings/types_controller.rb b/app/controllers/projects/settings/types_controller.rb index c21cae5d00c6..68c65ceaaa0b 100644 --- a/app/controllers/projects/settings/types_controller.rb +++ b/app/controllers/projects/settings/types_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/settings/versions_controller.rb b/app/controllers/projects/settings/versions_controller.rb index d7d0a0e79d28..232b0638f07e 100644 --- a/app/controllers/projects/settings/versions_controller.rb +++ b/app/controllers/projects/settings/versions_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/settings_controller.rb b/app/controllers/projects/settings_controller.rb index f6d8443d5fb3..67515829647e 100644 --- a/app/controllers/projects/settings_controller.rb +++ b/app/controllers/projects/settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects/templated_controller.rb b/app/controllers/projects/templated_controller.rb index 514533f69268..6f74a5a77cc5 100644 --- a/app/controllers/projects/templated_controller.rb +++ b/app/controllers/projects/templated_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 5804cee5fa25..3f04158d2836 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 3c8cff6b97f0..315c314b3a24 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/roles_controller.rb b/app/controllers/roles_controller.rb index 558a65007fde..3fd874957eee 100644 --- a/app/controllers/roles_controller.rb +++ b/app/controllers/roles_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/search_controller.rb b/app/controllers/search_controller.rb index fe861cc69bdc..c71ef05ecbd4 100644 --- a/app/controllers/search_controller.rb +++ b/app/controllers/search_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -151,7 +151,7 @@ def search_types # don't search projects types.delete('projects') # only show what the user is allowed to view - types = types.select { |o| User.current.allowed_in_project?("view_#{o}".to_sym, projects_to_search) } + types = types.select { |o| User.current.allowed_in_project?(:"view_#{o}", projects_to_search) } end types diff --git a/app/controllers/statuses_controller.rb b/app/controllers/statuses_controller.rb index 0330a7906d75..38e24b96c080 100644 --- a/app/controllers/statuses_controller.rb +++ b/app/controllers/statuses_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -86,7 +86,7 @@ def update_work_package_done_ratio if Status.update_work_package_done_ratios flash[:notice] = I18n.t(:notice_work_package_done_ratios_updated) else - flash[:error] = I18n.t(:error_work_package_done_ratios_not_updated) + flash[:error] = I18n.t(:error_work_package_done_ratios_not_updated) end redirect_to action: 'index' end diff --git a/app/controllers/sys_controller.rb b/app/controllers/sys_controller.rb index 7f5e1bc5e485..a94c13e4ea1f 100644 --- a/app/controllers/sys_controller.rb +++ b/app/controllers/sys_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/types_controller.rb b/app/controllers/types_controller.rb index 7f5f70611326..43be056024b2 100644 --- a/app/controllers/types_controller.rb +++ b/app/controllers/types_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/users/memberships_controller.rb b/app/controllers/users/memberships_controller.rb index f350c2ce74b8..778675af5c07 100644 --- a/app/controllers/users/memberships_controller.rb +++ b/app/controllers/users/memberships_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 70a147646a57..bb332a605199 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/versions_controller.rb b/app/controllers/versions_controller.rb index 9c01b54c8aff..8576812a74a0 100644 --- a/app/controllers/versions_controller.rb +++ b/app/controllers/versions_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/watchers_controller.rb b/app/controllers/watchers_controller.rb index 93963fb96c65..a02bf428ae25 100644 --- a/app/controllers/watchers_controller.rb +++ b/app/controllers/watchers_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/wiki_controller.rb b/app/controllers/wiki_controller.rb index a4561e5d12d2..0babd91d5d37 100644 --- a/app/controllers/wiki_controller.rb +++ b/app/controllers/wiki_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -336,7 +336,7 @@ def current_menu_item_sym(page) default_item = default_menu_item(page) return unless default_item - "no-menu-item-#{default_item.menu_identifier}".to_sym + :"no-menu-item-#{default_item.menu_identifier}" end private diff --git a/app/controllers/wiki_menu_items_controller.rb b/app/controllers/wiki_menu_items_controller.rb index 215030bb2f13..b3dcb8d87351 100644 --- a/app/controllers/wiki_menu_items_controller.rb +++ b/app/controllers/wiki_menu_items_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -52,7 +52,7 @@ def self.default_menu_item(controller, page) menu_item = controller.default_menu_item(page) return unless menu_item - "no-menu-item-#{menu_item.menu_identifier}".to_sym + :"no-menu-item-#{menu_item.menu_identifier}" end before_action :find_project_by_project_id diff --git a/app/controllers/work_packages/auto_completes_controller.rb b/app/controllers/work_packages/auto_completes_controller.rb index add661381a3e..955140e59050 100644 --- a/app/controllers/work_packages/auto_completes_controller.rb +++ b/app/controllers/work_packages/auto_completes_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/work_packages/bulk_controller.rb b/app/controllers/work_packages/bulk_controller.rb index 6a956432b51a..4bf0a689fd5c 100644 --- a/app/controllers/work_packages/bulk_controller.rb +++ b/app/controllers/work_packages/bulk_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/work_packages/bulk_error_message.rb b/app/controllers/work_packages/bulk_error_message.rb index 9eae4a0dd10c..05df1e659b17 100644 --- a/app/controllers/work_packages/bulk_error_message.rb +++ b/app/controllers/work_packages/bulk_error_message.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/work_packages/moves_controller.rb b/app/controllers/work_packages/moves_controller.rb index 8791f00f6a9f..3d0cc952d960 100644 --- a/app/controllers/work_packages/moves_controller.rb +++ b/app/controllers/work_packages/moves_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/work_packages/reports_controller.rb b/app/controllers/work_packages/reports_controller.rb index 9101df17476f..76be8b1393ac 100644 --- a/app/controllers/work_packages/reports_controller.rb +++ b/app/controllers/work_packages/reports_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/controllers/work_packages/shares_controller.rb b/app/controllers/work_packages/shares_controller.rb index 73296caeb251..8facf685413f 100644 --- a/app/controllers/work_packages/shares_controller.rb +++ b/app/controllers/work_packages/shares_controller.rb @@ -87,7 +87,15 @@ def update .new(user: current_user, model: @share) .call(role_ids: find_role_ids(params[:role_ids])) - respond_with_update_permission_button + find_shares + + if @shares.empty? + respond_with_replace_modal + elsif @shares.include?(@share) + respond_with_update_permission_button + else + respond_with_remove_share + end end def destroy @@ -197,10 +205,7 @@ def find_share end def find_shares - @shares = Member.includes(:roles) - .references(:member_roles) - .of_work_package(@work_package) - .merge(MemberRole.only_non_inherited) + @shares = load_shares(load_query) end def find_project @@ -208,11 +213,7 @@ def find_project end def current_visible_member_count - @current_visible_member_count ||= Member - .joins(:member_roles) - .of_work_package(@work_package) - .merge(MemberRole.only_non_inherited) - .size + @current_visible_member_count ||= load_shares(load_query).size end def load_query diff --git a/app/controllers/work_packages_controller.rb b/app/controllers/work_packages_controller.rb index 0635b21b775b..2b0f2fbfce19 100644 --- a/app/controllers/work_packages_controller.rb +++ b/app/controllers/work_packages_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,6 +30,7 @@ class WorkPackagesController < ApplicationController include QueriesHelper include PaginationHelper include Layout + include WorkPackagesControllerHelper accept_key_auth :index, :show @@ -116,49 +117,12 @@ def atom_journals journals: } end - def atom_list - render_feed(@work_packages, - title: "#{@project || Setting.app_title}: #{I18n.t(:label_work_package_plural)}") - end - private def authorize_on_work_package deny_access(not_found: true) unless work_package end - def protect_from_unauthorized_export - if (supported_list_formats + %w[atom]).include?(params[:format]) && !user_allowed_to_export? - deny_access - false - end - end - - def user_allowed_to_export? - User.current.allowed_in_any_work_package?(:export_work_packages, in_project: @project) - end - - def supported_list_formats - ::Exports::Register.list_formats(WorkPackage).map(&:to_s) - end - - def supported_single_formats - ::Exports::Register.single_formats(WorkPackage).map(&:to_s) - end - - def load_and_validate_query - @query ||= retrieve_query(@project) - @query.name = params[:title] if params[:title].present? - - unless @query.valid? - # Ensure outputting an html response - request.format = 'html' - render_400(message: @query.errors.full_messages.join(". ")) - end - rescue ActiveRecord::RecordNotFound - render_404 - end - def per_page_param case params[:format] when 'atom' diff --git a/app/controllers/workflows_controller.rb b/app/controllers/workflows_controller.rb index 85e864f864d3..00a7ac3b7b0f 100644 --- a/app/controllers/workflows_controller.rb +++ b/app/controllers/workflows_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/forms/work_packages/share/invitee.rb b/app/forms/work_packages/share/invitee.rb index 60cba2edf3e0..f0fe0940af68 100644 --- a/app/forms/work_packages/share/invitee.rb +++ b/app/forms/work_packages/share/invitee.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/accessibility_helper.rb b/app/helpers/accessibility_helper.rb index ef328631bb7a..3568ac8ddc83 100644 --- a/app/helpers/accessibility_helper.rb +++ b/app/helpers/accessibility_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/admin_helper.rb b/app/helpers/admin_helper.rb index 9bfe7ba7cf02..4c62e7e928b3 100644 --- a/app/helpers/admin_helper.rb +++ b/app/helpers/admin_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,7 +34,7 @@ def project_status_options_for_select(selected) def linked_sha_reference(sha, url) if sha && url - link_to sha, url, target: '_blank' + link_to sha, url, target: '_blank', rel: 'noopener' else sha end diff --git a/app/helpers/angular_helper.rb b/app/helpers/angular_helper.rb index 86f6470fbac2..be0fb75e6146 100644 --- a/app/helpers/angular_helper.rb +++ b/app/helpers/angular_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/api_v3_helper.rb b/app/helpers/api_v3_helper.rb index 50be2f4d6eb7..32f9e6343296 100644 --- a/app/helpers/api_v3_helper.rb +++ b/app/helpers/api_v3_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 19a349c2819d..86113995dcac 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/archived_projects_helper.rb b/app/helpers/archived_projects_helper.rb index 8dafde767991..7246f0f8a2bb 100644 --- a/app/helpers/archived_projects_helper.rb +++ b/app/helpers/archived_projects_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/attachments_helper.rb b/app/helpers/attachments_helper.rb index 94925ce4628e..9d71015f3b6b 100644 --- a/app/helpers/attachments_helper.rb +++ b/app/helpers/attachments_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/attribute_help_texts_helper.rb b/app/helpers/attribute_help_texts_helper.rb index 31dfd2bbd630..7754edba2e07 100644 --- a/app/helpers/attribute_help_texts_helper.rb +++ b/app/helpers/attribute_help_texts_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/augmenting_helper.rb b/app/helpers/augmenting_helper.rb index 789c76e72eae..a86884220676 100644 --- a/app/helpers/augmenting_helper.rb +++ b/app/helpers/augmenting_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/authentication_stage_path_helper.rb b/app/helpers/authentication_stage_path_helper.rb index 2d3a89969e1e..f7ad862ea428 100644 --- a/app/helpers/authentication_stage_path_helper.rb +++ b/app/helpers/authentication_stage_path_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/backup_helper.rb b/app/helpers/backup_helper.rb index 0ae3b732855c..c29f2f6e7161 100644 --- a/app/helpers/backup_helper.rb +++ b/app/helpers/backup_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/breadcrumb_helper.rb b/app/helpers/breadcrumb_helper.rb index b519c9200be9..00d26419e3e3 100644 --- a/app/helpers/breadcrumb_helper.rb +++ b/app/helpers/breadcrumb_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/calendars_helper.rb b/app/helpers/calendars_helper.rb index 03c96c609062..4cdf772bb153 100644 --- a/app/helpers/calendars_helper.rb +++ b/app/helpers/calendars_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/colors_helper.rb b/app/helpers/colors_helper.rb index 41f4f19e7816..618eaa53b534 100644 --- a/app/helpers/colors_helper.rb +++ b/app/helpers/colors_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/confirmation_dialog_helper.rb b/app/helpers/confirmation_dialog_helper.rb index 3df98944f58e..a7e41f366328 100644 --- a/app/helpers/confirmation_dialog_helper.rb +++ b/app/helpers/confirmation_dialog_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/custom_fields_helper.rb b/app/helpers/custom_fields_helper.rb index 09db112430e8..e72b411f4676 100644 --- a/app/helpers/custom_fields_helper.rb +++ b/app/helpers/custom_fields_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/custom_styles_helper.rb b/app/helpers/custom_styles_helper.rb index 921bfc0db89b..bfa9547b4961 100644 --- a/app/helpers/custom_styles_helper.rb +++ b/app/helpers/custom_styles_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/error_message_helper.rb b/app/helpers/error_message_helper.rb index b9a7bbc54790..6b3205e4f3ac 100644 --- a/app/helpers/error_message_helper.rb +++ b/app/helpers/error_message_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ module ErrorMessageHelper include ActionView::Helpers::OutputSafetyHelper def error_messages_for(object) - object = instance_variable_get("@#{object}") unless object.respond_to?(:to_model) + object = instance_variable_get(:"@#{object}") unless object.respond_to?(:to_model) object = convert_to_model(object) return unless object diff --git a/app/helpers/errors_helper.rb b/app/helpers/errors_helper.rb index 357055afe65c..f1af78315794 100644 --- a/app/helpers/errors_helper.rb +++ b/app/helpers/errors_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/flash_messages_helper.rb b/app/helpers/flash_messages_helper.rb index ee43bce13ee5..15df5364fc17 100644 --- a/app/helpers/flash_messages_helper.rb +++ b/app/helpers/flash_messages_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/frontend_asset_helper.rb b/app/helpers/frontend_asset_helper.rb index 664c7c88d29b..0aaf9a3c559f 100644 --- a/app/helpers/frontend_asset_helper.rb +++ b/app/helpers/frontend_asset_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/groups_helper.rb b/app/helpers/groups_helper.rb index 9cfe925881f8..24a0baddcb97 100644 --- a/app/helpers/groups_helper.rb +++ b/app/helpers/groups_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/hide_sections_helper.rb b/app/helpers/hide_sections_helper.rb index 13a8aebddb88..94e15d5316b1 100644 --- a/app/helpers/hide_sections_helper.rb +++ b/app/helpers/hide_sections_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/homescreen_helper.rb b/app/helpers/homescreen_helper.rb index 8c87e34da731..06bdf8d6452a 100644 --- a/app/helpers/homescreen_helper.rb +++ b/app/helpers/homescreen_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/icons_helper.rb b/app/helpers/icons_helper.rb index 7e43e0a367cb..33a794a2285d 100644 --- a/app/helpers/icons_helper.rb +++ b/app/helpers/icons_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/individual_principal_hooks_helper.rb b/app/helpers/individual_principal_hooks_helper.rb index 77c3f3eec9ee..07080e5681a8 100644 --- a/app/helpers/individual_principal_hooks_helper.rb +++ b/app/helpers/individual_principal_hooks_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ module IndividualPrincipalHooksHelper def call_individual_principals_memberships_hook(individual_principal, suffix, context = {}) call_context = { individual_principal_key(individual_principal) => individual_principal }.merge(context) - call_hook("view_#{individual_principal.class.name.underscore.pluralize}_memberships_table_#{suffix}".to_sym, call_context) + call_hook(:"view_#{individual_principal.class.name.underscore.pluralize}_memberships_table_#{suffix}", call_context) end def individual_principal_key(individual_principal) diff --git a/app/helpers/journals_helper.rb b/app/helpers/journals_helper.rb index a1c3728e8b1a..1682c1e96edc 100644 --- a/app/helpers/journals_helper.rb +++ b/app/helpers/journals_helper.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/mail_digest_helper.rb b/app/helpers/mail_digest_helper.rb index 83b7bc867030..a299e59289cc 100644 --- a/app/helpers/mail_digest_helper.rb +++ b/app/helpers/mail_digest_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/mail_layout_helper.rb b/app/helpers/mail_layout_helper.rb index 532894e838b5..3ca91ed4817b 100644 --- a/app/helpers/mail_layout_helper.rb +++ b/app/helpers/mail_layout_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -61,10 +61,10 @@ def action_button(&block) def placeholder_cell(number, vertical:) style = if vertical - "max-width:#{number}; min-width:#{number}; width:#{number}" - else - "line-height:#{number}; max-width:0; min-width:0; height:#{number}; width:0; font-size:#{number}" - end + "max-width:#{number}; min-width:#{number}; width:#{number}" + else + "line-height:#{number}; max-width:0; min-width:0; height:#{number}; width:0; font-size:#{number}" + end content_tag('td', ' '.html_safe, style:) end diff --git a/app/helpers/mail_notification_helper.rb b/app/helpers/mail_notification_helper.rb index 7fcf9f9b4ffb..ef987c475f8d 100644 --- a/app/helpers/mail_notification_helper.rb +++ b/app/helpers/mail_notification_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/members_helper.rb b/app/helpers/members_helper.rb index 1c70b0b94b4b..16d9998b0ded 100644 --- a/app/helpers/members_helper.rb +++ b/app/helpers/members_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/messages_helper.rb b/app/helpers/messages_helper.rb index c0c0c2758ecd..9634f21d30b3 100644 --- a/app/helpers/messages_helper.rb +++ b/app/helpers/messages_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/meta_tags_helper.rb b/app/helpers/meta_tags_helper.rb index 1295dabccaa3..2f8b27616bd6 100644 --- a/app/helpers/meta_tags_helper.rb +++ b/app/helpers/meta_tags_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/no_results_helper.rb b/app/helpers/no_results_helper.rb index c3bba8141f5e..872690b0b8cd 100644 --- a/app/helpers/no_results_helper.rb +++ b/app/helpers/no_results_helper.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/oauth_helper.rb b/app/helpers/oauth_helper.rb index 893b9768624e..824be596f1a8 100644 --- a/app/helpers/oauth_helper.rb +++ b/app/helpers/oauth_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/omniauth_helper.rb b/app/helpers/omniauth_helper.rb index 934f315155d9..78904124ec5c 100644 --- a/app/helpers/omniauth_helper.rb +++ b/app/helpers/omniauth_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/pagination_helper.rb b/app/helpers/pagination_helper.rb index 31941c0e762f..72d4cb251601 100644 --- a/app/helpers/pagination_helper.rb +++ b/app/helpers/pagination_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/password_helper.rb b/app/helpers/password_helper.rb index 4ca5947343d7..c210329a4f31 100644 --- a/app/helpers/password_helper.rb +++ b/app/helpers/password_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/placeholder_users_helper.rb b/app/helpers/placeholder_users_helper.rb index dc897b43edb6..020b924a0c67 100644 --- a/app/helpers/placeholder_users_helper.rb +++ b/app/helpers/placeholder_users_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/project_status_helper.rb b/app/helpers/project_status_helper.rb index d26c831dc5dc..8510e2d43dbb 100644 --- a/app/helpers/project_status_helper.rb +++ b/app/helpers/project_status_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index ffb6aa4b7898..693d77967ac8 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,30 +33,6 @@ def show_filters_section? params[:filters].present? && !params.key?(:hide_filters_section) end - def allowed_filters(query) - query - .available_filters - .select { |f| whitelisted_project_filter?(f) } - .sort_by(&:human_name) - end - - def whitelisted_project_filter?(filter) - whitelist = [ - Queries::Projects::Filters::ActiveFilter, - Queries::Projects::Filters::TemplatedFilter, - Queries::Projects::Filters::PublicFilter, - Queries::Projects::Filters::ProjectStatusFilter, - Queries::Projects::Filters::MemberOfFilter, - Queries::Projects::Filters::CreatedAtFilter, - Queries::Projects::Filters::LatestActivityAtFilter, - Queries::Projects::Filters::NameAndIdentifierFilter, - Queries::Projects::Filters::TypeFilter - ] - whitelist << Queries::Filters::Shared::CustomFields::Base if EnterpriseToken.allows_to?(:custom_fields_in_projects_list) - - whitelist.detect { |clazz| filter.is_a? clazz } - end - def no_projects_result_box_params if User.current.allowed_globally?(:add_project) { action_url: new_project_path, display_action: true } @@ -65,79 +41,6 @@ def no_projects_result_box_params end end - def global_menu_items - [ - global_menu_all_projects_item, - global_menu_my_projects_item, - global_menu_public_projects_item, - global_menu_archived_projects_item - ] - end - - def global_menu_all_projects_item - path = projects_path - - [ - t(:label_all_projects), - path, - { class: global_menu_item_css_class(path), - title: t(:label_all_projects) } - ] - end - - def global_menu_my_projects_item - path = projects_path_with_filters( - [{ member_of: { operator: '=', values: ['t'] } }] - ) - - [ - t(:label_my_projects), - path, - { class: global_menu_item_css_class(path), - title: t(:label_my_projects) } - ] - end - - def global_menu_public_projects_item - path = projects_path_with_filters( - [{ public: { operator: '=', values: ['t'] } }] - ) - - [ - t(:label_public_projects), - path, - { class: global_menu_item_css_class(path), - title: t(:label_public_projects) } - ] - end - - def global_menu_archived_projects_item - path = projects_path_with_filters( - [{ active: { operator: '=', values: ['f'] } }] - ) - - [ - t(:label_archived_projects), - path, - { class: global_menu_item_css_class(path), - title: t(:label_archived_projects) } - ] - end - - def projects_path_with_filters(filters) - return projects_path if filters.empty? - - projects_path(filters: filters.to_json, hide_filters_section: true) - end - - def global_menu_item_css_class(path) - "op-sidemenu--item-action #{global_menu_item_selected(path) ? 'selected' : ''}" - end - - def global_menu_item_selected(menu_item_path) - menu_item_path == request.fullpath - end - def project_more_menu_items(project) [project_more_menu_subproject_item(project), project_more_menu_settings_item(project), @@ -290,30 +193,6 @@ def allowed_parent_projects(project) .assignable_parents end - def gantt_portfolio_query_link(filtered_project_ids) - generator = ::Projects::GanttQueryGeneratorService.new(filtered_project_ids) - work_packages_path query_props: generator.call - end - - def gantt_portfolio_project_ids(project_scope) - project_scope - .where(active: true) - .select(:id) - .uniq - .pluck(:id) - end - - def gantt_portfolio_title - title = t('projects.index.open_as_gantt_title') - - if current_user.admin? - title << ' ' - title << t('projects.index.open_as_gantt_title_admin') - end - - title - end - def short_project_description(project, length = 255) unless project.description.present? return '' diff --git a/app/helpers/queries_helper.rb b/app/helpers/queries_helper.rb index 654381a7790d..0593c74f6f9e 100644 --- a/app/helpers/queries_helper.rb +++ b/app/helpers/queries_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/relations_helper.rb b/app/helpers/relations_helper.rb index 324afb1b3476..875f990de741 100644 --- a/app/helpers/relations_helper.rb +++ b/app/helpers/relations_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/removed_js_helpers_helper.rb b/app/helpers/removed_js_helpers_helper.rb index 0c880b183e0d..0c29d1809af1 100644 --- a/app/helpers/removed_js_helpers_helper.rb +++ b/app/helpers/removed_js_helpers_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/reorder_links_helper.rb b/app/helpers/reorder_links_helper.rb index c3a26443e5b5..efa2463f4787 100644 --- a/app/helpers/reorder_links_helper.rb +++ b/app/helpers/reorder_links_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/reports_helper.rb b/app/helpers/reports_helper.rb index 499d1accc899..a2896d9f195f 100644 --- a/app/helpers/reports_helper.rb +++ b/app/helpers/reports_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -41,8 +41,8 @@ def aggregate(data, criteria) end || 0 end - def aggregate_link(data, criteria, *args) + def aggregate_link(data, criteria, *) a = aggregate data, criteria - a.positive? ? link_to(h(a), *args) : '-' + a.positive? ? link_to(h(a), *) : '-' end end diff --git a/app/helpers/repositories_helper.rb b/app/helpers/repositories_helper.rb index 120e56d5a2d0..151811a6fad9 100644 --- a/app/helpers/repositories_helper.rb +++ b/app/helpers/repositories_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -252,7 +252,7 @@ def scm_vendor_tag(repository) action: 'repository-settings#updateSelectedType', 'repository-settings-target': 'scmVendor' }, - disabled: (repository && !repository.new_record?)) + disabled: repository && !repository.new_record?) end def git_path_encoding_options(repository) diff --git a/app/helpers/roles_helper.rb b/app/helpers/roles_helper.rb index 20e0af6c59ca..99488e5e1002 100644 --- a/app/helpers/roles_helper.rb +++ b/app/helpers/roles_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/search_helper.rb b/app/helpers/search_helper.rb index 6a18ef676df4..031371c26850 100644 --- a/app/helpers/search_helper.rb +++ b/app/helpers/search_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/security_badge_helper.rb b/app/helpers/security_badge_helper.rb index 49d75b458f0e..63a75de8f46d 100644 --- a/app/helpers/security_badge_helper.rb +++ b/app/helpers/security_badge_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/settings_helper.rb b/app/helpers/settings_helper.rb index 23ad86cbbd8f..e8c169e20b38 100644 --- a/app/helpers/settings_helper.rb +++ b/app/helpers/settings_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -169,7 +169,7 @@ def setting_check_box(setting, options = {}) hidden + styled_check_box_tag("settings[#{setting}]", 1, - Setting.send("#{setting}?"), + Setting.send(:"#{setting}?"), disabled_setting_option(setting).merge(options)) end end @@ -199,11 +199,11 @@ def setting_block(setting, options = {}, &) private - def wrap_field_outer(options, &block) + def wrap_field_outer(options, &) if options[:label] == false - block.call + yield else - content_tag(:span, class: 'form--field-container', &block) + content_tag(:span, class: 'form--field-container', &) end end @@ -216,7 +216,7 @@ def build_settings_matrix_head(settings, options = {}) hidden_field_tag("settings[#{setting}][]", '') + I18n.t("setting_#{setting}") end - end.join.html_safe # rubocop:disable Rails/OutputSafety + end.join.html_safe end end diff --git a/app/helpers/sort_helper.rb b/app/helpers/sort_helper.rb index d028a442da6c..e9ade0c7d7e0 100644 --- a/app/helpers/sort_helper.rb +++ b/app/helpers/sort_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -124,7 +124,6 @@ def to_a .map { |c, o| [@available_criteria[c], o] } .reject { |c, _| c.nil? } .filter_map { |c, o| append_direction(Array(c), o) } - end def to_query_hash @@ -142,9 +141,9 @@ def add!(key, asc) normalize! end - def add(*args) + def add(*) r = self.class.new.from_param(to_param) - r.add!(*args) + r.add!(*) r end diff --git a/app/helpers/static_links_helper.rb b/app/helpers/static_links_helper.rb index 243d801c501b..7eb11cf08d5b 100644 --- a/app/helpers/static_links_helper.rb +++ b/app/helpers/static_links_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/stimulus_helper.rb b/app/helpers/stimulus_helper.rb index 7b3d726f1e40..ef74dbeadd93 100644 --- a/app/helpers/stimulus_helper.rb +++ b/app/helpers/stimulus_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/tabs_helper.rb b/app/helpers/tabs_helper.rb index cb910d6e6853..f2c199b91582 100644 --- a/app/helpers/tabs_helper.rb +++ b/app/helpers/tabs_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/text_formatting_helper.rb b/app/helpers/text_formatting_helper.rb index d86c563a7d97..65bbacf067e9 100644 --- a/app/helpers/text_formatting_helper.rb +++ b/app/helpers/text_formatting_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/tooltip_helper.rb b/app/helpers/tooltip_helper.rb index e0243527b6a9..50c2a277a536 100644 --- a/app/helpers/tooltip_helper.rb +++ b/app/helpers/tooltip_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/types_helper.rb b/app/helpers/types_helper.rb index 22c4246e3ba7..c0772e72fb77 100644 --- a/app/helpers/types_helper.rb +++ b/app/helpers/types_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/user_consent_helper.rb b/app/helpers/user_consent_helper.rb index f2bc1abe348b..dbf945c51c1d 100644 --- a/app/helpers/user_consent_helper.rb +++ b/app/helpers/user_consent_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index b2ebcd7dffec..a6615893d604 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/versions_helper.rb b/app/helpers/versions_helper.rb index 01d356c9a1be..aae660bc8adc 100644 --- a/app/helpers/versions_helper.rb +++ b/app/helpers/versions_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/warning_bar_helper.rb b/app/helpers/warning_bar_helper.rb index 98a04109b76a..2fb79735d329 100644 --- a/app/helpers/warning_bar_helper.rb +++ b/app/helpers/warning_bar_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/watchers_helper.rb b/app/helpers/watchers_helper.rb index bea11e81ce59..b34c6ac1f456 100644 --- a/app/helpers/watchers_helper.rb +++ b/app/helpers/watchers_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/wiki_helper.rb b/app/helpers/wiki_helper.rb index 2def8ce3dc69..ae03e0c18f15 100644 --- a/app/helpers/wiki_helper.rb +++ b/app/helpers/wiki_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/helpers/work_packages_controller_helper.rb b/app/helpers/work_packages_controller_helper.rb new file mode 100644 index 000000000000..dc1b985694eb --- /dev/null +++ b/app/helpers/work_packages_controller_helper.rb @@ -0,0 +1,66 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2024 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +module WorkPackagesControllerHelper + def protect_from_unauthorized_export + if (supported_list_formats + %w[atom]).include?(params[:format]) && !user_allowed_to_export? + deny_access + false + end + end + + def user_allowed_to_export? + User.current.allowed_in_any_work_package?(:export_work_packages, in_project: @project) + end + + def supported_list_formats + ::Exports::Register.list_formats(WorkPackage).map(&:to_s) + end + + def supported_single_formats + ::Exports::Register.single_formats(WorkPackage).map(&:to_s) + end + + def load_and_validate_query + @query ||= retrieve_query(@project) + @query.name = params[:title] if params[:title].present? + + unless @query.valid? + # Ensure outputting an html response + request.format = 'html' + render_400(message: @query.errors.full_messages.join(". ")) + end + rescue ActiveRecord::RecordNotFound + render_404 + end + + def atom_list + render_feed(@work_packages, + title: "#{@project || Setting.app_title}: #{I18n.t(:label_work_package_plural)}") + end +end diff --git a/app/helpers/work_packages_filter_helper.rb b/app/helpers/work_packages_filter_helper.rb index 258cf12f27d9..94fb7f800272 100644 --- a/app/helpers/work_packages_filter_helper.rb +++ b/app/helpers/work_packages_filter_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -48,6 +48,16 @@ def project_work_packages_open_version_path(version, options = {}) project_work_packages_with_query_path(version.project, query, options) end + def project_work_packages_shared_with_path(principal, project, options = {}) + query = { + f: [ + filter_object('status_id', '*'), + filter_object('shared_with_user', '=', principal.id) + ] + } + project_work_packages_with_query_path(project, query, options) + end + # Links for reports def project_report_property_path(project, property_name, property_id, options = {}) diff --git a/app/helpers/work_packages_helper.rb b/app/helpers/work_packages_helper.rb index c2aa10bd1a00..b3dedb5331b1 100644 --- a/app/helpers/work_packages_helper.rb +++ b/app/helpers/work_packages_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/mailers/announcement_mailer.rb b/app/mailers/announcement_mailer.rb index 52ddaf869568..998505f6e0bb 100644 --- a/app/mailers/announcement_mailer.rb +++ b/app/mailers/announcement_mailer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb index f1d703f40c8b..72d86ed2cb8b 100644 --- a/app/mailers/application_mailer.rb +++ b/app/mailers/application_mailer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/mailers/digest_mailer.rb b/app/mailers/digest_mailer.rb index 7b09399a4e6f..33f208937a32 100644 --- a/app/mailers/digest_mailer.rb +++ b/app/mailers/digest_mailer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/mailers/member_mailer.rb b/app/mailers/member_mailer.rb index 8a64ca88c456..704638ef949d 100644 --- a/app/mailers/member_mailer.rb +++ b/app/mailers/member_mailer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/mailers/project_mailer.rb b/app/mailers/project_mailer.rb index 543f4c863636..fcc3a48b42cd 100644 --- a/app/mailers/project_mailer.rb +++ b/app/mailers/project_mailer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/mailers/sharing_mailer.rb b/app/mailers/sharing_mailer.rb index dbbcc4f8d529..31550cb9498b 100644 --- a/app/mailers/sharing_mailer.rb +++ b/app/mailers/sharing_mailer.rb @@ -50,17 +50,18 @@ def derive_role_rights(role) end def derive_allowed_work_package_actions(role) - allowed_actions = case role.builtin - when Role::BUILTIN_WORK_PACKAGE_EDITOR - [I18n.t('work_package.sharing.permissions.view'), - I18n.t('work_package.sharing.permissions.comment'), - I18n.t('work_package.sharing.permissions.edit')] - when Role::BUILTIN_WORK_PACKAGE_COMMENTER - [I18n.t('work_package.sharing.permissions.view'), - I18n.t('work_package.sharing.permissions.comment')] - when Role::BUILTIN_WORK_PACKAGE_VIEWER - [I18n.t('work_package.sharing.permissions.view')] - end + allowed_actions = + case role.builtin + when Role::BUILTIN_WORK_PACKAGE_EDITOR + [I18n.t('work_package.sharing.permissions.view'), + I18n.t('work_package.sharing.permissions.comment'), + I18n.t('work_package.sharing.permissions.edit')] + when Role::BUILTIN_WORK_PACKAGE_COMMENTER + [I18n.t('work_package.sharing.permissions.view'), + I18n.t('work_package.sharing.permissions.comment')] + when Role::BUILTIN_WORK_PACKAGE_VIEWER + [I18n.t('work_package.sharing.permissions.view')] + end allowed_actions.map(&:downcase) end diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index c833d96b4dee..5e0adc20af25 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/mailers/work_package_mailer.rb b/app/mailers/work_package_mailer.rb index 83b56a414129..57ddcb925af3 100644 --- a/app/mailers/work_package_mailer.rb +++ b/app/mailers/work_package_mailer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/action.rb b/app/models/action.rb index f4912fbc4f9e..8e69476666bd 100644 --- a/app/models/action.rb +++ b/app/models/action.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/actions/scopes/default.rb b/app/models/actions/scopes/default.rb index 6bc7cdbeb361..a98eeb9a7ca7 100644 --- a/app/models/actions/scopes/default.rb +++ b/app/models/actions/scopes/default.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/activities/base_activity_provider.rb b/app/models/activities/base_activity_provider.rb index 9bd0ccea2005..6ce3df6038d7 100644 --- a/app/models/activities/base_activity_provider.rb +++ b/app/models/activities/base_activity_provider.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -68,7 +68,7 @@ def self.activity_provider_for(options = {}) self.activity_provider_options = { type: name.underscore.pluralize, activities: [:activity], - permission: "view_#{name.underscore.pluralize}".to_sym + permission: :"view_#{name.underscore.pluralize}" }.merge(options) end diff --git a/app/models/activities/changeset_activity_provider.rb b/app/models/activities/changeset_activity_provider.rb index ac09f7e14099..4d3bee979e46 100644 --- a/app/models/activities/changeset_activity_provider.rb +++ b/app/models/activities/changeset_activity_provider.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/activities/fetcher.rb b/app/models/activities/fetcher.rb index 9818598ed82e..0da981cbdb2e 100644 --- a/app/models/activities/fetcher.rb +++ b/app/models/activities/fetcher.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/activities/message_activity_provider.rb b/app/models/activities/message_activity_provider.rb index 92d4a584ea86..bbb4e181bdf7 100644 --- a/app/models/activities/message_activity_provider.rb +++ b/app/models/activities/message_activity_provider.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/activities/news_activity_provider.rb b/app/models/activities/news_activity_provider.rb index c231e2137b16..b333ac886e73 100644 --- a/app/models/activities/news_activity_provider.rb +++ b/app/models/activities/news_activity_provider.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/activities/project_activity_provider.rb b/app/models/activities/project_activity_provider.rb index a7126ebaa6a2..a8c2edcea4df 100644 --- a/app/models/activities/project_activity_provider.rb +++ b/app/models/activities/project_activity_provider.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/activities/wiki_page_activity_provider.rb b/app/models/activities/wiki_page_activity_provider.rb index b74702aacfa5..02adffd2c6d5 100644 --- a/app/models/activities/wiki_page_activity_provider.rb +++ b/app/models/activities/wiki_page_activity_provider.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/activities/work_package_activity_provider.rb b/app/models/activities/work_package_activity_provider.rb index 6ee678d2293c..6832c38ca2d4 100644 --- a/app/models/activities/work_package_activity_provider.rb +++ b/app/models/activities/work_package_activity_provider.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/anonymous_user.rb b/app/models/anonymous_user.rb index a1b9a029eab6..0e9b38598e4b 100644 --- a/app/models/anonymous_user.rb +++ b/app/models/anonymous_user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/associations/groupable.rb b/app/models/associations/groupable.rb index 168d11a59628..936af89aca86 100644 --- a/app/models/associations/groupable.rb +++ b/app/models/associations/groupable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/attachment.rb b/app/models/attachment.rb index af2d0bb12179..de87d4fd9f74 100644 --- a/app/models/attachment.rb +++ b/app/models/attachment.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/attribute_help_text.rb b/app/models/attribute_help_text.rb index e6de81dcb9c8..0f44ebc99541 100644 --- a/app/models/attribute_help_text.rb +++ b/app/models/attribute_help_text.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/attribute_help_text/project.rb b/app/models/attribute_help_text/project.rb index f24da3e96e3c..6423c353ce40 100644 --- a/app/models/attribute_help_text/project.rb +++ b/app/models/attribute_help_text/project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/attribute_help_text/work_package.rb b/app/models/attribute_help_text/work_package.rb index da95fe535369..5d67d2d683c9 100644 --- a/app/models/attribute_help_text/work_package.rb +++ b/app/models/attribute_help_text/work_package.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/capabilities/scopes/default.rb b/app/models/capabilities/scopes/default.rb index ef49a797a17d..68f84bba946a 100644 --- a/app/models/capabilities/scopes/default.rb +++ b/app/models/capabilities/scopes/default.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/capability.rb b/app/models/capability.rb index 05ffb8af8f96..ba25d79c728c 100644 --- a/app/models/capability.rb +++ b/app/models/capability.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/category.rb b/app/models/category.rb index 4b7039ecc541..a5ddc8c3bd04 100644 --- a/app/models/category.rb +++ b/app/models/category.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/change.rb b/app/models/change.rb index 1a9fae201698..175e2a497cca 100644 --- a/app/models/change.rb +++ b/app/models/change.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/changeset.rb b/app/models/changeset.rb index a9f82d1c5ef6..5aca757d752b 100644 --- a/app/models/changeset.rb +++ b/app/models/changeset.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -146,7 +146,7 @@ def scan_comment_for_work_package_ids refs = match[3] next unless action.present? || ref_keywords_any - refs.scan(/#(\d+)(\s+@#{TIMELOG_RE})?/).each do |m| + refs.scan(/#(\d+)(\s+@#{TIMELOG_RE})?/o).each do |m| work_package = find_referenced_work_package_by_id(m[0].to_i) hours = m[2] if work_package diff --git a/app/models/color.rb b/app/models/color.rb index 602002252b18..ea84db8aca35 100644 --- a/app/models/color.rb +++ b/app/models/color.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/comment.rb b/app/models/comment.rb index f195088a780f..7cfc6e4e7ab6 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/concerns/tableless.rb b/app/models/concerns/tableless.rb index 14360a6f5970..976fb1c5917d 100644 --- a/app/models/concerns/tableless.rb +++ b/app/models/concerns/tableless.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/concerns/virtual_attribute.rb b/app/models/concerns/virtual_attribute.rb index 60e70605a362..55558d41e308 100644 --- a/app/models/concerns/virtual_attribute.rb +++ b/app/models/concerns/virtual_attribute.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -56,7 +56,7 @@ def _define_virtual_attributes_hook(attribute) end def _define_virtual_attribute_setter(attribute) - define_method "#{attribute}=" do |value| + define_method :"#{attribute}=" do |value| set_virtual_attribute(attribute, value) if send(attribute) != value instance_variable_set(:"@#{attribute}_set", true) instance_variable_set(:"@#{attribute}", value) diff --git a/app/models/custom_action.rb b/app/models/custom_action.rb index 24e432ccb8bd..185e608ef45e 100644 --- a/app/models/custom_action.rb +++ b/app/models/custom_action.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/assigned_to.rb b/app/models/custom_actions/actions/assigned_to.rb index ba81f203333e..c9de63d32671 100644 --- a/app/models/custom_actions/actions/assigned_to.rb +++ b/app/models/custom_actions/actions/assigned_to.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/base.rb b/app/models/custom_actions/actions/base.rb index 6daa5fc4c730..46de397c5eb5 100644 --- a/app/models/custom_actions/actions/base.rb +++ b/app/models/custom_actions/actions/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/custom_field.rb b/app/models/custom_actions/actions/custom_field.rb index acb4e58a4e10..dd2298f5b298 100644 --- a/app/models/custom_actions/actions/custom_field.rb +++ b/app/models/custom_actions/actions/custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/date.rb b/app/models/custom_actions/actions/date.rb index 9118d1e6a9f4..5b853c391af4 100644 --- a/app/models/custom_actions/actions/date.rb +++ b/app/models/custom_actions/actions/date.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/done_ratio.rb b/app/models/custom_actions/actions/done_ratio.rb index c724a90bbc05..4843e43f547a 100644 --- a/app/models/custom_actions/actions/done_ratio.rb +++ b/app/models/custom_actions/actions/done_ratio.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/due_date.rb b/app/models/custom_actions/actions/due_date.rb index 43458b517255..0376f1044c23 100644 --- a/app/models/custom_actions/actions/due_date.rb +++ b/app/models/custom_actions/actions/due_date.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/estimated_hours.rb b/app/models/custom_actions/actions/estimated_hours.rb index ff11122e4ded..299ed03f87cf 100644 --- a/app/models/custom_actions/actions/estimated_hours.rb +++ b/app/models/custom_actions/actions/estimated_hours.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/inexistent.rb b/app/models/custom_actions/actions/inexistent.rb index ce7a12156d7e..f5574f85e0d3 100644 --- a/app/models/custom_actions/actions/inexistent.rb +++ b/app/models/custom_actions/actions/inexistent.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/notify.rb b/app/models/custom_actions/actions/notify.rb index 5f546f896957..64718f8b78c5 100644 --- a/app/models/custom_actions/actions/notify.rb +++ b/app/models/custom_actions/actions/notify.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/priority.rb b/app/models/custom_actions/actions/priority.rb index 53a2ced707c8..ff7bd4e235c9 100644 --- a/app/models/custom_actions/actions/priority.rb +++ b/app/models/custom_actions/actions/priority.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/project.rb b/app/models/custom_actions/actions/project.rb index 25dda23b19ea..34ead5f534ff 100644 --- a/app/models/custom_actions/actions/project.rb +++ b/app/models/custom_actions/actions/project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/responsible.rb b/app/models/custom_actions/actions/responsible.rb index 4eaaaf1c40ea..334ab95da454 100644 --- a/app/models/custom_actions/actions/responsible.rb +++ b/app/models/custom_actions/actions/responsible.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/serializer.rb b/app/models/custom_actions/actions/serializer.rb index da24643ccfcd..d4d3ea0744ad 100644 --- a/app/models/custom_actions/actions/serializer.rb +++ b/app/models/custom_actions/actions/serializer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/start_date.rb b/app/models/custom_actions/actions/start_date.rb index 65081e5573a6..c0f7387d6a84 100644 --- a/app/models/custom_actions/actions/start_date.rb +++ b/app/models/custom_actions/actions/start_date.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/status.rb b/app/models/custom_actions/actions/status.rb index 84096be6a78b..cfc04fe93642 100644 --- a/app/models/custom_actions/actions/status.rb +++ b/app/models/custom_actions/actions/status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/associated.rb b/app/models/custom_actions/actions/strategies/associated.rb index da89ff65b4b9..9b2e97a52807 100644 --- a/app/models/custom_actions/actions/strategies/associated.rb +++ b/app/models/custom_actions/actions/strategies/associated.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/associated_custom_field.rb b/app/models/custom_actions/actions/strategies/associated_custom_field.rb index 3815d7e7fa62..5f806a2c5a11 100644 --- a/app/models/custom_actions/actions/strategies/associated_custom_field.rb +++ b/app/models/custom_actions/actions/strategies/associated_custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/custom_field.rb b/app/models/custom_actions/actions/strategies/custom_field.rb index 72c8be113df8..8b7bfac60495 100644 --- a/app/models/custom_actions/actions/strategies/custom_field.rb +++ b/app/models/custom_actions/actions/strategies/custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/date.rb b/app/models/custom_actions/actions/strategies/date.rb index effc00b977e4..12328963991a 100644 --- a/app/models/custom_actions/actions/strategies/date.rb +++ b/app/models/custom_actions/actions/strategies/date.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/date_property.rb b/app/models/custom_actions/actions/strategies/date_property.rb index ab69cb315666..ab51c0153ffc 100644 --- a/app/models/custom_actions/actions/strategies/date_property.rb +++ b/app/models/custom_actions/actions/strategies/date_property.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/float.rb b/app/models/custom_actions/actions/strategies/float.rb index 79addeed3bf2..f6ea441cccf4 100644 --- a/app/models/custom_actions/actions/strategies/float.rb +++ b/app/models/custom_actions/actions/strategies/float.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/integer.rb b/app/models/custom_actions/actions/strategies/integer.rb index 24e563dd3815..45377c884983 100644 --- a/app/models/custom_actions/actions/strategies/integer.rb +++ b/app/models/custom_actions/actions/strategies/integer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/me_associated.rb b/app/models/custom_actions/actions/strategies/me_associated.rb index 0ff27ce84d7f..88439593d469 100644 --- a/app/models/custom_actions/actions/strategies/me_associated.rb +++ b/app/models/custom_actions/actions/strategies/me_associated.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/string.rb b/app/models/custom_actions/actions/strategies/string.rb index 02c2aa82aa58..10ee4cc98604 100644 --- a/app/models/custom_actions/actions/strategies/string.rb +++ b/app/models/custom_actions/actions/strategies/string.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/text.rb b/app/models/custom_actions/actions/strategies/text.rb index 849888fd543b..b3deb53d8bac 100644 --- a/app/models/custom_actions/actions/strategies/text.rb +++ b/app/models/custom_actions/actions/strategies/text.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/user_custom_field.rb b/app/models/custom_actions/actions/strategies/user_custom_field.rb index e496bb9b7b6f..feac280bb46e 100644 --- a/app/models/custom_actions/actions/strategies/user_custom_field.rb +++ b/app/models/custom_actions/actions/strategies/user_custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/validate_in_range.rb b/app/models/custom_actions/actions/strategies/validate_in_range.rb index 95fa77dba1a6..14ac3a9c1552 100644 --- a/app/models/custom_actions/actions/strategies/validate_in_range.rb +++ b/app/models/custom_actions/actions/strategies/validate_in_range.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/strategies/values_to_string.rb b/app/models/custom_actions/actions/strategies/values_to_string.rb index e503e602b620..e7f839ce8a44 100644 --- a/app/models/custom_actions/actions/strategies/values_to_string.rb +++ b/app/models/custom_actions/actions/strategies/values_to_string.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/actions/type.rb b/app/models/custom_actions/actions/type.rb index 2c2106d6863b..c0104383b533 100644 --- a/app/models/custom_actions/actions/type.rb +++ b/app/models/custom_actions/actions/type.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/conditions/base.rb b/app/models/custom_actions/conditions/base.rb index d2e8d87cac30..bc63a7abc9de 100644 --- a/app/models/custom_actions/conditions/base.rb +++ b/app/models/custom_actions/conditions/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -110,17 +110,17 @@ def self.habtm_table private_class_method :habtm_table def self.key_id - @key_id ||= "#{key}_id".to_sym + @key_id ||= :"#{key}_id" end private_class_method :key_id def self.association_key - "#{key}_conditions".to_sym + :"#{key}_conditions" end private_class_method :association_key def self.association_ids - "#{key}_condition_ids".to_sym + :"#{key}_condition_ids" end private_class_method :association_ids end diff --git a/app/models/custom_actions/conditions/inexistent.rb b/app/models/custom_actions/conditions/inexistent.rb index d678ea92120e..f0080c2e4ecd 100644 --- a/app/models/custom_actions/conditions/inexistent.rb +++ b/app/models/custom_actions/conditions/inexistent.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/conditions/project.rb b/app/models/custom_actions/conditions/project.rb index 04f4b99ef285..8325a48721ea 100644 --- a/app/models/custom_actions/conditions/project.rb +++ b/app/models/custom_actions/conditions/project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/conditions/role.rb b/app/models/custom_actions/conditions/role.rb index 591ab661efa7..f978a67251f9 100644 --- a/app/models/custom_actions/conditions/role.rb +++ b/app/models/custom_actions/conditions/role.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/conditions/status.rb b/app/models/custom_actions/conditions/status.rb index 5e03c084e300..801fa7587fa4 100644 --- a/app/models/custom_actions/conditions/status.rb +++ b/app/models/custom_actions/conditions/status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/conditions/type.rb b/app/models/custom_actions/conditions/type.rb index 927f2e1d3694..4b16c3b21da3 100644 --- a/app/models/custom_actions/conditions/type.rb +++ b/app/models/custom_actions/conditions/type.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/register.rb b/app/models/custom_actions/register.rb index 0e3a7059d36a..1d999642d7ac 100644 --- a/app/models/custom_actions/register.rb +++ b/app/models/custom_actions/register.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_actions/values_to_integer.rb b/app/models/custom_actions/values_to_integer.rb index aeb1a9c55d26..34869def4626 100644 --- a/app/models/custom_actions/values_to_integer.rb +++ b/app/models/custom_actions/values_to_integer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_field.rb b/app/models/custom_field.rb index 5a52b9af4b73..2aa2e7109ae8 100644 --- a/app/models/custom_field.rb +++ b/app/models/custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_field/order_statements.rb b/app/models/custom_field/order_statements.rb index 354788d44ea2..9a2964d5528f 100644 --- a/app/models/custom_field/order_statements.rb +++ b/app/models/custom_field/order_statements.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_option.rb b/app/models/custom_option.rb index 536f6c6c3cd0..78dee7d07b9b 100644 --- a/app/models/custom_option.rb +++ b/app/models/custom_option.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_style.rb b/app/models/custom_style.rb index e12ce8839007..38d1cbffd234 100644 --- a/app/models/custom_style.rb +++ b/app/models/custom_style.rb @@ -23,7 +23,7 @@ def digest end %i(favicon touch_icon export_logo export_cover logo).each do |name| - define_method "#{name}_path" do + define_method :"#{name}_path" do image = send(name) if image.readable? @@ -31,7 +31,7 @@ def digest end end - define_method "remove_#{name}" do + define_method :"remove_#{name}" do image = send(name) image&.remove! diff --git a/app/models/custom_value.rb b/app/models/custom_value.rb index 88f32a1b4e7f..e569001ec92a 100644 --- a/app/models/custom_value.rb +++ b/app/models/custom_value.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/ar_object_strategy.rb b/app/models/custom_value/ar_object_strategy.rb index d10cb28459c9..0e4f35e7f01c 100644 --- a/app/models/custom_value/ar_object_strategy.rb +++ b/app/models/custom_value/ar_object_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/bool_strategy.rb b/app/models/custom_value/bool_strategy.rb index baf5640a5cbd..33d29a0e4064 100644 --- a/app/models/custom_value/bool_strategy.rb +++ b/app/models/custom_value/bool_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/date_strategy.rb b/app/models/custom_value/date_strategy.rb index dd294a465cf6..6dd1095a4032 100644 --- a/app/models/custom_value/date_strategy.rb +++ b/app/models/custom_value/date_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/empty_strategy.rb b/app/models/custom_value/empty_strategy.rb index 8bb4b095a4f4..cddf7c7ae21b 100644 --- a/app/models/custom_value/empty_strategy.rb +++ b/app/models/custom_value/empty_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/float_strategy.rb b/app/models/custom_value/float_strategy.rb index ef708dcae3cd..3b13c0aa2c9a 100644 --- a/app/models/custom_value/float_strategy.rb +++ b/app/models/custom_value/float_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/format_strategy.rb b/app/models/custom_value/format_strategy.rb index 00403214b9e8..96fe59f8b1a4 100644 --- a/app/models/custom_value/format_strategy.rb +++ b/app/models/custom_value/format_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/formattable_strategy.rb b/app/models/custom_value/formattable_strategy.rb index 6ffcd332eebb..dd7c19c3a596 100644 --- a/app/models/custom_value/formattable_strategy.rb +++ b/app/models/custom_value/formattable_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/int_strategy.rb b/app/models/custom_value/int_strategy.rb index 05e960e81562..93423c566692 100644 --- a/app/models/custom_value/int_strategy.rb +++ b/app/models/custom_value/int_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/list_strategy.rb b/app/models/custom_value/list_strategy.rb index 4dee7be301a5..381e74d52895 100644 --- a/app/models/custom_value/list_strategy.rb +++ b/app/models/custom_value/list_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/string_strategy.rb b/app/models/custom_value/string_strategy.rb index 40dbb007058e..b7622af0e3b2 100644 --- a/app/models/custom_value/string_strategy.rb +++ b/app/models/custom_value/string_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/user_strategy.rb b/app/models/custom_value/user_strategy.rb index 526660f56706..f219f51e046e 100644 --- a/app/models/custom_value/user_strategy.rb +++ b/app/models/custom_value/user_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/custom_value/version_strategy.rb b/app/models/custom_value/version_strategy.rb index 087fe2d10a0e..128a88e803ab 100644 --- a/app/models/custom_value/version_strategy.rb +++ b/app/models/custom_value/version_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/day.rb b/app/models/day.rb index a154f31199dd..d0c43ba587fb 100644 --- a/app/models/day.rb +++ b/app/models/day.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/design_color.rb b/app/models/design_color.rb index ac78ceae30ec..e649011ed7d9 100644 --- a/app/models/design_color.rb +++ b/app/models/design_color.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/enabled_module.rb b/app/models/enabled_module.rb index a90d2ea15095..9a43bf251bda 100644 --- a/app/models/enabled_module.rb +++ b/app/models/enabled_module.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/enterprise_token.rb b/app/models/enterprise_token.rb index 8e9d58f00aa4..bcfbb5983dde 100644 --- a/app/models/enterprise_token.rb +++ b/app/models/enterprise_token.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/enumeration.rb b/app/models/enumeration.rb index d135358ff920..2dde4762825c 100644 --- a/app/models/enumeration.rb +++ b/app/models/enumeration.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/exports/concerns/csv.rb b/app/models/exports/concerns/csv.rb index e7a64e068540..0f7c96197dee 100644 --- a/app/models/exports/concerns/csv.rb +++ b/app/models/exports/concerns/csv.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/exports/export_error.rb b/app/models/exports/export_error.rb index 135d16af174f..56285b89c844 100644 --- a/app/models/exports/export_error.rb +++ b/app/models/exports/export_error.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/exports/exporter.rb b/app/models/exports/exporter.rb index 0d772aaf8e4e..1aae11aaa61c 100644 --- a/app/models/exports/exporter.rb +++ b/app/models/exports/exporter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -67,9 +67,9 @@ def formatter_for(attribute, export_format) ::Exports::Register.formatter_for(model, attribute, export_format) end - def format_attribute(object, attribute, export_format, **options) + def format_attribute(object, attribute, export_format, **) formatter = formatter_for(attribute, export_format) - formatter.format(object, **options) + formatter.format(object, **) end end end diff --git a/app/models/exports/register.rb b/app/models/exports/register.rb index f4f2489ab12f..4e51c0179845 100644 --- a/app/models/exports/register.rb +++ b/app/models/exports/register.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/exports/result.rb b/app/models/exports/result.rb index c7de2de58be1..083eabf1336f 100644 --- a/app/models/exports/result.rb +++ b/app/models/exports/result.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/forum.rb b/app/models/forum.rb index 768f7291bbea..287f368ae742 100644 --- a/app/models/forum.rb +++ b/app/models/forum.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/global_role.rb b/app/models/global_role.rb index 1252c9ad807d..972a626e7764 100644 --- a/app/models/global_role.rb +++ b/app/models/global_role.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/group.rb b/app/models/group.rb index b874572d3890..66c5cc605d2e 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/group_custom_field.rb b/app/models/group_custom_field.rb index e54a1212faa9..225be7d60eb5 100644 --- a/app/models/group_custom_field.rb +++ b/app/models/group_custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/group_user.rb b/app/models/group_user.rb index a53ad156d1be..5237147d225e 100644 --- a/app/models/group_user.rb +++ b/app/models/group_user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/groups/scopes/visible.rb b/app/models/groups/scopes/visible.rb index 924d91a26636..69bd8a7121dd 100644 --- a/app/models/groups/scopes/visible.rb +++ b/app/models/groups/scopes/visible.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/issue_priority.rb b/app/models/issue_priority.rb index fa9c7198caa2..77172bff75ae 100644 --- a/app/models/issue_priority.rb +++ b/app/models/issue_priority.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journable/historic_active_record_relation.rb b/app/models/journable/historic_active_record_relation.rb index e10d32788341..853a07e84878 100644 --- a/app/models/journable/historic_active_record_relation.rb +++ b/app/models/journable/historic_active_record_relation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journable/timestamps.rb b/app/models/journable/timestamps.rb index 9030cd340a96..b38fdb175908 100644 --- a/app/models/journable/timestamps.rb +++ b/app/models/journable/timestamps.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journable/with_historic_attributes.rb b/app/models/journable/with_historic_attributes.rb index 30b307839c22..98ee689f0192 100644 --- a/app/models/journable/with_historic_attributes.rb +++ b/app/models/journable/with_historic_attributes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -235,6 +235,7 @@ def changes_at_timestamp(timestamp) historic_journable = at_timestamp(Timestamp.parse(timestamp)) return unless historic_journable + changes = ::Acts::Journalized::JournableDiffer.changes(__getobj__, historic_journable) # In the other occurrences of JournableDiffer.association_changes calls, we are using the plural diff --git a/app/models/journal.rb b/app/models/journal.rb index ae3469008800..c41a6d787f97 100644 --- a/app/models/journal.rb +++ b/app/models/journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/associated_journal.rb b/app/models/journal/associated_journal.rb index dc66e4b8e694..9b582e89477c 100644 --- a/app/models/journal/associated_journal.rb +++ b/app/models/journal/associated_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/attachable_journal.rb b/app/models/journal/attachable_journal.rb index 23af74ef8485..94c183e8a32c 100644 --- a/app/models/journal/attachable_journal.rb +++ b/app/models/journal/attachable_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/attachment_journal.rb b/app/models/journal/attachment_journal.rb index 5ee638c42153..ebdae91e7d0c 100644 --- a/app/models/journal/attachment_journal.rb +++ b/app/models/journal/attachment_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/base_journal.rb b/app/models/journal/base_journal.rb index a550360943b9..9bb5568e5487 100644 --- a/app/models/journal/base_journal.rb +++ b/app/models/journal/base_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/changeset_journal.rb b/app/models/journal/changeset_journal.rb index a36bb31f0956..179780f3b80d 100644 --- a/app/models/journal/changeset_journal.rb +++ b/app/models/journal/changeset_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/customizable_journal.rb b/app/models/journal/customizable_journal.rb index 22bfa6cce5a1..959bf02217fb 100644 --- a/app/models/journal/customizable_journal.rb +++ b/app/models/journal/customizable_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/message_journal.rb b/app/models/journal/message_journal.rb index 7e52ca2c710b..f835de254933 100644 --- a/app/models/journal/message_journal.rb +++ b/app/models/journal/message_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/news_journal.rb b/app/models/journal/news_journal.rb index 66e83fcb79ee..559b6e6a1ebc 100644 --- a/app/models/journal/news_journal.rb +++ b/app/models/journal/news_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/notification_configuration.rb b/app/models/journal/notification_configuration.rb index 26473af5fe6e..f8732f20b303 100644 --- a/app/models/journal/notification_configuration.rb +++ b/app/models/journal/notification_configuration.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/project_journal.rb b/app/models/journal/project_journal.rb index eae95ba8497f..cbcedd6f59c1 100644 --- a/app/models/journal/project_journal.rb +++ b/app/models/journal/project_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/storable_journal.rb b/app/models/journal/storable_journal.rb index 8731ccabbe63..0daf7f10bb35 100644 --- a/app/models/journal/storable_journal.rb +++ b/app/models/journal/storable_journal.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/timestamps.rb b/app/models/journal/timestamps.rb index 5dd909f0c2da..a40d2ac8f455 100644 --- a/app/models/journal/timestamps.rb +++ b/app/models/journal/timestamps.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/wiki_page_journal.rb b/app/models/journal/wiki_page_journal.rb index d76835f45ef0..3859989f989c 100644 --- a/app/models/journal/wiki_page_journal.rb +++ b/app/models/journal/wiki_page_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/journal/work_package_journal.rb b/app/models/journal/work_package_journal.rb index 484396f9269a..5c37b7fa0c6c 100644 --- a/app/models/journal/work_package_journal.rb +++ b/app/models/journal/work_package_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/ldap_auth_source.rb b/app/models/ldap_auth_source.rb index 9f02a86c90e0..7578654d3655 100644 --- a/app/models/ldap_auth_source.rb +++ b/app/models/ldap_auth_source.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/mail_handler.rb b/app/models/mail_handler.rb index 2a3d55c9b8c9..74e8515e1212 100644 --- a/app/models/mail_handler.rb +++ b/app/models/mail_handler.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -297,8 +297,8 @@ def create_attachment(attachment, container) # Adds To and Cc as watchers of the given object if the sender has the # appropriate permission def add_watchers(obj) - if user.allowed_in_project?("add_#{obj.class.name.underscore}_watchers".to_sym, obj.project) || - user.allowed_in_project?("add_#{obj.class.lookup_ancestors.last.name.underscore}_watchers".to_sym, obj.project) + if user.allowed_in_project?(:"add_#{obj.class.name.underscore}_watchers", obj.project) || + user.allowed_in_project?(:"add_#{obj.class.lookup_ancestors.last.name.underscore}_watchers", obj.project) addresses = [email.to, email.cc].flatten.compact.uniq.map { |a| a.strip.downcase } unless addresses.empty? User diff --git a/app/models/member.rb b/app/models/member.rb index 53b03da0d710..f85588a067f4 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -57,7 +57,8 @@ class Member < ApplicationRecord :of_any_work_package, :of_any_entity, :of_anything_in_project, - :visible + :visible, + :with_shared_work_packages_count delegate :name, to: :principal @@ -78,6 +79,10 @@ def deletable? member_roles.detect(&:inherited_from).nil? end + def project_role? + entity_id.nil? + end + def deletable_role?(role) member_roles .only_inherited diff --git a/app/models/member_role.rb b/app/models/member_role.rb index e8738f3825f8..5ced0d30985a 100644 --- a/app/models/member_role.rb +++ b/app/models/member_role.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/members/roles_diff.rb b/app/models/members/roles_diff.rb index d7bcdf464c4d..53b53e6c7445 100644 --- a/app/models/members/roles_diff.rb +++ b/app/models/members/roles_diff.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/members/scopes/assignable.rb b/app/models/members/scopes/assignable.rb index de6bf385b34c..9aa7d0382eaa 100644 --- a/app/models/members/scopes/assignable.rb +++ b/app/models/members/scopes/assignable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/members/scopes/global.rb b/app/models/members/scopes/global.rb index 146bae46b034..08a9031a164d 100644 --- a/app/models/members/scopes/global.rb +++ b/app/models/members/scopes/global.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/members/scopes/not_locked.rb b/app/models/members/scopes/not_locked.rb index 9858c4196014..affdd221be16 100644 --- a/app/models/members/scopes/not_locked.rb +++ b/app/models/members/scopes/not_locked.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/members/scopes/of_any_project.rb b/app/models/members/scopes/of_any_project.rb index ceb71489f8a7..b3086825347b 100644 --- a/app/models/members/scopes/of_any_project.rb +++ b/app/models/members/scopes/of_any_project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/members/scopes/of_project.rb b/app/models/members/scopes/of_project.rb index 1418859c1486..1ee85bacd217 100644 --- a/app/models/members/scopes/of_project.rb +++ b/app/models/members/scopes/of_project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/members/scopes/visible.rb b/app/models/members/scopes/visible.rb index 27c1aa089c84..b4028f180d43 100644 --- a/app/models/members/scopes/visible.rb +++ b/app/models/members/scopes/visible.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/members/scopes/with_shared_work_packages_count.rb b/app/models/members/scopes/with_shared_work_packages_count.rb new file mode 100644 index 000000000000..ff246bc11ee2 --- /dev/null +++ b/app/models/members/scopes/with_shared_work_packages_count.rb @@ -0,0 +1,79 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2024 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +module Members::Scopes + module WithSharedWorkPackagesCount + extend ActiveSupport::Concern + + class_methods do + def with_shared_work_packages_count(only_role_id: nil) + Member + .from("#{Member.table_name} members") + .joins(shared_work_packages_sql(only_role_id)) + .select('members.*') + .select('members_sums.shared_work_packages_count AS shared_work_packages_count') + end + + private + + def shared_work_packages_sql(only_role_id) + <<~SQL.squish + LEFT JOIN ( + SELECT members_sums.user_id, members_sums.project_id, COUNT(*) AS shared_work_packages_count + FROM #{Member.table_name} members_sums + #{shared_work_packages_role_condition(only_role_id)} + WHERE members_sums.entity_type = 'WorkPackage' + GROUP BY members_sums.user_id, members_sums.project_id + ) members_sums + ON members.user_id = members_sums.user_id AND members.project_id = members_sums.project_id + SQL + end + + def shared_work_packages_role_condition(only_role_id) + if only_role_id.present? + sql = <<~SQL.squish + INNER JOIN #{MemberRole.table_name} members_roles + ON members_sums.id = members_roles.member_id + AND members_roles.role_id = ? + SQL + + OpenProject::SqlSanitization.sanitize sql, only_role_id + end + end + end + + def shared_work_packages_count + @shared_work_packages_count ||= begin + value = read_attribute(:shared_work_packages_count) || + self.class.with_shared_work_packages_count.where(id:).pick('members_sums.shared_work_packages_count') + + value.to_i + end + end + end +end diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb index c02108865ac0..d4b65398971c 100644 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/menu_items/wiki_menu_item.rb b/app/models/menu_items/wiki_menu_item.rb index de3f784ae98b..f480aebc3b39 100644 --- a/app/models/menu_items/wiki_menu_item.rb +++ b/app/models/menu_items/wiki_menu_item.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -44,7 +44,7 @@ def item_class end def menu_identifier - "wiki-#{slug}".to_sym + :"wiki-#{slug}" end def index_page @@ -68,6 +68,6 @@ def as_entry_item_symbol end def self.add_entry_item_prefix(identifier) - "entry-item-#{identifier}".to_sym + :"entry-item-#{identifier}" end end diff --git a/app/models/message.rb b/app/models/message.rb index e33e4e3754b6..002e083f6880 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/news.rb b/app/models/news.rb index 8aacded04ffb..e4b84568e47c 100644 --- a/app/models/news.rb +++ b/app/models/news.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -61,7 +61,7 @@ def visible?(user = User.current) end def description=(val) - super val.presence || '' + super(val.presence || '') end # returns latest news for projects visible by user diff --git a/app/models/notification.rb b/app/models/notification.rb index a06611d89dd5..f7d623140e4a 100644 --- a/app/models/notification.rb +++ b/app/models/notification.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/notification_settings/scopes/applicable.rb b/app/models/notification_settings/scopes/applicable.rb index cd1fd0a2d487..c2eb0ce49062 100644 --- a/app/models/notification_settings/scopes/applicable.rb +++ b/app/models/notification_settings/scopes/applicable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/notifications/scopes/mail_alert_unsent.rb b/app/models/notifications/scopes/mail_alert_unsent.rb index 949c4b35e646..7c889e524e5a 100644 --- a/app/models/notifications/scopes/mail_alert_unsent.rb +++ b/app/models/notifications/scopes/mail_alert_unsent.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/notifications/scopes/mail_reminder_unsent.rb b/app/models/notifications/scopes/mail_reminder_unsent.rb index 6e438de18adb..2da88c6d7b33 100644 --- a/app/models/notifications/scopes/mail_reminder_unsent.rb +++ b/app/models/notifications/scopes/mail_reminder_unsent.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/notifications/scopes/recipient.rb b/app/models/notifications/scopes/recipient.rb index 96e780352593..3e85ce3f057c 100644 --- a/app/models/notifications/scopes/recipient.rb +++ b/app/models/notifications/scopes/recipient.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/notifications/scopes/unsent_reminders_before.rb b/app/models/notifications/scopes/unsent_reminders_before.rb index 4311a2717a4e..7fb881482109 100644 --- a/app/models/notifications/scopes/unsent_reminders_before.rb +++ b/app/models/notifications/scopes/unsent_reminders_before.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/notifications/scopes/visible.rb b/app/models/notifications/scopes/visible.rb index a36fcbd7b22a..7fa11294e831 100644 --- a/app/models/notifications/scopes/visible.rb +++ b/app/models/notifications/scopes/visible.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/oauth_client.rb b/app/models/oauth_client.rb index a936e0fe5bc3..693dfdf9e75a 100644 --- a/app/models/oauth_client.rb +++ b/app/models/oauth_client.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/oauth_client_token.rb b/app/models/oauth_client_token.rb index 18fbb65e9f46..de72c6730bbb 100644 --- a/app/models/oauth_client_token.rb +++ b/app/models/oauth_client_token.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/ordered_work_package.rb b/app/models/ordered_work_package.rb index 95c13e081fed..1726effee0f5 100644 --- a/app/models/ordered_work_package.rb +++ b/app/models/ordered_work_package.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/permitted_params.rb b/app/models/permitted_params.rb index 614c629acee9..496f7f409611 100644 --- a/app/models/permitted_params.rb +++ b/app/models/permitted_params.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -510,6 +510,7 @@ def self.permitted_attributes :budget_id, :parent_id, :priority_id, + :remaining_hours, :responsible_id, :start_date, :status_id, diff --git a/app/models/placeholder_user.rb b/app/models/placeholder_user.rb index 592161d31c2c..57d06ec554a1 100644 --- a/app/models/placeholder_user.rb +++ b/app/models/placeholder_user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/placeholder_users/scopes/visible.rb b/app/models/placeholder_users/scopes/visible.rb index 3eae52bfbae3..0a60b641f29d 100644 --- a/app/models/placeholder_users/scopes/visible.rb +++ b/app/models/placeholder_users/scopes/visible.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/principal.rb b/app/models/principal.rb index 6bddf057d8fb..e9a5d568b7b5 100644 --- a/app/models/principal.rb +++ b/app/models/principal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/principals/scopes/human.rb b/app/models/principals/scopes/human.rb index a25363430f03..a94d9f294fed 100644 --- a/app/models/principals/scopes/human.rb +++ b/app/models/principals/scopes/human.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/principals/scopes/like.rb b/app/models/principals/scopes/like.rb index c50c90bc7d30..b2910e133229 100644 --- a/app/models/principals/scopes/like.rb +++ b/app/models/principals/scopes/like.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/principals/scopes/not_builtin.rb b/app/models/principals/scopes/not_builtin.rb index 3fab3e5a32ee..17de232478e2 100644 --- a/app/models/principals/scopes/not_builtin.rb +++ b/app/models/principals/scopes/not_builtin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/principals/scopes/ordered_by_name.rb b/app/models/principals/scopes/ordered_by_name.rb index ea13b337406f..7a211f0813fe 100644 --- a/app/models/principals/scopes/ordered_by_name.rb +++ b/app/models/principals/scopes/ordered_by_name.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/principals/scopes/possible_assignee.rb b/app/models/principals/scopes/possible_assignee.rb index 067f55c88f3f..8332275dec3a 100644 --- a/app/models/principals/scopes/possible_assignee.rb +++ b/app/models/principals/scopes/possible_assignee.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -39,19 +39,53 @@ module PossibleAssignee # * PlaceholderUser # * Group # User instances need to be non locked (status). - # Only principals with a role marked as assignable in the project are returned. - # If more than one project is given, the principals need to be assignable in all of the projects (intersection). - # @project [Project, [Project]] The project for which eligible candidates are to be searched + # Only principals with a role marked as assignable in the project or work package are returned. + # If more than one project or work package is given, the principals need to be assignable in all of the + # resources (intersection). + # @work_package_or_project [WorkPackage, [WorkPackage], Project, [Project]] The resource for which + # eligible candidates are to be searched # @return [ActiveRecord::Relation] A scope of eligible candidates - def possible_assignee(project) - where( - id: Member - .assignable - .of_project(project) - .group('user_id') - .having(["COUNT(DISTINCT(project_id, user_id)) = ?", Array(project).size]) - .select('user_id') - ) + def possible_assignee(work_package_or_project) + work_package_or_project = as_collection(work_package_or_project) + + if resource_class(work_package_or_project) == WorkPackage + where(id: on_work_package_user_ids(work_package_or_project)) + .or(where(id: on_project_user_ids(work_package_or_project.map(&:project_id)))) + else + where(id: on_project_user_ids(work_package_or_project)) + end + end + + private + + def resource_class(work_package_or_project) + if work_package_or_project.all? { _1.class <= WorkPackage } + WorkPackage + elsif work_package_or_project.all? { _1.instance_of?(Project) } + Project + end + end + + def as_collection(resource) + Array(resource) + end + + def on_work_package_user_ids(work_package) + Member + .assignable + .of_work_package(work_package) + .group('user_id') + .having(["COUNT(DISTINCT(project_id, entity_type, entity_id, user_id)) = ?", work_package.size]) + .select('user_id') + end + + def on_project_user_ids(project) + Member + .assignable + .of_project(project) + .group('user_id') + .having(["COUNT(DISTINCT(project_id, user_id)) = ?", project.size]) + .select('user_id') end end end diff --git a/app/models/principals/scopes/possible_member.rb b/app/models/principals/scopes/possible_member.rb index d8f56c520bcb..7ae000fc899f 100644 --- a/app/models/principals/scopes/possible_member.rb +++ b/app/models/principals/scopes/possible_member.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/principals/scopes/status.rb b/app/models/principals/scopes/status.rb index 8bc06a2c03ff..c04a360c985f 100644 --- a/app/models/principals/scopes/status.rb +++ b/app/models/principals/scopes/status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -41,7 +41,7 @@ module Status not_builtin.where(status: val) end - define_singleton_method("not_#{key}") do + define_singleton_method(:"not_#{key}") do not_builtin.where.not(status: val) end end diff --git a/app/models/principals/scopes/user.rb b/app/models/principals/scopes/user.rb index 6c3093712fe6..114e8f544c79 100644 --- a/app/models/principals/scopes/user.rb +++ b/app/models/principals/scopes/user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/principals/scopes/visible.rb b/app/models/principals/scopes/visible.rb index d9d7a167291c..077f425373c0 100644 --- a/app/models/principals/scopes/visible.rb +++ b/app/models/principals/scopes/visible.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/priority/inexistent_priority.rb b/app/models/priority/inexistent_priority.rb index 51756defb891..5c35da2680ed 100644 --- a/app/models/priority/inexistent_priority.rb +++ b/app/models/priority/inexistent_priority.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/project.rb b/app/models/project.rb index 63a804ab551f..f6abac806213 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -39,7 +39,7 @@ class Project < ApplicationRecord IDENTIFIER_MAX_LENGTH = 100 # reserved identifiers - RESERVED_IDENTIFIERS = %w(new).freeze + RESERVED_IDENTIFIERS = %w(new menu).freeze has_many :members, -> { # TODO: check whether this should @@ -179,8 +179,7 @@ class Project < ApplicationRecord } def visible?(user = User.current) - active? and (public? or user.admin? or user.member_of?(self) or user.allowed_in_any_work_package?(:view_work_packages, - in_project: self)) + active? && (public? || user.admin? || user.access_to?(self)) end def archived? diff --git a/app/models/project_custom_field.rb b/app/models/project_custom_field.rb index 26e2d21eaa0e..d6b5d61a68ef 100644 --- a/app/models/project_custom_field.rb +++ b/app/models/project_custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/projects/activity.rb b/app/models/projects/activity.rb index 15aed62a43ed..e07b6dd97685 100644 --- a/app/models/projects/activity.rb +++ b/app/models/projects/activity.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/projects/ancestors_from_root.rb b/app/models/projects/ancestors_from_root.rb index 1cd1835b1cfb..e75bddb8ac93 100644 --- a/app/models/projects/ancestors_from_root.rb +++ b/app/models/projects/ancestors_from_root.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/projects/exports/csv.rb b/app/models/projects/exports/csv.rb index 4d05059c9817..4a841119a169 100644 --- a/app/models/projects/exports/csv.rb +++ b/app/models/projects/exports/csv.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/projects/exports/formatters/description.rb b/app/models/projects/exports/formatters/description.rb index a6147b57cff2..d07fadb55c91 100644 --- a/app/models/projects/exports/formatters/description.rb +++ b/app/models/projects/exports/formatters/description.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/projects/exports/formatters/status.rb b/app/models/projects/exports/formatters/status.rb index 2b62cd69342c..4a086a07b928 100644 --- a/app/models/projects/exports/formatters/status.rb +++ b/app/models/projects/exports/formatters/status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/projects/exports/query_exporter.rb b/app/models/projects/exports/query_exporter.rb index bc418ec86c97..96f809a23a02 100644 --- a/app/models/projects/exports/query_exporter.rb +++ b/app/models/projects/exports/query_exporter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/projects/hierarchy.rb b/app/models/projects/hierarchy.rb index ad42b0bc90f3..facebf4b20e1 100644 --- a/app/models/projects/hierarchy.rb +++ b/app/models/projects/hierarchy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/projects/scopes/visible.rb b/app/models/projects/scopes/visible.rb index 792d7f227951..ddffd7bdbb48 100644 --- a/app/models/projects/scopes/visible.rb +++ b/app/models/projects/scopes/visible.rb @@ -39,10 +39,9 @@ def visible(user = User.current) # Use a shortcut for admins and anonymous where # we don't need to calculate for work package roles which is more expensive if user.admin? || user.anonymous? - Project.allowed_to(user, :view_project) + allowed_to(user, :view_project) else - Project.allowed_to(user, :view_project) - .or(where(id: WorkPackage.allowed_to(user, :view_work_packages).select(:project_id))) + active.public_projects.or(active.where(id: user.members.select(:project_id))) end end end diff --git a/app/models/projects/storage.rb b/app/models/projects/storage.rb index bd30243542ed..46a76fd12ea0 100644 --- a/app/models/projects/storage.rb +++ b/app/models/projects/storage.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/actions.rb b/app/models/queries/actions.rb index 10c5f48f692d..c3eebe5e7518 100644 --- a/app/models/queries/actions.rb +++ b/app/models/queries/actions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/actions/action_query.rb b/app/models/queries/actions/action_query.rb index 279a3fc62b91..54096895df0b 100644 --- a/app/models/queries/actions/action_query.rb +++ b/app/models/queries/actions/action_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/actions/filters/action_filter.rb b/app/models/queries/actions/filters/action_filter.rb index 656a9f6d3c04..970b7dfb9c46 100644 --- a/app/models/queries/actions/filters/action_filter.rb +++ b/app/models/queries/actions/filters/action_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/actions/filters/id_filter.rb b/app/models/queries/actions/filters/id_filter.rb index d0255920416e..37f658e87242 100644 --- a/app/models/queries/actions/filters/id_filter.rb +++ b/app/models/queries/actions/filters/id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/base_query.rb b/app/models/queries/base_query.rb index c9b6cb2b92ec..1f5c94f7183a 100644 --- a/app/models/queries/base_query.rb +++ b/app/models/queries/base_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/capabilities.rb b/app/models/queries/capabilities.rb index d7150d99acfd..68f63b79a05a 100644 --- a/app/models/queries/capabilities.rb +++ b/app/models/queries/capabilities.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/capabilities/capability_query.rb b/app/models/queries/capabilities/capability_query.rb index dac3a7896844..a6152a1aa503 100644 --- a/app/models/queries/capabilities/capability_query.rb +++ b/app/models/queries/capabilities/capability_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/capabilities/filters/action_filter.rb b/app/models/queries/capabilities/filters/action_filter.rb index 74f3206a02ef..54d7e5329a54 100644 --- a/app/models/queries/capabilities/filters/action_filter.rb +++ b/app/models/queries/capabilities/filters/action_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/capabilities/filters/capability_filter.rb b/app/models/queries/capabilities/filters/capability_filter.rb index 930de31eda99..09d11b7e3893 100644 --- a/app/models/queries/capabilities/filters/capability_filter.rb +++ b/app/models/queries/capabilities/filters/capability_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/capabilities/filters/context_filter.rb b/app/models/queries/capabilities/filters/context_filter.rb index 2d2af23e1dcc..8b90562ac485 100644 --- a/app/models/queries/capabilities/filters/context_filter.rb +++ b/app/models/queries/capabilities/filters/context_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/capabilities/filters/id_filter.rb b/app/models/queries/capabilities/filters/id_filter.rb index 04e49bb23385..c6a674f73bac 100644 --- a/app/models/queries/capabilities/filters/id_filter.rb +++ b/app/models/queries/capabilities/filters/id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/capabilities/filters/principal_id_filter.rb b/app/models/queries/capabilities/filters/principal_id_filter.rb index 7c47768fac6f..b6737b0d2bfd 100644 --- a/app/models/queries/capabilities/filters/principal_id_filter.rb +++ b/app/models/queries/capabilities/filters/principal_id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/capabilities/orders/id_order.rb b/app/models/queries/capabilities/orders/id_order.rb index 4d3491b344ed..419f346175ad 100644 --- a/app/models/queries/capabilities/orders/id_order.rb +++ b/app/models/queries/capabilities/orders/id_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/columns/base.rb b/app/models/queries/columns/base.rb index 324139f53602..e56616ea9c4b 100644 --- a/app/models/queries/columns/base.rb +++ b/app/models/queries/columns/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -54,7 +54,7 @@ def initialize(name, options = {}) association null_handling default_order).each do |attribute| - send("#{attribute}=", options[attribute]) + send(:"#{attribute}=", options[attribute]) end end diff --git a/app/models/queries/days.rb b/app/models/queries/days.rb index 2f4eda139849..8da349e95f6c 100644 --- a/app/models/queries/days.rb +++ b/app/models/queries/days.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/days/day_query.rb b/app/models/queries/days/day_query.rb index e43c740460ae..1a54a453081c 100644 --- a/app/models/queries/days/day_query.rb +++ b/app/models/queries/days/day_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/days/filters/dates_interval_filter.rb b/app/models/queries/days/filters/dates_interval_filter.rb index 09dcd2a0f1aa..303e79128a78 100644 --- a/app/models/queries/days/filters/dates_interval_filter.rb +++ b/app/models/queries/days/filters/dates_interval_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/days/filters/day_filter.rb b/app/models/queries/days/filters/day_filter.rb index e0d21d78a678..ed5593487f11 100644 --- a/app/models/queries/days/filters/day_filter.rb +++ b/app/models/queries/days/filters/day_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/days/filters/working_filter.rb b/app/models/queries/days/filters/working_filter.rb index afbae701492e..22d69f3a2196 100644 --- a/app/models/queries/days/filters/working_filter.rb +++ b/app/models/queries/days/filters/working_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters.rb b/app/models/queries/filters.rb index ae59f93993e1..4f5fbf38d980 100644 --- a/app/models/queries/filters.rb +++ b/app/models/queries/filters.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/available_filters.rb b/app/models/queries/filters/available_filters.rb index 26fb5cd35ee4..4e6fe76d8f8b 100644 --- a/app/models/queries/filters/available_filters.rb +++ b/app/models/queries/filters/available_filters.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/base.rb b/app/models/queries/filters/base.rb index 526ca1e30004..b030df6f5dae 100644 --- a/app/models/queries/filters/base.rb +++ b/app/models/queries/filters/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -49,7 +49,7 @@ def initialize(name, options = {}) self.context = options[:context] self.class.filter_params.each do |param_field| - send("#{param_field}=", options[param_field]) + send(:"#{param_field}=", options[param_field]) end end diff --git a/app/models/queries/filters/empty_filter.rb b/app/models/queries/filters/empty_filter.rb index cc402f654b8e..481da426e1b0 100644 --- a/app/models/queries/filters/empty_filter.rb +++ b/app/models/queries/filters/empty_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/me_value.rb b/app/models/queries/filters/me_value.rb index 9da38c2eb74e..1a6aab94fc27 100644 --- a/app/models/queries/filters/me_value.rb +++ b/app/models/queries/filters/me_value.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/not_existing_filter.rb b/app/models/queries/filters/not_existing_filter.rb index a6584c219dd5..632ab69c0efa 100644 --- a/app/models/queries/filters/not_existing_filter.rb +++ b/app/models/queries/filters/not_existing_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -56,7 +56,7 @@ def validate_inclusion_of_operator; end def to_hash { - (name || :non_existent_filter) => { + name || :non_existent_filter => { operator:, values: } diff --git a/app/models/queries/filters/serializable.rb b/app/models/queries/filters/serializable.rb index d12695f92e88..df1e85354412 100644 --- a/app/models/queries/filters/serializable.rb +++ b/app/models/queries/filters/serializable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/any_user_name_attribute_filter.rb b/app/models/queries/filters/shared/any_user_name_attribute_filter.rb index cd08064a6964..effee48b7e61 100644 --- a/app/models/queries/filters/shared/any_user_name_attribute_filter.rb +++ b/app/models/queries/filters/shared/any_user_name_attribute_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/boolean_filter.rb b/app/models/queries/filters/shared/boolean_filter.rb index 993b946ff5b4..6ba3c3e42438 100644 --- a/app/models/queries/filters/shared/boolean_filter.rb +++ b/app/models/queries/filters/shared/boolean_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/custom_field_filter.rb b/app/models/queries/filters/shared/custom_field_filter.rb index 6fb695cc7784..762234a142fe 100644 --- a/app/models/queries/filters/shared/custom_field_filter.rb +++ b/app/models/queries/filters/shared/custom_field_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -60,19 +60,19 @@ def find_by_accessor(name) ## # Create a filter instance for the given custom field accessor - def create!(name:, **options) + def create!(name:, **) custom_field = find_by_accessor(name) raise ::Queries::Filters::InvalidError if custom_field.nil? - from_custom_field!(custom_field:, **options) + from_custom_field!(custom_field:, **) end ## # Create a filter instance for the given custom field - def from_custom_field!(custom_field:, **options) + def from_custom_field!(custom_field:, **) constant_name = subfilter_module(custom_field) clazz = "::Queries::Filters::Shared::CustomFields::#{constant_name}".constantize - clazz.create!(custom_field:, custom_field_context:, **options) + clazz.create!(custom_field:, custom_field_context:, **) rescue NameError => e Rails.logger.error "Failed to constantize custom field filter for #{name}. #{e}" raise ::Queries::Filters::InvalidError diff --git a/app/models/queries/filters/shared/custom_fields/base.rb b/app/models/queries/filters/shared/custom_fields/base.rb index 5b734e20dc1f..7f0faf751aa2 100644 --- a/app/models/queries/filters/shared/custom_fields/base.rb +++ b/app/models/queries/filters/shared/custom_fields/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -42,8 +42,8 @@ def initialize(custom_field:, custom_field_context:, **options) super(name, options) end - def self.create!(custom_field:, custom_field_context:, **options) - new(custom_field:, custom_field_context:, **options) + def self.create!(custom_field:, custom_field_context:, **) + new(custom_field:, custom_field_context:, **) end def project diff --git a/app/models/queries/filters/shared/custom_fields/bool.rb b/app/models/queries/filters/shared/custom_fields/bool.rb index 49f4cc9a4e97..e5ca46b4a6ea 100644 --- a/app/models/queries/filters/shared/custom_fields/bool.rb +++ b/app/models/queries/filters/shared/custom_fields/bool.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/custom_fields/list_optional.rb b/app/models/queries/filters/shared/custom_fields/list_optional.rb index eccf10122284..cf9f653c7744 100644 --- a/app/models/queries/filters/shared/custom_fields/list_optional.rb +++ b/app/models/queries/filters/shared/custom_fields/list_optional.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/custom_fields/user.rb b/app/models/queries/filters/shared/custom_fields/user.rb index 033fa20905b1..2644fdd546b7 100644 --- a/app/models/queries/filters/shared/custom_fields/user.rb +++ b/app/models/queries/filters/shared/custom_fields/user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/group_filter.rb b/app/models/queries/filters/shared/group_filter.rb index ba6fc8e0c19b..3c105eeb2ebe 100644 --- a/app/models/queries/filters/shared/group_filter.rb +++ b/app/models/queries/filters/shared/group_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/me_value_filter.rb b/app/models/queries/filters/shared/me_value_filter.rb index 2f6216d4d144..272c75338915 100644 --- a/app/models/queries/filters/shared/me_value_filter.rb +++ b/app/models/queries/filters/shared/me_value_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/parsed_filter.rb b/app/models/queries/filters/shared/parsed_filter.rb index e492c5c94a4c..3b59fe986065 100644 --- a/app/models/queries/filters/shared/parsed_filter.rb +++ b/app/models/queries/filters/shared/parsed_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/project_filter.rb b/app/models/queries/filters/shared/project_filter.rb index 2102dedbebe2..88aaf7fe07dc 100644 --- a/app/models/queries/filters/shared/project_filter.rb +++ b/app/models/queries/filters/shared/project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/user_blocked_filter.rb b/app/models/queries/filters/shared/user_blocked_filter.rb index 1925b801a1ac..79f80f9a226b 100644 --- a/app/models/queries/filters/shared/user_blocked_filter.rb +++ b/app/models/queries/filters/shared/user_blocked_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/user_name_filter.rb b/app/models/queries/filters/shared/user_name_filter.rb index 842eb0086531..88004837ea56 100644 --- a/app/models/queries/filters/shared/user_name_filter.rb +++ b/app/models/queries/filters/shared/user_name_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/shared/user_status_filter.rb b/app/models/queries/filters/shared/user_status_filter.rb index 586f3b0721e6..1ef5664c7380 100644 --- a/app/models/queries/filters/shared/user_status_filter.rb +++ b/app/models/queries/filters/shared/user_status_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies.rb b/app/models/queries/filters/strategies.rb index 102e7fab3be4..35b58fda706a 100644 --- a/app/models/queries/filters/strategies.rb +++ b/app/models/queries/filters/strategies.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/base_strategy.rb b/app/models/queries/filters/strategies/base_strategy.rb index 196cc8bf53d0..5782ebe1fa8c 100644 --- a/app/models/queries/filters/strategies/base_strategy.rb +++ b/app/models/queries/filters/strategies/base_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/boolean_list.rb b/app/models/queries/filters/strategies/boolean_list.rb index 99b001825dc8..ce97ffd69892 100644 --- a/app/models/queries/filters/strategies/boolean_list.rb +++ b/app/models/queries/filters/strategies/boolean_list.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/boolean_list_strict.rb b/app/models/queries/filters/strategies/boolean_list_strict.rb index ce4e36b5abfd..0563a59d815e 100644 --- a/app/models/queries/filters/strategies/boolean_list_strict.rb +++ b/app/models/queries/filters/strategies/boolean_list_strict.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/cf_float.rb b/app/models/queries/filters/strategies/cf_float.rb index d422165bd129..c29a3d13e5ee 100644 --- a/app/models/queries/filters/strategies/cf_float.rb +++ b/app/models/queries/filters/strategies/cf_float.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/cf_integer.rb b/app/models/queries/filters/strategies/cf_integer.rb index 8bebb4bd1d8d..dae02f668f2a 100644 --- a/app/models/queries/filters/strategies/cf_integer.rb +++ b/app/models/queries/filters/strategies/cf_integer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/cf_list_optional.rb b/app/models/queries/filters/strategies/cf_list_optional.rb index 76e0056c3a56..1f8aa1d02099 100644 --- a/app/models/queries/filters/strategies/cf_list_optional.rb +++ b/app/models/queries/filters/strategies/cf_list_optional.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/cf_numeric.rb b/app/models/queries/filters/strategies/cf_numeric.rb index c6509cbb9774..23b2ba148b89 100644 --- a/app/models/queries/filters/strategies/cf_numeric.rb +++ b/app/models/queries/filters/strategies/cf_numeric.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/date.rb b/app/models/queries/filters/strategies/date.rb index 159bbf7d3e6a..6b34a2cbb2fb 100644 --- a/app/models/queries/filters/strategies/date.rb +++ b/app/models/queries/filters/strategies/date.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/date_interval.rb b/app/models/queries/filters/strategies/date_interval.rb index 730edba9cf12..2be08d931c5b 100644 --- a/app/models/queries/filters/strategies/date_interval.rb +++ b/app/models/queries/filters/strategies/date_interval.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/date_time_past.rb b/app/models/queries/filters/strategies/date_time_past.rb index be8274e6c5a2..75027841bac9 100644 --- a/app/models/queries/filters/strategies/date_time_past.rb +++ b/app/models/queries/filters/strategies/date_time_past.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/empty_value.rb b/app/models/queries/filters/strategies/empty_value.rb index 8e3aa4e286c5..86f808a222e1 100644 --- a/app/models/queries/filters/strategies/empty_value.rb +++ b/app/models/queries/filters/strategies/empty_value.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/float.rb b/app/models/queries/filters/strategies/float.rb index 4b8a68032f3a..443cc9c203e1 100644 --- a/app/models/queries/filters/strategies/float.rb +++ b/app/models/queries/filters/strategies/float.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/float_numeric.rb b/app/models/queries/filters/strategies/float_numeric.rb index 4449e7c7ef48..3f638d9cd196 100644 --- a/app/models/queries/filters/strategies/float_numeric.rb +++ b/app/models/queries/filters/strategies/float_numeric.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/huge_list.rb b/app/models/queries/filters/strategies/huge_list.rb index 0abf0ef52c72..64407468a965 100644 --- a/app/models/queries/filters/strategies/huge_list.rb +++ b/app/models/queries/filters/strategies/huge_list.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/inexistent.rb b/app/models/queries/filters/strategies/inexistent.rb index b7e8027cf87a..4e509cad7199 100644 --- a/app/models/queries/filters/strategies/inexistent.rb +++ b/app/models/queries/filters/strategies/inexistent.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/integer.rb b/app/models/queries/filters/strategies/integer.rb index 1ecb0f6070d2..629ad3441df0 100644 --- a/app/models/queries/filters/strategies/integer.rb +++ b/app/models/queries/filters/strategies/integer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/integer_list.rb b/app/models/queries/filters/strategies/integer_list.rb index 2d1331b70b9b..9f4223ad7912 100644 --- a/app/models/queries/filters/strategies/integer_list.rb +++ b/app/models/queries/filters/strategies/integer_list.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/integer_list_optional.rb b/app/models/queries/filters/strategies/integer_list_optional.rb index 96708b43299c..5131409bc22b 100644 --- a/app/models/queries/filters/strategies/integer_list_optional.rb +++ b/app/models/queries/filters/strategies/integer_list_optional.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/integer_numeric.rb b/app/models/queries/filters/strategies/integer_numeric.rb index 0467f518daf5..f66d926b70d5 100644 --- a/app/models/queries/filters/strategies/integer_numeric.rb +++ b/app/models/queries/filters/strategies/integer_numeric.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/list.rb b/app/models/queries/filters/strategies/list.rb index a3d892f609db..e3941b6bd1da 100644 --- a/app/models/queries/filters/strategies/list.rb +++ b/app/models/queries/filters/strategies/list.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/list_all.rb b/app/models/queries/filters/strategies/list_all.rb index 5b8a7bfd5d6f..7ce4aa21759f 100644 --- a/app/models/queries/filters/strategies/list_all.rb +++ b/app/models/queries/filters/strategies/list_all.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/list_optional.rb b/app/models/queries/filters/strategies/list_optional.rb index acb566f538f9..83df263bd72f 100644 --- a/app/models/queries/filters/strategies/list_optional.rb +++ b/app/models/queries/filters/strategies/list_optional.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/numeric.rb b/app/models/queries/filters/strategies/numeric.rb index 8f394a0d72a1..7ffe416ccd7e 100644 --- a/app/models/queries/filters/strategies/numeric.rb +++ b/app/models/queries/filters/strategies/numeric.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/relation.rb b/app/models/queries/filters/strategies/relation.rb index be33a15f5bc1..e1cbd6f7ce81 100644 --- a/app/models/queries/filters/strategies/relation.rb +++ b/app/models/queries/filters/strategies/relation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/search.rb b/app/models/queries/filters/strategies/search.rb index cfa486622e5e..deee18bbcb04 100644 --- a/app/models/queries/filters/strategies/search.rb +++ b/app/models/queries/filters/strategies/search.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/string.rb b/app/models/queries/filters/strategies/string.rb index 6bbc6aacb764..d163a2ed1d0e 100644 --- a/app/models/queries/filters/strategies/string.rb +++ b/app/models/queries/filters/strategies/string.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/text.rb b/app/models/queries/filters/strategies/text.rb index a23860f14c34..981827401d3a 100644 --- a/app/models/queries/filters/strategies/text.rb +++ b/app/models/queries/filters/strategies/text.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/strategies/validations.rb b/app/models/queries/filters/strategies/validations.rb index f50659d5bb72..132236eb8ff0 100644 --- a/app/models/queries/filters/strategies/validations.rb +++ b/app/models/queries/filters/strategies/validations.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/filters/templated_value.rb b/app/models/queries/filters/templated_value.rb index 68e685175678..ad98a9b4e527 100644 --- a/app/models/queries/filters/templated_value.rb +++ b/app/models/queries/filters/templated_value.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/group_bys/available_group_bys.rb b/app/models/queries/group_bys/available_group_bys.rb index 5e9754031d18..e933e61bd85b 100644 --- a/app/models/queries/group_bys/available_group_bys.rb +++ b/app/models/queries/group_bys/available_group_bys.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/group_bys/base.rb b/app/models/queries/group_bys/base.rb index 6c1200ce8962..c0c0b2c02747 100644 --- a/app/models/queries/group_bys/base.rb +++ b/app/models/queries/group_bys/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/group_bys/not_existing_group_by.rb b/app/models/queries/group_bys/not_existing_group_by.rb index 0ea2eef90c8d..4e7ea8993ddf 100644 --- a/app/models/queries/group_bys/not_existing_group_by.rb +++ b/app/models/queries/group_bys/not_existing_group_by.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/groups.rb b/app/models/queries/groups.rb index a43f48494a1a..85d7c789bf43 100644 --- a/app/models/queries/groups.rb +++ b/app/models/queries/groups.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/groups/group_query.rb b/app/models/queries/groups/group_query.rb index a296fbec677b..676d48192c7c 100644 --- a/app/models/queries/groups/group_query.rb +++ b/app/models/queries/groups/group_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/groups/orders/default_order.rb b/app/models/queries/groups/orders/default_order.rb index 93d8d453e4a8..6829895453d3 100644 --- a/app/models/queries/groups/orders/default_order.rb +++ b/app/models/queries/groups/orders/default_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/individual_principals/orders/group_order.rb b/app/models/queries/individual_principals/orders/group_order.rb index eafb3137c646..75ac7b094606 100644 --- a/app/models/queries/individual_principals/orders/group_order.rb +++ b/app/models/queries/individual_principals/orders/group_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/individual_principals/orders/name_order.rb b/app/models/queries/individual_principals/orders/name_order.rb index 2226c36929dc..8cc3779e79c6 100644 --- a/app/models/queries/individual_principals/orders/name_order.rb +++ b/app/models/queries/individual_principals/orders/name_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members.rb b/app/models/queries/members.rb index b3ece3032a89..8f55951d4dc3 100644 --- a/app/models/queries/members.rb +++ b/app/models/queries/members.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/also_project_member_filter.rb b/app/models/queries/members/filters/also_project_member_filter.rb index 27a6378dd42a..74b411f80a24 100644 --- a/app/models/queries/members/filters/also_project_member_filter.rb +++ b/app/models/queries/members/filters/also_project_member_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/any_name_attribute_filter.rb b/app/models/queries/members/filters/any_name_attribute_filter.rb index 5b9ef986524e..424705911164 100644 --- a/app/models/queries/members/filters/any_name_attribute_filter.rb +++ b/app/models/queries/members/filters/any_name_attribute_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/blocked_filter.rb b/app/models/queries/members/filters/blocked_filter.rb index a40cfd57d7c0..f393a83ca905 100644 --- a/app/models/queries/members/filters/blocked_filter.rb +++ b/app/models/queries/members/filters/blocked_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/created_at_filter.rb b/app/models/queries/members/filters/created_at_filter.rb index 0a696fa932f0..17979bac4db3 100644 --- a/app/models/queries/members/filters/created_at_filter.rb +++ b/app/models/queries/members/filters/created_at_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/entity_id_filter.rb b/app/models/queries/members/filters/entity_id_filter.rb index 4f81d1784c1c..b5c39bc9e463 100644 --- a/app/models/queries/members/filters/entity_id_filter.rb +++ b/app/models/queries/members/filters/entity_id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/entity_type_filter.rb b/app/models/queries/members/filters/entity_type_filter.rb index 7430f58b811f..5ddab94d13fa 100644 --- a/app/models/queries/members/filters/entity_type_filter.rb +++ b/app/models/queries/members/filters/entity_type_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/group_filter.rb b/app/models/queries/members/filters/group_filter.rb index 473e51eb2cc6..324915bab884 100644 --- a/app/models/queries/members/filters/group_filter.rb +++ b/app/models/queries/members/filters/group_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/member_filter.rb b/app/models/queries/members/filters/member_filter.rb index a5322ac31259..a977b19837f2 100644 --- a/app/models/queries/members/filters/member_filter.rb +++ b/app/models/queries/members/filters/member_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/name_filter.rb b/app/models/queries/members/filters/name_filter.rb index 6007c189bc5f..b07c7b3fbffa 100644 --- a/app/models/queries/members/filters/name_filter.rb +++ b/app/models/queries/members/filters/name_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/only_project_member_filter.rb b/app/models/queries/members/filters/only_project_member_filter.rb index f84d7090a841..5064881d677a 100644 --- a/app/models/queries/members/filters/only_project_member_filter.rb +++ b/app/models/queries/members/filters/only_project_member_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/principal_filter.rb b/app/models/queries/members/filters/principal_filter.rb index 5822341ff8a5..ac5c8bc912c9 100644 --- a/app/models/queries/members/filters/principal_filter.rb +++ b/app/models/queries/members/filters/principal_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/principal_type_filter.rb b/app/models/queries/members/filters/principal_type_filter.rb index a7b432a1dacc..68a72c4e614e 100644 --- a/app/models/queries/members/filters/principal_type_filter.rb +++ b/app/models/queries/members/filters/principal_type_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/project_filter.rb b/app/models/queries/members/filters/project_filter.rb index 33f33656064b..c1be8bef96b4 100644 --- a/app/models/queries/members/filters/project_filter.rb +++ b/app/models/queries/members/filters/project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/role_filter.rb b/app/models/queries/members/filters/role_filter.rb index a7a8f6cad1da..cfefd07de63f 100644 --- a/app/models/queries/members/filters/role_filter.rb +++ b/app/models/queries/members/filters/role_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/status_filter.rb b/app/models/queries/members/filters/status_filter.rb index 8c04a7213255..7a7b2dec0e5d 100644 --- a/app/models/queries/members/filters/status_filter.rb +++ b/app/models/queries/members/filters/status_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/filters/updated_at_filter.rb b/app/models/queries/members/filters/updated_at_filter.rb index c129ac7dc23c..9e952b95982a 100644 --- a/app/models/queries/members/filters/updated_at_filter.rb +++ b/app/models/queries/members/filters/updated_at_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/member_query.rb b/app/models/queries/members/member_query.rb index b7bdf9050ef6..50c7c948c533 100644 --- a/app/models/queries/members/member_query.rb +++ b/app/models/queries/members/member_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/orders/default_order.rb b/app/models/queries/members/orders/default_order.rb index 19668bf0b8fe..7694ba9a4119 100644 --- a/app/models/queries/members/orders/default_order.rb +++ b/app/models/queries/members/orders/default_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/orders/email_order.rb b/app/models/queries/members/orders/email_order.rb index 1549e7a639d5..4b2ab6d1232a 100644 --- a/app/models/queries/members/orders/email_order.rb +++ b/app/models/queries/members/orders/email_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/orders/name_order.rb b/app/models/queries/members/orders/name_order.rb index 28e6c9cf9f16..18195dc542cc 100644 --- a/app/models/queries/members/orders/name_order.rb +++ b/app/models/queries/members/orders/name_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/members/orders/status_order.rb b/app/models/queries/members/orders/status_order.rb index 1a37618f5b64..94cc431f8f3f 100644 --- a/app/models/queries/members/orders/status_order.rb +++ b/app/models/queries/members/orders/status_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/news.rb b/app/models/queries/news.rb index 92c945fff0f4..c726cb0a0517 100644 --- a/app/models/queries/news.rb +++ b/app/models/queries/news.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/news/filters/news_filter.rb b/app/models/queries/news/filters/news_filter.rb index 1e7ca61c3854..30c41d133647 100644 --- a/app/models/queries/news/filters/news_filter.rb +++ b/app/models/queries/news/filters/news_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/news/filters/project_filter.rb b/app/models/queries/news/filters/project_filter.rb index 501d7d07a7d7..50ae63c08551 100644 --- a/app/models/queries/news/filters/project_filter.rb +++ b/app/models/queries/news/filters/project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/news/news_query.rb b/app/models/queries/news/news_query.rb index 6aebe6e29b7c..71ed883995d7 100644 --- a/app/models/queries/news/news_query.rb +++ b/app/models/queries/news/news_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/news/orders/default_order.rb b/app/models/queries/news/orders/default_order.rb index 08a65190f2f9..f6dd79beb654 100644 --- a/app/models/queries/news/orders/default_order.rb +++ b/app/models/queries/news/orders/default_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/non_working_days.rb b/app/models/queries/non_working_days.rb index bffde818cb60..ab218f4ee171 100644 --- a/app/models/queries/non_working_days.rb +++ b/app/models/queries/non_working_days.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/non_working_days/filters/dates_interval_filter.rb b/app/models/queries/non_working_days/filters/dates_interval_filter.rb index 5efc19ff71c7..dff733da37ac 100644 --- a/app/models/queries/non_working_days/filters/dates_interval_filter.rb +++ b/app/models/queries/non_working_days/filters/dates_interval_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/non_working_days/filters/non_working_day_filter.rb b/app/models/queries/non_working_days/filters/non_working_day_filter.rb index 9592bb27d061..3e6df852872a 100644 --- a/app/models/queries/non_working_days/filters/non_working_day_filter.rb +++ b/app/models/queries/non_working_days/filters/non_working_day_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/non_working_days/non_working_day_query.rb b/app/models/queries/non_working_days/non_working_day_query.rb index 8f318b8306eb..7cf9c3c9f15b 100644 --- a/app/models/queries/non_working_days/non_working_day_query.rb +++ b/app/models/queries/non_working_days/non_working_day_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications.rb b/app/models/queries/notifications.rb index 0c84c595ccd4..5a94bff3b571 100644 --- a/app/models/queries/notifications.rb +++ b/app/models/queries/notifications.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/filters/id_filter.rb b/app/models/queries/notifications/filters/id_filter.rb index f972191d5cb3..b5b9934c92a5 100644 --- a/app/models/queries/notifications/filters/id_filter.rb +++ b/app/models/queries/notifications/filters/id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/filters/notification_filter.rb b/app/models/queries/notifications/filters/notification_filter.rb index 530b3fbae25c..1240eb00fe69 100644 --- a/app/models/queries/notifications/filters/notification_filter.rb +++ b/app/models/queries/notifications/filters/notification_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/filters/project_filter.rb b/app/models/queries/notifications/filters/project_filter.rb index 38e16c581b0b..276f118317dc 100644 --- a/app/models/queries/notifications/filters/project_filter.rb +++ b/app/models/queries/notifications/filters/project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/filters/read_ian_filter.rb b/app/models/queries/notifications/filters/read_ian_filter.rb index 6ef1ca79c4a0..5241eed59ee4 100644 --- a/app/models/queries/notifications/filters/read_ian_filter.rb +++ b/app/models/queries/notifications/filters/read_ian_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/filters/reason_filter.rb b/app/models/queries/notifications/filters/reason_filter.rb index aff6ec6f0547..3bfb23c3d16e 100644 --- a/app/models/queries/notifications/filters/reason_filter.rb +++ b/app/models/queries/notifications/filters/reason_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/filters/resource_id_filter.rb b/app/models/queries/notifications/filters/resource_id_filter.rb index 880309d76d36..41d28ed554da 100644 --- a/app/models/queries/notifications/filters/resource_id_filter.rb +++ b/app/models/queries/notifications/filters/resource_id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/filters/resource_type_filter.rb b/app/models/queries/notifications/filters/resource_type_filter.rb index 68657155ffbb..03fe4017b868 100644 --- a/app/models/queries/notifications/filters/resource_type_filter.rb +++ b/app/models/queries/notifications/filters/resource_type_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/group_bys/group_by_project.rb b/app/models/queries/notifications/group_bys/group_by_project.rb index 9e193423ac5a..7e3536348254 100644 --- a/app/models/queries/notifications/group_bys/group_by_project.rb +++ b/app/models/queries/notifications/group_bys/group_by_project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/group_bys/group_by_reason.rb b/app/models/queries/notifications/group_bys/group_by_reason.rb index fa9734edc583..be48f9f11bd8 100644 --- a/app/models/queries/notifications/group_bys/group_by_reason.rb +++ b/app/models/queries/notifications/group_bys/group_by_reason.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/notification_query.rb b/app/models/queries/notifications/notification_query.rb index 16ab433d70af..12082ec05514 100644 --- a/app/models/queries/notifications/notification_query.rb +++ b/app/models/queries/notifications/notification_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/orders/default_order.rb b/app/models/queries/notifications/orders/default_order.rb index 28f0226dc3d7..73babdbcc28e 100644 --- a/app/models/queries/notifications/orders/default_order.rb +++ b/app/models/queries/notifications/orders/default_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/orders/project_order.rb b/app/models/queries/notifications/orders/project_order.rb index cae905e8f123..63acd9a5f198 100644 --- a/app/models/queries/notifications/orders/project_order.rb +++ b/app/models/queries/notifications/orders/project_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/orders/read_ian_order.rb b/app/models/queries/notifications/orders/read_ian_order.rb index 17c340385984..a498a695a00d 100644 --- a/app/models/queries/notifications/orders/read_ian_order.rb +++ b/app/models/queries/notifications/orders/read_ian_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/notifications/orders/reason_order.rb b/app/models/queries/notifications/orders/reason_order.rb index da9545d2e976..8f84a2ab7c67 100644 --- a/app/models/queries/notifications/orders/reason_order.rb +++ b/app/models/queries/notifications/orders/reason_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators.rb b/app/models/queries/operators.rb index 67242b069109..6a125c2fcc59 100644 --- a/app/models/queries/operators.rb +++ b/app/models/queries/operators.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/ago.rb b/app/models/queries/operators/ago.rb index f1c2f01e5950..a063d86e0ecb 100644 --- a/app/models/queries/operators/ago.rb +++ b/app/models/queries/operators/ago.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/all.rb b/app/models/queries/operators/all.rb index cde2211cd71b..e8d8425cae02 100644 --- a/app/models/queries/operators/all.rb +++ b/app/models/queries/operators/all.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/all_and_non_blank.rb b/app/models/queries/operators/all_and_non_blank.rb index d97c21f9972b..157e17739abf 100644 --- a/app/models/queries/operators/all_and_non_blank.rb +++ b/app/models/queries/operators/all_and_non_blank.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/base.rb b/app/models/queries/operators/base.rb index 6467462ddc7b..eb638992ab2d 100644 --- a/app/models/queries/operators/base.rb +++ b/app/models/queries/operators/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/between_date.rb b/app/models/queries/operators/between_date.rb index 225af9d9fa5d..3d718ed823f9 100644 --- a/app/models/queries/operators/between_date.rb +++ b/app/models/queries/operators/between_date.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/between_date_time.rb b/app/models/queries/operators/between_date_time.rb index 6a053e0ef6d3..cc2b28740579 100644 --- a/app/models/queries/operators/between_date_time.rb +++ b/app/models/queries/operators/between_date_time.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/blocked.rb b/app/models/queries/operators/blocked.rb index 5d2b04757bba..e3f0f3f1194e 100644 --- a/app/models/queries/operators/blocked.rb +++ b/app/models/queries/operators/blocked.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/blocks.rb b/app/models/queries/operators/blocks.rb index 0255a399be1e..9939cba1b612 100644 --- a/app/models/queries/operators/blocks.rb +++ b/app/models/queries/operators/blocks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/boolean_equals.rb b/app/models/queries/operators/boolean_equals.rb index fcb651a9a1b3..c4fc7287e12a 100644 --- a/app/models/queries/operators/boolean_equals.rb +++ b/app/models/queries/operators/boolean_equals.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/boolean_equals_strict.rb b/app/models/queries/operators/boolean_equals_strict.rb index 6fda190eb8d4..aa91315b468a 100644 --- a/app/models/queries/operators/boolean_equals_strict.rb +++ b/app/models/queries/operators/boolean_equals_strict.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/boolean_not_equals.rb b/app/models/queries/operators/boolean_not_equals.rb index 420767974b8a..b7fc475b7eba 100644 --- a/app/models/queries/operators/boolean_not_equals.rb +++ b/app/models/queries/operators/boolean_not_equals.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/casted_greater_or_equal.rb b/app/models/queries/operators/casted_greater_or_equal.rb index 8a8506d7948b..586dd74b8382 100644 --- a/app/models/queries/operators/casted_greater_or_equal.rb +++ b/app/models/queries/operators/casted_greater_or_equal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/casted_less_or_equal.rb b/app/models/queries/operators/casted_less_or_equal.rb index cc14905a6e2a..b1a2a85a1cc8 100644 --- a/app/models/queries/operators/casted_less_or_equal.rb +++ b/app/models/queries/operators/casted_less_or_equal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/children.rb b/app/models/queries/operators/children.rb index 59714851c5a8..239eb56646ae 100644 --- a/app/models/queries/operators/children.rb +++ b/app/models/queries/operators/children.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/closed_work_packages.rb b/app/models/queries/operators/closed_work_packages.rb index c3f64e38478e..7521abea0e3f 100644 --- a/app/models/queries/operators/closed_work_packages.rb +++ b/app/models/queries/operators/closed_work_packages.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/concerns/contains_all_values.rb b/app/models/queries/operators/concerns/contains_all_values.rb index 1366877331dc..0fe722085fbd 100644 --- a/app/models/queries/operators/concerns/contains_all_values.rb +++ b/app/models/queries/operators/concerns/contains_all_values.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/contains.rb b/app/models/queries/operators/contains.rb index bd332b6b4994..b5a3ef236e7e 100644 --- a/app/models/queries/operators/contains.rb +++ b/app/models/queries/operators/contains.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/custom_fields/equals_all.rb b/app/models/queries/operators/custom_fields/equals_all.rb index e95111b5718b..1725246ab84b 100644 --- a/app/models/queries/operators/custom_fields/equals_all.rb +++ b/app/models/queries/operators/custom_fields/equals_all.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/custom_fields/not_equals_all.rb b/app/models/queries/operators/custom_fields/not_equals_all.rb index e7a5432fbbc2..178528ec864e 100644 --- a/app/models/queries/operators/custom_fields/not_equals_all.rb +++ b/app/models/queries/operators/custom_fields/not_equals_all.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/date_range_clauses.rb b/app/models/queries/operators/date_range_clauses.rb index 0771aaf8195b..b724634f5420 100644 --- a/app/models/queries/operators/date_range_clauses.rb +++ b/app/models/queries/operators/date_range_clauses.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/datetime_range_clauses.rb b/app/models/queries/operators/datetime_range_clauses.rb index 225ff7df3205..215301a80a2b 100644 --- a/app/models/queries/operators/datetime_range_clauses.rb +++ b/app/models/queries/operators/datetime_range_clauses.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/duplicated.rb b/app/models/queries/operators/duplicated.rb index 2d8cf04cb552..7fd0d6058a5f 100644 --- a/app/models/queries/operators/duplicated.rb +++ b/app/models/queries/operators/duplicated.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/duplicates.rb b/app/models/queries/operators/duplicates.rb index e28a57c4e755..45025a1b0ebd 100644 --- a/app/models/queries/operators/duplicates.rb +++ b/app/models/queries/operators/duplicates.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/equals.rb b/app/models/queries/operators/equals.rb index aba83d471849..9fac31954f96 100644 --- a/app/models/queries/operators/equals.rb +++ b/app/models/queries/operators/equals.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/equals_all.rb b/app/models/queries/operators/equals_all.rb index a90c08a89877..05d3a0dccfd9 100644 --- a/app/models/queries/operators/equals_all.rb +++ b/app/models/queries/operators/equals_all.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/equals_or.rb b/app/models/queries/operators/equals_or.rb index 6b7bab91e182..8058518105ba 100644 --- a/app/models/queries/operators/equals_or.rb +++ b/app/models/queries/operators/equals_or.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/everywhere.rb b/app/models/queries/operators/everywhere.rb index 624bb866004f..1eb3164ee222 100644 --- a/app/models/queries/operators/everywhere.rb +++ b/app/models/queries/operators/everywhere.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/follows.rb b/app/models/queries/operators/follows.rb index 5fa5b5321a71..eca302af1e45 100644 --- a/app/models/queries/operators/follows.rb +++ b/app/models/queries/operators/follows.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/greater_or_equal.rb b/app/models/queries/operators/greater_or_equal.rb index 002c7635e2cf..2282153cb1ec 100644 --- a/app/models/queries/operators/greater_or_equal.rb +++ b/app/models/queries/operators/greater_or_equal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/in.rb b/app/models/queries/operators/in.rb index ad80bdb98c4e..444e766dfb71 100644 --- a/app/models/queries/operators/in.rb +++ b/app/models/queries/operators/in.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/in_less_than.rb b/app/models/queries/operators/in_less_than.rb index a47b22b50058..46c82bdc7346 100644 --- a/app/models/queries/operators/in_less_than.rb +++ b/app/models/queries/operators/in_less_than.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/in_more_than.rb b/app/models/queries/operators/in_more_than.rb index cd6b87825fe2..7247149c319d 100644 --- a/app/models/queries/operators/in_more_than.rb +++ b/app/models/queries/operators/in_more_than.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/includes.rb b/app/models/queries/operators/includes.rb index ac0954075eec..fa073d90e4bf 100644 --- a/app/models/queries/operators/includes.rb +++ b/app/models/queries/operators/includes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/less_or_equal.rb b/app/models/queries/operators/less_or_equal.rb index 6868f24e8af7..4ce878e9fee8 100644 --- a/app/models/queries/operators/less_or_equal.rb +++ b/app/models/queries/operators/less_or_equal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/less_than_ago.rb b/app/models/queries/operators/less_than_ago.rb index ef0a56cebd83..30b11bf951e4 100644 --- a/app/models/queries/operators/less_than_ago.rb +++ b/app/models/queries/operators/less_than_ago.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/more_than_ago.rb b/app/models/queries/operators/more_than_ago.rb index cfebde72cb4c..bb0ddd508211 100644 --- a/app/models/queries/operators/more_than_ago.rb +++ b/app/models/queries/operators/more_than_ago.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/none.rb b/app/models/queries/operators/none.rb index 9e21061fe4e6..2e247c19a62e 100644 --- a/app/models/queries/operators/none.rb +++ b/app/models/queries/operators/none.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/none_or_blank.rb b/app/models/queries/operators/none_or_blank.rb index 0814a998289f..f89b93aeab73 100644 --- a/app/models/queries/operators/none_or_blank.rb +++ b/app/models/queries/operators/none_or_blank.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/not_contains.rb b/app/models/queries/operators/not_contains.rb index e76daad629a0..dfe7cb4e9a42 100644 --- a/app/models/queries/operators/not_contains.rb +++ b/app/models/queries/operators/not_contains.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/not_equals.rb b/app/models/queries/operators/not_equals.rb index d735e7615310..d7a081ea0b97 100644 --- a/app/models/queries/operators/not_equals.rb +++ b/app/models/queries/operators/not_equals.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/on_date.rb b/app/models/queries/operators/on_date.rb index dafdae92d461..a3bd82350bba 100644 --- a/app/models/queries/operators/on_date.rb +++ b/app/models/queries/operators/on_date.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/on_date_time.rb b/app/models/queries/operators/on_date_time.rb index 35ac201aaf37..31bfc3be6617 100644 --- a/app/models/queries/operators/on_date_time.rb +++ b/app/models/queries/operators/on_date_time.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/open_work_packages.rb b/app/models/queries/operators/open_work_packages.rb index 0c4bf8a308f5..10786633f115 100644 --- a/app/models/queries/operators/open_work_packages.rb +++ b/app/models/queries/operators/open_work_packages.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/ordered_work_packages.rb b/app/models/queries/operators/ordered_work_packages.rb index b1d8514f9e8b..b20dd7f239b4 100644 --- a/app/models/queries/operators/ordered_work_packages.rb +++ b/app/models/queries/operators/ordered_work_packages.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/parent.rb b/app/models/queries/operators/parent.rb index 4d213a2e75ad..378cb7bf193b 100644 --- a/app/models/queries/operators/parent.rb +++ b/app/models/queries/operators/parent.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/part_of.rb b/app/models/queries/operators/part_of.rb index 8f0cf5b190cb..768dc7c0ce51 100644 --- a/app/models/queries/operators/part_of.rb +++ b/app/models/queries/operators/part_of.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/precedes.rb b/app/models/queries/operators/precedes.rb index a629e6a154ae..ad2e16516743 100644 --- a/app/models/queries/operators/precedes.rb +++ b/app/models/queries/operators/precedes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/relates.rb b/app/models/queries/operators/relates.rb index 4e898ead4c1b..a17e5aee3393 100644 --- a/app/models/queries/operators/relates.rb +++ b/app/models/queries/operators/relates.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/required.rb b/app/models/queries/operators/required.rb index 62e5c9e2c563..2e5f06992fbd 100644 --- a/app/models/queries/operators/required.rb +++ b/app/models/queries/operators/required.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/requires.rb b/app/models/queries/operators/requires.rb index ca6a0e64a8e2..6ae66bb2f443 100644 --- a/app/models/queries/operators/requires.rb +++ b/app/models/queries/operators/requires.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/this_week.rb b/app/models/queries/operators/this_week.rb index 775ea94bff40..2aa438d3f8fd 100644 --- a/app/models/queries/operators/this_week.rb +++ b/app/models/queries/operators/this_week.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/operators/today.rb b/app/models/queries/operators/today.rb index bbc11a099f56..962e4992c3f9 100644 --- a/app/models/queries/operators/today.rb +++ b/app/models/queries/operators/today.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/orders/available_orders.rb b/app/models/queries/orders/available_orders.rb index 9f48eac2b2c2..e505d416748a 100644 --- a/app/models/queries/orders/available_orders.rb +++ b/app/models/queries/orders/available_orders.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/orders/base.rb b/app/models/queries/orders/base.rb index c0ed9d8cd2df..d1d3db84ca90 100644 --- a/app/models/queries/orders/base.rb +++ b/app/models/queries/orders/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/orders/not_existing_order.rb b/app/models/queries/orders/not_existing_order.rb index 017beed90406..ce8f6fac2129 100644 --- a/app/models/queries/orders/not_existing_order.rb +++ b/app/models/queries/orders/not_existing_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/placeholder_users.rb b/app/models/queries/placeholder_users.rb index 60d346f32fdc..d17dbfc0e06f 100644 --- a/app/models/queries/placeholder_users.rb +++ b/app/models/queries/placeholder_users.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/placeholder_users/filters/any_name_attribute_filter.rb b/app/models/queries/placeholder_users/filters/any_name_attribute_filter.rb index 00eb23d28cc1..ba4ee046e694 100644 --- a/app/models/queries/placeholder_users/filters/any_name_attribute_filter.rb +++ b/app/models/queries/placeholder_users/filters/any_name_attribute_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/placeholder_users/filters/group_filter.rb b/app/models/queries/placeholder_users/filters/group_filter.rb index afd7ff73ee0a..7624aede19d2 100644 --- a/app/models/queries/placeholder_users/filters/group_filter.rb +++ b/app/models/queries/placeholder_users/filters/group_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/placeholder_users/filters/name_filter.rb b/app/models/queries/placeholder_users/filters/name_filter.rb index 9ba3ae7114bd..7bbd92357646 100644 --- a/app/models/queries/placeholder_users/filters/name_filter.rb +++ b/app/models/queries/placeholder_users/filters/name_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/placeholder_users/filters/placeholder_user_filter.rb b/app/models/queries/placeholder_users/filters/placeholder_user_filter.rb index d95ef4df376c..5a5af308c014 100644 --- a/app/models/queries/placeholder_users/filters/placeholder_user_filter.rb +++ b/app/models/queries/placeholder_users/filters/placeholder_user_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/placeholder_users/filters/status_filter.rb b/app/models/queries/placeholder_users/filters/status_filter.rb index e8015aa87037..72d5f5b554f7 100644 --- a/app/models/queries/placeholder_users/filters/status_filter.rb +++ b/app/models/queries/placeholder_users/filters/status_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/placeholder_users/orders/default_order.rb b/app/models/queries/placeholder_users/orders/default_order.rb index ffff9db6275a..b0715e84e008 100644 --- a/app/models/queries/placeholder_users/orders/default_order.rb +++ b/app/models/queries/placeholder_users/orders/default_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/placeholder_users/orders/group_order.rb b/app/models/queries/placeholder_users/orders/group_order.rb index 8912f36f5ded..aa3f5543d6e6 100644 --- a/app/models/queries/placeholder_users/orders/group_order.rb +++ b/app/models/queries/placeholder_users/orders/group_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/placeholder_users/orders/name_order.rb b/app/models/queries/placeholder_users/orders/name_order.rb index 448b86e2addb..caa0170e5c97 100644 --- a/app/models/queries/placeholder_users/orders/name_order.rb +++ b/app/models/queries/placeholder_users/orders/name_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/placeholder_users/placeholder_user_query.rb b/app/models/queries/placeholder_users/placeholder_user_query.rb index 95a56c75b3f4..58c831514724 100644 --- a/app/models/queries/placeholder_users/placeholder_user_query.rb +++ b/app/models/queries/placeholder_users/placeholder_user_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals.rb b/app/models/queries/principals.rb index f29be25c54ae..79f415112b90 100644 --- a/app/models/queries/principals.rb +++ b/app/models/queries/principals.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals/filters/access_to_anything_in_project_filter.rb b/app/models/queries/principals/filters/access_to_anything_in_project_filter.rb index 73576b8fac7d..30f2f7a12fe6 100644 --- a/app/models/queries/principals/filters/access_to_anything_in_project_filter.rb +++ b/app/models/queries/principals/filters/access_to_anything_in_project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals/filters/any_name_attribute_filter.rb b/app/models/queries/principals/filters/any_name_attribute_filter.rb index 38f83c925e85..cb534f7f97df 100644 --- a/app/models/queries/principals/filters/any_name_attribute_filter.rb +++ b/app/models/queries/principals/filters/any_name_attribute_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals/filters/id_filter.rb b/app/models/queries/principals/filters/id_filter.rb index 44ec3eda2cc9..6da2e1ddb531 100644 --- a/app/models/queries/principals/filters/id_filter.rb +++ b/app/models/queries/principals/filters/id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals/filters/member_filter.rb b/app/models/queries/principals/filters/member_filter.rb index a39c8cf7ff01..5e60f92496d5 100644 --- a/app/models/queries/principals/filters/member_filter.rb +++ b/app/models/queries/principals/filters/member_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals/filters/name_filter.rb b/app/models/queries/principals/filters/name_filter.rb index 2de0c98e4867..8e5fb6a54de6 100644 --- a/app/models/queries/principals/filters/name_filter.rb +++ b/app/models/queries/principals/filters/name_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals/filters/principal_filter.rb b/app/models/queries/principals/filters/principal_filter.rb index d78a8edc0320..340943324ff9 100644 --- a/app/models/queries/principals/filters/principal_filter.rb +++ b/app/models/queries/principals/filters/principal_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals/filters/status_filter.rb b/app/models/queries/principals/filters/status_filter.rb index 04454c739afd..3372d2f0529d 100644 --- a/app/models/queries/principals/filters/status_filter.rb +++ b/app/models/queries/principals/filters/status_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals/filters/type_filter.rb b/app/models/queries/principals/filters/type_filter.rb index 7b02382d8c3f..23538de7c020 100644 --- a/app/models/queries/principals/filters/type_filter.rb +++ b/app/models/queries/principals/filters/type_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals/filters/typeahead_filter.rb b/app/models/queries/principals/filters/typeahead_filter.rb index a9a0b88a599c..27abceb87bc8 100644 --- a/app/models/queries/principals/filters/typeahead_filter.rb +++ b/app/models/queries/principals/filters/typeahead_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals/orders/name_order.rb b/app/models/queries/principals/orders/name_order.rb index 6169b4aded80..ef42308d7a44 100644 --- a/app/models/queries/principals/orders/name_order.rb +++ b/app/models/queries/principals/orders/name_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/principals/principal_query.rb b/app/models/queries/principals/principal_query.rb index 2f8967669ce8..14523d7eb9f3 100644 --- a/app/models/queries/principals/principal_query.rb +++ b/app/models/queries/principals/principal_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects.rb b/app/models/queries/projects.rb index f874e953336e..e6f77e488bc6 100644 --- a/app/models/queries/projects.rb +++ b/app/models/queries/projects.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/active_filter.rb b/app/models/queries/projects/filters/active_filter.rb index e272d21eb8a0..92c493413c5c 100644 --- a/app/models/queries/projects/filters/active_filter.rb +++ b/app/models/queries/projects/filters/active_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/ancestor_filter.rb b/app/models/queries/projects/filters/ancestor_filter.rb index cb0d90841aeb..9f7fad23a985 100644 --- a/app/models/queries/projects/filters/ancestor_filter.rb +++ b/app/models/queries/projects/filters/ancestor_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/created_at_filter.rb b/app/models/queries/projects/filters/created_at_filter.rb index 9167d4364677..7355b4595b4d 100644 --- a/app/models/queries/projects/filters/created_at_filter.rb +++ b/app/models/queries/projects/filters/created_at_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/custom_field_context.rb b/app/models/queries/projects/filters/custom_field_context.rb index e00fd047f8ff..34fad024bf30 100644 --- a/app/models/queries/projects/filters/custom_field_context.rb +++ b/app/models/queries/projects/filters/custom_field_context.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/custom_field_filter.rb b/app/models/queries/projects/filters/custom_field_filter.rb index 7ffa8885d946..e4f6c43d8469 100644 --- a/app/models/queries/projects/filters/custom_field_filter.rb +++ b/app/models/queries/projects/filters/custom_field_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/id_filter.rb b/app/models/queries/projects/filters/id_filter.rb index 1e44b2dbdf8c..8bc577afcba7 100644 --- a/app/models/queries/projects/filters/id_filter.rb +++ b/app/models/queries/projects/filters/id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/latest_activity_at_filter.rb b/app/models/queries/projects/filters/latest_activity_at_filter.rb index b4533fc60838..24f8d7c5dc4c 100644 --- a/app/models/queries/projects/filters/latest_activity_at_filter.rb +++ b/app/models/queries/projects/filters/latest_activity_at_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/name_and_identifier_filter.rb b/app/models/queries/projects/filters/name_and_identifier_filter.rb index 473543e7958e..1b7a5eb16679 100644 --- a/app/models/queries/projects/filters/name_and_identifier_filter.rb +++ b/app/models/queries/projects/filters/name_and_identifier_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/name_filter.rb b/app/models/queries/projects/filters/name_filter.rb index cc220cf573ca..36416b1d1d67 100644 --- a/app/models/queries/projects/filters/name_filter.rb +++ b/app/models/queries/projects/filters/name_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/parent_filter.rb b/app/models/queries/projects/filters/parent_filter.rb index 0a6496a0a702..22a45fb937a8 100644 --- a/app/models/queries/projects/filters/parent_filter.rb +++ b/app/models/queries/projects/filters/parent_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/principal_filter.rb b/app/models/queries/projects/filters/principal_filter.rb index e8839f489573..34c39e35ad7a 100644 --- a/app/models/queries/projects/filters/principal_filter.rb +++ b/app/models/queries/projects/filters/principal_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/project_filter.rb b/app/models/queries/projects/filters/project_filter.rb index 49bc96e80952..b901999ef257 100644 --- a/app/models/queries/projects/filters/project_filter.rb +++ b/app/models/queries/projects/filters/project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/project_status_filter.rb b/app/models/queries/projects/filters/project_status_filter.rb index 3158e27cc9b4..3275e74a59d3 100644 --- a/app/models/queries/projects/filters/project_status_filter.rb +++ b/app/models/queries/projects/filters/project_status_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/public_filter.rb b/app/models/queries/projects/filters/public_filter.rb index 3faeb32854b2..6ad7341cdf5d 100644 --- a/app/models/queries/projects/filters/public_filter.rb +++ b/app/models/queries/projects/filters/public_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/templated_filter.rb b/app/models/queries/projects/filters/templated_filter.rb index cce8660495dc..e4a959cdf0e6 100644 --- a/app/models/queries/projects/filters/templated_filter.rb +++ b/app/models/queries/projects/filters/templated_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/type_filter.rb b/app/models/queries/projects/filters/type_filter.rb index 446143b9c184..f8874cbf26a0 100644 --- a/app/models/queries/projects/filters/type_filter.rb +++ b/app/models/queries/projects/filters/type_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/typeahead_filter.rb b/app/models/queries/projects/filters/typeahead_filter.rb index 0e9d3dd285dd..d2f617c9323a 100644 --- a/app/models/queries/projects/filters/typeahead_filter.rb +++ b/app/models/queries/projects/filters/typeahead_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/user_action_filter.rb b/app/models/queries/projects/filters/user_action_filter.rb index e03021e89594..43c6523698e1 100644 --- a/app/models/queries/projects/filters/user_action_filter.rb +++ b/app/models/queries/projects/filters/user_action_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/filters/visible_filter.rb b/app/models/queries/projects/filters/visible_filter.rb index ea965400b751..d5f23c5b77ba 100644 --- a/app/models/queries/projects/filters/visible_filter.rb +++ b/app/models/queries/projects/filters/visible_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/orders/custom_field_order.rb b/app/models/queries/projects/orders/custom_field_order.rb index fb707f33979e..442eb5fa6b92 100644 --- a/app/models/queries/projects/orders/custom_field_order.rb +++ b/app/models/queries/projects/orders/custom_field_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/orders/default_order.rb b/app/models/queries/projects/orders/default_order.rb index d39a73fc6e77..746d900c89eb 100644 --- a/app/models/queries/projects/orders/default_order.rb +++ b/app/models/queries/projects/orders/default_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/orders/latest_activity_at_order.rb b/app/models/queries/projects/orders/latest_activity_at_order.rb index a92146a6e774..65511098ed09 100644 --- a/app/models/queries/projects/orders/latest_activity_at_order.rb +++ b/app/models/queries/projects/orders/latest_activity_at_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/orders/name_order.rb b/app/models/queries/projects/orders/name_order.rb index 23536d3a8a5b..291cbf40b9f9 100644 --- a/app/models/queries/projects/orders/name_order.rb +++ b/app/models/queries/projects/orders/name_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/orders/project_status_order.rb b/app/models/queries/projects/orders/project_status_order.rb index 8c0e86c5a442..6c999d85096c 100644 --- a/app/models/queries/projects/orders/project_status_order.rb +++ b/app/models/queries/projects/orders/project_status_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/orders/required_disk_space_order.rb b/app/models/queries/projects/orders/required_disk_space_order.rb index ccb8b8e5ad96..985d35b41b76 100644 --- a/app/models/queries/projects/orders/required_disk_space_order.rb +++ b/app/models/queries/projects/orders/required_disk_space_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/orders/typeahead_order.rb b/app/models/queries/projects/orders/typeahead_order.rb index 18080c726d29..d103e90aba6f 100644 --- a/app/models/queries/projects/orders/typeahead_order.rb +++ b/app/models/queries/projects/orders/typeahead_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/projects/project_query.rb b/app/models/queries/projects/project_query.rb index 3ed04dd90eb9..12266ee90c2e 100644 --- a/app/models/queries/projects/project_query.rb +++ b/app/models/queries/projects/project_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/queries.rb b/app/models/queries/queries.rb index 9fad135b6dd0..79544a64cdc0 100644 --- a/app/models/queries/queries.rb +++ b/app/models/queries/queries.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/queries/filters/id_filter.rb b/app/models/queries/queries/filters/id_filter.rb index bd9a334b525d..9dd0c55ac1b9 100644 --- a/app/models/queries/queries/filters/id_filter.rb +++ b/app/models/queries/queries/filters/id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/queries/filters/project_filter.rb b/app/models/queries/queries/filters/project_filter.rb index 9804fa3fb6f9..3d79f7bb4184 100644 --- a/app/models/queries/queries/filters/project_filter.rb +++ b/app/models/queries/queries/filters/project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/queries/filters/project_identifier_filter.rb b/app/models/queries/queries/filters/project_identifier_filter.rb index f163edc50ac5..57b5c37ff830 100644 --- a/app/models/queries/queries/filters/project_identifier_filter.rb +++ b/app/models/queries/queries/filters/project_identifier_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/queries/filters/query_filter.rb b/app/models/queries/queries/filters/query_filter.rb index 587b1a024ad7..04e9e6166b8c 100644 --- a/app/models/queries/queries/filters/query_filter.rb +++ b/app/models/queries/queries/filters/query_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/queries/filters/updated_at_filter.rb b/app/models/queries/queries/filters/updated_at_filter.rb index 070d5b1a05b7..7ef52994bf52 100644 --- a/app/models/queries/queries/filters/updated_at_filter.rb +++ b/app/models/queries/queries/filters/updated_at_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/queries/query_query.rb b/app/models/queries/queries/query_query.rb index 9bff8466f1a1..a5ebc0c20d39 100644 --- a/app/models/queries/queries/query_query.rb +++ b/app/models/queries/queries/query_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/register.rb b/app/models/queries/register.rb index 85dcea28b38d..43d1f0ae6bbb 100644 --- a/app/models/queries/register.rb +++ b/app/models/queries/register.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/relations.rb b/app/models/queries/relations.rb index eb83301dc0ce..9086335fbbf3 100644 --- a/app/models/queries/relations.rb +++ b/app/models/queries/relations.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/relations/filters/from_filter.rb b/app/models/queries/relations/filters/from_filter.rb index ae0108bc4768..e83818cefd08 100644 --- a/app/models/queries/relations/filters/from_filter.rb +++ b/app/models/queries/relations/filters/from_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/relations/filters/id_filter.rb b/app/models/queries/relations/filters/id_filter.rb index 9a3c66fde3c2..b36c58ccef92 100644 --- a/app/models/queries/relations/filters/id_filter.rb +++ b/app/models/queries/relations/filters/id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/relations/filters/involved_filter.rb b/app/models/queries/relations/filters/involved_filter.rb index 2936edaeeb10..65f2fe6a5ed8 100644 --- a/app/models/queries/relations/filters/involved_filter.rb +++ b/app/models/queries/relations/filters/involved_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/relations/filters/relation_filter.rb b/app/models/queries/relations/filters/relation_filter.rb index 091b5ef2c66d..fb8dd07fc592 100644 --- a/app/models/queries/relations/filters/relation_filter.rb +++ b/app/models/queries/relations/filters/relation_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/relations/filters/to_filter.rb b/app/models/queries/relations/filters/to_filter.rb index 8ecef40bbb1b..a857154b586d 100644 --- a/app/models/queries/relations/filters/to_filter.rb +++ b/app/models/queries/relations/filters/to_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/relations/filters/type_filter.rb b/app/models/queries/relations/filters/type_filter.rb index bf890d5afdf0..37bc296fdb2c 100644 --- a/app/models/queries/relations/filters/type_filter.rb +++ b/app/models/queries/relations/filters/type_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/relations/filters/visibility_checking.rb b/app/models/queries/relations/filters/visibility_checking.rb index 203d23075d11..1fee2304c4a4 100644 --- a/app/models/queries/relations/filters/visibility_checking.rb +++ b/app/models/queries/relations/filters/visibility_checking.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/relations/orders/default_order.rb b/app/models/queries/relations/orders/default_order.rb index 116e64a3074c..f2d4aca7863d 100644 --- a/app/models/queries/relations/orders/default_order.rb +++ b/app/models/queries/relations/orders/default_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/relations/relation_query.rb b/app/models/queries/relations/relation_query.rb index 024de41b6971..74371bd67636 100644 --- a/app/models/queries/relations/relation_query.rb +++ b/app/models/queries/relations/relation_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/roles.rb b/app/models/queries/roles.rb index 47f3561a84cd..18238fc010f6 100644 --- a/app/models/queries/roles.rb +++ b/app/models/queries/roles.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/roles/filters/allows_becoming_assignee_filter.rb b/app/models/queries/roles/filters/allows_becoming_assignee_filter.rb index 35abe6d52d13..2c62b8f4a86c 100644 --- a/app/models/queries/roles/filters/allows_becoming_assignee_filter.rb +++ b/app/models/queries/roles/filters/allows_becoming_assignee_filter.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/roles/filters/grantable_filter.rb b/app/models/queries/roles/filters/grantable_filter.rb index dff7bd08c7a3..5d1c4af94946 100644 --- a/app/models/queries/roles/filters/grantable_filter.rb +++ b/app/models/queries/roles/filters/grantable_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/roles/filters/role_filter.rb b/app/models/queries/roles/filters/role_filter.rb index 883c6b199db9..070222eebb9a 100644 --- a/app/models/queries/roles/filters/role_filter.rb +++ b/app/models/queries/roles/filters/role_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/roles/filters/unit_filter.rb b/app/models/queries/roles/filters/unit_filter.rb index c0a1d40b2059..0290bd34de28 100644 --- a/app/models/queries/roles/filters/unit_filter.rb +++ b/app/models/queries/roles/filters/unit_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/roles/role_query.rb b/app/models/queries/roles/role_query.rb index 15996720077a..63e18506caeb 100644 --- a/app/models/queries/roles/role_query.rb +++ b/app/models/queries/roles/role_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/scopes/having_views.rb b/app/models/queries/scopes/having_views.rb index 81d3ec6f3f12..2e239db3f887 100644 --- a/app/models/queries/scopes/having_views.rb +++ b/app/models/queries/scopes/having_views.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/scopes/visible.rb b/app/models/queries/scopes/visible.rb index a84a9e694f44..42caa20c653a 100644 --- a/app/models/queries/scopes/visible.rb +++ b/app/models/queries/scopes/visible.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/serialization/hash.rb b/app/models/queries/serialization/hash.rb index 964a5b30486b..3449b4d99f72 100644 --- a/app/models/queries/serialization/hash.rb +++ b/app/models/queries/serialization/hash.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users.rb b/app/models/queries/users.rb index 4ad05ade608a..9180958a1481 100644 --- a/app/models/queries/users.rb +++ b/app/models/queries/users.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users/filters/any_name_attribute_filter.rb b/app/models/queries/users/filters/any_name_attribute_filter.rb index 6228c8fc7929..013fc782f092 100644 --- a/app/models/queries/users/filters/any_name_attribute_filter.rb +++ b/app/models/queries/users/filters/any_name_attribute_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users/filters/blocked_filter.rb b/app/models/queries/users/filters/blocked_filter.rb index a6da445f72ce..bddccc409b8f 100644 --- a/app/models/queries/users/filters/blocked_filter.rb +++ b/app/models/queries/users/filters/blocked_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users/filters/group_filter.rb b/app/models/queries/users/filters/group_filter.rb index b5f79f939c06..b6c5182f9553 100644 --- a/app/models/queries/users/filters/group_filter.rb +++ b/app/models/queries/users/filters/group_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users/filters/login_filter.rb b/app/models/queries/users/filters/login_filter.rb index f306c1c4eb09..d86c0bf15a1e 100644 --- a/app/models/queries/users/filters/login_filter.rb +++ b/app/models/queries/users/filters/login_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users/filters/name_filter.rb b/app/models/queries/users/filters/name_filter.rb index ebef9a24f778..59082a2d3e21 100644 --- a/app/models/queries/users/filters/name_filter.rb +++ b/app/models/queries/users/filters/name_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users/filters/status_filter.rb b/app/models/queries/users/filters/status_filter.rb index 4cc631d568ab..93597ffed6dc 100644 --- a/app/models/queries/users/filters/status_filter.rb +++ b/app/models/queries/users/filters/status_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users/filters/user_filter.rb b/app/models/queries/users/filters/user_filter.rb index f24e094058ba..7144fd011f64 100644 --- a/app/models/queries/users/filters/user_filter.rb +++ b/app/models/queries/users/filters/user_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users/orders/default_order.rb b/app/models/queries/users/orders/default_order.rb index c4016a15240a..1466a00a024a 100644 --- a/app/models/queries/users/orders/default_order.rb +++ b/app/models/queries/users/orders/default_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users/orders/group_order.rb b/app/models/queries/users/orders/group_order.rb index f385d68c0c15..b133e962c3ef 100644 --- a/app/models/queries/users/orders/group_order.rb +++ b/app/models/queries/users/orders/group_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users/orders/name_order.rb b/app/models/queries/users/orders/name_order.rb index a2315386ba50..2d7c7d497d3b 100644 --- a/app/models/queries/users/orders/name_order.rb +++ b/app/models/queries/users/orders/name_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/users/user_query.rb b/app/models/queries/users/user_query.rb index 5dbaa422e22e..59d60fcf68b3 100644 --- a/app/models/queries/users/user_query.rb +++ b/app/models/queries/users/user_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/versions.rb b/app/models/queries/versions.rb index 59fa84c58e6d..b077c23b8f90 100644 --- a/app/models/queries/versions.rb +++ b/app/models/queries/versions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/versions/filters/sharing_filter.rb b/app/models/queries/versions/filters/sharing_filter.rb index 20dabc605804..bd0c55d472c9 100644 --- a/app/models/queries/versions/filters/sharing_filter.rb +++ b/app/models/queries/versions/filters/sharing_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/versions/filters/version_filter.rb b/app/models/queries/versions/filters/version_filter.rb index 71b68b19860f..9fa34f49c198 100644 --- a/app/models/queries/versions/filters/version_filter.rb +++ b/app/models/queries/versions/filters/version_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/versions/orders/name_order.rb b/app/models/queries/versions/orders/name_order.rb index ea30932563f9..4f6db68065ed 100644 --- a/app/models/queries/versions/orders/name_order.rb +++ b/app/models/queries/versions/orders/name_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/versions/orders/semver_name_order.rb b/app/models/queries/versions/orders/semver_name_order.rb index 80b513c50d46..3d279c259808 100644 --- a/app/models/queries/versions/orders/semver_name_order.rb +++ b/app/models/queries/versions/orders/semver_name_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/versions/version_query.rb b/app/models/queries/versions/version_query.rb index 9fc253a38f6f..192d0bc2c4e2 100644 --- a/app/models/queries/versions/version_query.rb +++ b/app/models/queries/versions/version_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/views.rb b/app/models/queries/views.rb index 21d4331169a0..dac5c69f4ed7 100644 --- a/app/models/queries/views.rb +++ b/app/models/queries/views.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/views/filters/project_filter.rb b/app/models/queries/views/filters/project_filter.rb index f6ef3f21763f..d0b4dddb80d7 100644 --- a/app/models/queries/views/filters/project_filter.rb +++ b/app/models/queries/views/filters/project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/views/filters/type_filter.rb b/app/models/queries/views/filters/type_filter.rb index b7af3d625bd5..49bf73a6974f 100644 --- a/app/models/queries/views/filters/type_filter.rb +++ b/app/models/queries/views/filters/type_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,6 +36,11 @@ def where end def transformed_values + if !OpenProject::FeatureDecisions.show_separate_gantt_module_active? && values.include?('Views::WorkPackagesTable') + # If there is no separate Gantt module enabled: Show the Gantt queries in the WorkPackage module as well + values.push('Views::Gantt') + end + values.map { |value| value[/Views::(?.*?)$/, "name"].underscore } end diff --git a/app/models/queries/views/filters/view_filter.rb b/app/models/queries/views/filters/view_filter.rb index d1b62d0dffaf..4a544f0f114e 100644 --- a/app/models/queries/views/filters/view_filter.rb +++ b/app/models/queries/views/filters/view_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/views/orders/default_order.rb b/app/models/queries/views/orders/default_order.rb index d56e417c8b39..f18649892a7d 100644 --- a/app/models/queries/views/orders/default_order.rb +++ b/app/models/queries/views/orders/default_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/views/view_query.rb b/app/models/queries/views/view_query.rb index 0c6d1a1f896e..aed4603268fe 100644 --- a/app/models/queries/views/view_query.rb +++ b/app/models/queries/views/view_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/week_days/week_day_query.rb b/app/models/queries/week_days/week_day_query.rb index c4924f7d2695..d196fa09f946 100644 --- a/app/models/queries/week_days/week_day_query.rb +++ b/app/models/queries/week_days/week_day_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages.rb b/app/models/queries/work_packages.rb index fd591d02b8d0..2cf6c651df87 100644 --- a/app/models/queries/work_packages.rb +++ b/app/models/queries/work_packages.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/columns/custom_field_column.rb b/app/models/queries/work_packages/columns/custom_field_column.rb index f8c44a781f8c..96108eb855a5 100644 --- a/app/models/queries/work_packages/columns/custom_field_column.rb +++ b/app/models/queries/work_packages/columns/custom_field_column.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/columns/manual_sorting_column.rb b/app/models/queries/work_packages/columns/manual_sorting_column.rb index cd94c2d13433..33cae657a48e 100644 --- a/app/models/queries/work_packages/columns/manual_sorting_column.rb +++ b/app/models/queries/work_packages/columns/manual_sorting_column.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,10 +30,10 @@ class Queries::WorkPackages::Columns::ManualSortingColumn < Queries::WorkPackage include ::Queries::WorkPackages::Common::ManualSorting def initialize - super :manual_sorting, + super(:manual_sorting, default_order: 'asc', displayable: false, - sortable: "#{OrderedWorkPackage.table_name}.position NULLS LAST, #{WorkPackage.table_name}.id" + sortable: "#{OrderedWorkPackage.table_name}.position NULLS LAST, #{WorkPackage.table_name}.id") end def sortable_join_statement(query) diff --git a/app/models/queries/work_packages/columns/property_column.rb b/app/models/queries/work_packages/columns/property_column.rb index 13149cf94d54..7ad8d7d7c7f8 100644 --- a/app/models/queries/work_packages/columns/property_column.rb +++ b/app/models/queries/work_packages/columns/property_column.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -113,6 +113,10 @@ def caption sortable: "#{WorkPackage.table_name}.estimated_hours", summable: true }, + remaining_hours: { + sortable: "#{WorkPackage.table_name}.remaining_hours", + summable: true + }, spent_hours: { sortable: false, summable: false diff --git a/app/models/queries/work_packages/columns/relation_column.rb b/app/models/queries/work_packages/columns/relation_column.rb index 6b3500163e00..72385301c0ec 100644 --- a/app/models/queries/work_packages/columns/relation_column.rb +++ b/app/models/queries/work_packages/columns/relation_column.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/columns/relation_of_type_column.rb b/app/models/queries/work_packages/columns/relation_of_type_column.rb index 162237ad9436..41194ba9ec25 100644 --- a/app/models/queries/work_packages/columns/relation_of_type_column.rb +++ b/app/models/queries/work_packages/columns/relation_of_type_column.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,7 +34,7 @@ def initialize(type) end def name - "relations_of_type_#{type[:sym]}".to_sym + :"relations_of_type_#{type[:sym]}" end def sym @@ -44,7 +44,7 @@ def sym def caption I18n.t(:'activerecord.attributes.query.relations_of_type_column', - type: I18n.t(type[:sym_name])) + type: I18n.t(type[:sym_name]).capitalize) end def self.instances(_context = nil) diff --git a/app/models/queries/work_packages/columns/relation_to_type_column.rb b/app/models/queries/work_packages/columns/relation_to_type_column.rb index 47e9f7c8fcf1..60a714f92cdc 100644 --- a/app/models/queries/work_packages/columns/relation_to_type_column.rb +++ b/app/models/queries/work_packages/columns/relation_to_type_column.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,7 @@ def initialize(type) end def set_name!(type) - self.name = "relations_to_type_#{type.id}".to_sym + self.name = :"relations_to_type_#{type.id}" end def caption diff --git a/app/models/queries/work_packages/columns/typeahead_column.rb b/app/models/queries/work_packages/columns/typeahead_column.rb index f36bd4d4e681..895df19ad506 100644 --- a/app/models/queries/work_packages/columns/typeahead_column.rb +++ b/app/models/queries/work_packages/columns/typeahead_column.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/columns/work_package_column.rb b/app/models/queries/work_packages/columns/work_package_column.rb index e2f14b2ae6ac..cf754f828111 100644 --- a/app/models/queries/work_packages/columns/work_package_column.rb +++ b/app/models/queries/work_packages/columns/work_package_column.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/common/manual_sorting.rb b/app/models/queries/work_packages/common/manual_sorting.rb index ea97479be51f..b8e22eab2825 100644 --- a/app/models/queries/work_packages/common/manual_sorting.rb +++ b/app/models/queries/work_packages/common/manual_sorting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter.rb b/app/models/queries/work_packages/filter.rb index ab4e4d233288..ac58c9d63da8 100644 --- a/app/models/queries/work_packages/filter.rb +++ b/app/models/queries/work_packages/filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/assigned_to_filter.rb b/app/models/queries/work_packages/filter/assigned_to_filter.rb index d67cdbf17956..3c22f2beb977 100644 --- a/app/models/queries/work_packages/filter/assigned_to_filter.rb +++ b/app/models/queries/work_packages/filter/assigned_to_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/assignee_or_group_filter.rb b/app/models/queries/work_packages/filter/assignee_or_group_filter.rb index 15bb57a88e2c..f3c0a9b66736 100644 --- a/app/models/queries/work_packages/filter/assignee_or_group_filter.rb +++ b/app/models/queries/work_packages/filter/assignee_or_group_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/attachment_base_filter.rb b/app/models/queries/work_packages/filter/attachment_base_filter.rb index be86677b1b17..83ac1210b484 100644 --- a/app/models/queries/work_packages/filter/attachment_base_filter.rb +++ b/app/models/queries/work_packages/filter/attachment_base_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/attachment_content_filter.rb b/app/models/queries/work_packages/filter/attachment_content_filter.rb index 2eead765f24e..ae3ca27b7aeb 100644 --- a/app/models/queries/work_packages/filter/attachment_content_filter.rb +++ b/app/models/queries/work_packages/filter/attachment_content_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/attachment_file_name_filter.rb b/app/models/queries/work_packages/filter/attachment_file_name_filter.rb index 5d8263536f54..afc280f16cff 100644 --- a/app/models/queries/work_packages/filter/attachment_file_name_filter.rb +++ b/app/models/queries/work_packages/filter/attachment_file_name_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/author_filter.rb b/app/models/queries/work_packages/filter/author_filter.rb index 93465b2568e2..1d07bfeeacdc 100644 --- a/app/models/queries/work_packages/filter/author_filter.rb +++ b/app/models/queries/work_packages/filter/author_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/blocked_filter.rb b/app/models/queries/work_packages/filter/blocked_filter.rb index b9b7eea00e6a..38c49228d938 100644 --- a/app/models/queries/work_packages/filter/blocked_filter.rb +++ b/app/models/queries/work_packages/filter/blocked_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/blocks_filter.rb b/app/models/queries/work_packages/filter/blocks_filter.rb index 7a48d90065e0..96dc29d6143c 100644 --- a/app/models/queries/work_packages/filter/blocks_filter.rb +++ b/app/models/queries/work_packages/filter/blocks_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/category_filter.rb b/app/models/queries/work_packages/filter/category_filter.rb index b4f3fd7b4d46..fede1f83805d 100644 --- a/app/models/queries/work_packages/filter/category_filter.rb +++ b/app/models/queries/work_packages/filter/category_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -49,7 +49,6 @@ def value_objects values .filter_map { |category_id| available_categories[category_id.to_i] } - end def ar_object_filter? diff --git a/app/models/queries/work_packages/filter/comment_filter.rb b/app/models/queries/work_packages/filter/comment_filter.rb index e0519923ff26..7d3977ffc4cf 100644 --- a/app/models/queries/work_packages/filter/comment_filter.rb +++ b/app/models/queries/work_packages/filter/comment_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/created_at_filter.rb b/app/models/queries/work_packages/filter/created_at_filter.rb index e50f3c6086f3..cddcb1e20122 100644 --- a/app/models/queries/work_packages/filter/created_at_filter.rb +++ b/app/models/queries/work_packages/filter/created_at_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/custom_field_context.rb b/app/models/queries/work_packages/filter/custom_field_context.rb index 7fbd66ab08fb..1176173d0f61 100644 --- a/app/models/queries/work_packages/filter/custom_field_context.rb +++ b/app/models/queries/work_packages/filter/custom_field_context.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/custom_field_filter.rb b/app/models/queries/work_packages/filter/custom_field_filter.rb index 985cf96c4398..673e824e50f7 100644 --- a/app/models/queries/work_packages/filter/custom_field_filter.rb +++ b/app/models/queries/work_packages/filter/custom_field_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/dates_interval_filter.rb b/app/models/queries/work_packages/filter/dates_interval_filter.rb index 40d494093483..7ee85af0bd36 100644 --- a/app/models/queries/work_packages/filter/dates_interval_filter.rb +++ b/app/models/queries/work_packages/filter/dates_interval_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/description_filter.rb b/app/models/queries/work_packages/filter/description_filter.rb index 76c46cec8bb9..a89ab9f55a0b 100644 --- a/app/models/queries/work_packages/filter/description_filter.rb +++ b/app/models/queries/work_packages/filter/description_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/done_ratio_filter.rb b/app/models/queries/work_packages/filter/done_ratio_filter.rb index 6ce5ee398ce1..8cfc4c1c4bc2 100644 --- a/app/models/queries/work_packages/filter/done_ratio_filter.rb +++ b/app/models/queries/work_packages/filter/done_ratio_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/due_date_filter.rb b/app/models/queries/work_packages/filter/due_date_filter.rb index 78f2933ba4aa..5547cd0fdf2b 100644 --- a/app/models/queries/work_packages/filter/due_date_filter.rb +++ b/app/models/queries/work_packages/filter/due_date_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/duplicated_filter.rb b/app/models/queries/work_packages/filter/duplicated_filter.rb index 59d13aea04e5..49c3cc2049fe 100644 --- a/app/models/queries/work_packages/filter/duplicated_filter.rb +++ b/app/models/queries/work_packages/filter/duplicated_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/duplicates_filter.rb b/app/models/queries/work_packages/filter/duplicates_filter.rb index 608b2bcbb6f7..065163d70fae 100644 --- a/app/models/queries/work_packages/filter/duplicates_filter.rb +++ b/app/models/queries/work_packages/filter/duplicates_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/duration_filter.rb b/app/models/queries/work_packages/filter/duration_filter.rb index 8c1de9aa33f9..29321f37c488 100644 --- a/app/models/queries/work_packages/filter/duration_filter.rb +++ b/app/models/queries/work_packages/filter/duration_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/estimated_hours_filter.rb b/app/models/queries/work_packages/filter/estimated_hours_filter.rb index 64d07cde51ce..f2b67af8b839 100644 --- a/app/models/queries/work_packages/filter/estimated_hours_filter.rb +++ b/app/models/queries/work_packages/filter/estimated_hours_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/filter_configuration.rb b/app/models/queries/work_packages/filter/filter_configuration.rb index 7a67244426b7..f3aaa43f198a 100644 --- a/app/models/queries/work_packages/filter/filter_configuration.rb +++ b/app/models/queries/work_packages/filter/filter_configuration.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/filter_for_wp_mixin.rb b/app/models/queries/work_packages/filter/filter_for_wp_mixin.rb index 558874f36924..f597a6128e4e 100644 --- a/app/models/queries/work_packages/filter/filter_for_wp_mixin.rb +++ b/app/models/queries/work_packages/filter/filter_for_wp_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/filter_on_directed_relations_mixin.rb b/app/models/queries/work_packages/filter/filter_on_directed_relations_mixin.rb index a47ea60f3473..ec0b6664ff19 100644 --- a/app/models/queries/work_packages/filter/filter_on_directed_relations_mixin.rb +++ b/app/models/queries/work_packages/filter/filter_on_directed_relations_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/filter_on_undirected_relations_mixin.rb b/app/models/queries/work_packages/filter/filter_on_undirected_relations_mixin.rb index d7ab3be0ca49..8e33ab3447cd 100644 --- a/app/models/queries/work_packages/filter/filter_on_undirected_relations_mixin.rb +++ b/app/models/queries/work_packages/filter/filter_on_undirected_relations_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/follows_filter.rb b/app/models/queries/work_packages/filter/follows_filter.rb index a9d16340a23a..cc7cc27a3b37 100644 --- a/app/models/queries/work_packages/filter/follows_filter.rb +++ b/app/models/queries/work_packages/filter/follows_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/group_filter.rb b/app/models/queries/work_packages/filter/group_filter.rb index cfee3111469a..9900c0ba25bb 100644 --- a/app/models/queries/work_packages/filter/group_filter.rb +++ b/app/models/queries/work_packages/filter/group_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -56,7 +56,6 @@ def value_objects values .filter_map { |group_id| available_groups[group_id.to_i] } - end def where diff --git a/app/models/queries/work_packages/filter/id_filter.rb b/app/models/queries/work_packages/filter/id_filter.rb index 2fcc094e9d94..9cb200e91d16 100644 --- a/app/models/queries/work_packages/filter/id_filter.rb +++ b/app/models/queries/work_packages/filter/id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/includes_filter.rb b/app/models/queries/work_packages/filter/includes_filter.rb index 44a9fddec1a6..5a4831e3c0dc 100644 --- a/app/models/queries/work_packages/filter/includes_filter.rb +++ b/app/models/queries/work_packages/filter/includes_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/manual_sort_filter.rb b/app/models/queries/work_packages/filter/manual_sort_filter.rb index 33fac25713b7..66eddd57236d 100644 --- a/app/models/queries/work_packages/filter/manual_sort_filter.rb +++ b/app/models/queries/work_packages/filter/manual_sort_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/me_value_filter_mixin.rb b/app/models/queries/work_packages/filter/me_value_filter_mixin.rb index ba4a8d0ce6fa..e7ffe0c314b1 100644 --- a/app/models/queries/work_packages/filter/me_value_filter_mixin.rb +++ b/app/models/queries/work_packages/filter/me_value_filter_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/milestone_filter.rb b/app/models/queries/work_packages/filter/milestone_filter.rb index 553fd3d29f96..86c94f6ac5dd 100644 --- a/app/models/queries/work_packages/filter/milestone_filter.rb +++ b/app/models/queries/work_packages/filter/milestone_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/only_subproject_filter.rb b/app/models/queries/work_packages/filter/only_subproject_filter.rb index f4e2e56f475d..dbb9c250986c 100644 --- a/app/models/queries/work_packages/filter/only_subproject_filter.rb +++ b/app/models/queries/work_packages/filter/only_subproject_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/or_filter_for_wp_mixin.rb b/app/models/queries/work_packages/filter/or_filter_for_wp_mixin.rb index efda6a6c0962..7a931177c39c 100644 --- a/app/models/queries/work_packages/filter/or_filter_for_wp_mixin.rb +++ b/app/models/queries/work_packages/filter/or_filter_for_wp_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/parent_filter.rb b/app/models/queries/work_packages/filter/parent_filter.rb index 690ed1f8f587..e1bf1ed3ca67 100644 --- a/app/models/queries/work_packages/filter/parent_filter.rb +++ b/app/models/queries/work_packages/filter/parent_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/partof_filter.rb b/app/models/queries/work_packages/filter/partof_filter.rb index 2565a64cb4f4..96392ee0921a 100644 --- a/app/models/queries/work_packages/filter/partof_filter.rb +++ b/app/models/queries/work_packages/filter/partof_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/precedes_filter.rb b/app/models/queries/work_packages/filter/precedes_filter.rb index 97fcc0fbab04..03815985e1f2 100644 --- a/app/models/queries/work_packages/filter/precedes_filter.rb +++ b/app/models/queries/work_packages/filter/precedes_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/principal_base_filter.rb b/app/models/queries/work_packages/filter/principal_base_filter.rb index a87f51b3dcc6..4d8d3bdcb34b 100644 --- a/app/models/queries/work_packages/filter/principal_base_filter.rb +++ b/app/models/queries/work_packages/filter/principal_base_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/principal_loader.rb b/app/models/queries/work_packages/filter/principal_loader.rb index c7754941893d..76437edc1196 100644 --- a/app/models/queries/work_packages/filter/principal_loader.rb +++ b/app/models/queries/work_packages/filter/principal_loader.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/priority_filter.rb b/app/models/queries/work_packages/filter/priority_filter.rb index 6a04dccb1de3..e2cc98362916 100644 --- a/app/models/queries/work_packages/filter/priority_filter.rb +++ b/app/models/queries/work_packages/filter/priority_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -53,7 +53,6 @@ def value_objects values .filter_map { |priority_id| available_priorities[priority_id.to_i] } - end private diff --git a/app/models/queries/work_packages/filter/project_filter.rb b/app/models/queries/work_packages/filter/project_filter.rb index 1fa00295062e..d57e19facc6f 100644 --- a/app/models/queries/work_packages/filter/project_filter.rb +++ b/app/models/queries/work_packages/filter/project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/relatable_filter.rb b/app/models/queries/work_packages/filter/relatable_filter.rb index d4bc8545f334..bb0dba273936 100644 --- a/app/models/queries/work_packages/filter/relatable_filter.rb +++ b/app/models/queries/work_packages/filter/relatable_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/relates_filter.rb b/app/models/queries/work_packages/filter/relates_filter.rb index 8d56b4817618..d45c6b6c0bc2 100644 --- a/app/models/queries/work_packages/filter/relates_filter.rb +++ b/app/models/queries/work_packages/filter/relates_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/required_filter.rb b/app/models/queries/work_packages/filter/required_filter.rb index 705bd607b230..1580d1ba94cb 100644 --- a/app/models/queries/work_packages/filter/required_filter.rb +++ b/app/models/queries/work_packages/filter/required_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/requires_filter.rb b/app/models/queries/work_packages/filter/requires_filter.rb index a7bdfacd82ab..c519bdd8af68 100644 --- a/app/models/queries/work_packages/filter/requires_filter.rb +++ b/app/models/queries/work_packages/filter/requires_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/responsible_filter.rb b/app/models/queries/work_packages/filter/responsible_filter.rb index 687c0418cdec..8961735cc0ec 100644 --- a/app/models/queries/work_packages/filter/responsible_filter.rb +++ b/app/models/queries/work_packages/filter/responsible_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/role_filter.rb b/app/models/queries/work_packages/filter/role_filter.rb index 51373cc4df08..ae26b772af3e 100644 --- a/app/models/queries/work_packages/filter/role_filter.rb +++ b/app/models/queries/work_packages/filter/role_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/search_filter.rb b/app/models/queries/work_packages/filter/search_filter.rb index 961a3014441c..a526c8258eb8 100644 --- a/app/models/queries/work_packages/filter/search_filter.rb +++ b/app/models/queries/work_packages/filter/search_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/start_date_filter.rb b/app/models/queries/work_packages/filter/start_date_filter.rb index 824a719e88fa..aff793310628 100644 --- a/app/models/queries/work_packages/filter/start_date_filter.rb +++ b/app/models/queries/work_packages/filter/start_date_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/status_filter.rb b/app/models/queries/work_packages/filter/status_filter.rb index fe68c264b4aa..71e0ce4b9ccc 100644 --- a/app/models/queries/work_packages/filter/status_filter.rb +++ b/app/models/queries/work_packages/filter/status_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -54,7 +54,6 @@ def self.key def value_objects values .filter_map { |status_id| all_statuses[status_id.to_i] } - end def allowed_objects diff --git a/app/models/queries/work_packages/filter/subject_filter.rb b/app/models/queries/work_packages/filter/subject_filter.rb index 779137dca418..5b9361708d61 100644 --- a/app/models/queries/work_packages/filter/subject_filter.rb +++ b/app/models/queries/work_packages/filter/subject_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/subject_or_id_filter.rb b/app/models/queries/work_packages/filter/subject_or_id_filter.rb index 4365f4ef40d8..6bf8e256187a 100644 --- a/app/models/queries/work_packages/filter/subject_or_id_filter.rb +++ b/app/models/queries/work_packages/filter/subject_or_id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/subproject_filter.rb b/app/models/queries/work_packages/filter/subproject_filter.rb index 080f47c4fb13..5be76d0f3435 100644 --- a/app/models/queries/work_packages/filter/subproject_filter.rb +++ b/app/models/queries/work_packages/filter/subproject_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -63,7 +63,6 @@ def value_objects values .filter_map { |subproject_id| available_subprojects[subproject_id.to_i] } - end def where diff --git a/app/models/queries/work_packages/filter/text_filter_on_join_mixin.rb b/app/models/queries/work_packages/filter/text_filter_on_join_mixin.rb index 0b1f762c776a..e401af5efd63 100644 --- a/app/models/queries/work_packages/filter/text_filter_on_join_mixin.rb +++ b/app/models/queries/work_packages/filter/text_filter_on_join_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/type_filter.rb b/app/models/queries/work_packages/filter/type_filter.rb index 80dc21d727c0..9d1e10beb9e5 100644 --- a/app/models/queries/work_packages/filter/type_filter.rb +++ b/app/models/queries/work_packages/filter/type_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -53,7 +53,6 @@ def value_objects values .filter_map { |type_id| available_types[type_id.to_i] } - end private diff --git a/app/models/queries/work_packages/filter/typeahead_filter.rb b/app/models/queries/work_packages/filter/typeahead_filter.rb index 77d634c17b36..94d4f62a31cc 100644 --- a/app/models/queries/work_packages/filter/typeahead_filter.rb +++ b/app/models/queries/work_packages/filter/typeahead_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/updated_at_filter.rb b/app/models/queries/work_packages/filter/updated_at_filter.rb index e044e42f4846..302557912899 100644 --- a/app/models/queries/work_packages/filter/updated_at_filter.rb +++ b/app/models/queries/work_packages/filter/updated_at_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/version_filter.rb b/app/models/queries/work_packages/filter/version_filter.rb index 6a7416380750..7bbce13d97cc 100644 --- a/app/models/queries/work_packages/filter/version_filter.rb +++ b/app/models/queries/work_packages/filter/version_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -54,7 +54,6 @@ def value_objects values .filter_map { |version_id| available_versions[version_id.to_i] } - end private diff --git a/app/models/queries/work_packages/filter/watcher_filter.rb b/app/models/queries/work_packages/filter/watcher_filter.rb index 29d3380986af..696cee8dc024 100644 --- a/app/models/queries/work_packages/filter/watcher_filter.rb +++ b/app/models/queries/work_packages/filter/watcher_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter/work_package_filter.rb b/app/models/queries/work_packages/filter/work_package_filter.rb index efd61585adb1..911409a3c150 100644 --- a/app/models/queries/work_packages/filter/work_package_filter.rb +++ b/app/models/queries/work_packages/filter/work_package_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/queries/work_packages/filter_serializer.rb b/app/models/queries/work_packages/filter_serializer.rb index 0017dd46f79a..f05f2add3ef6 100644 --- a/app/models/queries/work_packages/filter_serializer.rb +++ b/app/models/queries/work_packages/filter_serializer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/query.rb b/app/models/query.rb index 63d03ecd2b5a..708d00ac90fb 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/query/highlighting.rb b/app/models/query/highlighting.rb index 2aa0d43dc50b..5dfd54258fa1 100644 --- a/app/models/query/highlighting.rb +++ b/app/models/query/highlighting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/query/manual_sorting.rb b/app/models/query/manual_sorting.rb index 444518e67ff6..c107398c9bf6 100644 --- a/app/models/query/manual_sorting.rb +++ b/app/models/query/manual_sorting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/query/results.rb b/app/models/query/results.rb index 12eb705fc9c7..d35e834590d4 100644 --- a/app/models/query/results.rb +++ b/app/models/query/results.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -136,7 +136,6 @@ def sort_criteria_joins query .sort_criteria_columns .filter_map { |column, _direction| column.sortable_join_statement(query) } - end def sort_criteria_array diff --git a/app/models/query/results/group_by.rb b/app/models/query/results/group_by.rb index 0b7723245bba..686cfa1fe80c 100644 --- a/app/models/query/results/group_by.rb +++ b/app/models/query/results/group_by.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/query/results/sums.rb b/app/models/query/results/sums.rb index c5193bbfeb02..362b885ce958 100644 --- a/app/models/query/results/sums.rb +++ b/app/models/query/results/sums.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/query/sort_criteria.rb b/app/models/query/sort_criteria.rb index 3d45044a1e3b..52720b582b5b 100644 --- a/app/models/query/sort_criteria.rb +++ b/app/models/query/sort_criteria.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -45,7 +45,6 @@ def to_a .reject { |column, criterion, _| column.nil? || criterion.nil? } .map { |column, criterion, order| [column, execute_criterion(criterion), order] } .filter_map { |column, criterion, order| append_order(column, Array(criterion), order) } - end private diff --git a/app/models/query/statement_invalid.rb b/app/models/query/statement_invalid.rb index a1ffa0c15d63..9e8847e321fa 100644 --- a/app/models/query/statement_invalid.rb +++ b/app/models/query/statement_invalid.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/query/timelines.rb b/app/models/query/timelines.rb index fada2c6619b7..cf5012d2cb1b 100644 --- a/app/models/query/timelines.rb +++ b/app/models/query/timelines.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/query/timestamps.rb b/app/models/query/timestamps.rb index 294b057630ec..e23a810368e2 100644 --- a/app/models/query/timestamps.rb +++ b/app/models/query/timestamps.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/relation.rb b/app/models/relation.rb index 6c13ea7da255..cfd1d28845c2 100644 --- a/app/models/relation.rb +++ b/app/models/relation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -154,7 +154,7 @@ def delay end TYPES.each_key do |type| - define_method "#{type}?" do + define_method :"#{type}?" do canonical_type == self.class.canonical_type(type) end end diff --git a/app/models/relations/scopes/follows_non_manual_ancestors.rb b/app/models/relations/scopes/follows_non_manual_ancestors.rb index e9008d886388..939c1d98749d 100644 --- a/app/models/relations/scopes/follows_non_manual_ancestors.rb +++ b/app/models/relations/scopes/follows_non_manual_ancestors.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/relations/scopes/visible.rb b/app/models/relations/scopes/visible.rb index b3781660cd1b..128637196499 100644 --- a/app/models/relations/scopes/visible.rb +++ b/app/models/relations/scopes/visible.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/repository.rb b/app/models/repository.rb index 27f3515ab493..a26c28d4b18c 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/repository/git.rb b/app/models/repository/git.rb index 44ef86dc1785..7005ee305d8b 100644 --- a/app/models/repository/git.rb +++ b/app/models/repository/git.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/repository/subversion.rb b/app/models/repository/subversion.rb index 95208eb13a65..9f86b81dccdd 100644 --- a/app/models/repository/subversion.rb +++ b/app/models/repository/subversion.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/role.rb b/app/models/role.rb index d1cce292e916..f2c06f8a24d1 100644 --- a/app/models/role.rb +++ b/app/models/role.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/role_permission.rb b/app/models/role_permission.rb index 4afa548a895e..99435926f287 100644 --- a/app/models/role_permission.rb +++ b/app/models/role_permission.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/scopes/scoped.rb b/app/models/scopes/scoped.rb index 56a18a9de914..de9dd0d52647 100644 --- a/app/models/scopes/scoped.rb +++ b/app/models/scopes/scoped.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/serializers/indifferent_hash_serializer.rb b/app/models/serializers/indifferent_hash_serializer.rb index c51459b06a9d..f1bc416f2c1e 100644 --- a/app/models/serializers/indifferent_hash_serializer.rb +++ b/app/models/serializers/indifferent_hash_serializer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/sessions/sql_bypass.rb b/app/models/sessions/sql_bypass.rb index 41b513e135d0..c08a4ec118e1 100644 --- a/app/models/sessions/sql_bypass.rb +++ b/app/models/sessions/sql_bypass.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/sessions/user_session.rb b/app/models/sessions/user_session.rb index a09ca5217d56..73d943dea433 100644 --- a/app/models/sessions/user_session.rb +++ b/app/models/sessions/user_session.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/setting.rb b/app/models/setting.rb index 5d7e9acd1694..a72883ab72fc 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -116,11 +116,11 @@ def self.#{name}_writable? class_eval src, __FILE__, __LINE__ end - def method_missing(method, *args, &) + def method_missing(method, *, &) if exists?(accessor_base_name(method)) create_setting_accessors(accessor_base_name(method)) - send(method, *args) + send(method, *) else super end diff --git a/app/models/setting/aliases.rb b/app/models/setting/aliases.rb index f1c887eb14c2..d78c45154e20 100644 --- a/app/models/setting/aliases.rb +++ b/app/models/setting/aliases.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/setting/autologin.rb b/app/models/setting/autologin.rb index 34e6a74f9202..cba4efc93400 100644 --- a/app/models/setting/autologin.rb +++ b/app/models/setting/autologin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/setting/mail_settings.rb b/app/models/setting/mail_settings.rb index 97bde298bb52..db979c41d68c 100644 --- a/app/models/setting/mail_settings.rb +++ b/app/models/setting/mail_settings.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/setting/self_registration.rb b/app/models/setting/self_registration.rb index 2bf129362eeb..ac45be5d3ea6 100644 --- a/app/models/setting/self_registration.rb +++ b/app/models/setting/self_registration.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/status.rb b/app/models/status.rb index 3b0553d9aed0..6810953a9153 100644 --- a/app/models/status.rb +++ b/app/models/status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/status/inexistent_status.rb b/app/models/status/inexistent_status.rb index 984db570bca4..0c536dc39fd5 100644 --- a/app/models/status/inexistent_status.rb +++ b/app/models/status/inexistent_status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/system_user.rb b/app/models/system_user.rb index 035b695ff5a6..474de441fc60 100644 --- a/app/models/system_user.rb +++ b/app/models/system_user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/timestamp.rb b/app/models/timestamp.rb index 2977f58520fe..604f6007fac0 100644 --- a/app/models/timestamp.rb +++ b/app/models/timestamp.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -38,7 +38,7 @@ class TimestampParser DATE_KEYWORD_REGEX = %r{ - ^(?:#{ALLOWED_DATE_KEYWORDS.join("|")}) # match the relative date keyword + ^(?:#{ALLOWED_DATE_KEYWORDS.join('|')}) # match the relative date keyword @(?:([0-1]?[0-9]|2[0-3]):[0-5]?[0-9]) # match the hour part [+-](?:([0-1]?[0-9]|2[0-3]):[0-5]?[0-9])$ # match the timezone offset }x diff --git a/app/models/token/api.rb b/app/models/token/api.rb index 9fdcad05364c..518804b038a2 100644 --- a/app/models/token/api.rb +++ b/app/models/token/api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/token/auto_login.rb b/app/models/token/auto_login.rb index 9449acd6c847..92b975853ed6 100644 --- a/app/models/token/auto_login.rb +++ b/app/models/token/auto_login.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/token/backup.rb b/app/models/token/backup.rb index 8a7c5a70ea06..c74271720cbb 100644 --- a/app/models/token/backup.rb +++ b/app/models/token/backup.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/token/enterprise_trial_key.rb b/app/models/token/enterprise_trial_key.rb index 5a2791b89c71..224a657c08f0 100644 --- a/app/models/token/enterprise_trial_key.rb +++ b/app/models/token/enterprise_trial_key.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/token/ical.rb b/app/models/token/ical.rb index 91aa47cfb973..7d97e6ba903f 100644 --- a/app/models/token/ical.rb +++ b/app/models/token/ical.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/token/invitation.rb b/app/models/token/invitation.rb index 58fc6349914b..99acb0434f8c 100644 --- a/app/models/token/invitation.rb +++ b/app/models/token/invitation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/token/recovery.rb b/app/models/token/recovery.rb index d9bf23a6ddb2..6ab4f08d417d 100644 --- a/app/models/token/recovery.rb +++ b/app/models/token/recovery.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/token/rss.rb b/app/models/token/rss.rb index 2923b074e61b..d1589d6ead59 100644 --- a/app/models/token/rss.rb +++ b/app/models/token/rss.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/type.rb b/app/models/type.rb index 32febae229c2..c849e043a432 100644 --- a/app/models/type.rb +++ b/app/models/type.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/type/attribute_group.rb b/app/models/type/attribute_group.rb index 6cbe592b7271..5c0df238399b 100644 --- a/app/models/type/attribute_group.rb +++ b/app/models/type/attribute_group.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/type/attribute_groups.rb b/app/models/type/attribute_groups.rb index 461a6e49b42f..739924546b96 100644 --- a/app/models/type/attribute_groups.rb +++ b/app/models/type/attribute_groups.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -45,6 +45,7 @@ module Type::AttributeGroups assignee: :people, responsible: :people, estimated_time: :estimates_and_time, + remaining_time: :estimates_and_time, spent_time: :estimates_and_time, priority: :details } @@ -227,7 +228,6 @@ def cleanup_query_groups_queries ids = (old_groups.map(&:last).flatten - new_groups.map(&:last).flatten) .filter_map { |k| ::Type::QueryGroup.query_attribute_id(k) } - Query.where(id: ids).destroy_all end diff --git a/app/models/type/attributes.rb b/app/models/type/attributes.rb index c2afe6c5425f..cb5b153ab8a1 100644 --- a/app/models/type/attributes.rb +++ b/app/models/type/attributes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/type/form_group.rb b/app/models/type/form_group.rb index 42a6bd889fa0..e44aaf4c2923 100644 --- a/app/models/type/form_group.rb +++ b/app/models/type/form_group.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/type/inexistent_type.rb b/app/models/type/inexistent_type.rb index 39271238cdba..bb438d52b0d7 100644 --- a/app/models/type/inexistent_type.rb +++ b/app/models/type/inexistent_type.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/type/query_group.rb b/app/models/type/query_group.rb index d6f5cbef7112..c5436fc74286 100644 --- a/app/models/type/query_group.rb +++ b/app/models/type/query_group.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,11 +30,11 @@ class Type::QueryGroup < Type::FormGroup MEMBER_PREFIX = 'query_'.freeze def self.query_attribute?(name) - name.to_s.match?(/#{Type::QueryGroup::MEMBER_PREFIX}(\d+)/) + name.to_s.match?(/#{Type::QueryGroup::MEMBER_PREFIX}(\d+)/o) end def self.query_attribute_id(name) - match = name.to_s.match(/#{Type::QueryGroup::MEMBER_PREFIX}(\d+)/) + match = name.to_s.match(/#{Type::QueryGroup::MEMBER_PREFIX}(\d+)/o) match ? match[1] : nil end diff --git a/app/models/types/scopes/milestone.rb b/app/models/types/scopes/milestone.rb index 34e9a38aa4ed..42ccd7c43704 100644 --- a/app/models/types/scopes/milestone.rb +++ b/app/models/types/scopes/milestone.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/user.rb b/app/models/user.rb index e56970f30cd7..bbba1c38f7ca 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -366,8 +366,8 @@ def failed_too_many_recent_login_attempts? block_threshold = Setting.brute_force_block_after_failed_logins.to_i return false if block_threshold == 0 # disabled - (last_failed_login_within_block_time? and - failed_login_count >= block_threshold) + last_failed_login_within_block_time? and + failed_login_count >= block_threshold end def log_failed_login diff --git a/app/models/user_custom_field.rb b/app/models/user_custom_field.rb index caa2780db8c7..7d3d58bd8e2e 100644 --- a/app/models/user_custom_field.rb +++ b/app/models/user_custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/user_password.rb b/app/models/user_password.rb index 196506cc7ebb..bcc9db2eac60 100644 --- a/app/models/user_password.rb +++ b/app/models/user_password.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/user_password/bcrypt.rb b/app/models/user_password/bcrypt.rb index e6a1a55e482a..8c9a087e9598 100644 --- a/app/models/user_password/bcrypt.rb +++ b/app/models/user_password/bcrypt.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/user_password/sha1.rb b/app/models/user_password/sha1.rb index d4c0dc4f62ad..33ea5afb155c 100644 --- a/app/models/user_password/sha1.rb +++ b/app/models/user_password/sha1.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/user_preference.rb b/app/models/user_preference.rb index 73508be3da9a..6811c2229d3e 100644 --- a/app/models/user_preference.rb +++ b/app/models/user_preference.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/user_preferences/schema.rb b/app/models/user_preferences/schema.rb index 55d37448be6d..b4d57bee97b2 100644 --- a/app/models/user_preferences/schema.rb +++ b/app/models/user_preferences/schema.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/users/inexistent_user.rb b/app/models/users/inexistent_user.rb index 3bef8554d542..fe83f4e78659 100644 --- a/app/models/users/inexistent_user.rb +++ b/app/models/users/inexistent_user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/users/permission_checks.rb b/app/models/users/permission_checks.rb index 5f906b9e5971..bb8b4e0e2bed 100644 --- a/app/models/users/permission_checks.rb +++ b/app/models/users/permission_checks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -38,11 +38,11 @@ module Users::PermissionChecks entity_name_underscored = entity_model_name.underscore entity_class = entity_model_name.constantize - define_method "allowed_in_#{entity_name_underscored}?" do |permission, entity| + define_method :"allowed_in_#{entity_name_underscored}?" do |permission, entity| allowed_in_entity?(permission, entity, entity_class) end - define_method "allowed_in_any_#{entity_name_underscored}?" do |permission, in_project: nil| + define_method :"allowed_in_any_#{entity_name_underscored}?" do |permission, in_project: nil| allowed_in_any_entity?(permission, entity_class, in_project:) end end @@ -98,6 +98,11 @@ def roles_for_work_package(work_package) .where(member_roles: { member_id: Member.of_work_package(work_package).select(:id) }) end + # Return true when the user is either a member of the project or any resource under the project + def access_to?(project) + admin? || members.exists?(project_id: project.id) + end + # Return true if the user is a member of project def member_of?(project) roles_for_project(project).any?(&:member?) diff --git a/app/models/users/project_authorization_cache.rb b/app/models/users/project_authorization_cache.rb index 54f41991c7c6..b2997508c806 100644 --- a/app/models/users/project_authorization_cache.rb +++ b/app/models/users/project_authorization_cache.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/users/project_role_cache.rb b/app/models/users/project_role_cache.rb index 9b29cdae1c71..290cc54b5aed 100644 --- a/app/models/users/project_role_cache.rb +++ b/app/models/users/project_role_cache.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/users/scopes/find_by_login.rb b/app/models/users/scopes/find_by_login.rb index a52f78189da7..c516028d14db 100644 --- a/app/models/users/scopes/find_by_login.rb +++ b/app/models/users/scopes/find_by_login.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/users/scopes/having_reminder_mail_to_send.rb b/app/models/users/scopes/having_reminder_mail_to_send.rb index c3d09fd0beef..b3e6cf3c3398 100644 --- a/app/models/users/scopes/having_reminder_mail_to_send.rb +++ b/app/models/users/scopes/having_reminder_mail_to_send.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/users/scopes/newest.rb b/app/models/users/scopes/newest.rb index 451a0a7b1364..9708ce57776a 100644 --- a/app/models/users/scopes/newest.rb +++ b/app/models/users/scopes/newest.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/users/scopes/notified_globally.rb b/app/models/users/scopes/notified_globally.rb index 9a6f8fb2c9e2..e3c2c4923ced 100644 --- a/app/models/users/scopes/notified_globally.rb +++ b/app/models/users/scopes/notified_globally.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/users/scopes/watcher_recipients.rb b/app/models/users/scopes/watcher_recipients.rb index 9b01e9210e07..c35c13e58e81 100644 --- a/app/models/users/scopes/watcher_recipients.rb +++ b/app/models/users/scopes/watcher_recipients.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/users/scopes/with_time_zone.rb b/app/models/users/scopes/with_time_zone.rb index 4502ebb54b4b..a29c8253b837 100644 --- a/app/models/users/scopes/with_time_zone.rb +++ b/app/models/users/scopes/with_time_zone.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/version.rb b/app/models/version.rb index 18c5e298a011..973c1353af46 100644 --- a/app/models/version.rb +++ b/app/models/version.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/version_custom_field.rb b/app/models/version_custom_field.rb index 8c5f18412180..b8b9d726f55f 100644 --- a/app/models/version_custom_field.rb +++ b/app/models/version_custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/versions/project_sharing.rb b/app/models/versions/project_sharing.rb index 416e623d75b7..a20fcc223133 100644 --- a/app/models/versions/project_sharing.rb +++ b/app/models/versions/project_sharing.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/versions/scopes/order_by_semver_name.rb b/app/models/versions/scopes/order_by_semver_name.rb index 10f99bfb24e4..beafdbba4a2e 100644 --- a/app/models/versions/scopes/order_by_semver_name.rb +++ b/app/models/versions/scopes/order_by_semver_name.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/versions/scopes/rolled_up.rb b/app/models/versions/scopes/rolled_up.rb index bb387474257c..1b83ff93ede4 100644 --- a/app/models/versions/scopes/rolled_up.rb +++ b/app/models/versions/scopes/rolled_up.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/versions/scopes/shared_with.rb b/app/models/versions/scopes/shared_with.rb index bdfdddc5344c..169762d061cb 100644 --- a/app/models/versions/scopes/shared_with.rb +++ b/app/models/versions/scopes/shared_with.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/view.rb b/app/models/view.rb index 614a4e307fa5..d8263acf3a41 100644 --- a/app/models/view.rb +++ b/app/models/view.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/watcher.rb b/app/models/watcher.rb index 7e171921c141..5109e05cbf86 100644 --- a/app/models/watcher.rb +++ b/app/models/watcher.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/wiki.rb b/app/models/wiki.rb index a1881669a6ca..345b50f2c3b9 100644 --- a/app/models/wiki.rb +++ b/app/models/wiki.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index d122190d852d..37810f31de5b 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/wiki_redirect.rb b/app/models/wiki_redirect.rb index e0d6ea227c34..1efe6b75b535 100644 --- a/app/models/wiki_redirect.rb +++ b/app/models/wiki_redirect.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/wikis/annotate.rb b/app/models/wikis/annotate.rb index eb45191a6644..d990cb07960e 100644 --- a/app/models/wikis/annotate.rb +++ b/app/models/wikis/annotate.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/wikis/diff.rb b/app/models/wikis/diff.rb index 9d6d20ab85ba..0258d189645b 100644 --- a/app/models/wikis/diff.rb +++ b/app/models/wikis/diff.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package.rb b/app/models/work_package.rb index 625cf3aa7ba4..54e7cef76292 100644 --- a/app/models/work_package.rb +++ b/app/models/work_package.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/ancestors.rb b/app/models/work_package/ancestors.rb index f2418d07ac60..1244217a3b01 100644 --- a/app/models/work_package/ancestors.rb +++ b/app/models/work_package/ancestors.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/ask_before_destruction.rb b/app/models/work_package/ask_before_destruction.rb index e011ed309ae1..ce9c4f861e3f 100644 --- a/app/models/work_package/ask_before_destruction.rb +++ b/app/models/work_package/ask_before_destruction.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -45,9 +45,9 @@ def cleanup_action_required_before_destructing?(work_packages) def cleanup_associated_before_destructing_if_required(work_packages, user, to_do = { action: 'destroy' }) cleanup_required = cleanup_action_required_before_destructing?(work_packages) - (!cleanup_required || + !cleanup_required || (cleanup_required && - cleanup_each_associated_class(work_packages, user, to_do))) + cleanup_each_associated_class(work_packages, user, to_do)) end def associated_classes_to_address_before_destruction_of(work_packages) diff --git a/app/models/work_package/custom_actioned.rb b/app/models/work_package/custom_actioned.rb index 8e81046ce30d..fa631c1bb3fb 100644 --- a/app/models/work_package/custom_actioned.rb +++ b/app/models/work_package/custom_actioned.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/exports/csv.rb b/app/models/work_package/exports/csv.rb index 347268c68b09..3ffcd653af24 100644 --- a/app/models/work_package/exports/csv.rb +++ b/app/models/work_package/exports/csv.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/exports/formatters/costs.rb b/app/models/work_package/exports/formatters/costs.rb index b83b41cd696d..11feb47b5e4e 100644 --- a/app/models/work_package/exports/formatters/costs.rb +++ b/app/models/work_package/exports/formatters/costs.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/exports/formatters/currency.rb b/app/models/work_package/exports/formatters/currency.rb index e88e84a8778d..857e1f995b92 100644 --- a/app/models/work_package/exports/formatters/currency.rb +++ b/app/models/work_package/exports/formatters/currency.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/exports/formatters/days.rb b/app/models/work_package/exports/formatters/days.rb index 8b99de6b27bf..0a732265de4d 100644 --- a/app/models/work_package/exports/formatters/days.rb +++ b/app/models/work_package/exports/formatters/days.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/exports/formatters/derived_remaining_hours.rb b/app/models/work_package/exports/formatters/derived_remaining_hours.rb index c1ca0a74a4be..853882e95cfc 100644 --- a/app/models/work_package/exports/formatters/derived_remaining_hours.rb +++ b/app/models/work_package/exports/formatters/derived_remaining_hours.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/exports/formatters/estimated_hours.rb b/app/models/work_package/exports/formatters/estimated_hours.rb index adc14dcae6a8..df97002da5eb 100644 --- a/app/models/work_package/exports/formatters/estimated_hours.rb +++ b/app/models/work_package/exports/formatters/estimated_hours.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/exports/formatters/hours.rb b/app/models/work_package/exports/formatters/hours.rb index cf8c8fa151c1..033175ebe0f5 100644 --- a/app/models/work_package/exports/formatters/hours.rb +++ b/app/models/work_package/exports/formatters/hours.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/exports/formatters/spent_units.rb b/app/models/work_package/exports/formatters/spent_units.rb index 00254ad8e3f2..df7f05fb3735 100644 --- a/app/models/work_package/exports/formatters/spent_units.rb +++ b/app/models/work_package/exports/formatters/spent_units.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -37,7 +37,8 @@ def format(work_package, **) values = cost_helper.summarized_cost_entries.map do |kvp| cost_type = kvp[0] volume = kvp[1] - type_unit = volume.to_d == 1.0.to_d ? cost_type.unit : cost_type.unit_plural + BigDecimal('1.0') + type_unit = volume.to_d == BigDecimal('1.0') ? cost_type.unit : cost_type.unit_plural "#{volume} #{type_unit}" end return nil if values.empty? diff --git a/app/models/work_package/exports/query_exporter.rb b/app/models/work_package/exports/query_exporter.rb index 7f8ecf49409f..db0f2c453812 100644 --- a/app/models/work_package/exports/query_exporter.rb +++ b/app/models/work_package/exports/query_exporter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/hooks.rb b/app/models/work_package/hooks.rb index 5f7c291f5530..24c40ac12203 100644 --- a/app/models/work_package/hooks.rb +++ b/app/models/work_package/hooks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/inexistent_work_package.rb b/app/models/work_package/inexistent_work_package.rb index 36a09ce81601..e33fe46fcb02 100644 --- a/app/models/work_package/inexistent_work_package.rb +++ b/app/models/work_package/inexistent_work_package.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/journalized.rb b/app/models/work_package/journalized.rb index fda255235071..8207f7cae8af 100644 --- a/app/models/work_package/journalized.rb +++ b/app/models/work_package/journalized.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -78,7 +78,9 @@ def self.event_url url: JournalizedProcs.event_url register_journal_formatted_fields(:id, 'parent_id') - register_journal_formatted_fields(:fraction, 'estimated_hours', 'derived_estimated_hours') + register_journal_formatted_fields(:fraction, + 'estimated_hours', 'derived_estimated_hours', + 'remaining_hours', 'derived_remaining_hours') register_journal_formatted_fields(:decimal, 'done_ratio') register_journal_formatted_fields(:diff, 'description') register_journal_formatted_fields(:schedule_manually, 'schedule_manually') diff --git a/app/models/work_package/pdf_export/attachments.rb b/app/models/work_package/pdf_export/attachments.rb index 01aafddc1fb2..bcae12e6f367 100644 --- a/app/models/work_package/pdf_export/attachments.rb +++ b/app/models/work_package/pdf_export/attachments.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/pdf_export/common.rb b/app/models/work_package/pdf_export/common.rb index ed71f48fd301..54c9d44073b9 100644 --- a/app/models/work_package/pdf_export/common.rb +++ b/app/models/work_package/pdf_export/common.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -141,7 +141,7 @@ def pdf_table_auto_widths(data, column_widths, options, &) def draw_text_multiline_left(text:, text_style:, max_left:, top:, max_lines:) lines = wrap_to_lines(text, max_left - pdf.bounds.left, text_style, max_lines) starting_position = top - lines.reverse.each do |line| + lines.reverse_each do |line| starting_position += draw_text_multiline_part(line, text_style, pdf.bounds.left, starting_position) end end @@ -149,7 +149,7 @@ def draw_text_multiline_left(text:, text_style:, max_left:, top:, max_lines:) def draw_text_multiline_right(text:, text_style:, max_left:, top:, max_lines:) lines = wrap_to_lines(text, pdf.bounds.right - max_left, text_style, max_lines) starting_position = top - lines.reverse.each do |line| + lines.reverse_each do |line| line_width = measure_text_width(line, text_style) line_x = pdf.bounds.right - line_width starting_position += draw_text_multiline_part(line, text_style, line_x, starting_position) diff --git a/app/models/work_package/pdf_export/cover.rb b/app/models/work_package/pdf_export/cover.rb index febaa9f6997e..b67012c1506e 100644 --- a/app/models/work_package/pdf_export/cover.rb +++ b/app/models/work_package/pdf_export/cover.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/pdf_export/markdown.rb b/app/models/work_package/pdf_export/markdown.rb index 842ca67c38c8..19f573f25080 100644 --- a/app/models/work_package/pdf_export/markdown.rb +++ b/app/models/work_package/pdf_export/markdown.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,6 +31,7 @@ module WorkPackage::PDFExport::Markdown class MD2PDF include MarkdownToPDF::Core + include MarkdownToPDF::Parser def initialize(styling_yml) @styles = MarkdownToPDF::Styles.new(styling_yml) @@ -41,9 +42,7 @@ def initialize(styling_yml) def draw_markdown(markdown, pdf, image_loader) @pdf = pdf @image_loader = image_loader - cm_extentions = %i[autolink strikethrough table tagfilter tasklist] - cm_parse_option = %i[FOOTNOTES SMART LIBERAL_HTML_TAG STRIKETHROUGH_DOUBLE_TILDE UNSAFE VALIDATE_UTF8] - root = CommonMarker.render_doc(markdown, cm_parse_option, cm_extentions) + root = parse_markdown(markdown) begin draw_node(root, pdf_root_options(@styles.page), true) rescue Prawn::Errors::CannotFit => e diff --git a/app/models/work_package/pdf_export/markdown_field.rb b/app/models/work_package/pdf_export/markdown_field.rb index c766569da007..963396d30067 100644 --- a/app/models/work_package/pdf_export/markdown_field.rb +++ b/app/models/work_package/pdf_export/markdown_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/pdf_export/overview_table.rb b/app/models/work_package/pdf_export/overview_table.rb index 366455cf2a5e..e8d167f77baa 100644 --- a/app/models/work_package/pdf_export/overview_table.rb +++ b/app/models/work_package/pdf_export/overview_table.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/pdf_export/page.rb b/app/models/work_package/pdf_export/page.rb index 3fafb8df4877..2c7aaf3caea8 100644 --- a/app/models/work_package/pdf_export/page.rb +++ b/app/models/work_package/pdf_export/page.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/pdf_export/style.rb b/app/models/work_package/pdf_export/style.rb index d88ce9b73910..00a0764178b7 100644 --- a/app/models/work_package/pdf_export/style.rb +++ b/app/models/work_package/pdf_export/style.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -147,7 +147,7 @@ def toc_indent_mode def toc_item(level) resolve_font(@styles.dig(:toc, :item)).merge( - resolve_font(@styles.dig(:toc, "item_level_#{level}".to_sym)) + resolve_font(@styles.dig(:toc, :"item_level_#{level}")) ) end @@ -157,7 +157,7 @@ def toc_item_subject_indent def toc_item_margins(level) resolve_margin(@styles.dig(:toc, :item)).merge( - resolve_margin(@styles.dig(:toc, "item_level_#{level}".to_sym)) + resolve_margin(@styles.dig(:toc, :"item_level_#{level}")) ) end @@ -167,7 +167,7 @@ def wp_margins def wp_subject(level) resolve_font(@styles.dig(:work_package, :subject)).merge( - resolve_font(@styles.dig(:work_package, "subject_level_#{level}".to_sym)) + resolve_font(@styles.dig(:work_package, :"subject_level_#{level}")) ) end diff --git a/app/models/work_package/pdf_export/sums_table.rb b/app/models/work_package/pdf_export/sums_table.rb index 79d7963a1cef..b3556c8ea6d1 100644 --- a/app/models/work_package/pdf_export/sums_table.rb +++ b/app/models/work_package/pdf_export/sums_table.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ module WorkPackage::PDFExport::SumsTable - def write_work_packages_sums!(work_packages) + def write_work_packages_sums!(_work_packages) return unless has_summable_column? write_optional_page_break diff --git a/app/models/work_package/pdf_export/table_of_contents.rb b/app/models/work_package/pdf_export/table_of_contents.rb index f08811282a30..848c9d6dfbe0 100644 --- a/app/models/work_package/pdf_export/table_of_contents.rb +++ b/app/models/work_package/pdf_export/table_of_contents.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/pdf_export/view.rb b/app/models/work_package/pdf_export/view.rb index 6ffa4f83d4fa..4fb8b8728728 100644 --- a/app/models/work_package/pdf_export/view.rb +++ b/app/models/work_package/pdf_export/view.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/pdf_export/work_package_detail.rb b/app/models/work_package/pdf_export/work_package_detail.rb index 438b1e23396b..215d5ee1ad25 100644 --- a/app/models/work_package/pdf_export/work_package_detail.rb +++ b/app/models/work_package/pdf_export/work_package_detail.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/pdf_export/work_package_list_to_pdf.rb b/app/models/work_package/pdf_export/work_package_list_to_pdf.rb index 949b1644f508..d7fe1695edfa 100644 --- a/app/models/work_package/pdf_export/work_package_list_to_pdf.rb +++ b/app/models/work_package/pdf_export/work_package_list_to_pdf.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/pdf_export/work_package_to_pdf.rb b/app/models/work_package/pdf_export/work_package_to_pdf.rb index 7f9246c0e08f..7a8a76c31421 100644 --- a/app/models/work_package/pdf_export/work_package_to_pdf.rb +++ b/app/models/work_package/pdf_export/work_package_to_pdf.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/scheduling_rules.rb b/app/models/work_package/scheduling_rules.rb index 1a5848e413d9..f236c9008da7 100644 --- a/app/models/work_package/scheduling_rules.rb +++ b/app/models/work_package/scheduling_rules.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/status_transitions.rb b/app/models/work_package/status_transitions.rb index c0b4ad023514..b4603fdd20aa 100644 --- a/app/models/work_package/status_transitions.rb +++ b/app/models/work_package/status_transitions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/time_entries_cleaner.rb b/app/models/work_package/time_entries_cleaner.rb index 79e5a46b109d..d904713035fe 100644 --- a/app/models/work_package/time_entries_cleaner.rb +++ b/app/models/work_package/time_entries_cleaner.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package/validations.rb b/app/models/work_package/validations.rb index ce894a83ea68..7c9fce745f0a 100644 --- a/app/models/work_package/validations.rb +++ b/app/models/work_package/validations.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,6 +35,8 @@ module WorkPackage::Validations validates :subject, length: { maximum: 255 } validates :done_ratio, inclusion: { in: 0..100 } validates :estimated_hours, numericality: { allow_nil: true } + validates :remaining_hours, numericality: { allow_nil: true, greater_than_or_equal_to: 0 } + validates :derived_remaining_hours, numericality: { allow_nil: true, greater_than_or_equal_to: 0 } validates :due_date, date: { allow_blank: true } validates :start_date, date: { allow_blank: true } diff --git a/app/models/work_package_custom_field.rb b/app/models/work_package_custom_field.rb index d0fa4766a6ee..008b2e3f5b6b 100644 --- a/app/models/work_package_custom_field.rb +++ b/app/models/work_package_custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_package_role.rb b/app/models/work_package_role.rb index f2db1c2613c2..855bb594b533 100644 --- a/app/models/work_package_role.rb +++ b/app/models/work_package_role.rb @@ -3,7 +3,7 @@ # #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_packages/costs.rb b/app/models/work_packages/costs.rb index ed7510ec82ab..ff6a8ff1e769 100644 --- a/app/models/work_packages/costs.rb +++ b/app/models/work_packages/costs.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_packages/derived_dates.rb b/app/models/work_packages/derived_dates.rb index e54e2dfc3d7a..df3ba98576bc 100644 --- a/app/models/work_packages/derived_dates.rb +++ b/app/models/work_packages/derived_dates.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_packages/scopes/covering_dates_and_days_of_week.rb b/app/models/work_packages/scopes/covering_dates_and_days_of_week.rb index 566c45e0dea9..fa352b50f66f 100644 --- a/app/models/work_packages/scopes/covering_dates_and_days_of_week.rb +++ b/app/models/work_packages/scopes/covering_dates_and_days_of_week.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_packages/scopes/for_scheduling.rb b/app/models/work_packages/scopes/for_scheduling.rb index bf94ee90f3ac..6d49b76afa39 100644 --- a/app/models/work_packages/scopes/for_scheduling.rb +++ b/app/models/work_packages/scopes/for_scheduling.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_packages/scopes/include_derived_dates.rb b/app/models/work_packages/scopes/include_derived_dates.rb index 54799c837ada..c09dacca770f 100644 --- a/app/models/work_packages/scopes/include_derived_dates.rb +++ b/app/models/work_packages/scopes/include_derived_dates.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_packages/scopes/include_spent_time.rb b/app/models/work_packages/scopes/include_spent_time.rb index 5865a440067a..4b9a7134e0db 100644 --- a/app/models/work_packages/scopes/include_spent_time.rb +++ b/app/models/work_packages/scopes/include_spent_time.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_packages/scopes/involving_user.rb b/app/models/work_packages/scopes/involving_user.rb index 4e5fe25e6462..fc9d4bb3ca04 100644 --- a/app/models/work_packages/scopes/involving_user.rb +++ b/app/models/work_packages/scopes/involving_user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_packages/scopes/left_join_self_and_descendants.rb b/app/models/work_packages/scopes/left_join_self_and_descendants.rb index 9e9631d8610b..529ab6658f82 100644 --- a/app/models/work_packages/scopes/left_join_self_and_descendants.rb +++ b/app/models/work_packages/scopes/left_join_self_and_descendants.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/work_packages/spent_time.rb b/app/models/work_packages/spent_time.rb index 916f949375fd..73bc257fd50a 100644 --- a/app/models/work_packages/spent_time.rb +++ b/app/models/work_packages/spent_time.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/models/workflow.rb b/app/models/workflow.rb index cc617d5e781b..1a3f3dd335dc 100644 --- a/app/models/workflow.rb +++ b/app/models/workflow.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/policies/base_policy.rb b/app/policies/base_policy.rb index 94b6f057d1de..def1eda6cb28 100644 --- a/app/policies/base_policy.rb +++ b/app/policies/base_policy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/policies/query_policy.rb b/app/policies/query_policy.rb index c2441d62dd06..e59375ac44c7 100644 --- a/app/policies/query_policy.rb +++ b/app/policies/query_policy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/policies/redirect_policy.rb b/app/policies/redirect_policy.rb index 232a5e36ab11..f6cd265447cc 100644 --- a/app/policies/redirect_policy.rb +++ b/app/policies/redirect_policy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/policies/scm/authorization_policy.rb b/app/policies/scm/authorization_policy.rb index 8e24e5c3f0bc..cf385e34042c 100644 --- a/app/policies/scm/authorization_policy.rb +++ b/app/policies/scm/authorization_policy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/policies/scm/git_authorization_policy.rb b/app/policies/scm/git_authorization_policy.rb index f7972d417a15..1586a355f8b3 100644 --- a/app/policies/scm/git_authorization_policy.rb +++ b/app/policies/scm/git_authorization_policy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/policies/scm/subversion_authorization_policy.rb b/app/policies/scm/subversion_authorization_policy.rb index 17b4cc7828d4..f42abf756aad 100644 --- a/app/policies/scm/subversion_authorization_policy.rb +++ b/app/policies/scm/subversion_authorization_policy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/policies/work_package_policy.rb b/app/policies/work_package_policy.rb index d6516c77507a..206df16ccff2 100644 --- a/app/policies/work_package_policy.rb +++ b/app/policies/work_package_policy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -49,6 +49,7 @@ def allowed_hash(work_package) delete: delete_allowed?(work_package), manage_subtasks: manage_subtasks_allowed?(work_package), comment: comment_allowed?(work_package), + change_status: change_status_allowed?(work_package), assign_version: assign_version_allowed?(work_package) } end @@ -94,4 +95,12 @@ def comment_allowed?(work_package) def assign_version_allowed?(work_package) user.allowed_in_project?(:assign_versions, work_package.project) end + + def change_status_allowed?(work_package) + @change_status_cache ||= Hash.new do |hash, project| + hash[project] = user.allowed_in_project?(%i[edit_work_packages change_work_package_status], work_package.project) + end + + @change_status_cache[work_package.project] + end end diff --git a/app/seeders/admin_user_seeder.rb b/app/seeders/admin_user_seeder.rb index 59d0938ef4f4..eed6e9d01edd 100644 --- a/app/seeders/admin_user_seeder.rb +++ b/app/seeders/admin_user_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/base_role_seeder.rb b/app/seeders/basic_data/base_role_seeder.rb index 31f1f7013fc4..735789e372fa 100644 --- a/app/seeders/basic_data/base_role_seeder.rb +++ b/app/seeders/basic_data/base_role_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/builtin_users_seeder.rb b/app/seeders/basic_data/builtin_users_seeder.rb index d96a813f18b1..e50933c3e7df 100644 --- a/app/seeders/basic_data/builtin_users_seeder.rb +++ b/app/seeders/basic_data/builtin_users_seeder.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/color_scheme_seeder.rb b/app/seeders/basic_data/color_scheme_seeder.rb index 3f1d065fef94..9e71ebceec25 100644 --- a/app/seeders/basic_data/color_scheme_seeder.rb +++ b/app/seeders/basic_data/color_scheme_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/color_seeder.rb b/app/seeders/basic_data/color_seeder.rb index ec223251b35e..de66b77bd785 100644 --- a/app/seeders/basic_data/color_seeder.rb +++ b/app/seeders/basic_data/color_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/global_role_seeder.rb b/app/seeders/basic_data/global_role_seeder.rb index 13224f1fd00d..041491b984ce 100644 --- a/app/seeders/basic_data/global_role_seeder.rb +++ b/app/seeders/basic_data/global_role_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/model_seeder.rb b/app/seeders/basic_data/model_seeder.rb index 5e784d5e5f70..921513a2feeb 100644 --- a/app/seeders/basic_data/model_seeder.rb +++ b/app/seeders/basic_data/model_seeder.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/priority_seeder.rb b/app/seeders/basic_data/priority_seeder.rb index eb19fee25b69..b6eea0b81fdb 100644 --- a/app/seeders/basic_data/priority_seeder.rb +++ b/app/seeders/basic_data/priority_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/project_role_seeder.rb b/app/seeders/basic_data/project_role_seeder.rb index 92c5f0d08a5e..a0bb520e59e3 100644 --- a/app/seeders/basic_data/project_role_seeder.rb +++ b/app/seeders/basic_data/project_role_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/setting_seeder.rb b/app/seeders/basic_data/setting_seeder.rb index 2ca4a86cc48e..bf52df3e0ddd 100644 --- a/app/seeders/basic_data/setting_seeder.rb +++ b/app/seeders/basic_data/setting_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/status_seeder.rb b/app/seeders/basic_data/status_seeder.rb index 97806c5cd0df..9d9069ea33ce 100644 --- a/app/seeders/basic_data/status_seeder.rb +++ b/app/seeders/basic_data/status_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/time_entry_activity_seeder.rb b/app/seeders/basic_data/time_entry_activity_seeder.rb index 57ede75e3163..438b6337429b 100644 --- a/app/seeders/basic_data/time_entry_activity_seeder.rb +++ b/app/seeders/basic_data/time_entry_activity_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/type_configuration_seeder.rb b/app/seeders/basic_data/type_configuration_seeder.rb index 5f620b830178..0fa8f88b5950 100644 --- a/app/seeders/basic_data/type_configuration_seeder.rb +++ b/app/seeders/basic_data/type_configuration_seeder.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/type_seeder.rb b/app/seeders/basic_data/type_seeder.rb index 88e4ad735741..e6fff8e0021d 100644 --- a/app/seeders/basic_data/type_seeder.rb +++ b/app/seeders/basic_data/type_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/work_package_role_seeder.rb b/app/seeders/basic_data/work_package_role_seeder.rb index 35d3db68bfa9..af62aef9a995 100644 --- a/app/seeders/basic_data/work_package_role_seeder.rb +++ b/app/seeders/basic_data/work_package_role_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data/workflow_seeder.rb b/app/seeders/basic_data/workflow_seeder.rb index effe9cbceff7..77e23f35a3d7 100644 --- a/app/seeders/basic_data/workflow_seeder.rb +++ b/app/seeders/basic_data/workflow_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/basic_data_seeder.rb b/app/seeders/basic_data_seeder.rb index 5f770cb71e53..9cf8317126b5 100644 --- a/app/seeders/basic_data_seeder.rb +++ b/app/seeders/basic_data_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/common.yml b/app/seeders/common.yml index e6d6c871363a..a491e884d5b9 100644 --- a/app/seeders/common.yml +++ b/app/seeders/common.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/composite_seeder.rb b/app/seeders/composite_seeder.rb index 11f6b4e86262..eb8d75d5f716 100644 --- a/app/seeders/composite_seeder.rb +++ b/app/seeders/composite_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/demo_data/create_attachments.rb b/app/seeders/demo_data/create_attachments.rb index f360eccbebcc..20520853ad05 100644 --- a/app/seeders/demo_data/create_attachments.rb +++ b/app/seeders/demo_data/create_attachments.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/demo_data/global_query_seeder.rb b/app/seeders/demo_data/global_query_seeder.rb index 43ee176ad3a1..b6e535ab5942 100644 --- a/app/seeders/demo_data/global_query_seeder.rb +++ b/app/seeders/demo_data/global_query_seeder.rb @@ -1,7 +1,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/demo_data/group_seeder.rb b/app/seeders/demo_data/group_seeder.rb index c991233b169a..99953ada1503 100644 --- a/app/seeders/demo_data/group_seeder.rb +++ b/app/seeders/demo_data/group_seeder.rb @@ -1,7 +1,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/demo_data/overview_seeder.rb b/app/seeders/demo_data/overview_seeder.rb index 3b8be1ed1f9f..23153c035555 100644 --- a/app/seeders/demo_data/overview_seeder.rb +++ b/app/seeders/demo_data/overview_seeder.rb @@ -73,7 +73,7 @@ def text_with_references(overview, widget_options) end end - def query_id_references(overview, widget_options) + def query_id_references(_overview, widget_options) if widget_options && widget_options['queryId'] widget_options['queryId'] = with_references(widget_options['queryId']) end diff --git a/app/seeders/demo_data/project_seeder.rb b/app/seeders/demo_data/project_seeder.rb index 4c597f8e7343..4c193ab4fc93 100644 --- a/app/seeders/demo_data/project_seeder.rb +++ b/app/seeders/demo_data/project_seeder.rb @@ -1,7 +1,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -56,7 +56,7 @@ def project_content_seeder_classes DemoData::WorkPackageSeeder, DemoData::WorkPackageBoardSeeder, ::Meetings::DemoData::MeetingSeeder, - ::Meetings::DemoData::MeetingAgendaItemsSeeder, + ::Meetings::DemoData::MeetingAgendaItemsSeeder ] end diff --git a/app/seeders/demo_data/projects_seeder.rb b/app/seeders/demo_data/projects_seeder.rb index bc42a3dcbbdb..5a9dce6ac255 100644 --- a/app/seeders/demo_data/projects_seeder.rb +++ b/app/seeders/demo_data/projects_seeder.rb @@ -1,7 +1,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/demo_data/query_builder.rb b/app/seeders/demo_data/query_builder.rb index 3e383fee7a17..d99cd17c63de 100644 --- a/app/seeders/demo_data/query_builder.rb +++ b/app/seeders/demo_data/query_builder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/demo_data/references.rb b/app/seeders/demo_data/references.rb index 192c943fa0f0..da890873cee7 100644 --- a/app/seeders/demo_data/references.rb +++ b/app/seeders/demo_data/references.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/demo_data/version_builder.rb b/app/seeders/demo_data/version_builder.rb index e8016af63fa5..cf42a4285515 100644 --- a/app/seeders/demo_data/version_builder.rb +++ b/app/seeders/demo_data/version_builder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/demo_data/wiki_seeder.rb b/app/seeders/demo_data/wiki_seeder.rb index 4cc70626311e..84ef9764cf92 100644 --- a/app/seeders/demo_data/wiki_seeder.rb +++ b/app/seeders/demo_data/wiki_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/demo_data/work_package_board_seeder.rb b/app/seeders/demo_data/work_package_board_seeder.rb index 6cc3cc2f3853..f48ecc6b12b3 100644 --- a/app/seeders/demo_data/work_package_board_seeder.rb +++ b/app/seeders/demo_data/work_package_board_seeder.rb @@ -1,7 +1,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/demo_data/work_package_seeder.rb b/app/seeders/demo_data/work_package_seeder.rb index 63b13bf51fde..2f9285436506 100644 --- a/app/seeders/demo_data/work_package_seeder.rb +++ b/app/seeders/demo_data/work_package_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/demo_data_seeder.rb b/app/seeders/demo_data_seeder.rb index c88c5a0a075a..ae49fd673397 100644 --- a/app/seeders/demo_data_seeder.rb +++ b/app/seeders/demo_data_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/development_data/custom_fields_seeder.rb b/app/seeders/development_data/custom_fields_seeder.rb index 50e38a67b1e1..1ddc976e29d3 100644 --- a/app/seeders/development_data/custom_fields_seeder.rb +++ b/app/seeders/development_data/custom_fields_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/development_data/projects_seeder.rb b/app/seeders/development_data/projects_seeder.rb index 584c06d63438..70bbe10ade47 100644 --- a/app/seeders/development_data/projects_seeder.rb +++ b/app/seeders/development_data/projects_seeder.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/development_data/users_seeder.rb b/app/seeders/development_data/users_seeder.rb index 1d60428484fe..eb49625a5069 100644 --- a/app/seeders/development_data/users_seeder.rb +++ b/app/seeders/development_data/users_seeder.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/development_data_seeder.rb b/app/seeders/development_data_seeder.rb index 4908fbec0f66..366e740e9826 100644 --- a/app/seeders/development_data_seeder.rb +++ b/app/seeders/development_data_seeder.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/env_data/ldap_seeder.rb b/app/seeders/env_data/ldap_seeder.rb index b9dabd6aa953..aded93e586bd 100644 --- a/app/seeders/env_data/ldap_seeder.rb +++ b/app/seeders/env_data/ldap_seeder.rb @@ -1,7 +1,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/env_data_seeder.rb b/app/seeders/env_data_seeder.rb index d4ecf0519baf..ebf8748c7715 100644 --- a/app/seeders/env_data_seeder.rb +++ b/app/seeders/env_data_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/root_seeder.rb b/app/seeders/root_seeder.rb index fd12837e1662..029818e43d98 100644 --- a/app/seeders/root_seeder.rb +++ b/app/seeders/root_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/seeder.rb b/app/seeders/seeder.rb index 25a3428f84b1..060ea4853f1d 100644 --- a/app/seeders/seeder.rb +++ b/app/seeders/seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/source/filter_translatables.rb b/app/seeders/source/filter_translatables.rb index 25c45b41adca..a27a2434552c 100644 --- a/app/seeders/source/filter_translatables.rb +++ b/app/seeders/source/filter_translatables.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/source/seed_data.rb b/app/seeders/source/seed_data.rb index 3710c35d2fa4..61da39acbcd2 100644 --- a/app/seeders/source/seed_data.rb +++ b/app/seeders/source/seed_data.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/source/seed_data_loader.rb b/app/seeders/source/seed_data_loader.rb index c602e97ff530..2761b2a97928 100644 --- a/app/seeders/source/seed_data_loader.rb +++ b/app/seeders/source/seed_data_loader.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/source/seed_file.rb b/app/seeders/source/seed_file.rb index 4b4876fb8744..6b4cadbd385f 100644 --- a/app/seeders/source/seed_file.rb +++ b/app/seeders/source/seed_file.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/source/translate.rb b/app/seeders/source/translate.rb index 5935a7d594af..d117778d743e 100644 --- a/app/seeders/source/translate.rb +++ b/app/seeders/source/translate.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/standard.yml b/app/seeders/standard.yml index 196db474cd1a..62d028f79197 100644 --- a/app/seeders/standard.yml +++ b/app/seeders/standard.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/seeders/standard/basic_data_seeder.rb b/app/seeders/standard/basic_data_seeder.rb index c79065eb623a..3c35150bf034 100644 --- a/app/seeders/standard/basic_data_seeder.rb +++ b/app/seeders/standard/basic_data_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/add_work_package_note_service.rb b/app/services/add_work_package_note_service.rb index 76fda70828d5..0e9f933e5b00 100644 --- a/app/services/add_work_package_note_service.rb +++ b/app/services/add_work_package_note_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/api/parse_resource_params_service.rb b/app/services/api/parse_resource_params_service.rb index e11eab0179ca..d726fb1e49fe 100644 --- a/app/services/api/parse_resource_params_service.rb +++ b/app/services/api/parse_resource_params_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/api/parser_struct.rb b/app/services/api/parser_struct.rb index 442ce2bc2724..89d49f3b10a9 100644 --- a/app/services/api/parser_struct.rb +++ b/app/services/api/parser_struct.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/api/v3/params_to_query_service.rb b/app/services/api/v3/params_to_query_service.rb index bf2286054fed..b30da1fbb6b1 100644 --- a/app/services/api/v3/params_to_query_service.rb +++ b/app/services/api/v3/params_to_query_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/api/v3/parse_query_params_service.rb b/app/services/api/v3/parse_query_params_service.rb index c49c4ae6beb2..31926ef53367 100644 --- a/app/services/api/v3/parse_query_params_service.rb +++ b/app/services/api/v3/parse_query_params_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/api/v3/parse_resource_params_service.rb b/app/services/api/v3/parse_resource_params_service.rb index 72273f7df4e7..7ea8e5454bff 100644 --- a/app/services/api/v3/parse_resource_params_service.rb +++ b/app/services/api/v3/parse_resource_params_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/api/v3/update_query_from_v3_params_service.rb b/app/services/api/v3/update_query_from_v3_params_service.rb index 1b1292a59048..3e33c262bfdd 100644 --- a/app/services/api/v3/update_query_from_v3_params_service.rb +++ b/app/services/api/v3/update_query_from_v3_params_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/api/v3/work_package_collection_from_query_params_service.rb b/app/services/api/v3/work_package_collection_from_query_params_service.rb index 486dd04cc3af..a0936e484dad 100644 --- a/app/services/api/v3/work_package_collection_from_query_params_service.rb +++ b/app/services/api/v3/work_package_collection_from_query_params_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/api/v3/work_package_collection_from_query_service.rb b/app/services/api/v3/work_package_collection_from_query_service.rb index f34daf0a8979..092da189d547 100644 --- a/app/services/api/v3/work_package_collection_from_query_service.rb +++ b/app/services/api/v3/work_package_collection_from_query_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attachments/base_service.rb b/app/services/attachments/base_service.rb index ffc12ef48d9f..c79925a54bb2 100644 --- a/app/services/attachments/base_service.rb +++ b/app/services/attachments/base_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attachments/build_service.rb b/app/services/attachments/build_service.rb index b35de4447958..9466ff5b3d43 100644 --- a/app/services/attachments/build_service.rb +++ b/app/services/attachments/build_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attachments/create_service.rb b/app/services/attachments/create_service.rb index 7babcaadd4ea..08276784c530 100644 --- a/app/services/attachments/create_service.rb +++ b/app/services/attachments/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attachments/delete_service.rb b/app/services/attachments/delete_service.rb index 275383772bf5..993296ae7801 100644 --- a/app/services/attachments/delete_service.rb +++ b/app/services/attachments/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attachments/prepare_upload_service.rb b/app/services/attachments/prepare_upload_service.rb index e291ebe3bacb..392804ed6a90 100644 --- a/app/services/attachments/prepare_upload_service.rb +++ b/app/services/attachments/prepare_upload_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attachments/replace_attachments.rb b/app/services/attachments/replace_attachments.rb index 78bdb85c63c6..cbf570abb9f5 100644 --- a/app/services/attachments/replace_attachments.rb +++ b/app/services/attachments/replace_attachments.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attachments/set_attributes_service.rb b/app/services/attachments/set_attributes_service.rb index cfc0e7f6bcbf..99c7360cbaba 100644 --- a/app/services/attachments/set_attributes_service.rb +++ b/app/services/attachments/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ class SetAttributesService < ::BaseServices::SetAttributes def set_attributes(params) # Don't set the content type manually, # we always want to infer it - super params.except :content_type + super(params.except :content_type) end def set_default_attributes(_params) diff --git a/app/services/attachments/set_prepared_attributes_service.rb b/app/services/attachments/set_prepared_attributes_service.rb index 26ba993850a4..73ab99f3157a 100644 --- a/app/services/attachments/set_prepared_attributes_service.rb +++ b/app/services/attachments/set_prepared_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attachments/set_replacements.rb b/app/services/attachments/set_replacements.rb index 9a8952b536de..18a72259517e 100644 --- a/app/services/attachments/set_replacements.rb +++ b/app/services/attachments/set_replacements.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attachments/touch_container.rb b/app/services/attachments/touch_container.rb index 6b1b857466b5..68b53ae9796d 100644 --- a/app/services/attachments/touch_container.rb +++ b/app/services/attachments/touch_container.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attribute_help_texts/create_service.rb b/app/services/attribute_help_texts/create_service.rb index 32b0b6077da9..2114f48d7ad7 100644 --- a/app/services/attribute_help_texts/create_service.rb +++ b/app/services/attribute_help_texts/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attribute_help_texts/set_attributes_service.rb b/app/services/attribute_help_texts/set_attributes_service.rb index 931e1bef68d8..52b13432eb9c 100644 --- a/app/services/attribute_help_texts/set_attributes_service.rb +++ b/app/services/attribute_help_texts/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/attribute_help_texts/update_service.rb b/app/services/attribute_help_texts/update_service.rb index 53c3691232ed..44de200833d8 100644 --- a/app/services/attribute_help_texts/update_service.rb +++ b/app/services/attribute_help_texts/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authentication/omniauth_service.rb b/app/services/authentication/omniauth_service.rb index f1c992f54e9f..88f987cb1a00 100644 --- a/app/services/authentication/omniauth_service.rb +++ b/app/services/authentication/omniauth_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -252,7 +252,7 @@ def build_omniauth_hash_to_user_attributes mail: info[:email], firstname: info[:first_name] || info[:name], lastname: info[:last_name], - identity_url: identity_url_from_omniauth, + identity_url: identity_url_from_omniauth } # Map the admin attribute if provided in an attribute mapping @@ -284,7 +284,7 @@ def identity_url_from_omniauth ## # Try to provide some context of the auth_hash in case of errors def auth_uid - hash = (auth_hash || {}) + hash = auth_hash || {} hash.dig(:info, :uid) || hash.dig(:uid) || 'unknown' end end diff --git a/app/services/authorization.rb b/app/services/authorization.rb index bea3be8a338c..1a9c8cfd2f6d 100644 --- a/app/services/authorization.rb +++ b/app/services/authorization.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -64,7 +64,7 @@ def roles(user, context = nil) # Normalizes the different types of permission arguments into Permission objects. # Possible arguments - # - Symbol permission names (e.g. :view_work_packages) + # - Symbol permission names (e.g. :view_work_packages, or [:edit_work_packages, :change_work_package_status]) # - Hash with :controller and :action (e.g. { controller: 'work_packages', action: 'show' }) # # Exceptions @@ -72,14 +72,13 @@ def roles(user, context = nil) # or an +UnknownPermissionError+ is raised (depending on the +raise_on_unknown+ parameter). # . Additionally a debugger message is logged. # If the permission is disabled, it will not raise an error or log debug output. - def permissions_for(action, raise_on_unknown: false) # rubocop:disable Metrics/PerceivedComplexity, Metrics/AbcSize - return [action] if action.is_a?(OpenProject::AccessControl::Permission) - return action if action.is_a?(Array) && (action.empty? || action.all?(OpenProject::AccessControl::Permission)) + def permissions_for(action, raise_on_unknown: false) + return Array(action) if Array(action).all?(OpenProject::AccessControl::Permission) perms = if action.is_a?(Hash) OpenProject::AccessControl.allow_actions(action) else - [OpenProject::AccessControl.permission(action)].compact + Array(action).filter_map { |a| OpenProject::AccessControl.permission(a) } end if perms.blank? diff --git a/app/services/authorization/abstract_query.rb b/app/services/authorization/abstract_query.rb index 6a74f6ba3660..79ff9151ce5d 100644 --- a/app/services/authorization/abstract_query.rb +++ b/app/services/authorization/abstract_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/abstract_user_query.rb b/app/services/authorization/abstract_user_query.rb index 4e780684761e..bb3da6ec25c7 100644 --- a/app/services/authorization/abstract_user_query.rb +++ b/app/services/authorization/abstract_user_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/enterprise_service.rb b/app/services/authorization/enterprise_service.rb index 6d9431cf01d7..45706430c01a 100644 --- a/app/services/authorization/enterprise_service.rb +++ b/app/services/authorization/enterprise_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/illegal_permission_context_error.rb b/app/services/authorization/illegal_permission_context_error.rb index 8fcd146dd3b8..4bd81afdcdec 100644 --- a/app/services/authorization/illegal_permission_context_error.rb +++ b/app/services/authorization/illegal_permission_context_error.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/project_query.rb b/app/services/authorization/project_query.rb index f1f923b6ebb6..a04e3850b6e1 100644 --- a/app/services/authorization/project_query.rb +++ b/app/services/authorization/project_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/query_transformation.rb b/app/services/authorization/query_transformation.rb index 1848dae76dd2..6b1c92688264 100644 --- a/app/services/authorization/query_transformation.rb +++ b/app/services/authorization/query_transformation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -42,7 +42,7 @@ def initialize(on, self.block = block end - def apply(*args) - block.call(*args) + def apply(*) + block.call(*) end end diff --git a/app/services/authorization/query_transformation_visitor.rb b/app/services/authorization/query_transformation_visitor.rb index 4543c75234ba..da75df339f68 100644 --- a/app/services/authorization/query_transformation_visitor.rb +++ b/app/services/authorization/query_transformation_visitor.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/query_transformations.rb b/app/services/authorization/query_transformations.rb index ed39076cbc08..6ccda7444617 100644 --- a/app/services/authorization/query_transformations.rb +++ b/app/services/authorization/query_transformations.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/query_transformations_order.rb b/app/services/authorization/query_transformations_order.rb index e16af418d59a..e2858bdc587d 100644 --- a/app/services/authorization/query_transformations_order.rb +++ b/app/services/authorization/query_transformations_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/unknown_permission_error.rb b/app/services/authorization/unknown_permission_error.rb index 4f33f79f7442..7e428dfa8566 100644 --- a/app/services/authorization/unknown_permission_error.rb +++ b/app/services/authorization/unknown_permission_error.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/user_allowed_query.rb b/app/services/authorization/user_allowed_query.rb index 22171ed5ab84..5102d455d920 100644 --- a/app/services/authorization/user_allowed_query.rb +++ b/app/services/authorization/user_allowed_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/user_allowed_service.rb b/app/services/authorization/user_allowed_service.rb index 7558b061b98e..e6bbf77aff03 100644 --- a/app/services/authorization/user_allowed_service.rb +++ b/app/services/authorization/user_allowed_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/user_entity_roles_query.rb b/app/services/authorization/user_entity_roles_query.rb index 04a3a614d947..cc8508b32c9b 100644 --- a/app/services/authorization/user_entity_roles_query.rb +++ b/app/services/authorization/user_entity_roles_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/user_global_roles_query.rb b/app/services/authorization/user_global_roles_query.rb index f45fc298615f..1726d3b99aae 100644 --- a/app/services/authorization/user_global_roles_query.rb +++ b/app/services/authorization/user_global_roles_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/user_project_roles_query.rb b/app/services/authorization/user_project_roles_query.rb index beada7c77b5b..dd1d59e8a85f 100644 --- a/app/services/authorization/user_project_roles_query.rb +++ b/app/services/authorization/user_project_roles_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/authorization/user_roles_query.rb b/app/services/authorization/user_roles_query.rb index 7843321b38fc..7a0b96651c9b 100644 --- a/app/services/authorization/user_roles_query.rb +++ b/app/services/authorization/user_roles_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/backups/create_service.rb b/app/services/backups/create_service.rb index daa51e2f5d7f..99fd19218c2e 100644 --- a/app/services/backups/create_service.rb +++ b/app/services/backups/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ module Backups class CreateService < ::BaseServices::Create def initialize(user:, backup_token:, include_attachments: true, contract_class: ::Backups::CreateContract) - super user:, contract_class:, contract_options: { backup_token: } + super(user:, contract_class:, contract_options: { backup_token: }) @include_attachments = include_attachments end diff --git a/app/services/backups/set_attributes_service.rb b/app/services/backups/set_attributes_service.rb index f8b995305f20..d2d03da9e582 100644 --- a/app/services/backups/set_attributes_service.rb +++ b/app/services/backups/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/base_project_service.rb b/app/services/base_project_service.rb index e0a4527ebed6..57eb3603ba3c 100644 --- a/app/services/base_project_service.rb +++ b/app/services/base_project_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/base_services/base_callable.rb b/app/services/base_services/base_callable.rb index be2394512b33..fab7dbdad1a7 100644 --- a/app/services/base_services/base_callable.rb +++ b/app/services/base_services/base_callable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/base_services/base_contracted.rb b/app/services/base_services/base_contracted.rb index 96bbbc7d74e5..074f16f1a9c3 100644 --- a/app/services/base_services/base_contracted.rb +++ b/app/services/base_services/base_contracted.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/base_services/copy.rb b/app/services/base_services/copy.rb index 7f6dba38dff9..d0cad199a513 100644 --- a/app/services/base_services/copy.rb +++ b/app/services/base_services/copy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/base_services/create.rb b/app/services/base_services/create.rb index a32b200ce816..c0457ca01fef 100644 --- a/app/services/base_services/create.rb +++ b/app/services/base_services/create.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/base_services/delete.rb b/app/services/base_services/delete.rb index 030f3a65388c..de1f9653bbc5 100644 --- a/app/services/base_services/delete.rb +++ b/app/services/base_services/delete.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/base_services/set_attributes.rb b/app/services/base_services/set_attributes.rb index 44c50a1b6404..abf0b68b99ec 100644 --- a/app/services/base_services/set_attributes.rb +++ b/app/services/base_services/set_attributes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/base_services/update.rb b/app/services/base_services/update.rb index f25fad693abb..0163c7736680 100644 --- a/app/services/base_services/update.rb +++ b/app/services/base_services/update.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/base_services/write.rb b/app/services/base_services/write.rb index 8c7e3272f1e8..aceb0c57f4dc 100644 --- a/app/services/base_services/write.rb +++ b/app/services/base_services/write.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/base_type_service.rb b/app/services/base_type_service.rb index 756381e99905..c5729d03b7ec 100644 --- a/app/services/base_type_service.rb +++ b/app/services/base_type_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/changesets/log_time_service.rb b/app/services/changesets/log_time_service.rb index fd00f5e47bcc..be2549c93fb3 100644 --- a/app/services/changesets/log_time_service.rb +++ b/app/services/changesets/log_time_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/concerns/contracted.rb b/app/services/concerns/contracted.rb index 8d37d88c5a35..15693c8179dd 100644 --- a/app/services/concerns/contracted.rb +++ b/app/services/concerns/contracted.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/concerns/with_reversible_state.rb b/app/services/concerns/with_reversible_state.rb index 7455cda85f3f..1142a156966c 100644 --- a/app/services/concerns/with_reversible_state.rb +++ b/app/services/concerns/with_reversible_state.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/copy/dependency.rb b/app/services/copy/dependency.rb index db9c6ba2cb27..b92350ef7091 100644 --- a/app/services/copy/dependency.rb +++ b/app/services/copy/dependency.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/create_type_service.rb b/app/services/create_type_service.rb index 6cae73cbeff0..1a7a9141c7a6 100644 --- a/app/services/create_type_service.rb +++ b/app/services/create_type_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ class CreateTypeService < BaseTypeService def initialize(user) - super Type.new, user + super(Type.new, user) end private diff --git a/app/services/custom_actions/base_service.rb b/app/services/custom_actions/base_service.rb index 21af5de0b599..b8d7faff4a83 100644 --- a/app/services/custom_actions/base_service.rb +++ b/app/services/custom_actions/base_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/custom_actions/create_service.rb b/app/services/custom_actions/create_service.rb index ff097b2c9b46..08120c9ad09e 100644 --- a/app/services/custom_actions/create_service.rb +++ b/app/services/custom_actions/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/custom_actions/update_service.rb b/app/services/custom_actions/update_service.rb index 13126b301620..23c02f611c54 100644 --- a/app/services/custom_actions/update_service.rb +++ b/app/services/custom_actions/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/custom_actions/update_work_package_service.rb b/app/services/custom_actions/update_work_package_service.rb index 130126d2ab3b..010e1399d0fe 100644 --- a/app/services/custom_actions/update_work_package_service.rb +++ b/app/services/custom_actions/update_work_package_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/custom_fields/create_service.rb b/app/services/custom_fields/create_service.rb index e6605834b5d3..917af3728531 100644 --- a/app/services/custom_fields/create_service.rb +++ b/app/services/custom_fields/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/custom_fields/set_attributes_service.rb b/app/services/custom_fields/set_attributes_service.rb index 832e8b128b58..67431bcb49f1 100644 --- a/app/services/custom_fields/set_attributes_service.rb +++ b/app/services/custom_fields/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/custom_fields/update_service.rb b/app/services/custom_fields/update_service.rb index 054bafd6ad80..1e04457df2be 100644 --- a/app/services/custom_fields/update_service.rb +++ b/app/services/custom_fields/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/design/update_design_service.rb b/app/services/design/update_design_service.rb index 059801f7a31b..0c55bc5b5985 100644 --- a/app/services/design/update_design_service.rb +++ b/app/services/design/update_design_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -83,7 +83,7 @@ def set_theme end def custom_style - @custom_style ||= (CustomStyle.current || CustomStyle.create!) + @custom_style ||= CustomStyle.current || CustomStyle.create! end end end diff --git a/app/services/grids/copy/widgets_dependent_service.rb b/app/services/grids/copy/widgets_dependent_service.rb index e5f34d891fcb..aef95704ff0c 100644 --- a/app/services/grids/copy/widgets_dependent_service.rb +++ b/app/services/grids/copy/widgets_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/grids/copy_service.rb b/app/services/grids/copy_service.rb index c1a3a3e6d038..d574e5e536a7 100644 --- a/app/services/grids/copy_service.rb +++ b/app/services/grids/copy_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -46,7 +46,7 @@ def self.widgets_dependency end def initialize(user:, source:, contract_class: ::EmptyContract) - super user:, source:, contract_class: + super(user:, source:, contract_class:) end protected diff --git a/app/services/groups/add_users_service.rb b/app/services/groups/add_users_service.rb index 3e6e17ca1f87..7614a321c174 100644 --- a/app/services/groups/add_users_service.rb +++ b/app/services/groups/add_users_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,8 +33,8 @@ class AddUsersService < ::BaseServices::BaseContracted def initialize(group, current_user:, contract_class: AdminOnlyContract) self.model = group - super user: current_user, - contract_class: + super(user: current_user, + contract_class:) end private diff --git a/app/services/groups/cleanup_inherited_roles_service.rb b/app/services/groups/cleanup_inherited_roles_service.rb index 2c4539285f99..b10cb44ad7ca 100644 --- a/app/services/groups/cleanup_inherited_roles_service.rb +++ b/app/services/groups/cleanup_inherited_roles_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -40,8 +40,8 @@ class CleanupInheritedRolesService < ::BaseServices::BaseContracted def initialize(group, current_user:, contract_class: AdminOnlyContract) self.model = group - super user: current_user, - contract_class: + super(user: current_user, + contract_class:) end private diff --git a/app/services/groups/concerns/membership_manipulation.rb b/app/services/groups/concerns/membership_manipulation.rb index 3ce9a89a02ed..263567d442b8 100644 --- a/app/services/groups/concerns/membership_manipulation.rb +++ b/app/services/groups/concerns/membership_manipulation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/groups/create_inherited_roles_service.rb b/app/services/groups/create_inherited_roles_service.rb index 0078a9650600..0f51b81bef36 100644 --- a/app/services/groups/create_inherited_roles_service.rb +++ b/app/services/groups/create_inherited_roles_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,8 +36,8 @@ class CreateInheritedRolesService < ::BaseServices::BaseContracted def initialize(group, current_user:, contract_class: AdminOnlyContract) self.model = group - super user: current_user, - contract_class: + super(user: current_user, + contract_class:) end private diff --git a/app/services/groups/create_service.rb b/app/services/groups/create_service.rb index 4bc5594dd19a..44aedcc1b280 100644 --- a/app/services/groups/create_service.rb +++ b/app/services/groups/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/groups/delete_service.rb b/app/services/groups/delete_service.rb index a632093b5865..9dde353fdb74 100644 --- a/app/services/groups/delete_service.rb +++ b/app/services/groups/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/groups/set_attributes_service.rb b/app/services/groups/set_attributes_service.rb index e1f7d2a5c26f..2f6be7771dea 100644 --- a/app/services/groups/set_attributes_service.rb +++ b/app/services/groups/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/groups/update_roles_service.rb b/app/services/groups/update_roles_service.rb index 2b5fd06444d0..b14eab5abbfc 100644 --- a/app/services/groups/update_roles_service.rb +++ b/app/services/groups/update_roles_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,8 +35,8 @@ class UpdateRolesService < ::BaseServices::BaseContracted def initialize(group, current_user:, contract_class: AdminOnlyContract) self.model = group - super user: current_user, - contract_class: + super(user: current_user, + contract_class:) end private diff --git a/app/services/groups/update_service.rb b/app/services/groups/update_service.rb index e9546b170bf5..c2c526c60f94 100644 --- a/app/services/groups/update_service.rb +++ b/app/services/groups/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/journals/create_service.rb b/app/services/journals/create_service.rb index 6c5758cca8c4..59d3286f068e 100644 --- a/app/services/journals/create_service.rb +++ b/app/services/journals/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -254,9 +254,9 @@ def for_supported_associations def association_modifications_sql(association, predecessor) <<~SQL cleanup_predecessor_#{association} AS ( - #{send("cleanup_predecessor_#{association}", predecessor)} + #{send(:"cleanup_predecessor_#{association}", predecessor)} ), insert_#{association} AS ( - #{send("insert_#{association}_sql")} + #{send(:"insert_#{association}_sql")} ) SQL end diff --git a/app/services/journals/set_attributes_service.rb b/app/services/journals/set_attributes_service.rb index 72a56ed3bf83..f8e61a31fd58 100644 --- a/app/services/journals/set_attributes_service.rb +++ b/app/services/journals/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/journals/update_service.rb b/app/services/journals/update_service.rb index 5e99c629c663..1a02c8127ece 100644 --- a/app/services/journals/update_service.rb +++ b/app/services/journals/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/members/cleanup_service.rb b/app/services/members/cleanup_service.rb index 13b4b3d0c9a3..b50d2dc8c3c5 100644 --- a/app/services/members/cleanup_service.rb +++ b/app/services/members/cleanup_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/members/concerns/cleaned_up.rb b/app/services/members/concerns/cleaned_up.rb index 7ea0dcda54a0..f50a043a53e6 100644 --- a/app/services/members/concerns/cleaned_up.rb +++ b/app/services/members/concerns/cleaned_up.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/members/concerns/notification_sender.rb b/app/services/members/concerns/notification_sender.rb index 11aba97a33f9..fb20b337564a 100644 --- a/app/services/members/concerns/notification_sender.rb +++ b/app/services/members/concerns/notification_sender.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/members/create_service.rb b/app/services/members/create_service.rb index aa1512d9f91f..ceeca96e4aa0 100644 --- a/app/services/members/create_service.rb +++ b/app/services/members/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/members/delete_service.rb b/app/services/members/delete_service.rb index 0b8ebd456bcc..42659e208d43 100644 --- a/app/services/members/delete_service.rb +++ b/app/services/members/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/members/edit_membership_service.rb b/app/services/members/edit_membership_service.rb index 3d64d827a02e..3bb56ae80db7 100644 --- a/app/services/members/edit_membership_service.rb +++ b/app/services/members/edit_membership_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/members/set_attributes_service.rb b/app/services/members/set_attributes_service.rb index 2a24d043725a..6badbc274de2 100644 --- a/app/services/members/set_attributes_service.rb +++ b/app/services/members/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/members/update_service.rb b/app/services/members/update_service.rb index dd9a41d3e57e..ca93748b418e 100644 --- a/app/services/members/update_service.rb +++ b/app/services/members/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/messages/create_service.rb b/app/services/messages/create_service.rb index ce62e162d1d6..94fcf0e8384b 100644 --- a/app/services/messages/create_service.rb +++ b/app/services/messages/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/messages/set_attributes_service.rb b/app/services/messages/set_attributes_service.rb index bd8ad6e1a8c3..7dacc9199b59 100644 --- a/app/services/messages/set_attributes_service.rb +++ b/app/services/messages/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/messages/update_service.rb b/app/services/messages/update_service.rb index a86ff7977558..a4c67c19ddd8 100644 --- a/app/services/messages/update_service.rb +++ b/app/services/messages/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/create_from_model_service.rb b/app/services/notifications/create_from_model_service.rb index d0c1269369a5..9713bd1cded2 100644 --- a/app/services/notifications/create_from_model_service.rb +++ b/app/services/notifications/create_from_model_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -345,7 +345,7 @@ def receivers_hash end def strategy - @strategy ||= if self.class.const_defined?("#{resource.class}Strategy") + @strategy ||= if self.class.const_defined?(:"#{resource.class}Strategy") "#{self.class}::#{resource.class}Strategy".constantize end end diff --git a/app/services/notifications/create_from_model_service/comment_strategy.rb b/app/services/notifications/create_from_model_service/comment_strategy.rb index a1f27134a06a..1a3cd14f0611 100644 --- a/app/services/notifications/create_from_model_service/comment_strategy.rb +++ b/app/services/notifications/create_from_model_service/comment_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/create_from_model_service/message_strategy.rb b/app/services/notifications/create_from_model_service/message_strategy.rb index 280825e53a99..eb34f9c56ca8 100644 --- a/app/services/notifications/create_from_model_service/message_strategy.rb +++ b/app/services/notifications/create_from_model_service/message_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/create_from_model_service/news_strategy.rb b/app/services/notifications/create_from_model_service/news_strategy.rb index ff1f0b5fca5a..38f963cd2960 100644 --- a/app/services/notifications/create_from_model_service/news_strategy.rb +++ b/app/services/notifications/create_from_model_service/news_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/create_from_model_service/wiki_page_strategy.rb b/app/services/notifications/create_from_model_service/wiki_page_strategy.rb index 642de7469800..8aadeaf57ca2 100644 --- a/app/services/notifications/create_from_model_service/wiki_page_strategy.rb +++ b/app/services/notifications/create_from_model_service/wiki_page_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/create_from_model_service/work_package_strategy.rb b/app/services/notifications/create_from_model_service/work_package_strategy.rb index 017fd4390bad..ff078b9aa168 100644 --- a/app/services/notifications/create_from_model_service/work_package_strategy.rb +++ b/app/services/notifications/create_from_model_service/work_package_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/create_service.rb b/app/services/notifications/create_service.rb index 14f729921cf7..c66523d6a306 100644 --- a/app/services/notifications/create_service.rb +++ b/app/services/notifications/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/mail_service.rb b/app/services/notifications/mail_service.rb index 709662403ab2..bf9d5cf89b2a 100644 --- a/app/services/notifications/mail_service.rb +++ b/app/services/notifications/mail_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -52,7 +52,7 @@ def ian_read? end def strategy - @strategy ||= if self.class.const_defined?("#{strategy_model}Strategy") + @strategy ||= if self.class.const_defined?(:"#{strategy_model}Strategy") "#{self.class}::#{strategy_model}Strategy".constantize end end diff --git a/app/services/notifications/mail_service/comment_strategy.rb b/app/services/notifications/mail_service/comment_strategy.rb index 527d7931728d..0fd33bada56f 100644 --- a/app/services/notifications/mail_service/comment_strategy.rb +++ b/app/services/notifications/mail_service/comment_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/mail_service/message_strategy.rb b/app/services/notifications/mail_service/message_strategy.rb index a857eb187956..04c7ff1793cb 100644 --- a/app/services/notifications/mail_service/message_strategy.rb +++ b/app/services/notifications/mail_service/message_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/mail_service/news_strategy.rb b/app/services/notifications/mail_service/news_strategy.rb index 8fca9e20e2a4..07094fbe1204 100644 --- a/app/services/notifications/mail_service/news_strategy.rb +++ b/app/services/notifications/mail_service/news_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/mail_service/wiki_page_strategy.rb b/app/services/notifications/mail_service/wiki_page_strategy.rb index f06b77b4ad07..e9f50c089535 100644 --- a/app/services/notifications/mail_service/wiki_page_strategy.rb +++ b/app/services/notifications/mail_service/wiki_page_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/mail_service/work_package_strategy.rb b/app/services/notifications/mail_service/work_package_strategy.rb index 21e46329a94b..677770f59b25 100644 --- a/app/services/notifications/mail_service/work_package_strategy.rb +++ b/app/services/notifications/mail_service/work_package_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/notifications/set_attributes_service.rb b/app/services/notifications/set_attributes_service.rb index bedd6d9991fc..e16e0c6ac130 100644 --- a/app/services/notifications/set_attributes_service.rb +++ b/app/services/notifications/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/oauth/persist_application_service.rb b/app/services/oauth/persist_application_service.rb index a95f1554e7c2..a545a4b7837e 100644 --- a/app/services/oauth/persist_application_service.rb +++ b/app/services/oauth/persist_application_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/oauth_clients/connection_manager.rb b/app/services/oauth_clients/connection_manager.rb index be8f33bb1ada..e7377b80c12d 100644 --- a/app/services/oauth_clients/connection_manager.rb +++ b/app/services/oauth_clients/connection_manager.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/oauth_clients/create_service.rb b/app/services/oauth_clients/create_service.rb index 62ef02892ae3..9e0e14e75983 100644 --- a/app/services/oauth_clients/create_service.rb +++ b/app/services/oauth_clients/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -37,7 +37,7 @@ class CreateService < ::BaseServices::Create protected def after_validate(params, contract_call) - OAuthClient.where(integration: params[:integration]).delete_all if contract_call.success? + OAuthClient.where(integration: params[:integration]).delete_all super(params, contract_call) end end diff --git a/app/services/oauth_clients/delete_service.rb b/app/services/oauth_clients/delete_service.rb index e90640c142ad..2aff37c61984 100644 --- a/app/services/oauth_clients/delete_service.rb +++ b/app/services/oauth_clients/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/oauth_clients/redirect_uri_from_state_service.rb b/app/services/oauth_clients/redirect_uri_from_state_service.rb index def3aeba92d3..29803390d4ff 100644 --- a/app/services/oauth_clients/redirect_uri_from_state_service.rb +++ b/app/services/oauth_clients/redirect_uri_from_state_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/oauth_clients/set_attributes_service.rb b/app/services/oauth_clients/set_attributes_service.rb index e1827834e803..10f26aa90664 100644 --- a/app/services/oauth_clients/set_attributes_service.rb +++ b/app/services/oauth_clients/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/params_to_query_service.rb b/app/services/params_to_query_service.rb index b41b0e92a55d..710695141848 100644 --- a/app/services/params_to_query_service.rb +++ b/app/services/params_to_query_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/parse_schema_filter_params_service.rb b/app/services/parse_schema_filter_params_service.rb index 4ea07e71dd4b..d748838ceed6 100644 --- a/app/services/parse_schema_filter_params_service.rb +++ b/app/services/parse_schema_filter_params_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/placeholder_users/create_service.rb b/app/services/placeholder_users/create_service.rb index a6f91dbd7a68..adc0d3c0dfe2 100644 --- a/app/services/placeholder_users/create_service.rb +++ b/app/services/placeholder_users/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/placeholder_users/delete_service.rb b/app/services/placeholder_users/delete_service.rb index 32caed4677e1..19909713853d 100644 --- a/app/services/placeholder_users/delete_service.rb +++ b/app/services/placeholder_users/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/placeholder_users/set_attributes_service.rb b/app/services/placeholder_users/set_attributes_service.rb index 46b2f560d5d9..bc80f8b51199 100644 --- a/app/services/placeholder_users/set_attributes_service.rb +++ b/app/services/placeholder_users/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/placeholder_users/update_service.rb b/app/services/placeholder_users/update_service.rb index 6ce90ea66907..2b233101eae8 100644 --- a/app/services/placeholder_users/update_service.rb +++ b/app/services/placeholder_users/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/principals/replace_references_service.rb b/app/services/principals/replace_references_service.rb index a39f86e23a10..e7846ec00a7b 100644 --- a/app/services/principals/replace_references_service.rb +++ b/app/services/principals/replace_references_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -86,8 +86,7 @@ def rewrite_author(from, to) Budget, MeetingAgenda, MeetingMinutes, - MeetingAgendaItem - ].each do |klass| + MeetingAgendaItem].each do |klass| rewrite(klass, :author_id, from, to) end end diff --git a/app/services/projects/archive_service.rb b/app/services/projects/archive_service.rb index 06503d3ce095..28b20f7bc9e4 100644 --- a/app/services/projects/archive_service.rb +++ b/app/services/projects/archive_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/concerns/new_project_service.rb b/app/services/projects/concerns/new_project_service.rb index 2a381594e580..4b8dd4d90de7 100644 --- a/app/services/projects/concerns/new_project_service.rb +++ b/app/services/projects/concerns/new_project_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/concerns/update_demo_data.rb b/app/services/projects/concerns/update_demo_data.rb index 4e6320db5b31..2fbb91ce679b 100644 --- a/app/services/projects/concerns/update_demo_data.rb +++ b/app/services/projects/concerns/update_demo_data.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy/boards_dependent_service.rb b/app/services/projects/copy/boards_dependent_service.rb index 04d08525e6d6..5364e9c3a007 100644 --- a/app/services/projects/copy/boards_dependent_service.rb +++ b/app/services/projects/copy/boards_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy/categories_dependent_service.rb b/app/services/projects/copy/categories_dependent_service.rb index e5d2fbc01f45..8d3692d054ca 100644 --- a/app/services/projects/copy/categories_dependent_service.rb +++ b/app/services/projects/copy/categories_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy/dependency.rb b/app/services/projects/copy/dependency.rb index f107d0bc6e73..78362cca41e4 100644 --- a/app/services/projects/copy/dependency.rb +++ b/app/services/projects/copy/dependency.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy/forums_dependent_service.rb b/app/services/projects/copy/forums_dependent_service.rb index 1f4b7d85c3a5..377e2f1d137e 100644 --- a/app/services/projects/copy/forums_dependent_service.rb +++ b/app/services/projects/copy/forums_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy/members_dependent_service.rb b/app/services/projects/copy/members_dependent_service.rb index 557325c64b3a..b9d392c5bc19 100644 --- a/app/services/projects/copy/members_dependent_service.rb +++ b/app/services/projects/copy/members_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy/overview_dependent_service.rb b/app/services/projects/copy/overview_dependent_service.rb index f4d4f65fd128..0198a5dd3f9e 100644 --- a/app/services/projects/copy/overview_dependent_service.rb +++ b/app/services/projects/copy/overview_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy/queries_dependent_service.rb b/app/services/projects/copy/queries_dependent_service.rb index 17544e129f15..711f309b21a0 100644 --- a/app/services/projects/copy/queries_dependent_service.rb +++ b/app/services/projects/copy/queries_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy/versions_dependent_service.rb b/app/services/projects/copy/versions_dependent_service.rb index 7a21ec9fc8bd..72696002c96d 100644 --- a/app/services/projects/copy/versions_dependent_service.rb +++ b/app/services/projects/copy/versions_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy/wiki_dependent_service.rb b/app/services/projects/copy/wiki_dependent_service.rb index 9c87cdae9a7d..406aad145f79 100644 --- a/app/services/projects/copy/wiki_dependent_service.rb +++ b/app/services/projects/copy/wiki_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy/wiki_page_attachments_dependent_service.rb b/app/services/projects/copy/wiki_page_attachments_dependent_service.rb index 986e08d5968e..d4cf31fa83f4 100644 --- a/app/services/projects/copy/wiki_page_attachments_dependent_service.rb +++ b/app/services/projects/copy/wiki_page_attachments_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy/work_packages_dependent_service.rb b/app/services/projects/copy/work_packages_dependent_service.rb index 4764dd3bd0a0..6763e43eefb9 100644 --- a/app/services/projects/copy/work_packages_dependent_service.rb +++ b/app/services/projects/copy/work_packages_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/copy_service.rb b/app/services/projects/copy_service.rb index ad7dbf67cafb..97863455514c 100644 --- a/app/services/projects/copy_service.rb +++ b/app/services/projects/copy_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/create_service.rb b/app/services/projects/create_service.rb index b291b3056e6e..6252b7861997 100644 --- a/app/services/projects/create_service.rb +++ b/app/services/projects/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/delete_service.rb b/app/services/projects/delete_service.rb index 7cb249052055..2acfb54e552e 100644 --- a/app/services/projects/delete_service.rb +++ b/app/services/projects/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/enabled_modules_service.rb b/app/services/projects/enabled_modules_service.rb index 1d68fe69636d..0fe0a6acd39f 100644 --- a/app/services/projects/enabled_modules_service.rb +++ b/app/services/projects/enabled_modules_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/enqueue_copy_service.rb b/app/services/projects/enqueue_copy_service.rb index 06887caeca39..7fc088d40279 100644 --- a/app/services/projects/enqueue_copy_service.rb +++ b/app/services/projects/enqueue_copy_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/gantt_query_generator_service.rb b/app/services/projects/gantt_query_generator_service.rb index 9e703b716c3e..ad6c3864b3ab 100644 --- a/app/services/projects/gantt_query_generator_service.rb +++ b/app/services/projects/gantt_query_generator_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/schedule_deletion_service.rb b/app/services/projects/schedule_deletion_service.rb index 0a4de141d934..8a5182b6b8db 100644 --- a/app/services/projects/schedule_deletion_service.rb +++ b/app/services/projects/schedule_deletion_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/set_attributes_service.rb b/app/services/projects/set_attributes_service.rb index 970af5ae2b77..0394c8d3756e 100644 --- a/app/services/projects/set_attributes_service.rb +++ b/app/services/projects/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/unarchive_service.rb b/app/services/projects/unarchive_service.rb index 3dc0b264482c..f0df6035a9f0 100644 --- a/app/services/projects/unarchive_service.rb +++ b/app/services/projects/unarchive_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/projects/update_service.rb b/app/services/projects/update_service.rb index 3706370d305e..b6da8ef729dd 100644 --- a/app/services/projects/update_service.rb +++ b/app/services/projects/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/queries/base_service.rb b/app/services/queries/base_service.rb index ac995c11dba2..fbf94f1c4da3 100644 --- a/app/services/queries/base_service.rb +++ b/app/services/queries/base_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/queries/copy/filters_mapper.rb b/app/services/queries/copy/filters_mapper.rb index 0da43e1107e7..f54338dcdf16 100644 --- a/app/services/queries/copy/filters_mapper.rb +++ b/app/services/queries/copy/filters_mapper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/queries/copy/ordered_work_packages_dependent_service.rb b/app/services/queries/copy/ordered_work_packages_dependent_service.rb index 5a82a280ec9f..82494f10f765 100644 --- a/app/services/queries/copy/ordered_work_packages_dependent_service.rb +++ b/app/services/queries/copy/ordered_work_packages_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/queries/copy/views_dependent_service.rb b/app/services/queries/copy/views_dependent_service.rb index 92afad7a04ac..746234935ae3 100644 --- a/app/services/queries/copy/views_dependent_service.rb +++ b/app/services/queries/copy/views_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/queries/copy_service.rb b/app/services/queries/copy_service.rb index 714aa4719ca2..77d829b391e0 100644 --- a/app/services/queries/copy_service.rb +++ b/app/services/queries/copy_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/queries/create_service.rb b/app/services/queries/create_service.rb index ff3db8170891..82b710e8dee3 100644 --- a/app/services/queries/create_service.rb +++ b/app/services/queries/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/queries/set_attributes_service.rb b/app/services/queries/set_attributes_service.rb index a9a636ac913a..3fa92e75fb92 100644 --- a/app/services/queries/set_attributes_service.rb +++ b/app/services/queries/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/queries/update_service.rb b/app/services/queries/update_service.rb index 935d1379cab7..7169ade49966 100644 --- a/app/services/queries/update_service.rb +++ b/app/services/queries/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,4 +26,23 @@ # See COPYRIGHT and LICENSE files for more details. #++ -class Queries::UpdateService < BaseServices::Update; end +class Queries::UpdateService < BaseServices::Update + protected + + # Todo: remove the whole block when removing the feature flag + def persist(service_result) + service_result = super(service_result) + + query = service_result.result + unless OpenProject::FeatureDecisions.show_separate_gantt_module_active? + query_view = View.find_by(query_id: query.id) + if query.timeline_visible && query_view&.type === 'work_packages_table' + query_view.update(type: 'gantt') + elsif query_view&.type === 'gantt' + query_view.update(type: 'work_packages_table') + end + end + + service_result + end +end diff --git a/app/services/relations/base_service.rb b/app/services/relations/base_service.rb index b10782e47b31..bffa3e24c8bd 100644 --- a/app/services/relations/base_service.rb +++ b/app/services/relations/base_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/relations/create_service.rb b/app/services/relations/create_service.rb index f8ea836e10ac..fab64b9e5172 100644 --- a/app/services/relations/create_service.rb +++ b/app/services/relations/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/relations/delete_service.rb b/app/services/relations/delete_service.rb index 2f7cd3457679..435474cbd74d 100644 --- a/app/services/relations/delete_service.rb +++ b/app/services/relations/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/relations/update_service.rb b/app/services/relations/update_service.rb index 50ae88716c46..24607c5778c7 100644 --- a/app/services/relations/update_service.rb +++ b/app/services/relations/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/reports/assignee_report.rb b/app/services/reports/assignee_report.rb index fb2264a3a4d9..aeef8424d858 100644 --- a/app/services/reports/assignee_report.rb +++ b/app/services/reports/assignee_report.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/reports/author_report.rb b/app/services/reports/author_report.rb index c4df615fc2a7..987b2bff09c2 100644 --- a/app/services/reports/author_report.rb +++ b/app/services/reports/author_report.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/reports/category_report.rb b/app/services/reports/category_report.rb index e56f04e50bea..3bb9d2a82804 100644 --- a/app/services/reports/category_report.rb +++ b/app/services/reports/category_report.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/reports/priority_report.rb b/app/services/reports/priority_report.rb index c2fb1faee6cd..3cddf516b5f7 100644 --- a/app/services/reports/priority_report.rb +++ b/app/services/reports/priority_report.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/reports/report.rb b/app/services/reports/report.rb index 13ccb0381dbd..c0fbc83d2ef0 100644 --- a/app/services/reports/report.rb +++ b/app/services/reports/report.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/reports/reports_service.rb b/app/services/reports/reports_service.rb index 484e5f215c59..e7bf9fe7d5f0 100644 --- a/app/services/reports/reports_service.rb +++ b/app/services/reports/reports_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/reports/responsible_report.rb b/app/services/reports/responsible_report.rb index a23595c8e26c..6f4347cfb0cd 100644 --- a/app/services/reports/responsible_report.rb +++ b/app/services/reports/responsible_report.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/reports/subproject_report.rb b/app/services/reports/subproject_report.rb index 6b5c027c2f99..071007aa3be1 100644 --- a/app/services/reports/subproject_report.rb +++ b/app/services/reports/subproject_report.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/reports/type_report.rb b/app/services/reports/type_report.rb index cfe89897e258..f365017c6bb6 100644 --- a/app/services/reports/type_report.rb +++ b/app/services/reports/type_report.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/reports/version_report.rb b/app/services/reports/version_report.rb index f5a2bafa897e..5bddb4f1ce0a 100644 --- a/app/services/reports/version_report.rb +++ b/app/services/reports/version_report.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/roles/create_service.rb b/app/services/roles/create_service.rb index 1c75f4cc515d..479d2b458acf 100644 --- a/app/services/roles/create_service.rb +++ b/app/services/roles/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/roles/delete_service.rb b/app/services/roles/delete_service.rb index 12bbef8dfc86..5f77cf7671c4 100644 --- a/app/services/roles/delete_service.rb +++ b/app/services/roles/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/roles/set_attributes_service.rb b/app/services/roles/set_attributes_service.rb index 3ca4a9f34edb..4fb7c99c5571 100644 --- a/app/services/roles/set_attributes_service.rb +++ b/app/services/roles/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/roles/update_service.rb b/app/services/roles/update_service.rb index cb67f717c20e..66245719468d 100644 --- a/app/services/roles/update_service.rb +++ b/app/services/roles/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/scm/base_repository_service.rb b/app/services/scm/base_repository_service.rb index 45a913a45105..7d06889a2cda 100644 --- a/app/services/scm/base_repository_service.rb +++ b/app/services/scm/base_repository_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/scm/checkout_instructions_service.rb b/app/services/scm/checkout_instructions_service.rb index 23840f60f7b8..94e885d05bc4 100644 --- a/app/services/scm/checkout_instructions_service.rb +++ b/app/services/scm/checkout_instructions_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/scm/create_managed_repository_service.rb b/app/services/scm/create_managed_repository_service.rb index 3dc4b2100e72..126b35e2aa66 100644 --- a/app/services/scm/create_managed_repository_service.rb +++ b/app/services/scm/create_managed_repository_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/scm/delete_managed_repository_service.rb b/app/services/scm/delete_managed_repository_service.rb index 54248a4c038b..49a070e125f2 100644 --- a/app/services/scm/delete_managed_repository_service.rb +++ b/app/services/scm/delete_managed_repository_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/scm/repository_factory_service.rb b/app/services/scm/repository_factory_service.rb index 16ecb360eec7..d4071a52719f 100644 --- a/app/services/scm/repository_factory_service.rb +++ b/app/services/scm/repository_factory_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/service_result.rb b/app/services/service_result.rb index 33a6ee4dafc6..265d8f6c2d0f 100644 --- a/app/services/service_result.rb +++ b/app/services/service_result.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/sessions/drop_all_sessions_service.rb b/app/services/sessions/drop_all_sessions_service.rb index 7c0b133f3911..5577bb5d90d4 100644 --- a/app/services/sessions/drop_all_sessions_service.rb +++ b/app/services/sessions/drop_all_sessions_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/sessions/drop_other_sessions_service.rb b/app/services/sessions/drop_other_sessions_service.rb index d348dc8a88d5..040ad943ba13 100644 --- a/app/services/sessions/drop_other_sessions_service.rb +++ b/app/services/sessions/drop_other_sessions_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/settings/update_service.rb b/app/services/settings/update_service.rb index ae0043686900..617aa26ed1c4 100644 --- a/app/services/settings/update_service.rb +++ b/app/services/settings/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,8 @@ class Settings::UpdateService < BaseServices::BaseContracted def initialize(user:) - super user:, - contract_class: Settings::UpdateContract + super(user:, + contract_class: Settings::UpdateContract) end def persist(call) diff --git a/app/services/settings/working_days_update_service.rb b/app/services/settings/working_days_update_service.rb index 82fae2ea6ffe..56575aed1e83 100644 --- a/app/services/settings/working_days_update_service.rb +++ b/app/services/settings/working_days_update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/shared/block_service.rb b/app/services/shared/block_service.rb index 8c286cb9bb0b..f85dc181539f 100644 --- a/app/services/shared/block_service.rb +++ b/app/services/shared/block_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/shared/service_context.rb b/app/services/shared/service_context.rb index ccda00e26f72..50ae78a98646 100644 --- a/app/services/shared/service_context.rb +++ b/app/services/shared/service_context.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/shared/service_state.rb b/app/services/shared/service_state.rb index 06ff63a919a8..b40cbab89f4a 100644 --- a/app/services/shared/service_state.rb +++ b/app/services/shared/service_state.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/update_projects_types_service.rb b/app/services/update_projects_types_service.rb index 01971ac48937..6484698a8c35 100644 --- a/app/services/update_projects_types_service.rb +++ b/app/services/update_projects_types_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/update_query_from_params_service.rb b/app/services/update_query_from_params_service.rb index 8d9e675354a6..be1799c75055 100644 --- a/app/services/update_query_from_params_service.rb +++ b/app/services/update_query_from_params_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/update_type_service.rb b/app/services/update_type_service.rb index bb274bf2d4ff..919f67a450e1 100644 --- a/app/services/update_type_service.rb +++ b/app/services/update_type_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/user_preferences/set_attributes_service.rb b/app/services/user_preferences/set_attributes_service.rb index 52cb2304fa8c..8638e5590601 100644 --- a/app/services/user_preferences/set_attributes_service.rb +++ b/app/services/user_preferences/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/user_preferences/update_service.rb b/app/services/user_preferences/update_service.rb index 2683b42e5147..016cd2ca5d64 100644 --- a/app/services/user_preferences/update_service.rb +++ b/app/services/user_preferences/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/user_search_service.rb b/app/services/user_search_service.rb index 62c53976622c..d23d9885d8ab 100644 --- a/app/services/user_search_service.rb +++ b/app/services/user_search_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/users/change_password_service.rb b/app/services/users/change_password_service.rb index b76168efbc6f..624bb7654ddf 100644 --- a/app/services/users/change_password_service.rb +++ b/app/services/users/change_password_service.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/users/create_service.rb b/app/services/users/create_service.rb index a6a0d4c9ed55..c0cc59f50c6d 100644 --- a/app/services/users/create_service.rb +++ b/app/services/users/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/users/delete_service.rb b/app/services/users/delete_service.rb index 9ee6b0b82b67..faae57ab31fb 100644 --- a/app/services/users/delete_service.rb +++ b/app/services/users/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/users/login_service.rb b/app/services/users/login_service.rb index 17c753bf1192..ac41c18ec662 100644 --- a/app/services/users/login_service.rb +++ b/app/services/users/login_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/users/logout_service.rb b/app/services/users/logout_service.rb index b6b531c04561..bb7d58e0a0aa 100644 --- a/app/services/users/logout_service.rb +++ b/app/services/users/logout_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/users/register_user_service.rb b/app/services/users/register_user_service.rb index ca82c877dd39..00754fd900c2 100644 --- a/app/services/users/register_user_service.rb +++ b/app/services/users/register_user_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/users/set_attributes_service.rb b/app/services/users/set_attributes_service.rb index 368805b9f5f1..e8179f9f9c2b 100644 --- a/app/services/users/set_attributes_service.rb +++ b/app/services/users/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/users/update_service.rb b/app/services/users/update_service.rb index 19e4d6498a6c..2bf14a6c5bb3 100644 --- a/app/services/users/update_service.rb +++ b/app/services/users/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/versions/create_service.rb b/app/services/versions/create_service.rb index 64969d7d83d7..a017aa8d6f39 100644 --- a/app/services/versions/create_service.rb +++ b/app/services/versions/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/versions/delete_service.rb b/app/services/versions/delete_service.rb index ce83ae082632..bd8d2cdbb24b 100644 --- a/app/services/versions/delete_service.rb +++ b/app/services/versions/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/versions/set_attributes_service.rb b/app/services/versions/set_attributes_service.rb index 06d2b81d77a8..6e9fd7a29b1f 100644 --- a/app/services/versions/set_attributes_service.rb +++ b/app/services/versions/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/versions/update_service.rb b/app/services/versions/update_service.rb index 0bbaf235e00d..81c48f28bade 100644 --- a/app/services/versions/update_service.rb +++ b/app/services/versions/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/views/create_service.rb b/app/services/views/create_service.rb index f27895e80c62..6a68e098d2e4 100644 --- a/app/services/views/create_service.rb +++ b/app/services/views/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/views/global_create_service.rb b/app/services/views/global_create_service.rb index 59e6742e7673..6d56649ba4e0 100644 --- a/app/services/views/global_create_service.rb +++ b/app/services/views/global_create_service.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/views/set_attributes_service.rb b/app/services/views/set_attributes_service.rb index 69baac86dc52..1176385a270d 100644 --- a/app/services/views/set_attributes_service.rb +++ b/app/services/views/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/wiki_pages/copy_service.rb b/app/services/wiki_pages/copy_service.rb index ebf8b912328c..7e37b9f670b8 100644 --- a/app/services/wiki_pages/copy_service.rb +++ b/app/services/wiki_pages/copy_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/wiki_pages/create_service.rb b/app/services/wiki_pages/create_service.rb index e5ae4529cef6..4c23ce543c79 100644 --- a/app/services/wiki_pages/create_service.rb +++ b/app/services/wiki_pages/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/wiki_pages/set_attributes_service.rb b/app/services/wiki_pages/set_attributes_service.rb index 3efcc4598c4e..4be9d21336b9 100644 --- a/app/services/wiki_pages/set_attributes_service.rb +++ b/app/services/wiki_pages/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/wiki_pages/update_service.rb b/app/services/wiki_pages/update_service.rb index 314def5a12b4..3d4e59d6659b 100644 --- a/app/services/wiki_pages/update_service.rb +++ b/app/services/wiki_pages/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/bulk/bulked_service.rb b/app/services/work_packages/bulk/bulked_service.rb index 225cbc3bcdd5..beeb44449d79 100644 --- a/app/services/work_packages/bulk/bulked_service.rb +++ b/app/services/work_packages/bulk/bulked_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/bulk/copy_service.rb b/app/services/work_packages/bulk/copy_service.rb index ff7fb8583f41..e18707f89e0e 100644 --- a/app/services/work_packages/bulk/copy_service.rb +++ b/app/services/work_packages/bulk/copy_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/bulk/move_service.rb b/app/services/work_packages/bulk/move_service.rb index 766cbcdd1853..d7a970e4c08f 100644 --- a/app/services/work_packages/bulk/move_service.rb +++ b/app/services/work_packages/bulk/move_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/bulk/update_service.rb b/app/services/work_packages/bulk/update_service.rb index cd5b80c24941..cf9bff223887 100644 --- a/app/services/work_packages/bulk/update_service.rb +++ b/app/services/work_packages/bulk/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/copy_service.rb b/app/services/work_packages/copy_service.rb index 6a5d0b39d2da..c23bb1602445 100644 --- a/app/services/work_packages/copy_service.rb +++ b/app/services/work_packages/copy_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/create_service.rb b/app/services/work_packages/create_service.rb index f0b600b7c450..db48ec744dd9 100644 --- a/app/services/work_packages/create_service.rb +++ b/app/services/work_packages/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/delete_service.rb b/app/services/work_packages/delete_service.rb index 37e3208624c7..1cc454aafdb7 100644 --- a/app/services/work_packages/delete_service.rb +++ b/app/services/work_packages/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/exports/schedule_service.rb b/app/services/work_packages/exports/schedule_service.rb index b5cd4f61707b..921441054e17 100644 --- a/app/services/work_packages/exports/schedule_service.rb +++ b/app/services/work_packages/exports/schedule_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/schedule_dependency.rb b/app/services/work_packages/schedule_dependency.rb index 9b8507ccb32a..d42f54a7e2a3 100644 --- a/app/services/work_packages/schedule_dependency.rb +++ b/app/services/work_packages/schedule_dependency.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/schedule_dependency/dependency.rb b/app/services/work_packages/schedule_dependency/dependency.rb index 6634d5048fac..ce533dd3ec65 100644 --- a/app/services/work_packages/schedule_dependency/dependency.rb +++ b/app/services/work_packages/schedule_dependency/dependency.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/schedule_dependency/dependency_graph.rb b/app/services/work_packages/schedule_dependency/dependency_graph.rb index d1fc2299c3f1..33f626f25c1c 100644 --- a/app/services/work_packages/schedule_dependency/dependency_graph.rb +++ b/app/services/work_packages/schedule_dependency/dependency_graph.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/set_attributes_service.rb b/app/services/work_packages/set_attributes_service.rb index abdb0fd01e55..aff89c852f0e 100644 --- a/app/services/work_packages/set_attributes_service.rb +++ b/app/services/work_packages/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/set_schedule_service.rb b/app/services/work_packages/set_schedule_service.rb index 09408a85abe6..57a966818f5c 100644 --- a/app/services/work_packages/set_schedule_service.rb +++ b/app/services/work_packages/set_schedule_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/shared/all_days.rb b/app/services/work_packages/shared/all_days.rb index 6d4d41843bf3..84fbe1d49e9d 100644 --- a/app/services/work_packages/shared/all_days.rb +++ b/app/services/work_packages/shared/all_days.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/shared/days.rb b/app/services/work_packages/shared/days.rb index 520c370972c0..bc95af09e795 100644 --- a/app/services/work_packages/shared/days.rb +++ b/app/services/work_packages/shared/days.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/shared/update_ancestors.rb b/app/services/work_packages/shared/update_ancestors.rb index 9d579e499251..21d11eff700f 100644 --- a/app/services/work_packages/shared/update_ancestors.rb +++ b/app/services/work_packages/shared/update_ancestors.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/shared/working_days.rb b/app/services/work_packages/shared/working_days.rb index 9e30920ee924..aec6da4785b9 100644 --- a/app/services/work_packages/shared/working_days.rb +++ b/app/services/work_packages/shared/working_days.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/work_packages/update_ancestors/loader.rb b/app/services/work_packages/update_ancestors/loader.rb index a24d590105a4..d7974858e2f1 100644 --- a/app/services/work_packages/update_ancestors/loader.rb +++ b/app/services/work_packages/update_ancestors/loader.rb @@ -31,9 +31,11 @@ def initialize(work_package, include_former_ancestors) end def select - ancestors.select do |ancestor| - yield ancestor, self - end + [work_package, *ancestors] + .reject(&:destroyed?) + .select do |work_package| + yield work_package, self + end end def descendants_of(queried_work_package) @@ -111,13 +113,13 @@ def related_of(queried_work_package, relation_type) .send(relation_type) .where.not(id: queried_work_package.id) - if send("#{relation_type}_joins") - scope = scope.joins(send("#{relation_type}_joins")) + if send(:"#{relation_type}_joins") + scope = scope.joins(send(:"#{relation_type}_joins")) end scope - .pluck(*send("selected_#{relation_type}_attributes")) - .map { |p| LoaderStruct.new(send("selected_#{relation_type}_attributes").zip(p).to_h) } + .pluck(*send(:"selected_#{relation_type}_attributes")) + .map { |p| LoaderStruct.new(send(:"selected_#{relation_type}_attributes").zip(p).to_h) } end # Returns the current ancestors sorted by distance (called generations in the table) @@ -131,8 +133,7 @@ def current_ancestors def former_ancestors @former_ancestors ||= if previous_parent_id && include_former_ancestors parent = WorkPackage.find(previous_parent_id) - - [parent] + parent.ancestors + parent.self_and_ancestors else [] end @@ -140,7 +141,7 @@ def former_ancestors def selected_descendants_attributes # By having the id in here, we can avoid DISTINCT queries squashing duplicate values - %i(id estimated_hours parent_id schedule_manually ignore_non_working_days) + %i(id estimated_hours parent_id schedule_manually ignore_non_working_days remaining_hours) end def descendants_joins @@ -148,7 +149,7 @@ def descendants_joins end def selected_leaves_attributes - %i(id done_ratio derived_estimated_hours estimated_hours is_closed) + %i(id done_ratio derived_estimated_hours estimated_hours is_closed remaining_hours derived_remaining_hours) end def leaves_joins @@ -161,7 +162,9 @@ def leaves_joins # (when work_package was saved/destroyed) # Or the set parent before saving def previous_parent_id - if work_package.parent_id.nil? && work_package.parent_id_was + if work_package.parent_id && work_package.destroyed? + work_package.parent_id + elsif work_package.parent_id.nil? && work_package.parent_id_was work_package.parent_id_was else previous_change_parent_id @@ -171,7 +174,7 @@ def previous_parent_id def previous_change_parent_id previous = work_package.previous_changes - previous_parent_changes = (previous[:parent_id] || previous[:parent]) + previous_parent_changes = previous[:parent_id] || previous[:parent] previous_parent_changes ? previous_parent_changes.first : nil end diff --git a/app/services/work_packages/update_ancestors_service.rb b/app/services/work_packages/update_ancestors_service.rb index a12d3d896ee0..a655759f7787 100644 --- a/app/services/work_packages/update_ancestors_service.rb +++ b/app/services/work_packages/update_ancestors_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,26 +28,22 @@ class WorkPackages::UpdateAncestorsService attr_accessor :user, - :work_package + :initiator_work_package def initialize(user:, work_package:) self.user = user - self.work_package = work_package + self.initiator_work_package = work_package end def call(attributes) - modified = update_current_and_former_ancestors(attributes) + updated_work_packages = update_current_and_former_ancestors(attributes) - set_journal_note(modified) + set_journal_note(ancestors(updated_work_packages)) + success = save_updated_work_packages(updated_work_packages) - # Do not send notification for parent updates - success = Journal::NotificationConfiguration.with(false) do - modified.all? { |wp| wp.save(validate: false) } - end - - result = ServiceResult.new(success:, result: work_package) + result = ServiceResult.new(success:, result: initiator_work_package) - modified.each do |wp| + ancestors(updated_work_packages).each do |wp| result.add_dependent!(ServiceResult.new(success: !wp.changed?, result: wp)) end @@ -56,43 +52,66 @@ def call(attributes) private + def initiator?(work_package) + work_package == initiator_work_package + end + + def ancestors(work_packages) + work_packages.reject { initiator?(_1) } + end + def update_current_and_former_ancestors(attributes) + include_former_ancestors = attributes.intersect?(%i[parent_id parent]) WorkPackages::UpdateAncestors::Loader - .new(work_package, (%i(parent_id parent) & attributes).any?) + .new(initiator_work_package, include_former_ancestors) .select do |ancestor, loader| - inherit_attributes(ancestor, loader, attributes) + derive_attributes(ancestor, loader, attributes) ancestor.changed? end end - def inherit_attributes(ancestor, loader, attributes) - return unless attributes_justify_inheritance?(attributes) - - # Estimated hours need to be calculated before the done_ratio below. - # The aggregation only depends on estimated hours. - derive_estimated_hours(ancestor, loader) if inherit?(attributes, :estimated_hours) - - # Progress (done_ratio or also: percentDone) depends on both - # the completion of sub-WPs, as well as the estimated hours - # as a weight factor. So changes in estimated hours also have - # to trigger a recalculation of done_ratio. - inherit_done_ratio(ancestor, loader) if inherit?(attributes, :done_ratio) || inherit?(attributes, :estimated_hours) - - inherit_ignore_non_working_days(ancestor, loader) if inherit?(attributes, :ignore_non_working_days) - end + def save_updated_work_packages(updated_work_packages) + updated_initiators, updated_ancestors = updated_work_packages.partition { initiator?(_1) } - def inherit?(attributes, attribute) - ([attribute, :parent, :parent_id] & attributes).any? + # Send notifications for initiator updates + success = updated_initiators.all? { |wp| wp.save(validate: false) } + # Do not send notifications for parent updates + success &&= Journal::NotificationConfiguration.with(false) do + updated_ancestors.all? { |wp| wp.save(validate: false) } + end + success + end + + def derive_attributes(work_package, loader, attributes) + return unless modified_attributes_justify_derivation?(attributes) + + { + # Estimated hours need to be calculated before the done_ratio below. + # The aggregation only depends on estimated hours. + %i[estimated_hours] => :derive_estimated_hours, + # Progress (done_ratio or also: percentDone) depends on both + # the completion of sub-WPs, as well as the estimated hours + # as a weight factor. So changes in estimated hours also have + # to trigger a recalculation of done_ratio. + %i[done_ratio estimated_hours status status_id] => :derive_done_ratio, + %i[remaining_hours] => :derive_remaining_hours, + %i[ignore_non_working_days] => :derive_ignore_non_working_days + }.each do |derivative_attributes, method| + if attributes.intersect?(derivative_attributes + %i[parent parent_id]) + send(method, work_package, loader) + end + end end def set_journal_note(work_packages) work_packages.each do |wp| - wp.journal_notes = I18n.t('work_package.updated_automatically_by_child_changes', child: "##{work_package.id}") + wp.journal_notes = I18n.t('work_package.updated_automatically_by_child_changes', child: "##{initiator_work_package.id}") end end - def inherit_done_ratio(ancestor, loader) + def derive_done_ratio(ancestor, loader) + return if initiator?(ancestor) return if WorkPackage.done_ratio_disabled? return if WorkPackage.use_status_for_done_ratio? && ancestor.status && ancestor.status.default_done_ratio @@ -101,20 +120,21 @@ def inherit_done_ratio(ancestor, loader) ancestor.done_ratio = (aggregate_done_ratio(ancestor, loader) || 0).round end - # Sets the ignore_non_working_days to true if any ancestor has its value set to true. + # Sets the ignore_non_working_days to true if any descendant has its value set to true. # If there is no value returned from the descendants, that means that the work package in # question no longer has a descendant. But since we are in the service going up the ancestor chain, # such a work package is the former parent. The property of such a work package is reset to `false`. - def inherit_ignore_non_working_days(work_package, loader) - return if work_package.schedule_manually + def derive_ignore_non_working_days(ancestor, loader) + return if initiator?(ancestor) + return if ancestor.schedule_manually - descendant_value = ignore_non_working_days_of_descendants(work_package, loader) + descendant_value = ignore_non_working_days_of_descendants(ancestor, loader) if descendant_value.nil? - descendant_value = work_package.ignore_non_working_days + descendant_value = ancestor.ignore_non_working_days end - work_package.ignore_non_working_days = descendant_value + ancestor.ignore_non_working_days = descendant_value end ## @@ -168,7 +188,13 @@ def done_ratio_sum(leaves, average_estimated_hours) def derive_estimated_hours(work_package, loader) descendants = loader.descendants_of(work_package) - work_package.derived_estimated_hours = not_zero(all_estimated_hours(descendants).sum.to_f) + work_package.derived_estimated_hours = not_zero(all_estimated_hours([work_package] + descendants).sum.to_f) + end + + def derive_remaining_hours(work_package, loader) + descendants = loader.descendants_of(work_package) + + work_package.derived_remaining_hours = not_zero(all_remaining_hours([work_package] + descendants).sum.to_f) end def not_zero(value) @@ -181,8 +207,19 @@ def all_estimated_hours(work_packages) .reject { |hours| hours.to_f.zero? } end - def attributes_justify_inheritance?(attributes) - (%i(estimated_hours done_ratio parent parent_id status status_id ignore_non_working_days) & attributes).any? + def all_remaining_hours(work_packages) + work_packages.map(&:remaining_hours).reject { |hours| hours.to_f.zero? } + end + + def modified_attributes_justify_derivation?(attributes) + attributes.intersect?(%i[ + done_ratio + estimated_hours + ignore_non_working_days + parent parent_id + remaining_hours + status status_id + ]) end def ignore_non_working_days_of_descendants(ancestor, loader) diff --git a/app/services/work_packages/update_service.rb b/app/services/work_packages/update_service.rb index 6049bc203236..d92165155202 100644 --- a/app/services/work_packages/update_service.rb +++ b/app/services/work_packages/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/services/workflows/bulk_update_service.rb b/app/services/workflows/bulk_update_service.rb index dd1c1334070f..9fb9d8580763 100644 --- a/app/services/workflows/bulk_update_service.rb +++ b/app/services/workflows/bulk_update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/uploaders/file_uploader.rb b/app/uploaders/file_uploader.rb index 59208f2625a9..712ee656b019 100644 --- a/app/uploaders/file_uploader.rb +++ b/app/uploaders/file_uploader.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/uploaders/fog_file_uploader.rb b/app/uploaders/fog_file_uploader.rb index 4087f491c197..72045c68ab00 100644 --- a/app/uploaders/fog_file_uploader.rb +++ b/app/uploaders/fog_file_uploader.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/uploaders/local_file_uploader.rb b/app/uploaders/local_file_uploader.rb index 23a986055278..0e43004706cc 100644 --- a/app/uploaders/local_file_uploader.rb +++ b/app/uploaders/local_file_uploader.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/validators/not_nil_validator.rb b/app/validators/not_nil_validator.rb index efde0d93ccb7..4711355806f1 100644 --- a/app/validators/not_nil_validator.rb +++ b/app/validators/not_nil_validator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/validators/secure_context_uri_validator.rb b/app/validators/secure_context_uri_validator.rb index 72a1d665eb15..a76bb140ecbf 100644 --- a/app/validators/secure_context_uri_validator.rb +++ b/app/validators/secure_context_uri_validator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/accessibility/_empty_element_tag.html.erb b/app/views/accessibility/_empty_element_tag.html.erb index 16d15195a7f5..3699d4209d1b 100644 --- a/app/views/accessibility/_empty_element_tag.html.erb +++ b/app/views/accessibility/_empty_element_tag.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/account/_auth_providers.html.erb b/app/views/account/_auth_providers.html.erb index bb2c941034af..b2bcbec89e0f 100644 --- a/app/views/account/_auth_providers.html.erb +++ b/app/views/account/_auth_providers.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/account/_login.html.erb b/app/views/account/_login.html.erb index e43dc8957786..84f726cba1bd 100644 --- a/app/views/account/_login.html.erb +++ b/app/views/account/_login.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/account/_omniauth_login.html.erb b/app/views/account/_omniauth_login.html.erb index eec9e95a2d09..3530a583bcb7 100644 --- a/app/views/account/_omniauth_login.html.erb +++ b/app/views/account/_omniauth_login.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/account/_password_login_form.html.erb b/app/views/account/_password_login_form.html.erb index 47d803b08617..ee1ef844a6b8 100644 --- a/app/views/account/_password_login_form.html.erb +++ b/app/views/account/_password_login_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/account/_register.html.erb b/app/views/account/_register.html.erb index 50a79ae40bb7..8331c2c9447d 100644 --- a/app/views/account/_register.html.erb +++ b/app/views/account/_register.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/account/consent.html.erb b/app/views/account/consent.html.erb index 0c66ab01531e..bebd9fdfb001 100644 --- a/app/views/account/consent.html.erb +++ b/app/views/account/consent.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/account/exit.html.erb b/app/views/account/exit.html.erb index 4a2f1ae680f1..f616717796db 100644 --- a/app/views/account/exit.html.erb +++ b/app/views/account/exit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/account/login.html.erb b/app/views/account/login.html.erb index 0ec4d2441825..c07defe494a9 100644 --- a/app/views/account/login.html.erb +++ b/app/views/account/login.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/account/lost_password.html.erb b/app/views/account/lost_password.html.erb index 153fe531eaeb..c73cf0736a56 100644 --- a/app/views/account/lost_password.html.erb +++ b/app/views/account/lost_password.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/account/password_recovery.html.erb b/app/views/account/password_recovery.html.erb index c38c564a8b29..2dabec0e329f 100644 --- a/app/views/account/password_recovery.html.erb +++ b/app/views/account/password_recovery.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/account/register.html.erb b/app/views/account/register.html.erb index 37df22334ee4..4e570b8f8e81 100644 --- a/app/views/account/register.html.erb +++ b/app/views/account/register.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/activities/index.html.erb b/app/views/activities/index.html.erb index 8bda0b5ae221..9d22e875e645 100644 --- a/app/views/activities/index.html.erb +++ b/app/views/activities/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/backups/reset_token.html.erb b/app/views/admin/backups/reset_token.html.erb index 2da15754f252..2abc3be990af 100644 --- a/app/views/admin/backups/reset_token.html.erb +++ b/app/views/admin/backups/reset_token.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/backups/show.html.erb b/app/views/admin/backups/show.html.erb index 44a38da628d7..071e15aea84d 100644 --- a/app/views/admin/backups/show.html.erb +++ b/app/views/admin/backups/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/index.html.erb b/app/views/admin/index.html.erb index c467f45ab9bc..d318b2fb6be9 100644 --- a/app/views/admin/index.html.erb +++ b/app/views/admin/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/info.html.erb b/app/views/admin/info.html.erb index 3533a369ad1c..3e2885cc5552 100644 --- a/app/views/admin/info.html.erb +++ b/app/views/admin/info.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/plugins.html.erb b/app/views/admin/plugins.html.erb index 87b8b5b43169..2343204c7d44 100644 --- a/app/views/admin/plugins.html.erb +++ b/app/views/admin/plugins.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/aggregation_settings/show.html.erb b/app/views/admin/settings/aggregation_settings/show.html.erb index 421e5de983a9..dbd45c84e3f4 100644 --- a/app/views/admin/settings/aggregation_settings/show.html.erb +++ b/app/views/admin/settings/aggregation_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/api_settings/show.html.erb b/app/views/admin/settings/api_settings/show.html.erb index c1d60a754ab1..c2b2a97efe50 100644 --- a/app/views/admin/settings/api_settings/show.html.erb +++ b/app/views/admin/settings/api_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/attachments_settings/show.html.erb b/app/views/admin/settings/attachments_settings/show.html.erb index 19c21510fe5c..478d0cf5d5d0 100644 --- a/app/views/admin/settings/attachments_settings/show.html.erb +++ b/app/views/admin/settings/attachments_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/authentication_settings/show.html.erb b/app/views/admin/settings/authentication_settings/show.html.erb index a8d1a572caa9..a64f210f8f10 100644 --- a/app/views/admin/settings/authentication_settings/show.html.erb +++ b/app/views/admin/settings/authentication_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/date_format_settings/show.html.erb b/app/views/admin/settings/date_format_settings/show.html.erb index eeecbc915693..9f3e79b44e42 100644 --- a/app/views/admin/settings/date_format_settings/show.html.erb +++ b/app/views/admin/settings/date_format_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/experimental_settings/show.html.erb b/app/views/admin/settings/experimental_settings/show.html.erb index 5db821c0d33d..4ce41f32a1ef 100644 --- a/app/views/admin/settings/experimental_settings/show.html.erb +++ b/app/views/admin/settings/experimental_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/general_settings/show.html.erb b/app/views/admin/settings/general_settings/show.html.erb index 6569e5923805..0c0aac2d1f51 100644 --- a/app/views/admin/settings/general_settings/show.html.erb +++ b/app/views/admin/settings/general_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/icalendar_settings/show.html.erb b/app/views/admin/settings/icalendar_settings/show.html.erb index f463d7ee223a..518f84d4193f 100644 --- a/app/views/admin/settings/icalendar_settings/show.html.erb +++ b/app/views/admin/settings/icalendar_settings/show.html.erb @@ -1,6 +1,6 @@ <%# -- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/incoming_mails_settings/show.html.erb b/app/views/admin/settings/incoming_mails_settings/show.html.erb index 660a5adfff30..779cb84a904c 100644 --- a/app/views/admin/settings/incoming_mails_settings/show.html.erb +++ b/app/views/admin/settings/incoming_mails_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/languages_settings/show.html.erb b/app/views/admin/settings/languages_settings/show.html.erb index 79c948dae7d7..9646f9f00f63 100644 --- a/app/views/admin/settings/languages_settings/show.html.erb +++ b/app/views/admin/settings/languages_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/mail_notifications_settings/show.html.erb b/app/views/admin/settings/mail_notifications_settings/show.html.erb index bb12727c4d88..d7851ff20687 100644 --- a/app/views/admin/settings/mail_notifications_settings/show.html.erb +++ b/app/views/admin/settings/mail_notifications_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/projects_settings/show.html.erb b/app/views/admin/settings/projects_settings/show.html.erb index e8d40db7d410..8fd4977baabf 100644 --- a/app/views/admin/settings/projects_settings/show.html.erb +++ b/app/views/admin/settings/projects_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/repositories_settings/show.html.erb b/app/views/admin/settings/repositories_settings/show.html.erb index cdbd4d8df104..b6c6cdf0ef76 100644 --- a/app/views/admin/settings/repositories_settings/show.html.erb +++ b/app/views/admin/settings/repositories_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/show_plugin.html.erb b/app/views/admin/settings/show_plugin.html.erb index 5c6f48a973d1..c1bc59753092 100644 --- a/app/views/admin/settings/show_plugin.html.erb +++ b/app/views/admin/settings/show_plugin.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/users_settings/show.html.erb b/app/views/admin/settings/users_settings/show.html.erb index 25fd7574e2c3..cb0faf1d4671 100644 --- a/app/views/admin/settings/users_settings/show.html.erb +++ b/app/views/admin/settings/users_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/work_packages_settings/show.html.erb b/app/views/admin/settings/work_packages_settings/show.html.erb index 65b6c391f164..a8d56d6f0661 100644 --- a/app/views/admin/settings/work_packages_settings/show.html.erb +++ b/app/views/admin/settings/work_packages_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/admin/settings/working_days_settings/show.html.erb b/app/views/admin/settings/working_days_settings/show.html.erb index 6128dd870573..3570e95a9366 100644 --- a/app/views/admin/settings/working_days_settings/show.html.erb +++ b/app/views/admin/settings/working_days_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/attribute_help_texts/_form.html.erb b/app/views/attribute_help_texts/_form.html.erb index 9ad0ea91a250..4059a136f08d 100644 --- a/app/views/attribute_help_texts/_form.html.erb +++ b/app/views/attribute_help_texts/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/attribute_help_texts/edit.html.erb b/app/views/attribute_help_texts/edit.html.erb index 5ff6ff585158..e990266c51b7 100644 --- a/app/views/attribute_help_texts/edit.html.erb +++ b/app/views/attribute_help_texts/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/attribute_help_texts/index.html.erb b/app/views/attribute_help_texts/index.html.erb index d11a2549b201..f28ea0396950 100644 --- a/app/views/attribute_help_texts/index.html.erb +++ b/app/views/attribute_help_texts/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/attribute_help_texts/new.html.erb b/app/views/attribute_help_texts/new.html.erb index ce6d66159ee2..03a17460fb43 100644 --- a/app/views/attribute_help_texts/new.html.erb +++ b/app/views/attribute_help_texts/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/attribute_help_texts/upsale.html.erb b/app/views/attribute_help_texts/upsale.html.erb index ce40b37bab3b..928f8bea14ba 100644 --- a/app/views/attribute_help_texts/upsale.html.erb +++ b/app/views/attribute_help_texts/upsale.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/categories/_form.html.erb b/app/views/categories/_form.html.erb index 3d2bcc7c1a63..59bf238ce50a 100644 --- a/app/views/categories/_form.html.erb +++ b/app/views/categories/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/categories/create.js.erb b/app/views/categories/create.js.erb index 17d2fc96a7c1..67d4d7d7d267 100644 --- a/app/views/categories/create.js.erb +++ b/app/views/categories/create.js.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/categories/destroy.html.erb b/app/views/categories/destroy.html.erb index 8284124d9603..62ba944e437d 100644 --- a/app/views/categories/destroy.html.erb +++ b/app/views/categories/destroy.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/categories/edit.html.erb b/app/views/categories/edit.html.erb index 0d127a7f8898..ad6e532836a0 100644 --- a/app/views/categories/edit.html.erb +++ b/app/views/categories/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/categories/new.html.erb b/app/views/categories/new.html.erb index 07da39337675..aaa02e7a9f07 100644 --- a/app/views/categories/new.html.erb +++ b/app/views/categories/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/colors/_form.html.erb b/app/views/colors/_form.html.erb index 7286a985f395..3d4cb7ae788b 100644 --- a/app/views/colors/_form.html.erb +++ b/app/views/colors/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/colors/confirm_destroy.html.erb b/app/views/colors/confirm_destroy.html.erb index 9c3c35fd6c91..e66e15b680b1 100644 --- a/app/views/colors/confirm_destroy.html.erb +++ b/app/views/colors/confirm_destroy.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/colors/edit.html.erb b/app/views/colors/edit.html.erb index 41a958bdd16c..739414c1c881 100644 --- a/app/views/colors/edit.html.erb +++ b/app/views/colors/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/colors/index.html.erb b/app/views/colors/index.html.erb index 471111d7672f..06dee2929b6b 100644 --- a/app/views/colors/index.html.erb +++ b/app/views/colors/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/colors/new.html.erb b/app/views/colors/new.html.erb index c7b76d86c0b3..6883be7a9e00 100644 --- a/app/views/colors/new.html.erb +++ b/app/views/colors/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/common/_diff.html.erb b/app/views/common/_diff.html.erb index 9376f8f91c60..db2dca0f2f19 100644 --- a/app/views/common/_diff.html.erb +++ b/app/views/common/_diff.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/common/_error_base.html.erb b/app/views/common/_error_base.html.erb index 11a31e6d853a..8575573e2820 100644 --- a/app/views/common/_error_base.html.erb +++ b/app/views/common/_error_base.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/common/_file.html.erb b/app/views/common/_file.html.erb index aa466a36726d..91a93087f5a1 100644 --- a/app/views/common/_file.html.erb +++ b/app/views/common/_file.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/common/_no_results.html.erb b/app/views/common/_no_results.html.erb index 54768a639245..83127b8740c0 100644 --- a/app/views/common/_no_results.html.erb +++ b/app/views/common/_no_results.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/common/_tabs.html.erb b/app/views/common/_tabs.html.erb index b41b3cba7401..91e7cee467cc 100644 --- a/app/views/common/_tabs.html.erb +++ b/app/views/common/_tabs.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/common/_validation_error.html.erb b/app/views/common/_validation_error.html.erb index 5fa3f9c2a3b8..69b0d18e19ad 100644 --- a/app/views/common/_validation_error.html.erb +++ b/app/views/common/_validation_error.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/common/error.html.erb b/app/views/common/error.html.erb index 1f6425ae1646..c9e0480a3fce 100644 --- a/app/views/common/error.html.erb +++ b/app/views/common/error.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/common/feed.atom.builder b/app/views/common/feed.atom.builder index c243b0bdc87e..a4681450af54 100644 --- a/app/views/common/feed.atom.builder +++ b/app/views/common/feed.atom.builder @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/common/list_attachments.json.erb b/app/views/common/list_attachments.json.erb index 639a84bd454e..79622a590620 100644 --- a/app/views/common/list_attachments.json.erb +++ b/app/views/common/list_attachments.json.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_actions/edit.html.erb b/app/views/custom_actions/edit.html.erb index 84ef8512abc2..cc30bcac8f8b 100644 --- a/app/views/custom_actions/edit.html.erb +++ b/app/views/custom_actions/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_actions/new.html.erb b/app/views/custom_actions/new.html.erb index 08095ccfc611..a0111056ccc4 100644 --- a/app/views/custom_actions/new.html.erb +++ b/app/views/custom_actions/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_fields/_custom_options.html.erb b/app/views/custom_fields/_custom_options.html.erb index bb26fcd0e2f2..d9a7a5688a46 100644 --- a/app/views/custom_fields/_custom_options.html.erb +++ b/app/views/custom_fields/_custom_options.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_fields/_form.html.erb b/app/views/custom_fields/_form.html.erb index d0e70e168ff1..bc95729ebcfd 100644 --- a/app/views/custom_fields/_form.html.erb +++ b/app/views/custom_fields/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_fields/_tab.html.erb b/app/views/custom_fields/_tab.html.erb index 0791b6875f60..7829a420e862 100644 --- a/app/views/custom_fields/_tab.html.erb +++ b/app/views/custom_fields/_tab.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_fields/edit.html.erb b/app/views/custom_fields/edit.html.erb index 3541a1b1bd3d..563354707b13 100644 --- a/app/views/custom_fields/edit.html.erb +++ b/app/views/custom_fields/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_fields/index.html.erb b/app/views/custom_fields/index.html.erb index b1ef7111a704..0466c66b52ab 100644 --- a/app/views/custom_fields/index.html.erb +++ b/app/views/custom_fields/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_fields/new.html.erb b/app/views/custom_fields/new.html.erb index ad9f7f7f9785..7bfb0bae8230 100644 --- a/app/views/custom_fields/new.html.erb +++ b/app/views/custom_fields/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_styles/_inline_css.erb b/app/views/custom_styles/_inline_css.erb index 3ab6fb88acd1..4e2ca2f2af2f 100644 --- a/app/views/custom_styles/_inline_css.erb +++ b/app/views/custom_styles/_inline_css.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_styles/_inline_css_logo.erb b/app/views/custom_styles/_inline_css_logo.erb index ad969d49f685..0c59172ba562 100644 --- a/app/views/custom_styles/_inline_css_logo.erb +++ b/app/views/custom_styles/_inline_css_logo.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_styles/show.html.erb b/app/views/custom_styles/show.html.erb index 6e2e0c1e7418..54d142cf02d2 100644 --- a/app/views/custom_styles/show.html.erb +++ b/app/views/custom_styles/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/custom_styles/upsale.html.erb b/app/views/custom_styles/upsale.html.erb index 3cb414bac041..fe05e65edb0e 100644 --- a/app/views/custom_styles/upsale.html.erb +++ b/app/views/custom_styles/upsale.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/customizable/_form.html.erb b/app/views/customizable/_form.html.erb index 319a09f7edbb..bce52b816851 100644 --- a/app/views/customizable/_form.html.erb +++ b/app/views/customizable/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/enterprises/_info.html.erb b/app/views/enterprises/_info.html.erb index e0a462bd3176..75e5dfb8f985 100644 --- a/app/views/enterprises/_info.html.erb +++ b/app/views/enterprises/_info.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/enumerations/_form.html.erb b/app/views/enumerations/_form.html.erb index 8951e0c534f9..ae1e97c4c19c 100644 --- a/app/views/enumerations/_form.html.erb +++ b/app/views/enumerations/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/enumerations/destroy.html.erb b/app/views/enumerations/destroy.html.erb index 595a06f9b731..587b6a1291a3 100644 --- a/app/views/enumerations/destroy.html.erb +++ b/app/views/enumerations/destroy.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/enumerations/edit.html.erb b/app/views/enumerations/edit.html.erb index d56663aa474b..2b23d1887b8e 100644 --- a/app/views/enumerations/edit.html.erb +++ b/app/views/enumerations/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/enumerations/index.html.erb b/app/views/enumerations/index.html.erb index ca64a0b19e35..7269a23df81e 100644 --- a/app/views/enumerations/index.html.erb +++ b/app/views/enumerations/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/enumerations/new.html.erb b/app/views/enumerations/new.html.erb index ba74b7a42ab3..324203a1f22e 100644 --- a/app/views/enumerations/new.html.erb +++ b/app/views/enumerations/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/forums/_form.html.erb b/app/views/forums/_form.html.erb index 8f45f05bdcb0..487ebc799b3a 100644 --- a/app/views/forums/_form.html.erb +++ b/app/views/forums/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/forums/edit.html.erb b/app/views/forums/edit.html.erb index 4170ea7dc369..58cdd8a90048 100644 --- a/app/views/forums/edit.html.erb +++ b/app/views/forums/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/forums/index.html.erb b/app/views/forums/index.html.erb index 76ae6e7b1e97..d3add7f3a478 100644 --- a/app/views/forums/index.html.erb +++ b/app/views/forums/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/forums/new.html.erb b/app/views/forums/new.html.erb index bc9e153eea28..b46a46476b5f 100644 --- a/app/views/forums/new.html.erb +++ b/app/views/forums/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/forums/show.html.erb b/app/views/forums/show.html.erb index 362f229d07c0..eed48f95f43e 100644 --- a/app/views/forums/show.html.erb +++ b/app/views/forums/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/groups/_form.html.erb b/app/views/groups/_form.html.erb index 83256828966e..0c5f35a1550f 100644 --- a/app/views/groups/_form.html.erb +++ b/app/views/groups/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/groups/_general.html.erb b/app/views/groups/_general.html.erb index 289f8df6008d..597256d4f5cf 100644 --- a/app/views/groups/_general.html.erb +++ b/app/views/groups/_general.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/groups/_memberships.html.erb b/app/views/groups/_memberships.html.erb index f602390396bc..cbb4dd062039 100644 --- a/app/views/groups/_memberships.html.erb +++ b/app/views/groups/_memberships.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/groups/_users.html.erb b/app/views/groups/_users.html.erb index deadc71e3185..32fd094c0e8b 100644 --- a/app/views/groups/_users.html.erb +++ b/app/views/groups/_users.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -42,12 +42,10 @@ See COPYRIGHT and LICENSE files for more details.
    - <% users = User - .user - .active - .not_in_group(@group) - .limit(1) %> - <% if users.any? %> + <% if User.user + .not_in_group(@group) + .where(status: [User.statuses[:active], User.statuses[:invited]]) + .exists? %> <%= styled_form_tag(members_of_group_path(@group), method: :post) do %>
    diff --git a/app/views/groups/_users_table.html.erb b/app/views/groups/_users_table.html.erb index 7bcff4d4f68b..bd1ec5430793 100644 --- a/app/views/groups/_users_table.html.erb +++ b/app/views/groups/_users_table.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/groups/autocomplete_for_user.html.erb b/app/views/groups/autocomplete_for_user.html.erb index a3fba2770cf3..420bc7e991a6 100644 --- a/app/views/groups/autocomplete_for_user.html.erb +++ b/app/views/groups/autocomplete_for_user.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/groups/edit.html.erb b/app/views/groups/edit.html.erb index 05245fe02b2a..2b3c27cd14c2 100644 --- a/app/views/groups/edit.html.erb +++ b/app/views/groups/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/groups/index.html.erb b/app/views/groups/index.html.erb index 0b2046f83463..5a6c29f31355 100644 --- a/app/views/groups/index.html.erb +++ b/app/views/groups/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/groups/new.html.erb b/app/views/groups/new.html.erb index c0d54cdb08f8..b4bbdf816a4c 100644 --- a/app/views/groups/new.html.erb +++ b/app/views/groups/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/groups/show.html.erb b/app/views/groups/show.html.erb index fdcab8fbda2f..751eb8966517 100644 --- a/app/views/groups/show.html.erb +++ b/app/views/groups/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/homescreen/index.html.erb b/app/views/homescreen/index.html.erb index 8e273eab2fd8..27d04fe07a4e 100644 --- a/app/views/homescreen/index.html.erb +++ b/app/views/homescreen/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/homescreen/robots-login-required.text.erb b/app/views/homescreen/robots-login-required.text.erb index 5182d7ca287f..3d2b52f9d434 100644 --- a/app/views/homescreen/robots-login-required.text.erb +++ b/app/views/homescreen/robots-login-required.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/homescreen/robots.text.erb b/app/views/homescreen/robots.text.erb index 2c9dcd9d6310..d0f094c45d2f 100644 --- a/app/views/homescreen/robots.text.erb +++ b/app/views/homescreen/robots.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/hooks/login/_auth_provider.html.erb b/app/views/hooks/login/_auth_provider.html.erb index c4e0fadb5135..51276eaf1cdd 100644 --- a/app/views/hooks/login/_auth_provider.html.erb +++ b/app/views/hooks/login/_auth_provider.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/individual_principals/_memberships.html.erb b/app/views/individual_principals/_memberships.html.erb index 461457c42792..e931d16e6180 100644 --- a/app/views/individual_principals/_memberships.html.erb +++ b/app/views/individual_principals/_memberships.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/journals/_diff.html.erb b/app/views/journals/_diff.html.erb index 0d991878e85e..ef668420c00c 100644 --- a/app/views/journals/_diff.html.erb +++ b/app/views/journals/_diff.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/journals/diff.html.erb b/app/views/journals/diff.html.erb index 5bfdae4c418f..cfe720f4d6ef 100644 --- a/app/views/journals/diff.html.erb +++ b/app/views/journals/diff.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/journals/index.atom.builder b/app/views/journals/index.atom.builder index 3f873ddc27e1..6f7aaa6855af 100644 --- a/app/views/journals/index.atom.builder +++ b/app/views/journals/index.atom.builder @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb index ddffcf9f6b3a..bf873fa84d5a 100644 --- a/app/views/layouts/admin.html.erb +++ b/app/views/layouts/admin.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/layouts/angular/angular.html.erb b/app/views/layouts/angular/angular.html.erb index 5ea4f152f9b6..a510cd28eda0 100644 --- a/app/views/layouts/angular/angular.html.erb +++ b/app/views/layouts/angular/angular.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/layouts/angular/notifications.html.erb b/app/views/layouts/angular/notifications.html.erb index d9bd228358cb..d8448ab511b3 100644 --- a/app/views/layouts/angular/notifications.html.erb +++ b/app/views/layouts/angular/notifications.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/layouts/base.html.erb b/app/views/layouts/base.html.erb index 9c1dbeddfd61..1c61dabaca8a 100644 --- a/app/views/layouts/base.html.erb +++ b/app/views/layouts/base.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/layouts/component_preview.html.erb b/app/views/layouts/component_preview.html.erb index 10d5bb64001e..dbbd47468e61 100644 --- a/app/views/layouts/component_preview.html.erb +++ b/app/views/layouts/component_preview.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/layouts/global.html.erb b/app/views/layouts/global.html.erb index 06a2fb8a49b6..b5ce0bdf077b 100644 --- a/app/views/layouts/global.html.erb +++ b/app/views/layouts/global.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/layouts/mailer.html.erb b/app/views/layouts/mailer.html.erb index a385cf3d2fd6..6ae1aa2361b1 100644 --- a/app/views/layouts/mailer.html.erb +++ b/app/views/layouts/mailer.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/layouts/mailer.text.erb b/app/views/layouts/mailer.text.erb index 67bfbb6f53fa..39e7af60bc77 100644 --- a/app/views/layouts/mailer.text.erb +++ b/app/views/layouts/mailer.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/layouts/my.html.erb b/app/views/layouts/my.html.erb index 76c62a997f3c..b9438a00b990 100644 --- a/app/views/layouts/my.html.erb +++ b/app/views/layouts/my.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/layouts/no_menu.html.erb b/app/views/layouts/no_menu.html.erb index 87f3e6fa2d12..1eaac03be8c9 100644 --- a/app/views/layouts/no_menu.html.erb +++ b/app/views/layouts/no_menu.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/layouts/only_logo.html.erb b/app/views/layouts/only_logo.html.erb index 8decf9b17cdb..744c67aae664 100644 --- a/app/views/layouts/only_logo.html.erb +++ b/app/views/layouts/only_logo.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/ldap_auth_sources/_form.html.erb b/app/views/ldap_auth_sources/_form.html.erb index 419754e1cc30..83a5afbac7f9 100644 --- a/app/views/ldap_auth_sources/_form.html.erb +++ b/app/views/ldap_auth_sources/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/ldap_auth_sources/edit.html.erb b/app/views/ldap_auth_sources/edit.html.erb index a7cba1c6e011..2751fdb4cc28 100644 --- a/app/views/ldap_auth_sources/edit.html.erb +++ b/app/views/ldap_auth_sources/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/ldap_auth_sources/index.html.erb b/app/views/ldap_auth_sources/index.html.erb index 568185e1971c..6e4495f8bee3 100644 --- a/app/views/ldap_auth_sources/index.html.erb +++ b/app/views/ldap_auth_sources/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/ldap_auth_sources/new.html.erb b/app/views/ldap_auth_sources/new.html.erb index 06862937c43e..b16c9cb4057e 100644 --- a/app/views/ldap_auth_sources/new.html.erb +++ b/app/views/ldap_auth_sources/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/members/_autocomplete_for_member.html.erb b/app/views/members/_autocomplete_for_member.html.erb index df0868d8bc72..6152432580a4 100644 --- a/app/views/members/_autocomplete_for_member.html.erb +++ b/app/views/members/_autocomplete_for_member.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/members/_common_notice.html.erb b/app/views/members/_common_notice.html.erb index b149ffd7c620..e72b8a1a2b30 100644 --- a/app/views/members/_common_notice.html.erb +++ b/app/views/members/_common_notice.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/members/_member_form.html.erb b/app/views/members/_member_form.html.erb index fa56e3d71053..53f64796c646 100644 --- a/app/views/members/_member_form.html.erb +++ b/app/views/members/_member_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/members/index.html.erb b/app/views/members/index.html.erb index 1a74e698a569..a7845472b29d 100644 --- a/app/views/members/index.html.erb +++ b/app/views/members/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -28,35 +28,12 @@ See COPYRIGHT and LICENSE files for more details. ++#%> <% html_title t(:label_member_plural) -%> + +
    + data-application-target="dynamic"> - <%= toolbar title: t(:label_member_plural) do %> - <% if authorize_for(:members, :new) %> -
  • - -
  • - <% end %> -
  • - -
  • - <% end %> + <%= render ::Members::IndexPageHeaderComponent.new(project: @project) %> <%= error_messages_for 'member' %> diff --git a/app/views/members/menus/_menu.html.erb b/app/views/members/menus/_menu.html.erb new file mode 100644 index 000000000000..5fd49c220caa --- /dev/null +++ b/app/views/members/menus/_menu.html.erb @@ -0,0 +1,5 @@ +<%= turbo_frame_tag "members_menu", + src: project_members_menu_path(@project, params.permit(*Members::UserFilterComponent.filter_param_keys)), + target: '_top', + data: { turbo: false }, + loading: :lazy %> diff --git a/app/views/members/menus/show.html.erb b/app/views/members/menus/show.html.erb new file mode 100644 index 000000000000..b05034475741 --- /dev/null +++ b/app/views/members/menus/show.html.erb @@ -0,0 +1,3 @@ +<%= turbo_frame_tag "members_menu" do %> + <%= render OpenProject::Common::SubmenuComponent.new(sidebar_menu_items: @sidebar_menu_items) %> +<% end %> diff --git a/app/views/messages/_form.html.erb b/app/views/messages/_form.html.erb index f3db82d7d473..6f53b5a4edbb 100644 --- a/app/views/messages/_form.html.erb +++ b/app/views/messages/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/messages/edit.html.erb b/app/views/messages/edit.html.erb index a8b21b48e483..b5ceb1997125 100644 --- a/app/views/messages/edit.html.erb +++ b/app/views/messages/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/messages/new.html.erb b/app/views/messages/new.html.erb index 2c3207495b71..c28a1623eb8e 100644 --- a/app/views/messages/new.html.erb +++ b/app/views/messages/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/messages/show.html.erb b/app/views/messages/show.html.erb index 216351021473..1d8957ab75db 100644 --- a/app/views/messages/show.html.erb +++ b/app/views/messages/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/my/_password_form_fields.html.erb b/app/views/my/_password_form_fields.html.erb index 68181eeed21d..feb0819e282c 100644 --- a/app/views/my/_password_form_fields.html.erb +++ b/app/views/my/_password_form_fields.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/my/access_token.html.erb b/app/views/my/access_token.html.erb index 226f212728fd..b9700bd481f1 100644 --- a/app/views/my/access_token.html.erb +++ b/app/views/my/access_token.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/my/access_token_partials/_api_tokens_section.html.erb b/app/views/my/access_token_partials/_api_tokens_section.html.erb index 1ae9fdcc90ae..8d2228cf130c 100644 --- a/app/views/my/access_token_partials/_api_tokens_section.html.erb +++ b/app/views/my/access_token_partials/_api_tokens_section.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/my/access_token_partials/_icalendar_tokens_section.html.erb b/app/views/my/access_token_partials/_icalendar_tokens_section.html.erb index 4e9405a3719a..26d7c6b5b0bf 100644 --- a/app/views/my/access_token_partials/_icalendar_tokens_section.html.erb +++ b/app/views/my/access_token_partials/_icalendar_tokens_section.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/my/access_token_partials/_oauth_tokens_section.html.erb b/app/views/my/access_token_partials/_oauth_tokens_section.html.erb index a6216c050b8c..1340593e53c8 100644 --- a/app/views/my/access_token_partials/_oauth_tokens_section.html.erb +++ b/app/views/my/access_token_partials/_oauth_tokens_section.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/my/access_token_partials/_rss_tokens_section.html.erb b/app/views/my/access_token_partials/_rss_tokens_section.html.erb index 56280e644dc7..eeec7447253b 100644 --- a/app/views/my/access_token_partials/_rss_tokens_section.html.erb +++ b/app/views/my/access_token_partials/_rss_tokens_section.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/my/access_token_partials/_storage_tokens_section.html.erb b/app/views/my/access_token_partials/_storage_tokens_section.html.erb index f3c7a9f946d7..6a9872d8f63e 100644 --- a/app/views/my/access_token_partials/_storage_tokens_section.html.erb +++ b/app/views/my/access_token_partials/_storage_tokens_section.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -59,7 +59,7 @@ See COPYRIGHT and LICENSE files for more details. <%= format_time(token.created_at) %> - <%= format_time(token.created_at + token.expires_in.seconds) %> + <%= format_time(token.updated_at + token.expires_in.seconds) %> <%= link_to "", diff --git a/app/views/my/access_token_partials/_token_table_header.html.erb b/app/views/my/access_token_partials/_token_table_header.html.erb index 8633355f9bda..451a1dc280f9 100644 --- a/app/views/my/access_token_partials/_token_table_header.html.erb +++ b/app/views/my/access_token_partials/_token_table_header.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/my/account.html.erb b/app/views/my/account.html.erb index 6a94b833b96e..ab609a78f434 100644 --- a/app/views/my/account.html.erb +++ b/app/views/my/account.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/my/password.html.erb b/app/views/my/password.html.erb index 8bb702e615f9..f5c1057d333f 100644 --- a/app/views/my/password.html.erb +++ b/app/views/my/password.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/my/sessions/index.html.erb b/app/views/my/sessions/index.html.erb index daed8cd7034b..71194b62138a 100644 --- a/app/views/my/sessions/index.html.erb +++ b/app/views/my/sessions/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/my/settings.html.erb b/app/views/my/settings.html.erb index 6662fa901d42..b0d30f73ab6a 100644 --- a/app/views/my/settings.html.erb +++ b/app/views/my/settings.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/news/_form.html.erb b/app/views/news/_form.html.erb index 07642ebcdeba..d23dc9241b33 100644 --- a/app/views/news/_form.html.erb +++ b/app/views/news/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/news/_news.html.erb b/app/views/news/_news.html.erb index 714c0cb12439..af397c35aea2 100644 --- a/app/views/news/_news.html.erb +++ b/app/views/news/_news.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/news/edit.html.erb b/app/views/news/edit.html.erb index f54d8e4bbc46..75333d3ddcc0 100644 --- a/app/views/news/edit.html.erb +++ b/app/views/news/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/news/index.html.erb b/app/views/news/index.html.erb index fc2fab0c29f7..0b6000e1374e 100644 --- a/app/views/news/index.html.erb +++ b/app/views/news/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/news/new.html.erb b/app/views/news/new.html.erb index b6e3bf28cdae..4153de7dd07c 100644 --- a/app/views/news/new.html.erb +++ b/app/views/news/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/news/show.html.erb b/app/views/news/show.html.erb index f27544ceef7a..4514b93ca7e8 100644 --- a/app/views/news/show.html.erb +++ b/app/views/news/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/oauth/applications/_form.html.erb b/app/views/oauth/applications/_form.html.erb index c713375bce40..a18661e447ea 100644 --- a/app/views/oauth/applications/_form.html.erb +++ b/app/views/oauth/applications/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/oauth/applications/edit.html.erb b/app/views/oauth/applications/edit.html.erb index 8cb44aa9a515..c56fe48382e8 100644 --- a/app/views/oauth/applications/edit.html.erb +++ b/app/views/oauth/applications/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/oauth/applications/index.html.erb b/app/views/oauth/applications/index.html.erb index 460ddc993626..47cb78921c1f 100644 --- a/app/views/oauth/applications/index.html.erb +++ b/app/views/oauth/applications/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/oauth/applications/new.html.erb b/app/views/oauth/applications/new.html.erb index 0a1f9100266c..1ee51f8ec9ff 100644 --- a/app/views/oauth/applications/new.html.erb +++ b/app/views/oauth/applications/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/oauth/applications/show.html.erb b/app/views/oauth/applications/show.html.erb index 6d073aa93edc..52d257225a44 100644 --- a/app/views/oauth/applications/show.html.erb +++ b/app/views/oauth/applications/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/onboarding/_configuration_modal.html.erb b/app/views/onboarding/_configuration_modal.html.erb index 16b095f0e055..437976f2c894 100644 --- a/app/views/onboarding/_configuration_modal.html.erb +++ b/app/views/onboarding/_configuration_modal.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/onboarding/_menu_item.html.erb b/app/views/onboarding/_menu_item.html.erb index 86cf5fe63a3a..e5067eab050d 100644 --- a/app/views/onboarding/_menu_item.html.erb +++ b/app/views/onboarding/_menu_item.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/onboarding/_onboarding_video_modal.html.erb b/app/views/onboarding/_onboarding_video_modal.html.erb index e7f168a86519..8adcb057dd86 100644 --- a/app/views/onboarding/_onboarding_video_modal.html.erb +++ b/app/views/onboarding/_onboarding_video_modal.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/placeholder_users/_form.html.erb b/app/views/placeholder_users/_form.html.erb index d2d03475dd23..7a7ea8f69495 100644 --- a/app/views/placeholder_users/_form.html.erb +++ b/app/views/placeholder_users/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/placeholder_users/_general.html.erb b/app/views/placeholder_users/_general.html.erb index 8ce60b7b0026..bafa6138d063 100644 --- a/app/views/placeholder_users/_general.html.erb +++ b/app/views/placeholder_users/_general.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/placeholder_users/_toolbar.html.erb b/app/views/placeholder_users/_toolbar.html.erb index 7090db096101..47de2c2c7ae8 100644 --- a/app/views/placeholder_users/_toolbar.html.erb +++ b/app/views/placeholder_users/_toolbar.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/placeholder_users/_toolbar_delete.html.erb b/app/views/placeholder_users/_toolbar_delete.html.erb index 462b5b726c91..db90328a763d 100644 --- a/app/views/placeholder_users/_toolbar_delete.html.erb +++ b/app/views/placeholder_users/_toolbar_delete.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/placeholder_users/deletion_info.html.erb b/app/views/placeholder_users/deletion_info.html.erb index d7616d1fa536..f21bd7365b50 100644 --- a/app/views/placeholder_users/deletion_info.html.erb +++ b/app/views/placeholder_users/deletion_info.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/placeholder_users/edit.html.erb b/app/views/placeholder_users/edit.html.erb index 80c890ef6933..ebd3833c0bae 100644 --- a/app/views/placeholder_users/edit.html.erb +++ b/app/views/placeholder_users/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/placeholder_users/index.html.erb b/app/views/placeholder_users/index.html.erb index af5e36bd1e49..6e3b83a1cc95 100644 --- a/app/views/placeholder_users/index.html.erb +++ b/app/views/placeholder_users/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/placeholder_users/new.html.erb b/app/views/placeholder_users/new.html.erb index 81e6c91c67b5..8d0a09cd206a 100644 --- a/app/views/placeholder_users/new.html.erb +++ b/app/views/placeholder_users/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/placeholder_users/show.html.erb b/app/views/placeholder_users/show.html.erb index 42d847d4f755..a0f1cad7969b 100644 --- a/app/views/placeholder_users/show.html.erb +++ b/app/views/placeholder_users/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/principals/_assigned_global_role.html.erb b/app/views/principals/_assigned_global_role.html.erb index 5f1ffc8ae289..725d5121ea75 100644 --- a/app/views/principals/_assigned_global_role.html.erb +++ b/app/views/principals/_assigned_global_role.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/principals/_available_global_role.html.erb b/app/views/principals/_available_global_role.html.erb index 729d84cd62c5..78a7a359a091 100644 --- a/app/views/principals/_available_global_role.html.erb +++ b/app/views/principals/_available_global_role.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/principals/_available_global_roles.html.erb b/app/views/principals/_available_global_roles.html.erb index 8d122b157be0..48d088d8ba9b 100644 --- a/app/views/principals/_available_global_roles.html.erb +++ b/app/views/principals/_available_global_roles.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/principals/_global_roles.html.erb b/app/views/principals/_global_roles.html.erb index 610ccffbcd68..af0441f0bee3 100644 --- a/app/views/principals/_global_roles.html.erb +++ b/app/views/principals/_global_roles.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/project_mailer/copy_project_failed.html.erb b/app/views/project_mailer/copy_project_failed.html.erb index ddcbd6ccc815..7ae1f3155cbc 100644 --- a/app/views/project_mailer/copy_project_failed.html.erb +++ b/app/views/project_mailer/copy_project_failed.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/project_mailer/copy_project_failed.text.erb b/app/views/project_mailer/copy_project_failed.text.erb index 83e4627c20d6..5c77746516f5 100644 --- a/app/views/project_mailer/copy_project_failed.text.erb +++ b/app/views/project_mailer/copy_project_failed.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/project_mailer/copy_project_succeeded.html.erb b/app/views/project_mailer/copy_project_succeeded.html.erb index 936775261e22..046de29644eb 100644 --- a/app/views/project_mailer/copy_project_succeeded.html.erb +++ b/app/views/project_mailer/copy_project_succeeded.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/project_mailer/copy_project_succeeded.text.erb b/app/views/project_mailer/copy_project_succeeded.text.erb index 469bee67d72d..fdc36339dae1 100644 --- a/app/views/project_mailer/copy_project_succeeded.text.erb +++ b/app/views/project_mailer/copy_project_succeeded.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/project_mailer/delete_project_completed.html.erb b/app/views/project_mailer/delete_project_completed.html.erb index 6d6439af8fdd..81b6053f1e69 100644 --- a/app/views/project_mailer/delete_project_completed.html.erb +++ b/app/views/project_mailer/delete_project_completed.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/project_mailer/delete_project_completed.text.erb b/app/views/project_mailer/delete_project_completed.text.erb index b391482ef3a0..4ff418612cbf 100644 --- a/app/views/project_mailer/delete_project_completed.text.erb +++ b/app/views/project_mailer/delete_project_completed.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/project_mailer/delete_project_failed.html.erb b/app/views/project_mailer/delete_project_failed.html.erb index 45c2d8df89bb..b96f4a2b05ca 100644 --- a/app/views/project_mailer/delete_project_failed.html.erb +++ b/app/views/project_mailer/delete_project_failed.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/project_mailer/delete_project_failed.text.erb b/app/views/project_mailer/delete_project_failed.text.erb index a1525a949722..55e6a7891a75 100644 --- a/app/views/project_mailer/delete_project_failed.text.erb +++ b/app/views/project_mailer/delete_project_failed.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/_menu_query_select.html.erb b/app/views/projects/_menu_query_select.html.erb deleted file mode 100644 index d385786c7035..000000000000 --- a/app/views/projects/_menu_query_select.html.erb +++ /dev/null @@ -1,26 +0,0 @@ -
    -
    -
    -
      - <% global_menu_items.each do |menu_item| %> -
    • - <%= link_to *menu_item %> -
    • - <% end %> -
    -
    -
    - - -
    diff --git a/app/views/projects/_project_export_modal.html.erb b/app/views/projects/_project_export_modal.html.erb index 5595041f9253..d3ae15b049c5 100644 --- a/app/views/projects/_project_export_modal.html.erb +++ b/app/views/projects/_project_export_modal.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -27,32 +27,15 @@ See COPYRIGHT and LICENSE files for more details. ++#%> - +
  • + <% end %> + diff --git a/app/views/projects/_toolbar.html.erb b/app/views/projects/_toolbar.html.erb index b24feb364fa4..49fba78032ef 100644 --- a/app/views/projects/_toolbar.html.erb +++ b/app/views/projects/_toolbar.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/copy.html.erb b/app/views/projects/copy.html.erb index 1034d10e45cc..a1d153774a37 100644 --- a/app/views/projects/copy.html.erb +++ b/app/views/projects/copy.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/destroy_info.html.erb b/app/views/projects/destroy_info.html.erb index 0545be44b063..4f5191b94d2b 100644 --- a/app/views/projects/destroy_info.html.erb +++ b/app/views/projects/destroy_info.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/identifier/show.html.erb b/app/views/projects/identifier/show.html.erb index 51a7769b214c..ff4b7ecabe62 100644 --- a/app/views/projects/identifier/show.html.erb +++ b/app/views/projects/identifier/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/index.html.erb b/app/views/projects/index.html.erb index 7340ae16ce4a..e23c06a01ac4 100644 --- a/app/views/projects/index.html.erb +++ b/app/views/projects/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -29,73 +29,17 @@ See COPYRIGHT and LICENSE files for more details. <% html_title(t(:label_project_plural)) -%>
    - <%= toolbar title: t(:label_project_plural), html: { class: '-with-dropdown' } do %> - <% if User.current.allowed_globally?(:add_project) %> -
  • - <%= link_to new_project_path, - { class: 'button -alt-highlight', - aria: { label: t(:label_project_new) }, - title: t(:label_project_new) } do %> - <%= op_icon('button--icon icon-add') %> - <%= Project.model_name.human %> - <% end %> -
  • - <% end %> -
  • - -
  • -
  • - <%= link_to t(:label_overall_activity), activities_path, class: 'button' %> -
  • -
  • - <% gantt_project_ids = gantt_portfolio_project_ids(@projects) %> - <%= link_to gantt_portfolio_query_link(gantt_project_ids), - disabled: gantt_project_ids.empty?, - class: "button #{gantt_project_ids.empty? ? '-disabled' : ''}", - title: gantt_portfolio_title, - target: '_blank' do %> - <%= op_icon("button--icon icon-view-timeline") %> - <%= t('projects.index.open_as_gantt') %> - <%= op_icon("button--icon icon-external-link") %> - <% end %> -
  • - - <% end %> - - <%= render partial: 'projects/filters/form', locals: { query: @query } %> + data-application-target="dynamic" + data-project-display-filters-value="<%= show_filters_section? %>"> + <%= render Projects::IndexPageHeaderComponent.new( + projects: @projects, + query: @query, + current_user: + ) %> + + <%= render Projects::FiltersComponent.new( + query: @query, + ) %> <%= render Projects::TableComponent.new( rows: @projects, @@ -103,12 +47,7 @@ See COPYRIGHT and LICENSE files for more details. orders: @orders, params: params) %> - <% if User.current.admin? %> -

    - <%= op_icon('icon-info1') %> - <%= t(:label_projects_storage_information, - count: Project.count, - storage: number_to_human_size(Project.total_projects_size, precision: 2)) %> -

    - <% end %> + <%= render Projects::StorageInformationComponent.new( + current_user: current_user + ) %>
    diff --git a/app/views/projects/menus/_menu.html.erb b/app/views/projects/menus/_menu.html.erb new file mode 100644 index 000000000000..ca79651491a7 --- /dev/null +++ b/app/views/projects/menus/_menu.html.erb @@ -0,0 +1,5 @@ +<%= turbo_frame_tag "projects_sidemenu", + src: projects_menu_path(params.permit(:filters)), + target: '_top', + data: { turbo: false }, + loading: :lazy %> diff --git a/app/views/projects/menus/show.html.erb b/app/views/projects/menus/show.html.erb new file mode 100644 index 000000000000..0b009bf17e1c --- /dev/null +++ b/app/views/projects/menus/show.html.erb @@ -0,0 +1,3 @@ +<%= turbo_frame_tag "projects_sidemenu" do %> + <%= render OpenProject::Common::SubmenuComponent.new(sidebar_menu_items: @sidebar_menu_items) %> +<% end %> diff --git a/app/views/projects/new.html.erb b/app/views/projects/new.html.erb index 4055e10b1917..5e2fc5677749 100644 --- a/app/views/projects/new.html.erb +++ b/app/views/projects/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/_form_toolbar.html.erb b/app/views/projects/settings/_form_toolbar.html.erb index 94fbdfab5feb..b19e314c4cad 100644 --- a/app/views/projects/settings/_form_toolbar.html.erb +++ b/app/views/projects/settings/_form_toolbar.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/categories/show.html.erb b/app/views/projects/settings/categories/show.html.erb index e68b13f3649f..69d2edca9210 100644 --- a/app/views/projects/settings/categories/show.html.erb +++ b/app/views/projects/settings/categories/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/custom_fields/_form.html.erb b/app/views/projects/settings/custom_fields/_form.html.erb index fdb519b8a92a..804684133ad7 100644 --- a/app/views/projects/settings/custom_fields/_form.html.erb +++ b/app/views/projects/settings/custom_fields/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/custom_fields/show.html.erb b/app/views/projects/settings/custom_fields/show.html.erb index 4f902b814339..abe34a478c83 100644 --- a/app/views/projects/settings/custom_fields/show.html.erb +++ b/app/views/projects/settings/custom_fields/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/general/show.html.erb b/app/views/projects/settings/general/show.html.erb index 03d408f4f6b3..7c99d581fc49 100644 --- a/app/views/projects/settings/general/show.html.erb +++ b/app/views/projects/settings/general/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/modules/_form.html.erb b/app/views/projects/settings/modules/_form.html.erb index e4fceb99ccac..bf9047ab8c1e 100644 --- a/app/views/projects/settings/modules/_form.html.erb +++ b/app/views/projects/settings/modules/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/modules/show.html.erb b/app/views/projects/settings/modules/show.html.erb index 105e38e360dd..769130a8dac1 100644 --- a/app/views/projects/settings/modules/show.html.erb +++ b/app/views/projects/settings/modules/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/repository/_vendor_form.html.erb b/app/views/projects/settings/repository/_vendor_form.html.erb index f94e0003f89b..31d6098c1ae2 100644 --- a/app/views/projects/settings/repository/_vendor_form.html.erb +++ b/app/views/projects/settings/repository/_vendor_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/repository/git/_local.html.erb b/app/views/projects/settings/repository/git/_local.html.erb index 4da33380a522..255e89ba1fb4 100644 --- a/app/views/projects/settings/repository/git/_local.html.erb +++ b/app/views/projects/settings/repository/git/_local.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/repository/git/_managed.html.erb b/app/views/projects/settings/repository/git/_managed.html.erb index 0bca0f7375c7..b08e795275c6 100644 --- a/app/views/projects/settings/repository/git/_managed.html.erb +++ b/app/views/projects/settings/repository/git/_managed.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/repository/shared/_managed.html.erb b/app/views/projects/settings/repository/shared/_managed.html.erb index 53a835c44a68..38b46434c7c8 100644 --- a/app/views/projects/settings/repository/shared/_managed.html.erb +++ b/app/views/projects/settings/repository/shared/_managed.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/repository/show.html.erb b/app/views/projects/settings/repository/show.html.erb index 355464314cdc..e5ed0d989ecc 100644 --- a/app/views/projects/settings/repository/show.html.erb +++ b/app/views/projects/settings/repository/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/repository/subversion/_existing.html.erb b/app/views/projects/settings/repository/subversion/_existing.html.erb index d9d862292047..41f2d6e93a3d 100644 --- a/app/views/projects/settings/repository/subversion/_existing.html.erb +++ b/app/views/projects/settings/repository/subversion/_existing.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/repository/subversion/_managed.html.erb b/app/views/projects/settings/repository/subversion/_managed.html.erb index a2b1ac0630aa..5fea99782bc5 100644 --- a/app/views/projects/settings/repository/subversion/_managed.html.erb +++ b/app/views/projects/settings/repository/subversion/_managed.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/storage/_storage_field.html.erb b/app/views/projects/settings/storage/_storage_field.html.erb index b29a4680aeb9..da7cc5179687 100644 --- a/app/views/projects/settings/storage/_storage_field.html.erb +++ b/app/views/projects/settings/storage/_storage_field.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/storage/show.html.erb b/app/views/projects/settings/storage/show.html.erb index 23a505b47726..4dcb48ad8a33 100644 --- a/app/views/projects/settings/storage/show.html.erb +++ b/app/views/projects/settings/storage/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/types/_form.html.erb b/app/views/projects/settings/types/_form.html.erb index 98e8993e41aa..b753f390d078 100644 --- a/app/views/projects/settings/types/_form.html.erb +++ b/app/views/projects/settings/types/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/types/show.html.erb b/app/views/projects/settings/types/show.html.erb index 3ed33cb05665..e527d3ad7059 100644 --- a/app/views/projects/settings/types/show.html.erb +++ b/app/views/projects/settings/types/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/projects/settings/versions/show.html.erb b/app/views/projects/settings/versions/show.html.erb index 7782743e11c0..2cdf798b8c49 100644 --- a/app/views/projects/settings/versions/show.html.erb +++ b/app/views/projects/settings/versions/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/_breadcrumbs.html.erb b/app/views/repositories/_breadcrumbs.html.erb index 0dee15191f46..13ad74baf382 100644 --- a/app/views/repositories/_breadcrumbs.html.erb +++ b/app/views/repositories/_breadcrumbs.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/_checkout_instructions.html.erb b/app/views/repositories/_checkout_instructions.html.erb index 944088b9c40a..c1eae0d422ca 100644 --- a/app/views/repositories/_checkout_instructions.html.erb +++ b/app/views/repositories/_checkout_instructions.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/_dir_list.html.erb b/app/views/repositories/_dir_list.html.erb index 1cb9ebdcfe94..e72594b29113 100644 --- a/app/views/repositories/_dir_list.html.erb +++ b/app/views/repositories/_dir_list.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/_dir_list_content.html.erb b/app/views/repositories/_dir_list_content.html.erb index a00882a15a43..64ffd4c24b4d 100644 --- a/app/views/repositories/_dir_list_content.html.erb +++ b/app/views/repositories/_dir_list_content.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/_link_to_functions.html.erb b/app/views/repositories/_link_to_functions.html.erb index 3133e3a9d781..35185b06a341 100644 --- a/app/views/repositories/_link_to_functions.html.erb +++ b/app/views/repositories/_link_to_functions.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/_repository_header.html.erb b/app/views/repositories/_repository_header.html.erb index 2570d164e48f..454220b63a1a 100644 --- a/app/views/repositories/_repository_header.html.erb +++ b/app/views/repositories/_repository_header.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/_revisions.html.erb b/app/views/repositories/_revisions.html.erb index e4787349e36f..f30e7d947ffc 100644 --- a/app/views/repositories/_revisions.html.erb +++ b/app/views/repositories/_revisions.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/annotate.html.erb b/app/views/repositories/annotate.html.erb index 396384c8ffd8..37dc371d1fad 100644 --- a/app/views/repositories/annotate.html.erb +++ b/app/views/repositories/annotate.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/changes.html.erb b/app/views/repositories/changes.html.erb index 2fa971730f6b..1973f4d3ab5e 100644 --- a/app/views/repositories/changes.html.erb +++ b/app/views/repositories/changes.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/committers.html.erb b/app/views/repositories/committers.html.erb index e76869110f12..86291b1a6db6 100644 --- a/app/views/repositories/committers.html.erb +++ b/app/views/repositories/committers.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/destroy_info.html.erb b/app/views/repositories/destroy_info.html.erb index 4335dd2d5d11..090f2db5812d 100644 --- a/app/views/repositories/destroy_info.html.erb +++ b/app/views/repositories/destroy_info.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/diff.html.erb b/app/views/repositories/diff.html.erb index 747e4ef1b997..7fb6bae51fff 100644 --- a/app/views/repositories/diff.html.erb +++ b/app/views/repositories/diff.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/empty.html.erb b/app/views/repositories/empty.html.erb index 921350e9af16..dfeb2ab349c5 100644 --- a/app/views/repositories/empty.html.erb +++ b/app/views/repositories/empty.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/entry.html.erb b/app/views/repositories/entry.html.erb index 27de8fdc3ccb..6682151b1095 100644 --- a/app/views/repositories/entry.html.erb +++ b/app/views/repositories/entry.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/revision.html.erb b/app/views/repositories/revision.html.erb index 341dd13893f7..d1bf2e53b8a5 100644 --- a/app/views/repositories/revision.html.erb +++ b/app/views/repositories/revision.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/revisions.html.erb b/app/views/repositories/revisions.html.erb index da77e21f70e2..f198ce94364e 100644 --- a/app/views/repositories/revisions.html.erb +++ b/app/views/repositories/revisions.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/show.html.erb b/app/views/repositories/show.html.erb index fed7c0ac659c..9cac54b1439c 100644 --- a/app/views/repositories/show.html.erb +++ b/app/views/repositories/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/repositories/stats.html.erb b/app/views/repositories/stats.html.erb index b8e5298e9f59..a754ac643c3f 100644 --- a/app/views/repositories/stats.html.erb +++ b/app/views/repositories/stats.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/roles/_form.html.erb b/app/views/roles/_form.html.erb index 8ac26c322e9d..df262c1200ac 100644 --- a/app/views/roles/_form.html.erb +++ b/app/views/roles/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/roles/_member_attributes.html.erb b/app/views/roles/_member_attributes.html.erb index 6748341ee702..dc8179bf12d3 100644 --- a/app/views/roles/_member_attributes.html.erb +++ b/app/views/roles/_member_attributes.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/roles/_member_form.html.erb b/app/views/roles/_member_form.html.erb index db6113f3ff6e..05037e48644c 100644 --- a/app/views/roles/_member_form.html.erb +++ b/app/views/roles/_member_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/roles/_permissions.html.erb b/app/views/roles/_permissions.html.erb index 7c962ec21a67..30a54d00f0ad 100644 --- a/app/views/roles/_permissions.html.erb +++ b/app/views/roles/_permissions.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,7 @@ See COPYRIGHT and LICENSE files for more details. <% if mod.blank? %> <%= show_global_role ? t(:label_global) : Project.model_name.human %> <% else %> - <%= l_or_humanize(mod, prefix: 'project_module_') %> + <%= I18n.t("permission_header_for_project_module_#{mod}", default: l_or_humanize(mod, prefix: 'project_module_')) %> <% end %>
    diff --git a/app/views/roles/autocomplete_for_role.json.erb b/app/views/roles/autocomplete_for_role.json.erb index fb5bb7d3017b..f654d812aea5 100644 --- a/app/views/roles/autocomplete_for_role.json.erb +++ b/app/views/roles/autocomplete_for_role.json.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/roles/edit.html.erb b/app/views/roles/edit.html.erb index 45301d844027..039cff632ada 100644 --- a/app/views/roles/edit.html.erb +++ b/app/views/roles/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/roles/index.html.erb b/app/views/roles/index.html.erb index 16ce441f61ac..15b4b57c5ebe 100644 --- a/app/views/roles/index.html.erb +++ b/app/views/roles/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/roles/new.html.erb b/app/views/roles/new.html.erb index f6da03ef6ce4..8907c98bcdc1 100644 --- a/app/views/roles/new.html.erb +++ b/app/views/roles/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/roles/report.html.erb b/app/views/roles/report.html.erb index 62c57f97c4aa..1d74b0c708c5 100644 --- a/app/views/roles/report.html.erb +++ b/app/views/roles/report.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/search/_pagination.html.erb b/app/views/search/_pagination.html.erb index 8c31618cb4a8..d4898ff567e0 100644 --- a/app/views/search/_pagination.html.erb +++ b/app/views/search/_pagination.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/search/index.html.erb b/app/views/search/index.html.erb index 41c4cf3b3df6..f507ebf095e8 100644 --- a/app/views/search/index.html.erb +++ b/app/views/search/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/statuses/_form.html.erb b/app/views/statuses/_form.html.erb index 0b8e8779a0ab..154cd27026c0 100644 --- a/app/views/statuses/_form.html.erb +++ b/app/views/statuses/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/statuses/edit.html.erb b/app/views/statuses/edit.html.erb index e5a4b9806d61..d5165dcbfa17 100644 --- a/app/views/statuses/edit.html.erb +++ b/app/views/statuses/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/statuses/index.html.erb b/app/views/statuses/index.html.erb index f1a96ffcecac..3c18dc2691a7 100644 --- a/app/views/statuses/index.html.erb +++ b/app/views/statuses/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/statuses/new.html.erb b/app/views/statuses/new.html.erb index e3a1248f5654..bbf8a50f696c 100644 --- a/app/views/statuses/new.html.erb +++ b/app/views/statuses/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/types/edit.html.erb b/app/views/types/edit.html.erb index 7415fc21f314..8fa0b5f88580 100644 --- a/app/views/types/edit.html.erb +++ b/app/views/types/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/types/form/_form_configuration.html.erb b/app/views/types/form/_form_configuration.html.erb index 51a77a9d1672..e7d671d58e72 100644 --- a/app/views/types/form/_form_configuration.html.erb +++ b/app/views/types/form/_form_configuration.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/types/form/_projects.html.erb b/app/views/types/form/_projects.html.erb index 7ac8995f6801..1758232e7a57 100644 --- a/app/views/types/form/_projects.html.erb +++ b/app/views/types/form/_projects.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/types/form/_settings.html.erb b/app/views/types/form/_settings.html.erb index 3acf681f33b7..8a784ab50e3b 100644 --- a/app/views/types/form/_settings.html.erb +++ b/app/views/types/form/_settings.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/types/index.html.erb b/app/views/types/index.html.erb index 80ad3acb850a..b0db4a085f39 100644 --- a/app/views/types/index.html.erb +++ b/app/views/types/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/types/new.html.erb b/app/views/types/new.html.erb index 2dc8531256b4..22a92737ee23 100644 --- a/app/views/types/new.html.erb +++ b/app/views/types/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/_errors.html.erb b/app/views/user_mailer/_errors.html.erb index 34dd6b0d7496..01e6ae942c18 100644 --- a/app/views/user_mailer/_errors.html.erb +++ b/app/views/user_mailer/_errors.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/_errors.text.erb b/app/views/user_mailer/_errors.text.erb index 4ee4afa6ad70..3f58ea21f792 100644 --- a/app/views/user_mailer/_errors.text.erb +++ b/app/views/user_mailer/_errors.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/account_activated.html.erb b/app/views/user_mailer/account_activated.html.erb index 15a3482edabe..7363799a3109 100644 --- a/app/views/user_mailer/account_activated.html.erb +++ b/app/views/user_mailer/account_activated.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/account_activated.text.erb b/app/views/user_mailer/account_activated.text.erb index 536e97dd9e9e..a66e024257b5 100644 --- a/app/views/user_mailer/account_activated.text.erb +++ b/app/views/user_mailer/account_activated.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/account_activation_requested.html.erb b/app/views/user_mailer/account_activation_requested.html.erb index a4fb8349db71..e91ddd4121e0 100644 --- a/app/views/user_mailer/account_activation_requested.html.erb +++ b/app/views/user_mailer/account_activation_requested.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/account_activation_requested.text.erb b/app/views/user_mailer/account_activation_requested.text.erb index 13d75086b531..7ed782135e18 100644 --- a/app/views/user_mailer/account_activation_requested.text.erb +++ b/app/views/user_mailer/account_activation_requested.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/account_information.html.erb b/app/views/user_mailer/account_information.html.erb index 5f38dfa86abf..2a2c18a17c14 100644 --- a/app/views/user_mailer/account_information.html.erb +++ b/app/views/user_mailer/account_information.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/account_information.text.erb b/app/views/user_mailer/account_information.text.erb index 965110147672..02b55cf3e7da 100644 --- a/app/views/user_mailer/account_information.text.erb +++ b/app/views/user_mailer/account_information.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/activation_limit_reached.html.erb b/app/views/user_mailer/activation_limit_reached.html.erb index 9e6db5a71111..01ae55aafee0 100644 --- a/app/views/user_mailer/activation_limit_reached.html.erb +++ b/app/views/user_mailer/activation_limit_reached.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/activation_limit_reached.text.erb b/app/views/user_mailer/activation_limit_reached.text.erb index 98ba72a91f30..51690e8a1934 100644 --- a/app/views/user_mailer/activation_limit_reached.text.erb +++ b/app/views/user_mailer/activation_limit_reached.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/attachments_added.html.erb b/app/views/user_mailer/attachments_added.html.erb index 6883395f4a2e..8ece2a55b190 100644 --- a/app/views/user_mailer/attachments_added.html.erb +++ b/app/views/user_mailer/attachments_added.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/attachments_added.text.erb b/app/views/user_mailer/attachments_added.text.erb index d44deac5875c..a5cbebc3fd9b 100644 --- a/app/views/user_mailer/attachments_added.text.erb +++ b/app/views/user_mailer/attachments_added.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/backup_ready.html.erb b/app/views/user_mailer/backup_ready.html.erb index 773903ae110c..50a8447b67ed 100644 --- a/app/views/user_mailer/backup_ready.html.erb +++ b/app/views/user_mailer/backup_ready.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/backup_ready.text.erb b/app/views/user_mailer/backup_ready.text.erb index 456db265926a..7ec73960599a 100644 --- a/app/views/user_mailer/backup_ready.text.erb +++ b/app/views/user_mailer/backup_ready.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/backup_token_reset.html.erb b/app/views/user_mailer/backup_token_reset.html.erb index 9a54dd8fa860..844e6044a8f9 100644 --- a/app/views/user_mailer/backup_token_reset.html.erb +++ b/app/views/user_mailer/backup_token_reset.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/backup_token_reset.text.erb b/app/views/user_mailer/backup_token_reset.text.erb index 602a67a2c7d3..32449b9e5748 100644 --- a/app/views/user_mailer/backup_token_reset.text.erb +++ b/app/views/user_mailer/backup_token_reset.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/incoming_email_error.html.erb b/app/views/user_mailer/incoming_email_error.html.erb index 74e662fe8cc7..6801adb94ec9 100644 --- a/app/views/user_mailer/incoming_email_error.html.erb +++ b/app/views/user_mailer/incoming_email_error.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/incoming_email_error.text.erb b/app/views/user_mailer/incoming_email_error.text.erb index acbd037d3ab5..7d5450344b9d 100644 --- a/app/views/user_mailer/incoming_email_error.text.erb +++ b/app/views/user_mailer/incoming_email_error.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/message_posted.html.erb b/app/views/user_mailer/message_posted.html.erb index a2a13daabf60..a38201351294 100644 --- a/app/views/user_mailer/message_posted.html.erb +++ b/app/views/user_mailer/message_posted.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/message_posted.text.erb b/app/views/user_mailer/message_posted.text.erb index 4b7d7a96e367..9d2fe0623af0 100644 --- a/app/views/user_mailer/message_posted.text.erb +++ b/app/views/user_mailer/message_posted.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/news_added.html.erb b/app/views/user_mailer/news_added.html.erb index 97da54c403e8..78070d48395b 100644 --- a/app/views/user_mailer/news_added.html.erb +++ b/app/views/user_mailer/news_added.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/news_added.text.erb b/app/views/user_mailer/news_added.text.erb index 2dc3c8da35ae..e49151fa42b1 100644 --- a/app/views/user_mailer/news_added.text.erb +++ b/app/views/user_mailer/news_added.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/news_comment_added.html.erb b/app/views/user_mailer/news_comment_added.html.erb index c6c8ed9eb87c..815521f4f379 100644 --- a/app/views/user_mailer/news_comment_added.html.erb +++ b/app/views/user_mailer/news_comment_added.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/news_comment_added.text.erb b/app/views/user_mailer/news_comment_added.text.erb index 0c1dc963a6bd..db8e9dfbd186 100644 --- a/app/views/user_mailer/news_comment_added.text.erb +++ b/app/views/user_mailer/news_comment_added.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/password_change_not_possible.html.erb b/app/views/user_mailer/password_change_not_possible.html.erb index 59f514de5d7f..b4ebfec01603 100644 --- a/app/views/user_mailer/password_change_not_possible.html.erb +++ b/app/views/user_mailer/password_change_not_possible.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/password_change_not_possible.text.erb b/app/views/user_mailer/password_change_not_possible.text.erb index b8dafb6b9ca3..bdc1deebe652 100644 --- a/app/views/user_mailer/password_change_not_possible.text.erb +++ b/app/views/user_mailer/password_change_not_possible.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/password_lost.html.erb b/app/views/user_mailer/password_lost.html.erb index 0d67bd56f83f..dcc7ed65859d 100644 --- a/app/views/user_mailer/password_lost.html.erb +++ b/app/views/user_mailer/password_lost.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/password_lost.text.erb b/app/views/user_mailer/password_lost.text.erb index 193ba89b0a0e..7ef681270359 100644 --- a/app/views/user_mailer/password_lost.text.erb +++ b/app/views/user_mailer/password_lost.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/test_mail.html.erb b/app/views/user_mailer/test_mail.html.erb index 4d72b8addaec..70971d00a6cb 100644 --- a/app/views/user_mailer/test_mail.html.erb +++ b/app/views/user_mailer/test_mail.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/test_mail.text.erb b/app/views/user_mailer/test_mail.text.erb index 7f7fe950f2e0..3a35bd69e340 100644 --- a/app/views/user_mailer/test_mail.text.erb +++ b/app/views/user_mailer/test_mail.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/user_signed_up.html.erb b/app/views/user_mailer/user_signed_up.html.erb index 636afddac84a..96bf1a67008e 100644 --- a/app/views/user_mailer/user_signed_up.html.erb +++ b/app/views/user_mailer/user_signed_up.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/user_signed_up.text.erb b/app/views/user_mailer/user_signed_up.text.erb index ee0cea07c173..c951a9870532 100644 --- a/app/views/user_mailer/user_signed_up.text.erb +++ b/app/views/user_mailer/user_signed_up.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/wiki_page_added.html.erb b/app/views/user_mailer/wiki_page_added.html.erb index bcd602f6a9f6..f362f9dba0f1 100644 --- a/app/views/user_mailer/wiki_page_added.html.erb +++ b/app/views/user_mailer/wiki_page_added.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/wiki_page_added.text.erb b/app/views/user_mailer/wiki_page_added.text.erb index 4b1509248f01..2fbcff4306eb 100644 --- a/app/views/user_mailer/wiki_page_added.text.erb +++ b/app/views/user_mailer/wiki_page_added.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/wiki_page_updated.html.erb b/app/views/user_mailer/wiki_page_updated.html.erb index 93f7404d95f1..9e8b2d33bd25 100644 --- a/app/views/user_mailer/wiki_page_updated.html.erb +++ b/app/views/user_mailer/wiki_page_updated.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/user_mailer/wiki_page_updated.text.erb b/app/views/user_mailer/wiki_page_updated.text.erb index ea61ed351101..5bf34fc35698 100644 --- a/app/views/user_mailer/wiki_page_updated.text.erb +++ b/app/views/user_mailer/wiki_page_updated.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/_form.html.erb b/app/views/users/_form.html.erb index 0a14bf3d67c4..7d2cb271a291 100644 --- a/app/views/users/_form.html.erb +++ b/app/views/users/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/_general.html.erb b/app/views/users/_general.html.erb index a0d23762032f..f80127338136 100644 --- a/app/views/users/_general.html.erb +++ b/app/views/users/_general.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/_groups.html.erb b/app/views/users/_groups.html.erb index 5ac9147a0868..c41597e566db 100644 --- a/app/views/users/_groups.html.erb +++ b/app/views/users/_groups.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/_notifications.html.erb b/app/views/users/_notifications.html.erb index 428a957b8e99..bef42420d6f6 100644 --- a/app/views/users/_notifications.html.erb +++ b/app/views/users/_notifications.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/_preferences.html.erb b/app/views/users/_preferences.html.erb index 750634c1a54f..cd3a4cff9350 100644 --- a/app/views/users/_preferences.html.erb +++ b/app/views/users/_preferences.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/_reminders.html.erb b/app/views/users/_reminders.html.erb index 2ac5baded8c7..bd905421abc0 100644 --- a/app/views/users/_reminders.html.erb +++ b/app/views/users/_reminders.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/_simple_form.html.erb b/app/views/users/_simple_form.html.erb index c0efc3cb5f6b..8acb5780ede9 100644 --- a/app/views/users/_simple_form.html.erb +++ b/app/views/users/_simple_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/_toolbar.html.erb b/app/views/users/_toolbar.html.erb index a4cd2d0ade45..a7c07cd796e1 100644 --- a/app/views/users/_toolbar.html.erb +++ b/app/views/users/_toolbar.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/change_status_info.html.erb b/app/views/users/change_status_info.html.erb index d790cb9f8123..a0b2a46d6f94 100644 --- a/app/views/users/change_status_info.html.erb +++ b/app/views/users/change_status_info.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/deletion_info.html.erb b/app/views/users/deletion_info.html.erb index 80498664e8b0..4ba19e1e411f 100644 --- a/app/views/users/deletion_info.html.erb +++ b/app/views/users/deletion_info.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/edit.html.erb b/app/views/users/edit.html.erb index e81c81483726..a89e67987723 100644 --- a/app/views/users/edit.html.erb +++ b/app/views/users/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/index.html.erb b/app/views/users/index.html.erb index 479f293b06a8..d218a1056662 100644 --- a/app/views/users/index.html.erb +++ b/app/views/users/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/new.html.erb b/app/views/users/new.html.erb index 25703a1b89ae..e465e2152d57 100644 --- a/app/views/users/new.html.erb +++ b/app/views/users/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index b3b5576cbf94..a3c9c8752a42 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/versions/_form.html.erb b/app/views/versions/_form.html.erb index b7d6c8014d1f..aaaff0dc6640 100644 --- a/app/views/versions/_form.html.erb +++ b/app/views/versions/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/versions/_overview.html.erb b/app/views/versions/_overview.html.erb index 254830d8fdcb..db32deeac1bd 100644 --- a/app/views/versions/_overview.html.erb +++ b/app/views/versions/_overview.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/versions/create.js.erb b/app/views/versions/create.js.erb index 84736d0b8717..ec06bb663259 100644 --- a/app/views/versions/create.js.erb +++ b/app/views/versions/create.js.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/versions/edit.html.erb b/app/views/versions/edit.html.erb index 92e8e3c59687..051e25fbfb8c 100644 --- a/app/views/versions/edit.html.erb +++ b/app/views/versions/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/versions/index.html.erb b/app/views/versions/index.html.erb index ae334b6c2d2d..c47dc3bc1e6d 100644 --- a/app/views/versions/index.html.erb +++ b/app/views/versions/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/versions/new.html.erb b/app/views/versions/new.html.erb index a840abe51f62..80fb1b4467be 100644 --- a/app/views/versions/new.html.erb +++ b/app/views/versions/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/versions/show.html.erb b/app/views/versions/show.html.erb index a0731f27b2fd..b4c1f28b9403 100644 --- a/app/views/versions/show.html.erb +++ b/app/views/versions/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/_text.html.erb b/app/views/wiki/_text.html.erb index ea1fb4b4564a..e4be69b5fef5 100644 --- a/app/views/wiki/_text.html.erb +++ b/app/views/wiki/_text.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/_wiki_export_modal.html.erb b/app/views/wiki/_wiki_export_modal.html.erb index 61b146092d5d..079e6802e8f2 100644 --- a/app/views/wiki/_wiki_export_modal.html.erb +++ b/app/views/wiki/_wiki_export_modal.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/annotate.html.erb b/app/views/wiki/annotate.html.erb index bb2743e30ca6..2f448547c922 100644 --- a/app/views/wiki/annotate.html.erb +++ b/app/views/wiki/annotate.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/destroy.html.erb b/app/views/wiki/destroy.html.erb index e5b50400d3a0..dad0c99bb911 100644 --- a/app/views/wiki/destroy.html.erb +++ b/app/views/wiki/destroy.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/diff.html.erb b/app/views/wiki/diff.html.erb index 84e579d49ba8..0ad474ed5728 100644 --- a/app/views/wiki/diff.html.erb +++ b/app/views/wiki/diff.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/edit.html.erb b/app/views/wiki/edit.html.erb index b103fb417794..0223d1a3ac65 100644 --- a/app/views/wiki/edit.html.erb +++ b/app/views/wiki/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/edit_parent_page.html.erb b/app/views/wiki/edit_parent_page.html.erb index 235aa6b29fbf..b9549b8b74a6 100644 --- a/app/views/wiki/edit_parent_page.html.erb +++ b/app/views/wiki/edit_parent_page.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/export_multiple.html.erb b/app/views/wiki/export_multiple.html.erb index d1da8c45eedd..768907eb9389 100644 --- a/app/views/wiki/export_multiple.html.erb +++ b/app/views/wiki/export_multiple.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/history.html.erb b/app/views/wiki/history.html.erb index 075626ef7fc2..081993f21bd5 100644 --- a/app/views/wiki/history.html.erb +++ b/app/views/wiki/history.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/index.html.erb b/app/views/wiki/index.html.erb index ebca3ac1d8b1..f1ab134166ed 100644 --- a/app/views/wiki/index.html.erb +++ b/app/views/wiki/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/new.html.erb b/app/views/wiki/new.html.erb index 56350a7cedc3..354547ec6915 100644 --- a/app/views/wiki/new.html.erb +++ b/app/views/wiki/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/rename.html.erb b/app/views/wiki/rename.html.erb index 6f5ee5b22418..674597a208df 100644 --- a/app/views/wiki/rename.html.erb +++ b/app/views/wiki/rename.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki/show.html.erb b/app/views/wiki/show.html.erb index 89dcb1be7e32..e6fc7a40cf9c 100644 --- a/app/views/wiki/show.html.erb +++ b/app/views/wiki/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki_menu_items/edit.html.erb b/app/views/wiki_menu_items/edit.html.erb index bee7e3127115..ee74b41bd285 100644 --- a/app/views/wiki_menu_items/edit.html.erb +++ b/app/views/wiki_menu_items/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/wiki_menu_items/select_main_menu_item.html.erb b/app/views/wiki_menu_items/select_main_menu_item.html.erb index 6a1b745e03b8..84f3f538eb3d 100644 --- a/app/views/wiki_menu_items/select_main_menu_item.html.erb +++ b/app/views/wiki_menu_items/select_main_menu_item.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_package_mailer/_work_package_details.html.erb b/app/views/work_package_mailer/_work_package_details.html.erb index 7713a88ce321..213a6fa6b895 100644 --- a/app/views/work_package_mailer/_work_package_details.html.erb +++ b/app/views/work_package_mailer/_work_package_details.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_package_mailer/_work_package_details.text.erb b/app/views/work_package_mailer/_work_package_details.text.erb index 0d8a31050d7d..dea72fc98ff4 100644 --- a/app/views/work_package_mailer/_work_package_details.text.erb +++ b/app/views/work_package_mailer/_work_package_details.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_package_mailer/watcher_changed.html.erb b/app/views/work_package_mailer/watcher_changed.html.erb index ac250b881022..1b9f7ce2b4e1 100644 --- a/app/views/work_package_mailer/watcher_changed.html.erb +++ b/app/views/work_package_mailer/watcher_changed.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_package_mailer/watcher_changed.text.erb b/app/views/work_package_mailer/watcher_changed.text.erb index 37ee2d7dc3c2..625a2368fd7a 100644 --- a/app/views/work_package_mailer/watcher_changed.text.erb +++ b/app/views/work_package_mailer/watcher_changed.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_packages/_sidebar.html.erb b/app/views/work_packages/_sidebar.html.erb index f0aded61f9ca..e9d74abf91f8 100644 --- a/app/views/work_packages/_sidebar.html.erb +++ b/app/views/work_packages/_sidebar.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_packages/auto_completes/index.html.erb b/app/views/work_packages/auto_completes/index.html.erb index a23e45721ea6..f5d22b068f34 100644 --- a/app/views/work_packages/auto_completes/index.html.erb +++ b/app/views/work_packages/auto_completes/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_packages/bulk/destroy.html.erb b/app/views/work_packages/bulk/destroy.html.erb index bdba79488101..f829be428340 100644 --- a/app/views/work_packages/bulk/destroy.html.erb +++ b/app/views/work_packages/bulk/destroy.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_packages/bulk/edit.html.erb b/app/views/work_packages/bulk/edit.html.erb index 149d76d58936..871a98d09f5f 100644 --- a/app/views/work_packages/bulk/edit.html.erb +++ b/app/views/work_packages/bulk/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_packages/index.html.erb b/app/views/work_packages/index.html.erb index 75ed798476d0..672a236589f7 100644 --- a/app/views/work_packages/index.html.erb +++ b/app/views/work_packages/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_packages/moves/new.html.erb b/app/views/work_packages/moves/new.html.erb index 24a7aa26e1e8..b8a64e400860 100644 --- a/app/views/work_packages/moves/new.html.erb +++ b/app/views/work_packages/moves/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_packages/reports/_report.html.erb b/app/views/work_packages/reports/_report.html.erb index b51379444b44..b6a963d646a0 100644 --- a/app/views/work_packages/reports/_report.html.erb +++ b/app/views/work_packages/reports/_report.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_packages/reports/_report_category.html.erb b/app/views/work_packages/reports/_report_category.html.erb index 6f36309b755f..07df7a811377 100644 --- a/app/views/work_packages/reports/_report_category.html.erb +++ b/app/views/work_packages/reports/_report_category.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_packages/reports/report.html.erb b/app/views/work_packages/reports/report.html.erb index a275fbbaa6f8..d7a55fce6ced 100644 --- a/app/views/work_packages/reports/report.html.erb +++ b/app/views/work_packages/reports/report.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_packages/reports/report_details.html.erb b/app/views/work_packages/reports/report_details.html.erb index 88e8536c6a1d..bdb75a468660 100644 --- a/app/views/work_packages/reports/report_details.html.erb +++ b/app/views/work_packages/reports/report_details.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/work_packages/show.html.erb b/app/views/work_packages/show.html.erb index f8d99303efcd..2d3d117a7608 100644 --- a/app/views/work_packages/show.html.erb +++ b/app/views/work_packages/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/workflows/_form.html.erb b/app/views/workflows/_form.html.erb index 706570d63c0c..aa2f80fb8901 100644 --- a/app/views/workflows/_form.html.erb +++ b/app/views/workflows/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/workflows/_toolbar.html.erb b/app/views/workflows/_toolbar.html.erb index 172ac6f5d25f..aae1f2430f3c 100644 --- a/app/views/workflows/_toolbar.html.erb +++ b/app/views/workflows/_toolbar.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/workflows/copy.html.erb b/app/views/workflows/copy.html.erb index a05db9533dc8..0418e3df6747 100644 --- a/app/views/workflows/copy.html.erb +++ b/app/views/workflows/copy.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/workflows/edit.html.erb b/app/views/workflows/edit.html.erb index 9150e209634f..db349e7a27e5 100644 --- a/app/views/workflows/edit.html.erb +++ b/app/views/workflows/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/views/workflows/show.html.erb b/app/views/workflows/show.html.erb index df0ef5524a93..a9abdae85092 100644 --- a/app/views/workflows/show.html.erb +++ b/app/views/workflows/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/announcements/scheduler_job.rb b/app/workers/announcements/scheduler_job.rb index 00d12d4ec956..fa5e6dc4f43a 100644 --- a/app/workers/announcements/scheduler_job.rb +++ b/app/workers/announcements/scheduler_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/application_job.rb b/app/workers/application_job.rb index ead4ca7c0609..de6bccc0067e 100644 --- a/app/workers/application_job.rb +++ b/app/workers/application_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -59,9 +59,9 @@ def self.priority_number(prio = :default) def self.queue_with_priority(value = :default) if value.is_a?(Symbol) - super priority_number(value) + super(priority_number(value)) else - super value + super(value) end end diff --git a/app/workers/attachments/cleanup_uncontainered_job.rb b/app/workers/attachments/cleanup_uncontainered_job.rb index 5f94daaa428f..729fd37231be 100644 --- a/app/workers/attachments/cleanup_uncontainered_job.rb +++ b/app/workers/attachments/cleanup_uncontainered_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/attachments/finish_direct_upload_job.rb b/app/workers/attachments/finish_direct_upload_job.rb index c9ffbdedbffc..9542cdb507e0 100644 --- a/app/workers/attachments/finish_direct_upload_job.rb +++ b/app/workers/attachments/finish_direct_upload_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/backup_job.rb b/app/workers/backup_job.rb index 22277e347d10..3db87b42473b 100644 --- a/app/workers/backup_job.rb +++ b/app/workers/backup_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/concerns/state_machine_job.rb b/app/workers/concerns/state_machine_job.rb index fec9a4507a97..65867fc2fb5d 100644 --- a/app/workers/concerns/state_machine_job.rb +++ b/app/workers/concerns/state_machine_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,8 +35,8 @@ module StateMachineJob extend ActiveSupport::Concern included do - def perform(state, *args) - results = instance_exec(*args, &states[state][:block]) + def perform(state, *) + results = instance_exec(*, &states[state][:block]) to = states[state][:to] diff --git a/app/workers/copy_project_job.rb b/app/workers/copy_project_job.rb index 18bb63b0567b..27b2018b7bfd 100644 --- a/app/workers/copy_project_job.rb +++ b/app/workers/copy_project_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/cron/clear_old_sessions_job.rb b/app/workers/cron/clear_old_sessions_job.rb index 95b9536afc38..e53494d626d3 100644 --- a/app/workers/cron/clear_old_sessions_job.rb +++ b/app/workers/cron/clear_old_sessions_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,7 +34,7 @@ class ClearOldSessionsJob < CronJob self.cron_expression = '15 1 * * *' def perform - super 'db:sessions:expire', 7 + super('db:sessions:expire', 7) end end end diff --git a/app/workers/cron/clear_tmp_cache_job.rb b/app/workers/cron/clear_tmp_cache_job.rb index c8a83e16b4cd..8ac9a6c21016 100644 --- a/app/workers/cron/clear_tmp_cache_job.rb +++ b/app/workers/cron/clear_tmp_cache_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,7 +34,7 @@ class ClearTmpCacheJob < CronJob self.cron_expression = '45 2 * * 7' def perform - super 'tmp:cache:clear' + super('tmp:cache:clear') end end end diff --git a/app/workers/cron/clear_uploaded_files_job.rb b/app/workers/cron/clear_uploaded_files_job.rb index fc2bf251f001..458615f98b07 100644 --- a/app/workers/cron/clear_uploaded_files_job.rb +++ b/app/workers/cron/clear_uploaded_files_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,7 +34,7 @@ class ClearUploadedFilesJob < CronJob self.cron_expression = '0 23 * * 5' def perform - super 'attachments:clear' + super('attachments:clear') end end end diff --git a/app/workers/cron/cron_job.rb b/app/workers/cron/cron_job.rb index 31369eaef547..a2afe9f260d6 100644 --- a/app/workers/cron/cron_job.rb +++ b/app/workers/cron/cron_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/exports/cleanup_outdated_job.rb b/app/workers/exports/cleanup_outdated_job.rb index 166d14e3c5da..cc0d4c598b8b 100644 --- a/app/workers/exports/cleanup_outdated_job.rb +++ b/app/workers/exports/cleanup_outdated_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/extract_fulltext_job.rb b/app/workers/extract_fulltext_job.rb index 5db777e54a68..bff360227fc4 100644 --- a/app/workers/extract_fulltext_job.rb +++ b/app/workers/extract_fulltext_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/journals/completed_job.rb b/app/workers/journals/completed_job.rb index 9541627b5952..b3a8ad188cf6 100644 --- a/app/workers/journals/completed_job.rb +++ b/app/workers/journals/completed_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/ldap/synchronization_job.rb b/app/workers/ldap/synchronization_job.rb index 81dfbe4710b4..e584179d931e 100644 --- a/app/workers/ldap/synchronization_job.rb +++ b/app/workers/ldap/synchronization_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/deliver_job.rb b/app/workers/mails/deliver_job.rb index 228ac2a11f26..638fa27bad84 100644 --- a/app/workers/mails/deliver_job.rb +++ b/app/workers/mails/deliver_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/invitation_job.rb b/app/workers/mails/invitation_job.rb index 5ca159a1f593..c70009b9f79a 100644 --- a/app/workers/mails/invitation_job.rb +++ b/app/workers/mails/invitation_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/mailer_job.rb b/app/workers/mails/mailer_job.rb index d5d8750155f4..03d05aa7725b 100644 --- a/app/workers/mails/mailer_job.rb +++ b/app/workers/mails/mailer_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/member_created_job.rb b/app/workers/mails/member_created_job.rb index f2ce8b144e0d..de027c6d3d59 100644 --- a/app/workers/mails/member_created_job.rb +++ b/app/workers/mails/member_created_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/member_job.rb b/app/workers/mails/member_job.rb index 713d707daa5e..458d66b1b803 100644 --- a/app/workers/mails/member_job.rb +++ b/app/workers/mails/member_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/member_updated_job.rb b/app/workers/mails/member_updated_job.rb index d7c1040f4057..6e62bf0b974e 100644 --- a/app/workers/mails/member_updated_job.rb +++ b/app/workers/mails/member_updated_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/reminder_job.rb b/app/workers/mails/reminder_job.rb index b77f8a48f061..d110423c5a38 100644 --- a/app/workers/mails/reminder_job.rb +++ b/app/workers/mails/reminder_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/watcher_added_job.rb b/app/workers/mails/watcher_added_job.rb index bff414264ec9..d3f53260398d 100644 --- a/app/workers/mails/watcher_added_job.rb +++ b/app/workers/mails/watcher_added_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/watcher_job.rb b/app/workers/mails/watcher_job.rb index 50505746bdb4..6eee3ae40797 100644 --- a/app/workers/mails/watcher_job.rb +++ b/app/workers/mails/watcher_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/watcher_removed_job.rb b/app/workers/mails/watcher_removed_job.rb index a4541cf4ccd7..6148551762f2 100644 --- a/app/workers/mails/watcher_removed_job.rb +++ b/app/workers/mails/watcher_removed_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/with_sender.rb b/app/workers/mails/with_sender.rb index c0dad282d1b5..3a7b483a646c 100644 --- a/app/workers/mails/with_sender.rb +++ b/app/workers/mails/with_sender.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/mails/work_package_shared_job.rb b/app/workers/mails/work_package_shared_job.rb index fea6a1e702b3..2fa52f3a4802 100644 --- a/app/workers/mails/work_package_shared_job.rb +++ b/app/workers/mails/work_package_shared_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/notifications/create_date_alerts_notifications_job.rb b/app/workers/notifications/create_date_alerts_notifications_job.rb index 351e12203a9a..c29d714b20e6 100644 --- a/app/workers/notifications/create_date_alerts_notifications_job.rb +++ b/app/workers/notifications/create_date_alerts_notifications_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/notifications/create_date_alerts_notifications_job/alertable_work_packages.rb b/app/workers/notifications/create_date_alerts_notifications_job/alertable_work_packages.rb index f1a07a611ca4..dae14ea4f1e3 100644 --- a/app/workers/notifications/create_date_alerts_notifications_job/alertable_work_packages.rb +++ b/app/workers/notifications/create_date_alerts_notifications_job/alertable_work_packages.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/notifications/create_date_alerts_notifications_job/service.rb b/app/workers/notifications/create_date_alerts_notifications_job/service.rb index 8aaa44a6f849..d3d8f2b7bdec 100644 --- a/app/workers/notifications/create_date_alerts_notifications_job/service.rb +++ b/app/workers/notifications/create_date_alerts_notifications_job/service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/notifications/group_member_altered_job.rb b/app/workers/notifications/group_member_altered_job.rb index a856fe2856cd..dcb50dd19c22 100644 --- a/app/workers/notifications/group_member_altered_job.rb +++ b/app/workers/notifications/group_member_altered_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/notifications/schedule_date_alerts_notifications_job.rb b/app/workers/notifications/schedule_date_alerts_notifications_job.rb index dc5406c788ba..43c5bd810bd4 100644 --- a/app/workers/notifications/schedule_date_alerts_notifications_job.rb +++ b/app/workers/notifications/schedule_date_alerts_notifications_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/notifications/schedule_date_alerts_notifications_job/service.rb b/app/workers/notifications/schedule_date_alerts_notifications_job/service.rb index 97a4fbfd6cd1..b52ebe0650f3 100644 --- a/app/workers/notifications/schedule_date_alerts_notifications_job/service.rb +++ b/app/workers/notifications/schedule_date_alerts_notifications_job/service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/notifications/schedule_reminder_mails_job.rb b/app/workers/notifications/schedule_reminder_mails_job.rb index a2d51b1ddabe..0932594fbda0 100644 --- a/app/workers/notifications/schedule_reminder_mails_job.rb +++ b/app/workers/notifications/schedule_reminder_mails_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/notifications/with_marked_notifications.rb b/app/workers/notifications/with_marked_notifications.rb index 365827af1b06..e56639dc620a 100644 --- a/app/workers/notifications/with_marked_notifications.rb +++ b/app/workers/notifications/with_marked_notifications.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/notifications/workflow_job.rb b/app/workers/notifications/workflow_job.rb index 10f903eb5095..1bb977c29426 100644 --- a/app/workers/notifications/workflow_job.rb +++ b/app/workers/notifications/workflow_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/oauth/cleanup_job.rb b/app/workers/oauth/cleanup_job.rb index 9a39253e96b0..3295cb0e82b4 100644 --- a/app/workers/oauth/cleanup_job.rb +++ b/app/workers/oauth/cleanup_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,7 +36,7 @@ class CleanupJob < ::Cron::CronJob queue_with_priority :low def perform - super 'doorkeeper:db:cleanup' + super('doorkeeper:db:cleanup') end end end diff --git a/app/workers/paper_trail_audits/cleanup_job.rb b/app/workers/paper_trail_audits/cleanup_job.rb index 67cfc7bfa83d..634f240c7641 100644 --- a/app/workers/paper_trail_audits/cleanup_job.rb +++ b/app/workers/paper_trail_audits/cleanup_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/principals/delete_job.rb b/app/workers/principals/delete_job.rb index f589ea8fe3b0..d4dd3c722cc1 100644 --- a/app/workers/principals/delete_job.rb +++ b/app/workers/principals/delete_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/projects/delete_project_job.rb b/app/workers/projects/delete_project_job.rb index c517a2052aa5..34787de4db4c 100644 --- a/app/workers/projects/delete_project_job.rb +++ b/app/workers/projects/delete_project_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/projects/reorder_hierarchy_job.rb b/app/workers/projects/reorder_hierarchy_job.rb index 978659b7e12f..eafa3ed0efd5 100644 --- a/app/workers/projects/reorder_hierarchy_job.rb +++ b/app/workers/projects/reorder_hierarchy_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/rake_job.rb b/app/workers/rake_job.rb index 049e86e3c33a..b1fde86c9e9a 100644 --- a/app/workers/rake_job.rb +++ b/app/workers/rake_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/scm/create_local_repository_job.rb b/app/workers/scm/create_local_repository_job.rb index 47e136e903b5..3ccdb62a9a34 100644 --- a/app/workers/scm/create_local_repository_job.rb +++ b/app/workers/scm/create_local_repository_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -49,7 +49,7 @@ def perform(repository) self.class.ensure_not_existing!(repository) # Create the repository locally. - mode = (config[:mode] || default_mode) + mode = config[:mode] || default_mode # Ensure that chmod receives an octal number unless mode.is_a? Integer diff --git a/app/workers/scm/create_remote_repository_job.rb b/app/workers/scm/create_remote_repository_job.rb index 4439c2822368..17e85b8d86c7 100644 --- a/app/workers/scm/create_remote_repository_job.rb +++ b/app/workers/scm/create_remote_repository_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/scm/delete_local_repository_job.rb b/app/workers/scm/delete_local_repository_job.rb index 5df3ac5b0402..7bba59194ef1 100644 --- a/app/workers/scm/delete_local_repository_job.rb +++ b/app/workers/scm/delete_local_repository_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/scm/delete_remote_repository_job.rb b/app/workers/scm/delete_remote_repository_job.rb index d9525b725fb6..2debddb61850 100644 --- a/app/workers/scm/delete_remote_repository_job.rb +++ b/app/workers/scm/delete_remote_repository_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/scm/relocate_repository_job.rb b/app/workers/scm/relocate_repository_job.rb index dccaff030a48..f60627962936 100644 --- a/app/workers/scm/relocate_repository_job.rb +++ b/app/workers/scm/relocate_repository_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/scm/remote_repository_job.rb b/app/workers/scm/remote_repository_job.rb index 85d582b27f6f..8f7360f2460f 100644 --- a/app/workers/scm/remote_repository_job.rb +++ b/app/workers/scm/remote_repository_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/scm/storage_updater_job.rb b/app/workers/scm/storage_updater_job.rb index d5aad5ffad28..ec1050531cba 100644 --- a/app/workers/scm/storage_updater_job.rb +++ b/app/workers/scm/storage_updater_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/user_job.rb b/app/workers/user_job.rb index e024d0da3e5f..17bab13bbb03 100644 --- a/app/workers/user_job.rb +++ b/app/workers/user_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/work_packages/apply_working_days_change_job.rb b/app/workers/work_packages/apply_working_days_change_job.rb index af80874e3472..db79c3c43019 100644 --- a/app/workers/work_packages/apply_working_days_change_job.rb +++ b/app/workers/work_packages/apply_working_days_change_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/work_packages/bulk_copy_job.rb b/app/workers/work_packages/bulk_copy_job.rb index 0e0cdbba25ff..cee69afb9bd7 100644 --- a/app/workers/work_packages/bulk_copy_job.rb +++ b/app/workers/work_packages/bulk_copy_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/work_packages/bulk_job.rb b/app/workers/work_packages/bulk_job.rb index 56047f8fc0cd..e493507f2a19 100644 --- a/app/workers/work_packages/bulk_job.rb +++ b/app/workers/work_packages/bulk_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/app/workers/work_packages/bulk_move_job.rb b/app/workers/work_packages/bulk_move_job.rb index 9bb8370a6538..abeb0897162b 100644 --- a/app/workers/work_packages/bulk_move_job.rb +++ b/app/workers/work_packages/bulk_move_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config.ru b/config.ru index 1b77b67c0407..cc50ba9210c3 100644 --- a/config.ru +++ b/config.ru @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ # This file is used by Rack-based servers to start the application. -require ::File.expand_path('config/environment', __dir__) +require File.expand_path('config/environment', __dir__) subdir = OpenProject::Configuration.rails_relative_url_root.presence diff --git a/config/additional_environment.rb.example b/config/additional_environment.rb.example index 92323e4fccae..98f66db88b9a 100644 --- a/config/additional_environment.rb.example +++ b/config/additional_environment.rb.example @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/application.rb b/config/application.rb index 0e48b09bc813..506f69ce468d 100644 --- a/config/application.rb +++ b/config/application.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -141,7 +141,7 @@ class Application < Rails::Application # config.time_zone = 'Central Time (US & Canada)' # Add locales from crowdin translations to i18n - config.i18n.load_path += Dir[Rails.root.join('config', 'locales', 'crowdin', '*.{rb,yml}').to_s] + config.i18n.load_path += Dir[Rails.root.join("config/locales/crowdin/*.{rb,yml}").to_s] config.i18n.default_locale = :en # Fall back to default locale diff --git a/config/boot.rb b/config/boot.rb index eff8ee7cac9b..6067c79b2758 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,7 +36,7 @@ require 'bundler/setup' # Set up gems listed in the Gemfile. -env = ENV['RAILS_ENV'] +env = ENV.fetch('RAILS_ENV', nil) # Disable deprecation warnings early on (before loading gems), which behaves as RUBYOPT="-w0" # to disable the Ruby warnings in production. # Set OPENPROJECT_PROD_DEPRECATIONS=true if you want to see them for debugging purposes diff --git a/config/configuration.yml.example b/config/configuration.yml.example index 74c5c794e927..b6120bc37c3c 100644 --- a/config/configuration.yml.example +++ b/config/configuration.yml.example @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/constants/api_patch_registry.rb b/config/constants/api_patch_registry.rb index 546271d4eead..39e255adaa05 100644 --- a/config/constants/api_patch_registry.rb +++ b/config/constants/api_patch_registry.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/constants/ar_to_api_conversions.rb b/config/constants/ar_to_api_conversions.rb index 9923b945f030..b97ccc321fa3 100644 --- a/config/constants/ar_to_api_conversions.rb +++ b/config/constants/ar_to_api_conversions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/constants/open_project/activity.rb b/config/constants/open_project/activity.rb index 62bd09b5d7c4..3d79eff7d609 100644 --- a/config/constants/open_project/activity.rb +++ b/config/constants/open_project/activity.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -41,7 +41,7 @@ def providers @providers ||= Hash.new { |h, k| h[k] = Set.new } end - def map(&_block) + def map(&) yield self end diff --git a/config/constants/open_project/null_db_fallback.rb b/config/constants/open_project/null_db_fallback.rb index c36e6e79ba31..37dad4e11e74 100644 --- a/config/constants/open_project/null_db_fallback.rb +++ b/config/constants/open_project/null_db_fallback.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -60,7 +60,7 @@ def applied? end def database_config - YAML.load_file(File.join(Rails.root, "config", "database.yml"))[Rails.env] + YAML.load_file(Rails.root.join("config/database.yml").to_s)[Rails.env] end end end diff --git a/config/constants/settings/definition.rb b/config/constants/settings/definition.rb index b3c25318601d..ba6b04521974 100644 --- a/config/constants/settings/definition.rb +++ b/config/constants/settings/definition.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -37,14 +37,12 @@ class Definition after_first_login_redirect_url: { format: :string, description: 'URL users logging in for the first time will be redirected to (e.g., a help screen)', - default: nil, - writable: false + default: nil }, after_login_default_redirect_url: { description: 'Override URL to which logged in users are redirected instead of the My page', format: :string, - default: nil, - writable: false + default: nil }, apiv3_cors_enabled: { description: 'Enable CORS headers for APIv3 server responses', @@ -59,8 +57,7 @@ class Definition }, apiv3_enable_basic_auth: { description: 'Enable API token or global basic authentication for APIv3 requests', - default: true, - writable: false + default: true }, apiv3_max_page_size: { default: 1000 @@ -92,15 +89,14 @@ class Definition writable: false }, attachments_grace_period: { - description: 'Time to wait before uploaded files not attached to any container are removed', - default: 180, - writable: false + description: 'Time in minutes to wait before uploaded files not attached to any container are removed', + default: 180 }, auth_source_sso: { description: 'Configuration for Header-based Single Sign-On', format: :hash, default: nil, - writable: false + writable: false # config is cached globally so let's make it not writable }, # Configures the authentication capabilities supported by the instance. # Currently this is focused on the configuration for basic auth. @@ -112,8 +108,7 @@ class Definition authentication: { description: 'Configuration options for global basic auth', format: :hash, - default: nil, - writable: false + default: nil }, autofetch_changesets: { default: true @@ -127,13 +122,11 @@ class Definition }, autologin_cookie_name: { description: 'Cookie name for autologin cookie', - default: 'autologin', - writable: false + default: 'autologin' }, autologin_cookie_path: { description: 'Cookie path for autologin cookie', - default: '/', - writable: false + default: '/' }, available_languages: { format: :array, @@ -142,40 +135,34 @@ class Definition }, avatar_link_expiry_seconds: { description: 'Cache duration for avatar image API responses', - default: 24.hours.to_i, - writable: false + default: 24.hours.to_i }, # Allow users with the required permissions to create backups via the web interface or API. backup_enabled: { description: 'Enable application backups through the UI', - default: true, - writable: false + default: true }, backup_daily_limit: { description: 'Maximum number of application backups allowed per day', - default: 3, - writable: false + default: 3 }, backup_initial_waiting_period: { description: 'Wait time before newly created backup tokens are usable', default: 24.hours, - format: :integer, - writable: false + format: :integer }, backup_include_attachments: { description: 'Allow inclusion of attachments in application backups', - default: true, - writable: false + default: true }, backup_attachment_size_max_sum_mb: { description: 'Maximum limit of attachment size to include into application backups', - default: 1024, - writable: false + default: 1024 }, blacklisted_routes: { description: 'Blocked routes to prevent access to certain modules or pages', default: [], - writable: false + writable: false # used in initializer }, bcc_recipients: { default: true @@ -206,13 +193,13 @@ class Definition description: 'The memcache server host and IP', format: :string, default: nil, - writable: false, + writable: false }, cache_redis_url: { description: 'URL to the redis cache server', format: :string, default: nil, - writable: false, + writable: false }, cache_namespace: { format: :string, @@ -304,8 +291,7 @@ class Definition # user configuration default_comment_sort_order: { description: 'Default sort order for activities', - default: 'asc', - writable: false + default: 'asc' }, default_language: { default: 'en', @@ -345,30 +331,26 @@ class Definition description: 'A list of module names to prevent access to in the application', default: [], allowed: -> { OpenProject::AccessControl.available_project_modules.map(&:to_s) }, - writable: false + writable: false # setting stored in global variable }, disable_password_choice: { description: "If enabled a user's password cannot be set to an arbitrary value, but can only be randomized.", - default: false, - writable: false + default: false }, disable_password_login: { description: 'Disable internal logins and instead only allow SSO through OmniAuth.', - default: false, - writable: false + default: false }, display_subprojects_work_packages: { default: true }, drop_old_sessions_on_logout: { description: 'Destroy all sessions for current_user on logout', - default: true, - writable: false + default: true }, drop_old_sessions_on_login: { description: 'Destroy all sessions for current_user on login', - default: false, - writable: false + default: false }, edition: { format: :string, @@ -462,21 +444,18 @@ class Definition }, fog_download_url_expires_in: { description: 'Expiration time in seconds of created shared presigned URLs', - default: 21600, # 6h by default as 6 hours is max in S3 when using IAM roles - writable: false + default: 21600 # 6h by default as 6 hours is max in S3 when using IAM roles }, # Additional / overridden help links force_help_link: { description: 'You can set a custom URL for the help button in application header menu.', format: :string, - default: nil, - writable: false + default: nil }, force_formatting_help_link: { description: 'You can set a custom URL for the help button in the WYSIWYG editor.', format: :string, - default: nil, - writable: false + default: nil }, forced_single_page_size: { description: 'Forced page size for manually sorted work package views', @@ -489,48 +468,42 @@ class Definition health_checks_authentication_password: { description: 'Add an authentication challenge for the /health_check endpoint', format: :string, - default: nil, - writable: false + default: nil }, # Maximum number of backed up jobs (that are not yet executed) # before health check fails health_checks_jobs_queue_count_threshold: { description: 'Set threshold of backed up background jobs to fail health check', format: :integer, - default: 50, - writable: false + default: 50 }, ## Maximum number of minutes that jobs have not yet run after their designated 'run_at' time health_checks_jobs_never_ran_minutes_ago: { description: 'Set threshold of outstanding background jobs to fail health check', format: :integer, - default: 5, - writable: false + default: 5 }, ## Maximum number of unprocessed requests in puma's backlog. health_checks_backlog_threshold: { description: 'Set threshold of outstanding HTTP requests to fail health check', format: :integer, - default: 20, - writable: false + default: 20 }, # Default gravatar image, set to something other than 404 # to ensure a default is returned gravatar_fallback_image: { description: 'Set default gravatar image fallback', - default: '404', - writable: false + default: '404' }, hidden_menu_items: { description: 'Hide menu items in the menu sidebar for each main menu (such as Administration and Projects).', default: {}, - writable: false + writable: false # cached in global variable }, impressum_link: { description: 'Impressum link to be set, hidden by default', format: :string, - default: nil, - writable: false + default: nil }, installation_type: { default: 'manual', @@ -542,8 +515,7 @@ class Definition }, internal_password_confirmation: { description: 'Require password confirmations for certain administrative actions', - default: true, - writable: false + default: true }, invitation_expiration_days: { default: 7 @@ -554,24 +526,20 @@ class Definition ldap_force_no_page: { description: 'Force LDAP to respond as a single page, in case paged responses do not work with your server.', format: :string, - default: nil, - writable: false + default: nil }, ldap_groups_disable_sync_job: { description: 'Deactivate regular synchronization job for groups in case scheduled as a separate cronjob', - default: false, - writable: false + default: false }, ldap_users_disable_sync_job: { description: 'Deactivate user attributes synchronization from LDAP', - default: false, - writable: false + default: false }, ldap_users_sync_status: { description: 'Enable user status (locked/unlocked) synchronization from LDAP', format: :boolean, - default: false, - writable: false + default: false }, ldap_tls_options: { format: :hash, @@ -663,24 +631,21 @@ class Definition omniauth_direct_login_provider: { description: 'Clicking on login sends a login request to the specified OmniAuth provider.', format: :string, - default: nil, - writable: false + default: nil }, override_bcrypt_cost_factor: { description: "Set a custom BCrypt cost factor for deriving a user's bcrypt hash.", format: :string, default: nil, - writable: false + writable: false # this changes a global variable and must therefore not be writable at runtime }, onboarding_video_url: { description: 'Onboarding guide instructional video URL', - default: 'https://player.vimeo.com/video/163426858?autoplay=1', - writable: false + default: 'https://player.vimeo.com/video/163426858?autoplay=1' }, onboarding_enabled: { description: 'Enable or disable onboarding guided tour for new users', - default: true, - writable: false + default: true }, password_active_rules: { default: %w[lowercase uppercase numeric special], @@ -864,7 +829,6 @@ class Definition description: 'Arguments to call sendmail with in case it is configured as outgoing email setup', format: :string, default: "-i", - writable: false }, sendmail_location: { description: 'Location of sendmail to call if it is configured as outgoing email setup', @@ -875,13 +839,11 @@ class Definition appsignal_frontend_key: { format: :string, default: nil, - description: 'Appsignal API key for JavaScript error reporting', - writable: false + description: 'Appsignal API key for JavaScript error reporting' }, session_cookie_name: { description: 'Set session cookie name', - default: '_open_project_session', - writable: false + default: '_open_project_session' }, session_ttl_enabled: { default: false @@ -891,12 +853,11 @@ class Definition }, show_community_links: { description: 'Enable or disable links to OpenProject community instances', - default: true, - writable: false + default: true }, show_product_version: { description: 'Show product version information in the administration section', - default: true, + default: true }, show_pending_migrations_warning: { description: 'Enable or disable warning bar in case of pending migrations', @@ -905,20 +866,17 @@ class Definition }, show_setting_mismatch_warning: { description: 'Show mismatched protocol/hostname warning. In cases where they must differ this can be disabled', - default: true, - writable: false + default: true }, # Render storage information show_storage_information: { description: 'Show available and taken storage information under administration / info', - default: true, - writable: false + default: true }, show_warning_bars: { description: 'Render warning bars (pending migrations, deprecation, unsupported browsers)', # Hide warning bars by default in tests as they might overlay other elements - default: -> { !Rails.env.test? }, - writable: false + default: -> { !Rails.env.test? } }, smtp_authentication: { format: :string, @@ -1091,8 +1049,7 @@ class Definition }, youtube_channel: { description: 'Link to YouTube channel in help menu', - default: 'https://www.youtube.com/c/OpenProjectCommunity', - writable: false + default: 'https://www.youtube.com/c/OpenProjectCommunity' } }.freeze diff --git a/config/constants/views.rb b/config/constants/views.rb index 9b3dc4a06372..e44ad504f6c6 100644 --- a/config/constants/views.rb +++ b/config/constants/views.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ def add(type, contract_strategy: nil) @registered ||= {} - @registered[canonical_type(type)] = { contract_strategy: contract_strategy } + @registered[canonical_type(type)] = { contract_strategy: } end def registered_types diff --git a/config/database.production.yml b/config/database.production.yml index bcda2d54178b..7a0042938ade 100644 --- a/config/database.production.yml +++ b/config/database.production.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/database.yml.example b/config/database.yml.example index d9deb4b5fd3f..895d3b217598 100644 --- a/config/database.yml.example +++ b/config/database.yml.example @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/environment.rb b/config/environment.rb index 8af0aa091db0..cf3879900c16 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/environments/demo.rb b/config/environments/demo.rb index dd7da7729518..45f2a4472c5f 100644 --- a/config/environments/demo.rb +++ b/config/environments/demo.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/environments/development.rb b/config/environments/development.rb index b64c68a96616..547b94779223 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -87,4 +87,4 @@ end end -ActiveRecord::Base.logger = ActiveSupport::Logger.new($stdout) unless String(ENV["SILENCE_SQL_LOGS"]).to_bool +ActiveRecord::Base.logger = ActiveSupport::Logger.new($stdout) unless String(ENV.fetch("SILENCE_SQL_LOGS", nil)).to_bool diff --git a/config/environments/production.rb b/config/environments/production.rb index 5d3de7353c52..d57dd9948571 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/environments/test.rb b/config/environments/test.rb index c503373bfcbc..020b88912d38 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/environments/test_pgsql.rb b/config/environments/test_pgsql.rb index 02c2e88d6002..574c5da8ea46 100644 --- a/config/environments/test_pgsql.rb +++ b/config/environments/test_pgsql.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml new file mode 100644 index 000000000000..c98cc13ceb1d --- /dev/null +++ b/config/i18n-tasks.yml @@ -0,0 +1,157 @@ +# i18n-tasks finds and manages missing and unused translations: https://github.com/glebm/i18n-tasks + +# The "main" locale. +base_locale: en +## All available locales are inferred from the data by default. Alternatively, specify them explicitly: +# locales: [es, fr] +## Reporting locale, default: en. Available: en, ru. +# internal_locale: en + +# Read and write translations. +data: + ## Translations are read from the file system. Supported format: YAML, JSON. + ## Provide a custom adapter: + # adapter: I18n::Tasks::Data::FileSystem + + # Locale files or `Find.find` patterns where translations are read from: + read: + # # Default: + # - config/locales/%{locale}.yml + ## More files: + # - config/locales/**/*.%{locale}.yml + ## Module files: + - modules/storages/config/locales/en.yml + + # Locale files to write new keys to, based on a list of key pattern => file rules. Matched from top to bottom: + # `i18n-tasks normalize -p` will force move the keys according to these rules + write: + ## For example, write devise and simple form keys to their respective files: + # - ['{devise, simple_form}.*', 'config/locales/\1.%{locale}.yml'] + - ['{storages, plugin_openproject_storages}.*', 'modules/storages/config/locales/%{locale}.yml'] + ## Catch-all default: + # - config/locales/%{locale}.yml + + # External locale data (e.g. gems). + # This data is not considered unused and is never written to. + external: + ## Example (replace %#= with %=): + # - "<%#= %x[bundle info vagrant --path].chomp %>/templates/locales/%{locale}.yml" + + ## Specify the router (see Readme for details). Valid values: conservative_router, pattern_router, or a custom class. + router: conservative_router + + yaml: + write: + # do not wrap lines at 80 characters + line_width: -1 + + ## Pretty-print JSON: + # json: + # write: + # indent: ' ' + # space: ' ' + # object_nl: "\n" + # array_nl: "\n" + +# Find translate calls +search: + ## Paths or `Find.find` patterns to search in: + paths: + # - app/ + - modules/storages/app/ + + ## Root directories for relative keys resolution. + # relative_roots: + # - app/controllers + # - app/helpers + # - app/mailers + # - app/presenters + # - app/views + + ## Directories where method names which should not be part of a relative key resolution. + # By default, if a relative translation is used inside a method, the name of the method will be considered part of the resolved key. + # Directories listed here will not consider the name of the method part of the resolved key + # + # relative_exclude_method_name_paths: + # - + + ## Files or `File.fnmatch` patterns to exclude from search. Some files are always excluded regardless of this setting: + ## *.jpg *.jpeg *.png *.gif *.svg *.ico *.eot *.otf *.ttf *.woff *.woff2 *.pdf *.css *.sass *.scss *.less + ## *.yml *.json *.zip *.tar.gz *.swf *.flv *.mp3 *.wav *.flac *.webm *.mp4 *.ogg *.opus *.webp *.map *.xlsx + exclude: + - app/assets/images + - app/assets/fonts + - app/assets/videos + - app/assets/builds + + ## Alternatively, the only files or `File.fnmatch patterns` to search in `paths`: + ## If specified, this settings takes priority over `exclude`, but `exclude` still applies. + # only: ["*.rb", "*.html.slim"] + + ## If `strict` is `false`, guess usages such as t("categories.#{category}.title"). The default is `true`. + # strict: true + + ## Allows adding ast_matchers for finding translations using the AST-scanners + ## The available matchers are: + ## - RailsModelMatcher + ## Matches ActiveRecord translations like + ## User.human_attribute_name(:email) and User.model_name.human + ## + ## To implement your own, please see `I18n::Tasks::Scanners::AstMatchers::BaseMatcher`. + # <%# I18n::Tasks.add_ast_matcher('I18n::Tasks::Scanners::AstMatchers::RailsModelMatcher') %> + + ## Multiple scanners can be used. Their results are merged. + ## The options specified above are passed down to each scanner. Per-scanner options can be specified as well. + ## See this example of a custom scanner: https://github.com/glebm/i18n-tasks/wiki/A-custom-scanner-example + +## Translation Services +# translation: +# # Google Translate +# # Get an API key and set billing info at https://code.google.com/apis/console to use Google Translate +# google_translate_api_key: "AbC-dEf5" +# # DeepL Pro Translate +# # Get an API key and subscription at https://www.deepl.com/pro to use DeepL Pro +# deepl_api_key: "48E92789-57A3-466A-9959-1A1A1A1A1A1A" +# # deepl_host: "https://api.deepl.com" +# # deepl_version: "v2" +# # add additional options to the DeepL.translate call: https://www.deepl.com/docs-api/translate-text/translate-text/ +# deepl_options: +# formality: prefer_less +## Do not consider these keys missing: +# ignore_missing: +# - 'errors.messages.{accepted,blank,invalid,too_short,too_long}' +# - '{devise,simple_form}.*' + +## Consider these keys used: +ignore_unused: + - 'activerecord.{models,attributes,errors}.*' + - 'permission_*' + - '{devise,kaminari,will_paginate}.*' + +## Exclude these keys from the `i18n-tasks eq-base' report: +# ignore_eq_base: +# all: +# - common.ok +# fr,es: +# - common.brand + +## Exclude these keys from the `i18n-tasks check-consistent-interpolations` report: +# ignore_inconsistent_interpolations: +# - 'activerecord.attributes.*' + +## Ignore these keys completely: +# ignore: +# - kaminari.* + +## Sometimes, it isn't possible for i18n-tasks to match the key correctly, +## e.g. in case of a relative key defined in a helper method. +## In these cases you can use the built-in PatternMapper to map patterns to keys, e.g.: +# +# <%# I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper', +# only: %w(*.html.haml *.html.slim), +# patterns: [['= title\b', '.page_title']] %> +# +# The PatternMapper can also match key literals via a special %{key} interpolation, e.g.: +# +# <%# I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper', +# patterns: [['\bSpree\.t[( ]\s*%{key}', 'spree.%{key}']] %> diff --git a/config/initializers/00-load_plugins.rb b/config/initializers/00-load_plugins.rb index 34cec6888b7b..40566b60b628 100644 --- a/config/initializers/00-load_plugins.rb +++ b/config/initializers/00-load_plugins.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/03-db_check.rb b/config/initializers/03-db_check.rb index a3656958ad49..e026eacd7333 100644 --- a/config/initializers/03-db_check.rb +++ b/config/initializers/03-db_check.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/05-null_db_fallback.rb b/config/initializers/05-null_db_fallback.rb index 7bdeaba0a657..b5fb9cd3bffd 100644 --- a/config/initializers/05-null_db_fallback.rb +++ b/config/initializers/05-null_db_fallback.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/06-pending_migrations_check.rb b/config/initializers/06-pending_migrations_check.rb index 2c3735d611da..869095e63b70 100644 --- a/config/initializers/06-pending_migrations_check.rb +++ b/config/initializers/06-pending_migrations_check.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/10-load_patches.rb b/config/initializers/10-load_patches.rb index dfc982a05017..05792c1c2504 100644 --- a/config/initializers/10-load_patches.rb +++ b/config/initializers/10-load_patches.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/30-open_project_loading.rb b/config/initializers/30-open_project_loading.rb index fa12c3df929c..0fea8c935977 100644 --- a/config/initializers/30-open_project_loading.rb +++ b/config/initializers/30-open_project_loading.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/activity.rb b/config/initializers/activity.rb index 7498083d6b20..3c9f322f4f7b 100644 --- a/config/initializers/activity.rb +++ b/config/initializers/activity.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/airbrake.rb b/config/initializers/airbrake.rb index 15bc5858884e..08c0268f7437 100644 --- a/config/initializers/airbrake.rb +++ b/config/initializers/airbrake.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/appsignal.rb b/config/initializers/appsignal.rb index fef458a86fbf..1706ad12e2e8 100644 --- a/config/initializers/appsignal.rb +++ b/config/initializers/appsignal.rb @@ -41,8 +41,8 @@ ) # Extend the core log delegator - handler = ::OpenProject::Appsignal.method(:exception_handler) - ::OpenProject::Logging::LogDelegator.register(:appsignal, handler) + handler = OpenProject::Appsignal.method(:exception_handler) + OpenProject::Logging::LogDelegator.register(:appsignal, handler) Appsignal.start end diff --git a/config/initializers/backtrace_silencers.rb b/config/initializers/backtrace_silencers.rb index 716fdd929f1d..6285a1a8ed34 100644 --- a/config/initializers/backtrace_silencers.rb +++ b/config/initializers/backtrace_silencers.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/bcrypt.rb b/config/initializers/bcrypt.rb index d57934b13f56..a3d6ec735260 100644 --- a/config/initializers/bcrypt.rb +++ b/config/initializers/bcrypt.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/bullet.rb b/config/initializers/bullet.rb index 8dced2ed1c4b..a45558be6550 100644 --- a/config/initializers/bullet.rb +++ b/config/initializers/bullet.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/carrierwave.rb b/config/initializers/carrierwave.rb index 34de91a4bb89..ebcb20e3cc4f 100644 --- a/config/initializers/carrierwave.rb +++ b/config/initializers/carrierwave.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/custom_field_format.rb b/config/initializers/custom_field_format.rb index 13f4d5845a85..00408d7e3d48 100644 --- a/config/initializers/custom_field_format.rb +++ b/config/initializers/custom_field_format.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/delayed_job_config.rb b/config/initializers/delayed_job_config.rb index c5dbfd6d6acd..89c3af7505ce 100644 --- a/config/initializers/delayed_job_config.rb +++ b/config/initializers/delayed_job_config.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,7 +36,7 @@ Rails.application.reloader.to_prepare do # Set default priority (lower = higher priority) # Example ordering, see ApplicationJob.priority_number - Delayed::Worker.default_priority = ::ApplicationJob.priority_number(:default) + Delayed::Worker.default_priority = ApplicationJob.priority_number(:default) end # Do not retry jobs from delayed_job diff --git a/config/initializers/doorkeeper.rb b/config/initializers/doorkeeper.rb index 910f484973c3..7994c3760b30 100644 --- a/config/initializers/doorkeeper.rb +++ b/config/initializers/doorkeeper.rb @@ -5,11 +5,7 @@ # This block will be called to check whether the resource owner is authenticated or not. resource_owner_authenticator do logged_user = session[:user_id] && User.active.find_by(id: session[:user_id]) - if logged_user.present? - logged_user - else - redirect_to(signin_path(back_url: request.fullpath)) - end + logged_user.presence || redirect_to(signin_path(back_url: request.fullpath)) end # If you are planning to use Doorkeeper in Rails 5 API-only application, then you might diff --git a/config/initializers/enforce_isolation_level.rb b/config/initializers/enforce_isolation_level.rb index 4a7dc9776869..edfa6fbe7bcc 100644 --- a/config/initializers/enforce_isolation_level.rb +++ b/config/initializers/enforce_isolation_level.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/filter_parameter_logging.rb b/config/initializers/filter_parameter_logging.rb index 6add79ac84b8..887a04e2611f 100644 --- a/config/initializers/filter_parameter_logging.rb +++ b/config/initializers/filter_parameter_logging.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/grape.rb b/config/initializers/grape.rb index 861c055419f0..d1c77c8cab1b 100644 --- a/config/initializers/grape.rb +++ b/config/initializers/grape.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/homescreen.rb b/config/initializers/homescreen.rb index e26b34d433ef..5f982831c543 100644 --- a/config/initializers/homescreen.rb +++ b/config/initializers/homescreen.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/inflections.rb b/config/initializers/inflections.rb index ca15b80b75ad..d34a339afe44 100644 --- a/config/initializers/inflections.rb +++ b/config/initializers/inflections.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/log_slow_sql_queries.rb b/config/initializers/log_slow_sql_queries.rb index 9895ce0bc3eb..eadc105cb402 100644 --- a/config/initializers/log_slow_sql_queries.rb +++ b/config/initializers/log_slow_sql_queries.rb @@ -17,7 +17,7 @@ next if duration <= slow_sql_threshold payload = { - duration: duration, + duration:, time: start.iso8601, cached: !!data[:cache], sql: data[:sql] @@ -25,7 +25,7 @@ sql_log_string = data[:sql].strip.gsub(/(^(\s+)?$\n)/, "") OpenProject.logger.warn "Encountered slow SQL (#{payload[:duration]} ms): #{sql_log_string}", - payload: payload, + payload:, # Hash of the query for reference/fingerprinting reference: Digest::SHA1.hexdigest(data[:sql]) rescue StandardError => e diff --git a/config/initializers/lograge.rb b/config/initializers/lograge.rb index bd21de8df7ba..e59403056146 100644 --- a/config/initializers/lograge.rb +++ b/config/initializers/lograge.rb @@ -8,6 +8,6 @@ # Add custom data to event payload config.lograge.custom_payload do |controller| - ::OpenProject::Logging.extend_payload!({}, { controller: controller }) + OpenProject::Logging.extend_payload!({}, { controller: }) end end diff --git a/config/initializers/menus.rb b/config/initializers/menus.rb index e4e0ea015454..70d545f05608 100644 --- a/config/initializers/menus.rb +++ b/config/initializers/menus.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -37,7 +37,7 @@ caption: I18n.t('label_projects_menu'), icon: 'projects', if: Proc.new { - (User.current.logged? || !Setting.login_required?) + User.current.logged? || !Setting.login_required? } menu.push :activity, @@ -139,13 +139,13 @@ icon: 'projects', after: :home, if: Proc.new { - (User.current.logged? || !Setting.login_required?) + User.current.logged? || !Setting.login_required? } menu.push :projects_query_select, { controller: '/projects', project_id: nil, action: 'index' }, parent: :projects, - partial: 'projects/menu_query_select' + partial: 'projects/menus/menu' # Activity menu.push :activity, @@ -162,7 +162,7 @@ menu.push :work_packages, { controller: '/work_packages', action: 'index' }, caption: :label_work_package_plural, - icon: 'view-timeline', + icon: Proc.new { OpenProject::FeatureDecisions.show_separate_gantt_module_active? ? 'view-list' : 'view-timeline' }, after: :activity menu.push :work_packages_query_select, @@ -303,7 +303,7 @@ { controller: '/admin/settings/work_packages_settings', action: :show }, if: Proc.new { User.current.admin? }, caption: :label_work_package_plural, - icon: 'view-timeline' + icon: Proc.new { OpenProject::FeatureDecisions.show_separate_gantt_module_active? ? 'view-list' : 'view-timeline' } menu.push :work_packages_setting, { controller: '/admin/settings/work_packages_settings', action: :show }, @@ -546,7 +546,7 @@ menu.push :work_packages, { controller: '/work_packages', action: 'index' }, caption: :label_work_package_plural, - icon: 'view-timeline', + icon: Proc.new { OpenProject::FeatureDecisions.show_separate_gantt_module_active? ? 'view-list' : 'view-timeline' }, html: { id: 'main-menu-work-packages', 'wp-query-menu': 'wp-query-menu' @@ -582,6 +582,12 @@ before: :settings, icon: 'group' + menu.push :members_menu, + { controller: '/members', action: 'index' }, + parent: :members, + partial: 'members/menus/menu', + caption: :label_member_plural + menu.push :settings, { controller: '/projects/settings/general', action: :show }, caption: :label_project_settings, diff --git a/config/initializers/mime_types.rb b/config/initializers/mime_types.rb index 28b517729294..f058462b60eb 100644 --- a/config/initializers/mime_types.rb +++ b/config/initializers/mime_types.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/module_handler.rb b/config/initializers/module_handler.rb index 0af3691c0cff..a1c888934aa7 100644 --- a/config/initializers/module_handler.rb +++ b/config/initializers/module_handler.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb index 7ebaf4fb21de..e7a23093a6c7 100644 --- a/config/initializers/omniauth.rb +++ b/config/initializers/omniauth.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/permissions.rb b/config/initializers/permissions.rb index 7b8cc6338772..b11a224df1ed 100644 --- a/config/initializers/permissions.rb +++ b/config/initializers/permissions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -110,32 +110,21 @@ require: :member map.permission :manage_members, - { members: %i[index new create update destroy autocomplete_for_member] }, + { + members: %i[index new create update destroy autocomplete_for_member menu], + 'members/menus': %i[show] + }, permissible_on: :project, require: :member, dependencies: :view_members, contract_actions: { members: %i[create update destroy] } - map.permission :share_work_packages, - { - 'work_packages/shares': %i[index create destroy update resend_invite], - 'work_packages/shares/bulk': %i[update destroy] - }, - permissible_on: :project, - dependencies: %i[edit_work_packages view_shared_work_packages], - require: :member - - map.permission :view_shared_work_packages, + map.permission :view_members, { - 'work_packages/shares': %i[index] + members: %i[index menu], + 'members/menus': %i[show] }, permissible_on: :project, - require: :member, - contract_actions: { work_package_shares: %i[index] } - - map.permission :view_members, - { members: [:index] }, - permissible_on: :project, contract_actions: { members: %i[read] } map.permission :manage_versions, @@ -312,11 +301,34 @@ permissible_on: :project, dependencies: :view_work_packages + map.permission :share_work_packages, + { + 'work_packages/shares': %i[index create destroy update resend_invite], + 'work_packages/shares/bulk': %i[update destroy] + }, + permissible_on: :project, + dependencies: %i[edit_work_packages view_shared_work_packages], + require: :member + + map.permission :view_shared_work_packages, + { + 'work_packages/shares': %i[index] + }, + permissible_on: :project, + require: :member, + contract_actions: { work_package_shares: %i[index] } + wpt.permission :assign_versions, {}, permissible_on: :project, dependencies: :view_work_packages + # WP status can be changed with :edit_work_packages, this permission allows it without Edit WP as well. + wpt.permission :change_work_package_status, + {}, + permissible_on: :project, + dependencies: :view_work_packages + # A user having the following permission can become assignee and/or responsible of a work package. # This is a passive permission in the sense that a user having the permission isn't eligible to perform # actions but rather to have actions taken together with him/her. diff --git a/config/initializers/plaintext.rb b/config/initializers/plaintext.rb index 43c78482121b..67f6e611c87e 100644 --- a/config/initializers/plaintext.rb +++ b/config/initializers/plaintext.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -file_name = File.join([Rails.root.to_s, 'config', 'plaintext.yml']) +file_name = Rails.root.join.to_s if File.file?(file_name) config_file = File.read(file_name) Plaintext::Configuration.load(config_file) diff --git a/config/initializers/rack-attack.rb b/config/initializers/rack-attack.rb index 0e45713d2016..7988a3fc0fc0 100644 --- a/config/initializers/rack-attack.rb +++ b/config/initializers/rack-attack.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/rack-cors.rb b/config/initializers/rack-cors.rb index e3133dbf9723..e657fcaa5a80 100644 --- a/config/initializers/rack-cors.rb +++ b/config/initializers/rack-cors.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,17 +27,17 @@ #++ Rails.application.config.middleware.insert_after Rails::Rack::Logger, Rack::Cors do allow do - origins { |source, _env| ::API::V3::CORS.allowed?(source) } + origins { |source, _env| API::V3::CORS.allowed?(source) } resource '/api/v3*', headers: :any, methods: :any, credentials: true, - if: proc { ::API::V3::CORS.enabled? } + if: proc { API::V3::CORS.enabled? } resource '/oauth/*', headers: :any, methods: :any, credentials: true, - if: proc { ::API::V3::CORS.enabled? } + if: proc { API::V3::CORS.enabled? } end end diff --git a/config/initializers/rack_timeout.rb b/config/initializers/rack_timeout.rb index 46cf2aae153b..b6bd86e773ae 100644 --- a/config/initializers/rack_timeout.rb +++ b/config/initializers/rack_timeout.rb @@ -7,10 +7,10 @@ Rails.logger.debug { "Enabling Rack::Timeout (service=#{service_timeout}s wait=#{wait_timeout}s)" } Rails.application.config.middleware.insert_before( - ::Rack::Runtime, - ::Rack::Timeout, - service_timeout: service_timeout, # time after which a request being served times out - wait_timeout: wait_timeout, # time after which a request waiting to be served times out + Rack::Runtime, + Rack::Timeout, + service_timeout:, # time after which a request being served times out + wait_timeout:, # time after which a request waiting to be served times out term_on_timeout: 1, # shut down worker (gracefully) right away on timeout to be restarted service_past_wait: true # Treat the service timeout as independent from the wait timeout ) @@ -23,7 +23,7 @@ details = env[Rack::Timeout::ENV_INFO_KEY] if details.state == :timed_out && details.wait.present? - ::OpenProject.logger.error "Request timed out waiting to be served!" + OpenProject.logger.error "Request timed out waiting to be served!" end end diff --git a/config/initializers/rails_footnotes.rb b/config/initializers/rails_footnotes.rb index 48e96e0db4a2..02bbba8881db 100644 --- a/config/initializers/rails_footnotes.rb +++ b/config/initializers/rails_footnotes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/register_mail_interceptors.rb b/config/initializers/register_mail_interceptors.rb index c7a77a42cae5..3fa5bba0fe1f 100644 --- a/config/initializers/register_mail_interceptors.rb +++ b/config/initializers/register_mail_interceptors.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/register_renderer.rb b/config/initializers/register_renderer.rb index 7cd9c98ad6dc..2d8267becf3e 100644 --- a/config/initializers/register_renderer.rb +++ b/config/initializers/register_renderer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/register_views.rb b/config/initializers/register_views.rb index a3a26fffa215..a01cb748eaef 100644 --- a/config/initializers/register_views.rb +++ b/config/initializers/register_views.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/search.rb b/config/initializers/search.rb index 5b8718e5919a..6d83479b699b 100644 --- a/config/initializers/search.rb +++ b/config/initializers/search.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index 4426fc80260b..af35f8a1b70b 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -44,7 +44,7 @@ ## # We use our own decorated session model to note the user_id # for each session. - ActionDispatch::Session::ActiveRecordStore.session_class = ::Sessions::SqlBypass + ActionDispatch::Session::ActiveRecordStore.session_class = Sessions::SqlBypass # Continue to use marshal serialization to retain symbols and whatnot ActiveRecord::SessionStore::Session.serializer = :marshal end diff --git a/config/initializers/subscribe_listeners.rb b/config/initializers/subscribe_listeners.rb index 290006426a6c..00f6404a7b92 100644 --- a/config/initializers/subscribe_listeners.rb +++ b/config/initializers/subscribe_listeners.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/time_with_zone_as_json.rb b/config/initializers/time_with_zone_as_json.rb index 7d1b17d621ce..117f21ffaa4d 100644 --- a/config/initializers/time_with_zone_as_json.rb +++ b/config/initializers/time_with_zone_as_json.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb index ec698edc236d..62b4dbd97897 100644 --- a/config/initializers/wrap_parameters.rb +++ b/config/initializers/wrap_parameters.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/config/locales/crowdin/af.yml b/config/locales/crowdin/af.yml index 4e6ae5b9ae75..0f10663047d5 100644 --- a/config/locales/crowdin/af.yml +++ b/config/locales/crowdin/af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ af: no_results_content_text: Add a member to the project invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Failed to reset access token: %{error}" @@ -606,7 +618,9 @@ af: begin_insertion: "Begin of the insertion" begin_deletion: "Begin of the deletion" children: "Subelements" - done_ratio: "Progress (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Duration" end_insertion: "End of the insertion" end_deletion: "End of the deletion" @@ -620,8 +634,10 @@ af: parent_issue: "Ouer" parent_work_package: "Ouer" priority: "Prioriteit" - progress: "Progress (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "Tyd gespandeer" spent_time: "Tyd gespandeer" @@ -1034,12 +1050,12 @@ af: default_columns: "Verstekkolomme" description: "Beskrywing" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Vertoon totale" due_date: "Finish date" - estimated_hours: "Geraamde tyd" - estimated_time: "Geraamde tyd" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Expires at" firstname: "Voornaam" group: "Groep" @@ -1385,7 +1401,7 @@ af: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Werkspakket klaar-verhoudings nie bygewerk nie." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "Die werkspakket is nie gekry nie of behoort nie aan hierdie projek nie" error_must_be_project_member: "moet projeklid wees" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2065,7 +2081,7 @@ af: label_type_new: "New type" label_type_plural: "Soorte" label_ui: "User Interface" - label_update_work_package_done_ratios: "Update work package done ratios" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Updated %{value} ago" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Updated by %{author} %{age} ago" @@ -2150,6 +2166,10 @@ af: one: "1 open" other: "%{count} open" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 project" other: "%{count} projekte" @@ -2333,7 +2353,7 @@ af: notice_file_not_found: "The page you were trying to access doesn't exist or has been removed." notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." notice_internal_server_error: "An error occurred on the page you were trying to access. If you continue to experience problems please contact your %{app_title} administrator for assistance." - notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Information has been updated by at least one other user in the meantime." notice_locking_conflict_additional_information: "The update(s) came from %{users}." notice_locking_conflict_reload_page: "Please reload the page, review the changes and reapply your updates." @@ -2409,6 +2429,8 @@ af: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Change parent wiki page" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Comment news" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy projects" @@ -2470,7 +2492,7 @@ af: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "View reportings" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "View spent time" permission_view_timelines: "View timelines" permission_view_wiki_edits: "View wiki history" @@ -2511,6 +2533,7 @@ af: project_module_news: "Nuus" project_module_repository: "Repository" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2700,10 +2723,10 @@ af: setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Calculate the work package done ratio with" - setting_work_package_done_ratio_field: "Use the work package field" - setting_work_package_done_ratio_status: "Use the work package status" - setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Display by default" setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" @@ -3141,9 +3164,9 @@ af: unsupported_context: "Die bron gegee word nie as konteks ondersteun nie." context_object_not_found: "Kan nie die hulpbron gegee as die konteks vind nie." validation: - done_ratio: "Klaar verhouding kan nie gestel word op ouerwerkspakkette wanneer dit vanuit status afgelei is of wanneer onaktief is." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Beraamde ure kan nie gestel word op ouerwerkspakkette nie." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "Die gekose gebruiker is nie toegelaat om '%{property}' vir hierdie werkspakket te wees nie." start_date: "Begindatum kan nie gestel word op ouerwerkspakkette nie." eprops: diff --git a/config/locales/crowdin/ar.yml b/config/locales/crowdin/ar.yml index 62af400c76c2..bf7e1eecd8cf 100644 --- a/config/locales/crowdin/ar.yml +++ b/config/locales/crowdin/ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ ar: no_results_content_text: أضف عضواً إلى المشروع invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Failed to reset access token: %{error}" @@ -610,7 +622,9 @@ ar: begin_insertion: "البدء بالإدراج" begin_deletion: "البدء بالحذف" children: "Subelements" - done_ratio: "التقدم (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "المدّة" end_insertion: "نهاية الإدراج" end_deletion: "نهاية الحذف" @@ -624,8 +638,10 @@ ar: parent_issue: "الجذر" parent_work_package: "الجذر" priority: "الأولوية" - progress: "التقدم (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "الوقت المستهلك" spent_time: "الوقت المستهلك" @@ -1070,12 +1086,12 @@ ar: default_columns: "الأعمدة الافتراضية" description: "الوصف" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "عرض المبالغ" due_date: "Finish date" - estimated_hours: "الوقت المُقّدَّر" - estimated_time: "الوقت المُقّدَّر" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Expires at" firstname: "الاسم الأول" group: "مجموعة" @@ -1493,7 +1509,7 @@ ar: error_pdf_export_too_many_columns: "تم تحديد عدد كبير جداً من الأعمدة لتصدير PDF. الرجاء تقليل عدد الأعمدة." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "لم يتم تحديث نسب الانجاز في مجموعة العمل." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "مجموعة العمل غير موجودة, أو أنها لا تخص هذا المشروع" error_must_be_project_member: "يجب أن تكون عضو في المشروع" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2173,7 +2189,7 @@ ar: label_type_new: "نوع جديد" label_type_plural: "الأنواع" label_ui: "واجهة المستخدم" - label_update_work_package_done_ratios: "تحديث نسبة مهمات العمل التي تم إنجازها" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "قبل%{value} تحديث" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "قبل %{author}%{age} تحديث وفق" @@ -2258,6 +2274,10 @@ ar: one: "1 open" other: "%{count} مفتوح" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 project" other: "%{count} مشاريع" @@ -2445,7 +2465,7 @@ ar: notice_file_not_found: "الصفحة التي تحاول الوصول إليها غير موجودة أو قد أزيلت." notice_forced_logout: "لقد قمت تلقائياً بتسجيل خروج بعد %{ttl_time} دقائق من الخمول." notice_internal_server_error: "حدث خطأ في الصفحة التي تحاول الوصول إليها. إذا كنت لا تزال تواجه مشاكل الرجاء الاتصال بالمسؤول %{app_title} للحصول على المساعدة." - notice_work_package_done_ratios_updated: "تم تحديث النسب المنجزة في مجموعة العمل." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "تم تحديث المعلومات من قبل مستخدم واحد آخر على الأقل في الوقت نفسه." notice_locking_conflict_additional_information: "تم تقديم التحديثات من قبل %{users}." notice_locking_conflict_reload_page: "الرجاء إعادة تحميل الصفحة، ومراجعة التغييرات وإعادة تطبيق التحديثات الخاصة بك." @@ -2525,6 +2545,8 @@ ar: permission_assign_versions: "Assign versions" permission_browse_repository: "وصول للقراءة فقط إلى مستودع (استعراض والخروج)" permission_change_wiki_parent_page: "تغيير صفحة wikiالاصلية" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "أخبار التعليق" permission_commit_access: "الوصول للقراءة/الكتابة إلى المستودع (الالتزام)" permission_copy_projects: "نسخ المشاريع" @@ -2586,7 +2608,7 @@ ar: permission_view_news: "View news" permission_view_members: "عرض الأعضاء" permission_view_reportings: "عرض التقارير" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "عرض الوقت المنقضي" permission_view_timelines: "عرض الخطوط الزمنية" permission_view_wiki_edits: "عرض تاريخ wiki" @@ -2627,6 +2649,7 @@ ar: project_module_news: "الأخبار" project_module_repository: "مستودع البيانات" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2814,10 +2837,10 @@ ar: setting_file_max_size_displayed: "عرض الحد الأقصى لحجم الملفات النصية المضمنة في السطر" setting_host_name: "إسم المضيف" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "حساب نسبة المنجزة من مجموعة العمل مع" - setting_work_package_done_ratio_field: "استخدم حقل مجموعة العمل" - setting_work_package_done_ratio_status: "استخدم حالة مجموعة العمل" - setting_work_package_done_ratio_disabled: "تعطيل (إخفاء التقدم)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "عرض بشكل افتراضي" setting_work_package_properties: "خصائص مجموعة العمل" setting_work_package_startdate_is_adddate: "استخدام التاريخ الحالي كتاريخ البدء لمجموعات العمل الجديدة" @@ -3259,9 +3282,9 @@ ar: unsupported_context: "غير معتمد المورد نظراً للسياق." context_object_not_found: "تعذر العثور على المورد نظراً للسياق." validation: - done_ratio: "لا يمكن تعيين نسبة القيام به في مجموعات العمل الأصلية، عندما يتم الاستدلال بحالة أو تعطيله." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "لا يمكن تعيين الساعات المقدرة على حزم العمل." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "غير مسموح للمستخدم الذي تم اختياره أن يكون '%{property}' لمجموعة العمل هذه." start_date: "الوقت لإتمام المشروع لا يمكن تعيينه في حزم العمل الحالية." eprops: diff --git a/config/locales/crowdin/az.yml b/config/locales/crowdin/az.yml index 3ebe495d4ca3..7d875e8002be 100644 --- a/config/locales/crowdin/az.yml +++ b/config/locales/crowdin/az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ az: no_results_content_text: Add a member to the project invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Failed to reset access token: %{error}" @@ -606,7 +618,9 @@ az: begin_insertion: "Begin of the insertion" begin_deletion: "Begin of the deletion" children: "Subelements" - done_ratio: "Progress (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Duration" end_insertion: "End of the insertion" end_deletion: "End of the deletion" @@ -620,8 +634,10 @@ az: parent_issue: "Parent" parent_work_package: "Parent" priority: "Priority" - progress: "Progress (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "Spent time" spent_time: "Spent time" @@ -1034,12 +1050,12 @@ az: default_columns: "Default columns" description: "Description" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Display Sums" due_date: "Finish date" - estimated_hours: "Estimated time" - estimated_time: "Estimated time" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Expires at" firstname: "First name" group: "Group" @@ -1385,7 +1401,7 @@ az: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Work package done ratios not updated." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_must_be_project_member: "must be project member" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2065,7 +2081,7 @@ az: label_type_new: "New type" label_type_plural: "Types" label_ui: "User Interface" - label_update_work_package_done_ratios: "Update work package done ratios" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Updated %{value} ago" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Updated by %{author} %{age} ago" @@ -2150,6 +2166,10 @@ az: one: "1 open" other: "%{count} open" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 project" other: "%{count} projects" @@ -2333,7 +2353,7 @@ az: notice_file_not_found: "The page you were trying to access doesn't exist or has been removed." notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." notice_internal_server_error: "An error occurred on the page you were trying to access. If you continue to experience problems please contact your %{app_title} administrator for assistance." - notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Information has been updated by at least one other user in the meantime." notice_locking_conflict_additional_information: "The update(s) came from %{users}." notice_locking_conflict_reload_page: "Please reload the page, review the changes and reapply your updates." @@ -2409,6 +2429,8 @@ az: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Change parent wiki page" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Comment news" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy projects" @@ -2470,7 +2492,7 @@ az: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "View reportings" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "View spent time" permission_view_timelines: "View timelines" permission_view_wiki_edits: "View wiki history" @@ -2511,6 +2533,7 @@ az: project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2700,10 +2723,10 @@ az: setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Calculate the work package done ratio with" - setting_work_package_done_ratio_field: "Use the work package field" - setting_work_package_done_ratio_status: "Use the work package status" - setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Display by default" setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" @@ -3141,9 +3164,9 @@ az: unsupported_context: "The resource given is not supported as context." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Estimated hours cannot be set on parent work packages." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." start_date: "Start date cannot be set on parent work packages." eprops: diff --git a/config/locales/crowdin/be.yml b/config/locales/crowdin/be.yml index ae7143a1ac26..c64b8bdf7794 100644 --- a/config/locales/crowdin/be.yml +++ b/config/locales/crowdin/be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ be: no_results_content_text: Add a member to the project invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Failed to reset access token: %{error}" @@ -608,7 +620,9 @@ be: begin_insertion: "Begin of the insertion" begin_deletion: "Begin of the deletion" children: "Subelements" - done_ratio: "Progress (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Duration" end_insertion: "End of the insertion" end_deletion: "End of the deletion" @@ -622,8 +636,10 @@ be: parent_issue: "Parent" parent_work_package: "Parent" priority: "Priority" - progress: "Progress (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Ручное планаванне" spent_hours: "Spent time" spent_time: "Spent time" @@ -1052,12 +1068,12 @@ be: default_columns: "Default columns" description: "Description" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Display Sums" due_date: "Finish date" - estimated_hours: "Estimated time" - estimated_time: "Estimated time" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Expires at" firstname: "Імя" group: "Group" @@ -1439,7 +1455,7 @@ be: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Work package done ratios not updated." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_must_be_project_member: "must be project member" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2119,7 +2135,7 @@ be: label_type_new: "New type" label_type_plural: "Types" label_ui: "User Interface" - label_update_work_package_done_ratios: "Update work package done ratios" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Updated %{value} ago" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Updated by %{author} %{age} ago" @@ -2204,6 +2220,10 @@ be: one: "1 open" other: "%{count} open" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 project" other: "%{count} projects" @@ -2389,7 +2409,7 @@ be: notice_file_not_found: "The page you were trying to access doesn't exist or has been removed." notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." notice_internal_server_error: "An error occurred on the page you were trying to access. If you continue to experience problems please contact your %{app_title} administrator for assistance." - notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Information has been updated by at least one other user in the meantime." notice_locking_conflict_additional_information: "The update(s) came from %{users}." notice_locking_conflict_reload_page: "Please reload the page, review the changes and reapply your updates." @@ -2467,6 +2487,8 @@ be: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Change parent wiki page" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Comment news" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy projects" @@ -2528,7 +2550,7 @@ be: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "View reportings" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "View spent time" permission_view_timelines: "View timelines" permission_view_wiki_edits: "View wiki history" @@ -2569,6 +2591,7 @@ be: project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2758,10 +2781,10 @@ be: setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Calculate the work package done ratio with" - setting_work_package_done_ratio_field: "Use the work package field" - setting_work_package_done_ratio_status: "Use the work package status" - setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Display by default" setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" @@ -3201,9 +3224,9 @@ be: unsupported_context: "The resource given is not supported as context." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Estimated hours cannot be set on parent work packages." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." start_date: "Start date cannot be set on parent work packages." eprops: diff --git a/config/locales/crowdin/bg.yml b/config/locales/crowdin/bg.yml index 85ca043be603..d048649936b8 100644 --- a/config/locales/crowdin/bg.yml +++ b/config/locales/crowdin/bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ bg: no_results_content_text: Добавяне на член към проекта invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Failed to reset access token: %{error}" @@ -606,7 +618,9 @@ bg: begin_insertion: "Начало на вмъкване" begin_deletion: "Начало на изтриване" children: "Subelements" - done_ratio: "Прогрес (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Продължителност" end_insertion: "Край на вмъкване" end_deletion: "Края на изтриване" @@ -620,8 +634,10 @@ bg: parent_issue: "Горна категория" parent_work_package: "Горна категория" priority: "Приоритет" - progress: "Прогрес (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Ръчно планиране" spent_hours: "Отработено време" spent_time: "Отработено време" @@ -1034,12 +1050,12 @@ bg: default_columns: "Колони по подразбиране" description: "Описание" derived_due_date: "Изведена крайна дата" - derived_estimated_hours: "Изведено приблизително време" + derived_estimated_hours: "Derived work" derived_start_date: "Изведена начална дата" display_sums: "Показване на суми" due_date: "Finish date" - estimated_hours: "Очаквано време" - estimated_time: "Очаквано време" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Expires at" firstname: "Собствено име" group: "Група" @@ -1385,7 +1401,7 @@ bg: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Не са актуализирани нивата на завършване в работният пакет." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "Работен пакет не е намерен или не принадлежи на този проект" error_must_be_project_member: "трябва да бъде член проекта" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2065,7 +2081,7 @@ bg: label_type_new: "Нов тип" label_type_plural: "Видове" label_ui: "Потребителски интерфейс" - label_update_work_package_done_ratios: "Актуализиране на готовност на работни пакети" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Актуализиран преди %{value}" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Актуализирана от %{author} преди %{age}" @@ -2150,6 +2166,10 @@ bg: one: "1 отворен" other: "%{count} отворени" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 проект" other: "%{count} проекти" @@ -2333,7 +2353,7 @@ bg: notice_file_not_found: "Несъществуваща или преместена страница." notice_forced_logout: "Вие автоматично излязохте след %{ttl_time} минути на неактивност." notice_internal_server_error: "Възникна грешка в страницата, до която се опитвате да получите достъп. Ако продължавате да имате проблеми свържете %{app_title} администратор за съдействие." - notice_work_package_done_ratios_updated: "Актуализирано ниво на завършване на работен пакет." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Информацията е актуализирана от поне един друг потребител в същото време." notice_locking_conflict_additional_information: "Обновленията са от %{users}." notice_locking_conflict_reload_page: "Моля презаредете страницата, прегледайте промените и приложете отново вашите обновления." @@ -2409,6 +2429,8 @@ bg: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Change parent wiki page" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Comment news" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy projects" @@ -2470,7 +2492,7 @@ bg: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "View reportings" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "View spent time" permission_view_timelines: "View timelines" permission_view_wiki_edits: "View wiki history" @@ -2511,6 +2533,7 @@ bg: project_module_news: "Новини" project_module_repository: "Хранилище" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2700,10 +2723,10 @@ bg: setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Име на хост" setting_invitation_expiration_days: "Имейлът за активиране изтича след" - setting_work_package_done_ratio: "Calculate the work package done ratio with" - setting_work_package_done_ratio_field: "Use the work package field" - setting_work_package_done_ratio_status: "Use the work package status" - setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Display by default" setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" @@ -3141,9 +3164,9 @@ bg: unsupported_context: "The resource given is not supported as context." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Estimated hours cannot be set on parent work packages." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." start_date: "Start date cannot be set on parent work packages." eprops: diff --git a/config/locales/crowdin/ca.yml b/config/locales/crowdin/ca.yml index 1331b75f9127..e4567ee39fd7 100644 --- a/config/locales/crowdin/ca.yml +++ b/config/locales/crowdin/ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -278,6 +278,18 @@ ca: no_results_content_text: Afegeix un membre al projecte invite_by_mail: "Envia invitació a %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Fallada al reiniciar el token d'accés: %{error}" @@ -602,7 +614,9 @@ ca: begin_insertion: "Inici de la inserció" begin_deletion: "Inici de la supressió" children: "Sub-elements" - done_ratio: "Progrés (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Duració" end_insertion: "Final de la inserció" end_deletion: "Final de la supressió" @@ -616,8 +630,10 @@ ca: parent_issue: "Pare" parent_work_package: "Pare" priority: "Prioritat" - progress: "Progrés (%)" + progress: "% Complete" readonly: "Només lectura" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Planificació manual" spent_hours: "Temps invertit" spent_time: "Temps invertit" @@ -1030,12 +1046,12 @@ ca: default_columns: "Columnes predeterminades" description: "Descripció" derived_due_date: "Data final derivada" - derived_estimated_hours: "Temps estimat derivat" + derived_estimated_hours: "Derived work" derived_start_date: "Data d'inici derivada" display_sums: "Mostra les sumes" due_date: "Data final" - estimated_hours: "Temps estimat" - estimated_time: "Temps estimat" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Caduca el" firstname: "Nom" group: "Grup" @@ -1381,7 +1397,7 @@ ca: error_pdf_export_too_many_columns: "Masses columnes seleccionades per a l'exportació PDF. Si us plau, redueix el nombre de columnes." error_pdf_failed_to_export: "No s'ha pogut guardar l'exportació PDF: %{error}" error_token_authenticity: "No s'ha pogut verificar el token de \"Cross-Site Request Forgery\". Has provat de sotmetre les dades en múltiples navegadors o pestanyes? Si us plau, tanca totes les pestanyes i prova-ho de nou." - error_work_package_done_ratios_not_updated: "Ratios d'execució de paquets de treball no actualitzats." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "El paquet de treball no s'ha trobat o no pertany a aquest projecte" error_must_be_project_member: "ha de ser membre del projecte" error_migrations_are_pending: "La teva instal·lació d'OpenProject té migracions de base de dades pendents. Probablement no vas fer les migracions en la teva última actualització. Si us plau, comprova la guia d'actualització per actualitzar la teva instal·lació correctament." @@ -2061,7 +2077,7 @@ ca: label_type_new: "Nou tipus" label_type_plural: "Classes" label_ui: "Interifície d'usuari" - label_update_work_package_done_ratios: "Actualitzar el ratio de paquets de treball fets" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Actualitzat fa %{value}" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Actualitzat per %{author} fa %{age}" @@ -2146,6 +2162,10 @@ ca: one: "Un obert" other: "%{count} oberts" zero: "0 oberts" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "Un projecte" other: "%{count} projectes" @@ -2326,7 +2346,7 @@ ca: notice_file_not_found: "La pàgina a la que intentes accedir no existeix o s'ha suprimit." notice_forced_logout: "S'et ha desconnectant automàticament després %{ttl_time} minuts d'inactivitat." notice_internal_server_error: "S'ha produït un error a la pàgina a la qual intentes accedir. Si continues tenint problemes contacte amb el vostre administrador %{app_title} per obtenir ajuda." - notice_work_package_done_ratios_updated: "S'han actualitzars els ràtios de paquets de treball fets." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "La informació s'ha actualitzat per almenys un altre usuari mentrestant." notice_locking_conflict_additional_information: "Les actualitzacions provenen de %{users}." notice_locking_conflict_reload_page: "Si us plau, regarrega la pàgina, revisa els canvis i torna a aplicar les actualitzacions." @@ -2400,6 +2420,8 @@ ca: permission_assign_versions: "Assigna versions" permission_browse_repository: "Accés de només lectura al repositori (navegar i checkout)" permission_change_wiki_parent_page: "Canviar la pàgina de pare de la wiki" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Comentar noticies" permission_commit_access: "Accés de lectura/escriptura al repositori (commit)" permission_copy_projects: "Copiar projectes" @@ -2461,7 +2483,7 @@ ca: permission_view_news: "View news" permission_view_members: "Veure els membres" permission_view_reportings: "Veure els informes" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "Visualitzar el temps invertit" permission_view_timelines: "Veure els terminis" permission_view_wiki_edits: "Visualitza l'historial de la wiki" @@ -2502,6 +2524,7 @@ ca: project_module_news: "Notícies" project_module_repository: "Repositori" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2689,10 +2712,10 @@ ca: setting_file_max_size_displayed: "Mida màxima dels fitxers de text mostrats en línia" setting_host_name: "Nom del servidor" setting_invitation_expiration_days: "L'activació de correu electrònic caduca després de" - setting_work_package_done_ratio: "Calcular la ratio d'execució del paquet de treball amb" - setting_work_package_done_ratio_field: "Utilitzar el camp de paquet de treball" - setting_work_package_done_ratio_status: "Utilitzar l'estat de paquet de treball" - setting_work_package_done_ratio_disabled: "Deshabilitar (amagar el progrés)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Mostrar per defecte" setting_work_package_properties: "Propietats de paquet de treball" setting_work_package_startdate_is_adddate: "Utilitzar la data actual com a data d'inici dels paquets de treball nous" @@ -3130,9 +3153,9 @@ ca: unsupported_context: "El recurs proporcionat no s'admet com a context." context_object_not_found: "No puc trobar el recurs proporionat com al context." validation: - done_ratio: "El ràtio de compleció no es pot definir per paquets de treball del pare, quan s'infereix de l'estat o quan està deshabilitat." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "La data de finalització no es pot establir als paquets de treball pare." - estimated_hours: "Les hores estimades no es poden definir per paquets de treball del pare." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "L'usuari escollit no pot ser \"%{property}\" per a aquest paquet de treball." start_date: "La data d'inici no es pot definir per paquets de treball del pare." eprops: diff --git a/config/locales/crowdin/ckb-IR.yml b/config/locales/crowdin/ckb-IR.yml index 58daf0c28806..c3c4d6c6ed70 100644 --- a/config/locales/crowdin/ckb-IR.yml +++ b/config/locales/crowdin/ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ ckb-IR: no_results_content_text: Add a member to the project invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Failed to reset access token: %{error}" @@ -606,7 +618,9 @@ ckb-IR: begin_insertion: "Begin of the insertion" begin_deletion: "Begin of the deletion" children: "Subelements" - done_ratio: "Progress (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Duration" end_insertion: "End of the insertion" end_deletion: "End of the deletion" @@ -620,8 +634,10 @@ ckb-IR: parent_issue: "Parent" parent_work_package: "Parent" priority: "Priority" - progress: "Progress (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "Spent time" spent_time: "Spent time" @@ -1034,12 +1050,12 @@ ckb-IR: default_columns: "Default columns" description: "Description" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Display Sums" due_date: "Finish date" - estimated_hours: "Estimated time" - estimated_time: "Estimated time" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Expires at" firstname: "First name" group: "Group" @@ -1385,7 +1401,7 @@ ckb-IR: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Work package done ratios not updated." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_must_be_project_member: "must be project member" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2065,7 +2081,7 @@ ckb-IR: label_type_new: "New type" label_type_plural: "Types" label_ui: "User Interface" - label_update_work_package_done_ratios: "Update work package done ratios" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Updated %{value} ago" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Updated by %{author} %{age} ago" @@ -2150,6 +2166,10 @@ ckb-IR: one: "1 open" other: "%{count} open" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 project" other: "%{count} projects" @@ -2333,7 +2353,7 @@ ckb-IR: notice_file_not_found: "The page you were trying to access doesn't exist or has been removed." notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." notice_internal_server_error: "An error occurred on the page you were trying to access. If you continue to experience problems please contact your %{app_title} administrator for assistance." - notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Information has been updated by at least one other user in the meantime." notice_locking_conflict_additional_information: "The update(s) came from %{users}." notice_locking_conflict_reload_page: "Please reload the page, review the changes and reapply your updates." @@ -2409,6 +2429,8 @@ ckb-IR: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Change parent wiki page" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Comment news" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy projects" @@ -2470,7 +2492,7 @@ ckb-IR: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "View reportings" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "View spent time" permission_view_timelines: "View timelines" permission_view_wiki_edits: "View wiki history" @@ -2511,6 +2533,7 @@ ckb-IR: project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2700,10 +2723,10 @@ ckb-IR: setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Calculate the work package done ratio with" - setting_work_package_done_ratio_field: "Use the work package field" - setting_work_package_done_ratio_status: "Use the work package status" - setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Display by default" setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" @@ -3141,9 +3164,9 @@ ckb-IR: unsupported_context: "The resource given is not supported as context." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Estimated hours cannot be set on parent work packages." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." start_date: "Start date cannot be set on parent work packages." eprops: diff --git a/config/locales/crowdin/cs.seeders.yml b/config/locales/crowdin/cs.seeders.yml index 8f4f62d99ec8..3c0b712c76af 100644 --- a/config/locales/crowdin/cs.seeders.yml +++ b/config/locales/crowdin/cs.seeders.yml @@ -43,11 +43,11 @@ cs: name: Ostatní work_package_roles: item_0: - name: Work package editor + name: Editor pracovních balíčků item_1: name: Work package commenter item_2: - name: Work package viewer + name: Prohlížeč pracovních balíčků project_roles: item_0: name: Není člen @@ -412,15 +412,15 @@ cs: item_10: subject: Internal link structure item_11: - subject: Develop v1.0 + subject: Vyvinout v1.0 item_12: - subject: Release v1.0 + subject: Vydání v1.0 item_13: - subject: Develop v1.1 + subject: Vyvinout v1.1 item_14: - subject: Release v1.1 + subject: Vydání v1.1 item_15: - subject: Develop v2.0 + subject: Vyvinout v2.0 item_16: subject: Vydání v2.0 wiki: | diff --git a/config/locales/crowdin/cs.yml b/config/locales/crowdin/cs.yml index 6c32d37041e6..8cb8a820e3b4 100644 --- a/config/locales/crowdin/cs.yml +++ b/config/locales/crowdin/cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ cs: no_results_content_text: Přidání člena do projektu invite_by_mail: "Poslat pozvánku do %{mail}" send_invite_to: "Odeslat pozvánky" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'Vše' + invited: 'Pozvané' + locked: 'Uzamčeno' + project_roles: 'Projektové role' + wp_shares: 'Work package shares' + groups: 'Skupiny' my: access_token: failed_to_reset_token: "Nepodařilo se obnovit přístupový token: %{error}" @@ -298,7 +310,7 @@ cs: autologins: prompt: "Stay logged in for %{num_days}" sessions: - remembered_devices: "Remembered devices" + remembered_devices: "Zapamatovaná zařízení" remembered_devices_caption: "A list of all devices that logged into this account using the 'Stay logged in' option." session_name: "%{browser_name} %{browser_version} on %{os_name}" browser: "Prohlížeč" @@ -608,7 +620,9 @@ cs: begin_insertion: "Začátek vložení" begin_deletion: "Začátek odstranění" children: "Dílčí prvky" - done_ratio: "Průběh (%)" + derived_remaining_hours: "Odvozené zbývající práce" + derived_remaining_time: "Odvozené zbývající práce" + done_ratio: "% Dokončeno" duration: "Doba trvání" end_insertion: "Konec vložení" end_deletion: "Konec odstranění" @@ -622,8 +636,10 @@ cs: parent_issue: "Nadřazený" parent_work_package: "Nadřazený" priority: "Priorita" - progress: "Průběh (%)" + progress: "% Dokončeno" readonly: "Pouze pro čtení" + remaining_hours: "Zbývající práce" + remaining_time: "Zbývající práce" schedule_manually: "Manuální plánování" spent_hours: "Strávený čas" spent_time: "Strávený čas" @@ -936,7 +952,7 @@ cs: attributes: roles: ungrantable: "má nepřiřaditelnou roli." - more_than_one: "has more than one role." + more_than_one: "má více než jednu roli." principal: unassignable: "nelze přiřadit k projektu." version: @@ -1011,7 +1027,7 @@ cs: parent_no_longer: "Již není podprojekt projektu" time_entry: hour: - one: "%{count} hour" + one: "%{count} hodina" few: "%{count} hodin" many: "%{count} hodin" other: "%{count} hodin" @@ -1052,12 +1068,12 @@ cs: default_columns: "Výchozí sloupce" description: "Popis" derived_due_date: "Derivované Datum ukončení " - derived_estimated_hours: "Derivované předpokládaný čas" + derived_estimated_hours: "Derived work" derived_start_date: "Derivované Datum zahájení " display_sums: "Zobrazit součty" due_date: "Datum dokončení" - estimated_hours: "Odhadovaný čas" - estimated_time: "Odhadovaný čas" + estimated_hours: "Práce" + estimated_time: "Práce" expires_at: "Vyprší za" firstname: "Křestní jméno" group: "Skupina" @@ -1333,10 +1349,10 @@ cs: many: "%{count} hodin" other: "%{count} hodin" x_hours_abbreviated: - one: "1 hr" - few: "%{count} hrs" - many: "%{count} hrs" - other: "%{count} hrs" + one: "1 h" + few: "%{count} hodin" + many: "" + other: "" x_weeks: one: "1 week" few: "%{count} weeks" @@ -1439,7 +1455,7 @@ cs: error_pdf_export_too_many_columns: "Příliš mnoho sloupců vybraných pro PDF export. Snižte počet sloupců." error_pdf_failed_to_export: "PDF export nelze uložit: %{error}" error_token_authenticity: "Nelze ověřit token Cross-Site Request Forgy. Pokusili jste se odeslat data na více prohlížečích nebo kartách? Prosím zavřete všechny panely a zkuste to znovu." - error_work_package_done_ratios_not_updated: "Statistiky pokroku pracovního balíčku nebyly aktualizovány." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "Pracovný balíček nebyl nalezen, nebo nepatří k tomuto projektu" error_must_be_project_member: "musí být členem projektu" error_migrations_are_pending: "Vaše instalace OpenProject čeká na migraci databáze. Pravděpodobně jste při poslední aktualizaci zmeškali migrace. Pro správnou aktualizaci vaší instalace prosím zkontrolujte průvodce aktualizací." @@ -1545,7 +1561,7 @@ cs: dates_changed: "Data změněna" system_update: "Aktualizace systému OpenProject:" cause_descriptions: - work_package_predecessor_changed_times: by changes to predecessor %{link} + work_package_predecessor_changed_times: podle změn na předchůdce %{link} work_package_parent_changed_times: by changes to parent %{link} work_package_children_changed_times: by changes to child %{link} work_package_related_changed_times: by changes to related %{link} @@ -1556,8 +1572,8 @@ cs: working: "%{day} je pracovní " non_working: "%{day} je nepracovní " dates: - working: "%{date} is now working" - non_working: "%{date} is now non-working" + working: "%{date} je pracovní " + non_working: "%{date} je nepracovní " system_update: file_links_journal: > From now on, activity related to file links (files stored in external storages) will appear here in the Activity tab. The following represent activity concerning links that already existed: @@ -1585,7 +1601,7 @@ cs: action: "Akce" expiration: "Vyprší" indefinite_expiration: "Nikdy" - simple_revoke_confirmation: "Are you sure you want to revoke this token?" + simple_revoke_confirmation: "Opravdu chcete zrušit tento token?" api: title: "API" text_hint: "API tokens allow third-party applications to communicate with this OpenProject instance via REST APIs." @@ -1900,8 +1916,8 @@ cs: label_custom_export_logo: "Custom export logo" label_custom_export_cover: "Custom export cover background" label_custom_export_cover_overlay: "Custom export cover background overlay" - label_custom_export_cover_text_color: "Text color" - label_custom_pdf_export_settings: "Custom PDF export settings" + label_custom_export_cover_text_color: "Barva textu" + label_custom_pdf_export_settings: "Vlastní nastavení exportu PDF" label_custom_favicon: "Vlastní favicon" label_custom_touch_icon: "Vlastní ikona dotyku" label_logout: "Odhlásit se" @@ -2119,7 +2135,7 @@ cs: label_type_new: "Nový typ" label_type_plural: "Typy" label_ui: "Uživatelské rozhraní" - label_update_work_package_done_ratios: "Aktualizovat statistiky pracovních balíčků" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Aktualizováno před %{value}" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Aktualizováno uživatelem %{author} před %{age}" @@ -2204,14 +2220,18 @@ cs: one: "1 otevřený" other: "%{count} otevřených" zero: "0 otevřených" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 projekt" other: "%{count} projektů" zero: "Žádné projekty" label_yesterday: "včera" label_role_type: "Typ" - label_member_role: "Project role" - label_global_role: "Global role" + label_member_role: "Projektová role" + label_global_role: "Globální role" label_not_changeable: "(neměnitelné)" label_global: "Globální" label_seeded_from_env_warning: This record has been created through a setting / environment variable. It is not editable through UI. @@ -2278,7 +2298,7 @@ cs: work_packages: allowed_actions: "You may %{allowed_actions} this work package. This can change depending on your project role and permissions." create_account: "To access this work package, you will need to create and activate an account on %{instance}." - open_work_package: "Open work package" + open_work_package: "Otevřít pracovní balíček" subject: "Work package #%{id} was shared with you" enterprise_text: "Share work packages with users who are not members of the project." summary: @@ -2388,7 +2408,7 @@ cs: notice_file_not_found: "Stránka, kterou se snažíte získat přístup, neexistuje nebo byla odstraněna." notice_forced_logout: "Byli jste automaticky odhlášeni po %{ttl_time} minutách nečinnosti." notice_internal_server_error: "Nastala chyba na stránce, ke které se pokoušíte přistoupit. Pokud přetrváváte problémy, obraťte se na správce %{app_title}." - notice_work_package_done_ratios_updated: "Podíl dokončených pracovních balíčků byl aktualizován." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Informace mezitím aktualizoval alespoň jeden další uživatel." notice_locking_conflict_additional_information: "Aktualizace pocházely z %{users}." notice_locking_conflict_reload_page: "Prosím obnovte stránku, zkontrolujte změny a znovu aplikujte aktualizace." @@ -2454,7 +2474,7 @@ cs: permission_add_work_package_notes: "Přidat poznámky" permission_add_work_packages: "Přidat pracovní balíčky" permission_add_messages: "Odesílat zprávy" - permission_add_project: "Create projects" + permission_add_project: "Vytvořit projekty" permission_add_work_package_attachments: "Přidat přílohy" permission_add_work_package_attachments_explanation: "Allows adding attachments without Edit work packages permission" permission_archive_project: "Archivovat projekt" @@ -2466,11 +2486,13 @@ cs: permission_assign_versions: "Přiřadit verze" permission_browse_repository: "Přístup pouze pro čtení do repozitáře (procházet a pokladna)" permission_change_wiki_parent_page: "Změnit nadřazenou wiki stránku" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Komentování novinek" permission_commit_access: "Čtěte/zapisovat přístup do repozitáře (commit)" permission_copy_projects: "Kopírovat projekty" permission_copy_work_packages: "Kopírovat pracovní balíčky" - permission_create_backup: "Create backups" + permission_create_backup: "Vytvořit zálohy" permission_delete_work_package_watchers: "Smazat sledující uživatele" permission_delete_work_packages: "Odstranit pracovní balíčky" permission_delete_messages: "Odstranit zprávy" @@ -2512,7 +2534,7 @@ cs: permission_protect_wiki_pages: "Ochrana stránky wiki" permission_rename_wiki_pages: "Přejmenovat stránky wiki" permission_save_queries: "Uložit zobrazení" - permission_search_project: "Search project" + permission_search_project: "Hledat projekt" permission_select_custom_fields: "Vybrat vlastní pole" permission_select_project_modules: "Vyberte moduly projektu" permission_share_work_packages: "Sdílet pracovní balíčky" @@ -2527,7 +2549,7 @@ cs: permission_view_news: "Zobrazit novinky" permission_view_members: "Zobrazit členy" permission_view_reportings: "Zobrazit přehledy" - permission_view_shared_work_packages: "Zobrazit všechny sdílené pracovní balíčky" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "Zobrazit strávený čas" permission_view_timelines: "Zobrazit časové osy" permission_view_wiki_edits: "Zobrazit historii wiki" @@ -2543,7 +2565,7 @@ cs: project: destroy: confirmation: "If you continue, the project %{identifier} will be permanently destroyed. To confirm this action please introduce the project name in the field below, this will:" - project_delete_result_1: "Delete all related data." + project_delete_result_1: "Odstranit všechna související data." project_delete_result_2: "Delete all managed project folders in the attached storages." info: "Odstranění projektu je nevratná akce." project_verification: "Zadejte název projektu %{name} pro potvrzení odstranění." @@ -2568,6 +2590,7 @@ cs: project_module_news: "Novinky" project_module_repository: "Repozitář" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2757,10 +2780,10 @@ cs: setting_file_max_size_displayed: "Maximální velikost textových souborů zobrazených přímo na stránce" setting_host_name: "Název serveru" setting_invitation_expiration_days: "Platnost aktivačního e-mailu vyprší po" - setting_work_package_done_ratio: "Vypočítat koeficient dokončení úkolu s" - setting_work_package_done_ratio_field: "Použít pole pracovního balíčku" - setting_work_package_done_ratio_status: "Použít stav pracovního balíčku" - setting_work_package_done_ratio_disabled: "Zakázat (Skrýt průběh)" + setting_work_package_done_ratio: "Vypočítat % plnění pracovního balíčku z" + setting_work_package_done_ratio_field: "Pole pracovního balíčku" + setting_work_package_done_ratio_status: "Stav pracovního balíčku" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Zobrazit ve výchozím nastavení" setting_work_package_properties: "Vlastnosti pracovního balíčku" setting_work_package_startdate_is_adddate: "Použít aktuální datum jako počáteční datum pro nové úkoly" @@ -3093,11 +3116,11 @@ cs: title: "Odstranit pracovní balíček" sharing: count: - zero: "0 users" - one: "1 user" - other: "%{count} users" + zero: "0 uživatelů" + one: "1 uživatel" + other: "%{count} uživatelů" filter: - project_member: 'Project member' + project_member: 'Člen projektu' not_project_member: 'Not project member' project_group: 'Project group' not_project_group: 'Not project group' @@ -3108,16 +3131,16 @@ cs: label_toggle_all: "Toggle all shares" permissions: comment: "Komentář" - comment_description: "Can view and comment this work package." - denied: "You don't have permissions to share work packages." + comment_description: "Může zobrazit a komentovat tento pracovní balíček." + denied: "Nemáte oprávnění ke sdílení pracovních balíčků." edit: "Upravit" - edit_description: "Can view, comment and edit this work package." + edit_description: "Může zobrazovat, komentovat a upravovat tento pracovní balíček." view: "Zobrazit" - view_description: "Can view this work package." + view_description: "Může zobrazit tento pracovní balíček." remove: "Odebrat" share: "Sdílet" text_empty_search_description: "There are no users with the current filter criteria." - text_empty_search_header: "We couldn't find any matching results." + text_empty_search_header: "Nenašli jsme žádné odpovídající výsledky." text_empty_state_description: "The work package has not been shared with anyone yet." text_empty_state_header: "No shared members." text_user_limit_reached: "Adding additional users will exceed the current limit. Please contact an administrator to increase the user limit to ensure external users are able to access this work package." @@ -3129,11 +3152,11 @@ cs: warning_no_selected_user: "Please select users to share this work package with" warning_locked_user: "The user %{user} is locked and cannot be shared with" user_details: - locked: "Locked user" - invited: "Invite sent. " - resend_invite: "Resend." + locked: "Uzamčený uživatel" + invited: "Pozvánka odeslána" + resend_invite: "Znovu odeslat." invite_resent: "Invite has been resent" - not_project_member: "Not a project member" + not_project_member: "Není členem projektu" project_group: "Group members might have additional privileges (as project members)" not_project_group: "Group (shared with all members)" additional_privileges_project: "Might have additional privileges (as project member)" @@ -3199,9 +3222,9 @@ cs: unsupported_context: "Zadaný dokument není podporován jako kontext." context_object_not_found: "Zdroj nelze najít jako kontext." validation: - done_ratio: "Hotový poměr nelze nastavit na nadřazených pracovních balíčcích, pokud je odvozen ze stavu nebo pokud je zakázán." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Datum ukončení nemůže být nastaveno na nadřazených pracovních balíčcích." - estimated_hours: "Předpokládané hodiny nelze nastavit na nadřazených pracovních balíčcích." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "Zvolený uživatel nesmí být '%{property}' pro tento pracovní balíček." start_date: "Počáteční datum nelze nastavit na nadřazených pracovních balíčcích." eprops: diff --git a/config/locales/crowdin/da.yml b/config/locales/crowdin/da.yml index 3c7851fda670..56cfca37d5c4 100644 --- a/config/locales/crowdin/da.yml +++ b/config/locales/crowdin/da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -279,6 +279,18 @@ da: no_results_content_text: Tilføj et deltager til projektet invite_by_mail: "Send invitation til %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Failed to reset access token: %{error}" @@ -604,7 +616,9 @@ da: begin_insertion: "Begin of the insertion" begin_deletion: "Begin of the deletion" children: "Subelements" - done_ratio: "Fremskridt (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Varighed" end_insertion: "End of the insertion" end_deletion: "End of the deletion" @@ -618,8 +632,10 @@ da: parent_issue: "Overordnet" parent_work_package: "Overordnet" priority: "Prioritet" - progress: "Fremskridt (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "Anvendt tid" spent_time: "Anvendt tid" @@ -1032,12 +1048,12 @@ da: default_columns: "Forudvalgte kolonner" description: "Beskrivelse" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Vis totaler" due_date: "Finish date" - estimated_hours: "Anslået tid" - estimated_time: "Anslået tid" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Expires at" firstname: "Fornavn" group: "Gruppe" @@ -1383,7 +1399,7 @@ da: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Fremgang for arbejdspakken er ikke opdateret." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "Arbejdspakken er ikke fundet, eller den hører ikke til dette projekt" error_must_be_project_member: "skal være et medlem af projektet" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2063,7 +2079,7 @@ da: label_type_new: "Ny type" label_type_plural: "Typer" label_ui: "Brugergrænseflade" - label_update_work_package_done_ratios: "Opdater fremgang for arbejdspakke" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Opdateret %{value} siden" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Opdateret af %{author} %{age} siden" @@ -2148,6 +2164,10 @@ da: one: "1 åben" other: "%{count} åbne" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 projekt" other: "%{count} projekter" @@ -2331,7 +2351,7 @@ da: notice_file_not_found: "Den side du prøvede at gå til eksisterer ikke eller er blevet flyttet." notice_forced_logout: "Du er blevet automatisk logget ud efter %{ttl_time} minutters inaktivitet." notice_internal_server_error: "Der opstod en fejl på siden du prøver at gå til. Hvis du fortsat oplever problemer kontakt venligst din %{app_title} administrator for hjælp." - notice_work_package_done_ratios_updated: "Fremgang for arbejdspakke er opdateret." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Oplysning er opdateret af mindst én anden bruger i mellemtiden." notice_locking_conflict_additional_information: "Opdatering(en) stammer fra %{users}." notice_locking_conflict_reload_page: "Vær venlig at genindlæse siden, gennemgå ændringer og genindsend dine opdateringer." @@ -2407,6 +2427,8 @@ da: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Skift overordnet wiki-side" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Kommenter nyheder" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Kopiér projekter" @@ -2468,7 +2490,7 @@ da: permission_view_news: "View news" permission_view_members: "Vis medlemmer" permission_view_reportings: "Vis rapporteringer" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "Vis anvendt tid" permission_view_timelines: "Vis tidslinjer" permission_view_wiki_edits: "Vis wiki-historik" @@ -2509,6 +2531,7 @@ da: project_module_news: "Nyheder" project_module_repository: "Projektarkiv" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2696,10 +2719,10 @@ da: setting_file_max_size_displayed: "Maksimal størrelse af tekstfiler, der vises inline" setting_host_name: "Værtsnavn" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Beregn fremgang for arbejdspakker med" - setting_work_package_done_ratio_field: "Brug arbejdspakkens felt" - setting_work_package_done_ratio_status: "Brug arbejdspakkens status" - setting_work_package_done_ratio_disabled: "Deaktiver (skjul fremgang)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Vis efter forhåndsopsætning" setting_work_package_properties: "Egenskaber for arbejdspakke" setting_work_package_startdate_is_adddate: "Brug dags dato som start for nye arbejdspakker" @@ -3137,9 +3160,9 @@ da: unsupported_context: "Den givne ressource understøttes ikke som korrekt sammenhæng." context_object_not_found: "Kan ikke finde ressourcen, der ar angivet som sammenhæng." validation: - done_ratio: "Andel for udført kan ikke angives for orverordnede arbejdspakker når den er udledt af status, eller når den er slået fra." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Det skønnede timetal kan ikke angives på overordnede arbejdspakker." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "Den valgte bruger er ikke tilladt at være '%{property}' for denne arbejdspakke." start_date: "Startdato kan ikke angives for overordnede arbejdspakker." eprops: diff --git a/config/locales/crowdin/de.seeders.yml b/config/locales/crowdin/de.seeders.yml index a3a6e7416d51..100b11d94f1c 100644 --- a/config/locales/crowdin/de.seeders.yml +++ b/config/locales/crowdin/de.seeders.yml @@ -132,21 +132,21 @@ de: welcome: title: Willkommen bei OpenProject! text: | - OpenProject is the leading open source project management software. It supports classic, agile as well as hybrid project management and gives you full control over your data. + OpenProject ist die führende Software für Open Source Projektmanagement. Es unterstützt das klassische und agile sowie das hybride Projektmanagement und gibt Ihnen die volle Kontrolle über Ihre Daten. - Core features and use cases: + Kernfunktionen und Anwendungsfälle: - * [Project Portfolio Management](https://www.openproject.org/collaboration-software-features/project-portfolio-management/) - * [Project Planning and Scheduling](https://www.openproject.org/collaboration-software-features/project-planning-scheduling/) - * [Task Management and Issue Tracking](https://www.openproject.org/collaboration-software-features/task-management/) - * [Agile Boards (Scrum and Kanban)](https://www.openproject.org/collaboration-software-features/agile-project-management/) - * [Requirements Management and Release Planning](https://www.openproject.org/collaboration-software-features/product-development/) - * [Time and Cost Tracking, Budgets](https://www.openproject.org/collaboration-software-features/time-tracking/) - * [Team Collaboration and Documentation](https://www.openproject.org/collaboration-software-features/team-collaboration/) + * [Projektportfolio Management](https://www.openproject.org/de/projektmanagement-funktionen/projektportfolio-management/) + * [Projektplanung](https://www.openproject.org/de/projektmanagement-funktionen/projektplanung/) + * [Aufgaben-Management und Problemverfolgung](https://www.openproject.org/de/projektmanagement-funktionen/aufgabenverwaltung/) + * [Agile Boards (Scrum und Kanban)](https://www.openproject.org/de/projektmanagement-funktionen/agiles-projektmanagement/) + * [Anforderungs-Management und Release-Planung](https://www.openproject.org/de/projektmanagement-funktionen/produktentwicklung/) + * [Zeit- und Kostenerfassung, Budgets](https://www.openproject.org/de/projektmanagement-funktionen/zeiterfassung/) + * [Team-Zusammenarbeit und Dokumentation](https://www.openproject.org/de/projektmanagement-funktionen/team-kollaboration/) - Welcome to the future of project management. + Willkommen in der Zukunft des Projektmanagements. - For Admins: You can change this welcome text [here]({{opSetting:base_url}}/admin/settings/general). + Für Administratoren: Sie können diesen Willkommenstext [hier]({{opSetting:base_url}}/admin/settings/general) ändern. projects: demo-project: name: Demo-Projekt @@ -352,20 +352,20 @@ de: options: name: Erste Schritte text: | - We are glad you joined! We suggest to try a few things to get started in OpenProject. + Wir freuen uns, dass Sie dabei sind! Wir schlagen vor, dass Sie den unten aufgeführten ersten Schritten in OpenProject folgen. - _Try the following steps:_ + _Probieren Sie die folgenden Schritte:_ - 1. *Invite new members to your project*: → Go to [Members]({{opSetting:base_url}}/projects/your-scrum-project/members) in the project navigation. - 2. *View your Product backlog and Sprint backlogs*: → Go to [Backlogs]({{opSetting:base_url}}/projects/your-scrum-project/backlogs) in the project navigation. - 3. *View your Task board*: → Go to [Backlogs]({{opSetting:base_url}}/projects/your-scrum-project/backlogs) → Click on right arrow on Sprint → Select [Task Board](##sprint:scrum_project__version__sprint_1). - 4. *Create a new work package*: → Go to [Work packages → Create]({{opSetting:base_url}}/projects/your-scrum-project/work_packages/new). - 5. *Create and update a project plan*: → Go to [Project plan](##query:scrum_project__query__project_plan) in the project navigation. - 6. *Create a Sprint wiki*: → Go to [Backlogs]({{opSetting:base_url}}/projects/your-scrum-project/backlogs) and open the sprint wiki from the right drop down menu in a sprint. You can edit the [wiki template]({{opSetting:base_url}}/projects/your-scrum-project/wiki/) based on your needs. - 7. *Activate further modules*: → Go to [Project settings → Modules]({{opSetting:base_url}}/projects/your-scrum-project/settings/modules). + 1. *Laden Sie neue Mitglieder zu Ihrem Projekt ein*: → Gehen Sie zu [Mitglieder]({{opSetting:base_url}}/projects/your-scrum-project/members) in der Projektnavigation. + 2. *Sehen Sie sich das Product Backlog und Sprint Backlog an*: → Navigieren Sie zu [Backlogs]({{opSetting:base_url}}/projects/your-scrum-project/backlogs) in der Projektnavigation. + 3. *Betrachten Sie das Taskboard*: → Wechseln Sie zu [Backlogs]({{opSetting:base_url}}/projects/your-scrum-project/backlogs) → Klicken Sie auf den Pfeil auf der rechten Seiten des Sprints → Wählen Sie [Taskboard](##sprint:scrum_project__version__sprint_1). + 4. *Erstellen Sie ein neues Arbeitspaket*: → Gehen Sie zu [Arbeitspakete → Erstellen]({{opSetting:base_url}}/projects/your-scrum-project/work_packages/new). + 5. *Erstellen und aktualisieren Sie einen Projektplan*: → Gehen Sie zu [Projektplan](##query:scrum_project__query__project_plan) in der Projektnavigation. + 6. *Erstellen Sie ein Sprint-Wiki*: → Navigieren Sie zu [Backlogs]({{opSetting:base_url}}/projects/your-scrum-project/backlogs) und öffnen Sie das Sprint-Wiki aus dem rechten Dropdown-Menü des Sprints. Sie können das [Wiki Template]({{opSetting:base_url}}/projects/your-scrum-project/wiki/) basierend auf Ihren Anforderungen bearbeiten. + 7. *Aktivieren Sie zusätzliche Module*: → Wechseln Sie zu [Projektkonfiguration → Module]({{opSetting:base_url}}/projects/your-scrum-project/settings/modules). - Here you will find our [User Guides](https://www.openproject.org/docs/user-guide/). - Please let us know if you have any questions or need support. Contact us: [support[at]openproject.com](mailto:support@openproject.com). + Zusätzlich finden Sie hier unser [Nutzungshandbuch](https://www.openproject.org/de/docs/nutzungshandbuch/). + Lassen Sie uns gerne wissen, wenn Sie Fragen haben oder Unterstützung benötigen. Kontaktieren Sie uns: [support[at]openproject.com](mailto:support@openproject.com). item_5: options: name: Arbeitspakete diff --git a/config/locales/crowdin/de.yml b/config/locales/crowdin/de.yml index a8a3ebf110aa..0f41add5c1bf 100644 --- a/config/locales/crowdin/de.yml +++ b/config/locales/crowdin/de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -199,13 +199,13 @@ de: reorder_alphabetical: "Alphabetisch umsortieren" reorder_confirmation: "Warnung: Die aktuelle Reihenfolge der verfügbaren Werte geht verloren. Fortfahren?" instructions: - is_required: "Mark the custom field as required. This will make it mandatory to fill in the field when creating new or updating existing resources." - is_for_all: "Mark the custom field as available in all existing and new projects." - searchable: "Include the field values when using the global search functionality." + is_required: "Markieren Sie das benutzerdefinierte Feld nach Bedarf. Dies macht es zwingend erforderlich, das Feld auszufüllen, wenn neue oder aktualisierte Ressourcen erstellt werden." + is_for_all: "Markieren Sie das benutzerdefinierte Feld als verfügbar in allen bestehenden und neuen Projekten." + searchable: "Fügen Sie die Feldwerte hinzu, wenn Sie die globale Suchfunktion verwenden." editable: "Feld darf von den Benutzern selbst bearbeitet werden." - visible: "Make field visible for all users (non-admins) in the project overview and displayed in the project details widget on the Project Overview." + visible: "Feld für alle Benutzer sichtbar machen (Nicht-Administratoren) in der Projektübersicht und im Projekt-Detail-Widget in der Projektübersicht." is_filter: > - Allow the custom field to be used in a filter in work package views. Note that only with 'For all projects' selected, the custom field will show up in global views. + Erlaubt das benutzerdefinierte Feld in einem Filter in der Arbeitspaket-Ansicht zu verwenden. Beachten Sie, dass, nur wenn "Für alle Projekte" ausgewählt ist, das benutzerdefinierte Feld in globalen Ansichten angezeigt wird. tab: no_results_title_text: Zur Zeit existieren keine benutzerdefinierten Felder. no_results_content_text: Neues benutzerdefiniertes Feld anlegen @@ -278,6 +278,18 @@ de: no_results_content_text: Mitglied zum Projekt hinzufügen invite_by_mail: "Einladung an %{mail} senden" send_invite_to: "Einladung senden an" + no_modify_on_shared: "Sie können die freigegebenen Mitgliedschaften derzeit nicht über die Mitgliederseite ändern oder entfernen. Verwenden Sie stattdessen bitte das Teilen-Fenster." + columns: + shared: "Geteilt" + filters: + all_shares: 'Alle Freigaben' + menu: + all: 'Alle' + invited: 'Eingeladen' + locked: 'Gesperrt' + project_roles: 'Projektrollen' + wp_shares: 'Arbeitspaket-Freigaben' + groups: 'Gruppen' my: access_token: failed_to_reset_token: "Zusatztoken konnte nicht zurückgesetzt werden: %{error}" @@ -396,8 +408,8 @@ de: sharing: missing_workflow_waring: title: "Der Workflow für das Teilen von Arbeitspaketen fehlt" - message: "No workflow is configured for the 'Work package editor' role. Without a workflow, the shared with user cannot alter the status of the work package. Workflows can be copied. Select a source type (e.g. 'Task') and source role (e.g. 'Member'). Then select the target types. To start with, you could select all the types as targets. Finally, select the 'Work package editor' role as the target and press 'Copy'. After having thus created the defaults, fine tune the workflows as you do for every other role." - link_message: "Configure the workflows in the administration." + message: "Es ist kein Arbeitsablauf (Workflow) für die Rolle ‚Arbeitspaket-Editor‘ konfiguriert. Ohne einen Arbeitsablauf kann der gemeinsam mit dem Benutzer den Status des Arbeitspakets nicht ändern. Arbeitsabläufe können kopiert werden. Wählen Sie einen Quelltyp (z. B. ‚Task‘) und eine Quell-Rolle (z. B. 'Member'). Wählen Sie dann die Zieltypen aus, um alle Typen als Ziele auszuwählen und schließlich die Rolle ‚Arbeitspaket-Editor‘ als Ziel aus und drücken Sie ‚Kopieren‘. Nachdem Sie die Standardeinstellungen erstellt haben, können Sie die Arbeitsabläufe so einstellen, wie Sie es für jede andere Rolle tun." + link_message: "Konfigurieren Sie die Arbeitsabläufe in der Administration." summary: reports: category: @@ -601,7 +613,9 @@ de: begin_insertion: "Beginn der Einfügung" begin_deletion: "Beginn des Löschvorgangs" children: "Kindelemente" - done_ratio: "Fortschritt (%)" + derived_remaining_hours: "Abgeleitete verbleibender Aufwand" + derived_remaining_time: "Abgeleitete verbleibende ArbeitAbgeleitete verbleibender Aufwand" + done_ratio: "% abgeschlossen" duration: "Dauer" end_insertion: "Ende der Einfügung" end_deletion: "Ende des Löschvorgangs" @@ -615,8 +629,10 @@ de: parent_issue: "Übergeordnetes Arbeitspaket" parent_work_package: "Übergeordnetes Arbeitspaket" priority: "Priorität" - progress: "Fortschritt (%)" + progress: "% abgeschlossen" readonly: "Nur Lesezugriff" + remaining_hours: "Verbleibender Aufwand" + remaining_time: "Verbleibender Aufwand" schedule_manually: "Manuelle Planung" spent_hours: "Aufgewendete Zeit" spent_time: "Aufgewendete Zeit" @@ -1029,12 +1045,12 @@ de: default_columns: "Standard-Spalten" description: "Beschreibung" derived_due_date: "Aggregierter Endtermin" - derived_estimated_hours: "Aggregierter geschätzter Aufwand" + derived_estimated_hours: "Abgeleiteter Aufwand" derived_start_date: "Aggregierter Starttermin" display_sums: "Summen anzeigen" due_date: "Endtermin" - estimated_hours: "Geschätzter Aufwand" - estimated_time: "Geschätzter Aufwand" + estimated_hours: "Aufwand" + estimated_time: "Aufwand" expires_at: "Läuft ab am" firstname: "Vorname" group: "Gruppe" @@ -1380,7 +1396,7 @@ de: error_pdf_export_too_many_columns: "Zu viele Spalten für PDF-Export ausgewählt. Bitte reduzieren Sie die Anzahl der ausgewählten Spalten." error_pdf_failed_to_export: "Der PDF-Export konnte nicht gespeichert werden: %{error}" error_token_authenticity: "Das Cross-Site Request Forgery Token konnte nicht verfiziert werden. Wenn Sie versucht haben, Daten auf mehreren Tabs oder Browsern abzuspeichern, schließen sie diese und laden diese Seite erneut um den Vorgang zu wiederholen." - error_work_package_done_ratios_not_updated: "Der Arbeitspaket-Fortschritt wurde nicht aktualisiert." + error_work_package_done_ratios_not_updated: "Arbeitspaket-Wert für % abgeschlossen nicht aktualisiert." error_work_package_not_found_in_project: "Das Arbeitspaket wurde nicht gefunden oder gehört nicht zu diesem Projekt." error_must_be_project_member: "muss Mitglied des Projekts sein" error_migrations_are_pending: "Ihre OpenProject-Installation hat noch ausstehende Datenbankmigrationen. Sie haben wahrscheinlich die Migration für Ihr letztes Upgrade nicht durchgeführt. Bitte überprüfen Sie die Upgrade-Anleitung, um Ihre Installation korrekt zu aktualisieren." @@ -2060,7 +2076,7 @@ de: label_type_new: "Neuer Typ" label_type_plural: "Typen" label_ui: "Nutzeroberfläche" - label_update_work_package_done_ratios: "Arbeitspaket-Fortschritt aktualisieren" + label_update_work_package_done_ratios: "Arbeitspaket-Wert % abgeschlossen aktualisieren" label_updated_time: "Vor %{value} aktualisiert" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Von %{author} vor %{age} aktualisiert" @@ -2145,6 +2161,10 @@ de: one: "1 offen" other: "%{count} offen" zero: "Keine offenen" + label_x_work_packages: + one: "1 Arbeitspaket" + other: "%{count} Arbeitspakete" + zero: "Keine Arbeitspakete" label_x_projects: one: "Ein Projekt" other: "%{count} Projekte" @@ -2216,7 +2236,7 @@ de: sharing: work_packages: allowed_actions: "Sie haben auf diesem Arbeitspakte folgende Berechtigungen: %{allowed_actions}. Dies kann sich je nach Ihrer Projektrolle und Berechtigungen ändern." - create_account: "To access this work package, you will need to create and activate an account on %{instance}." + create_account: "Um auf dieses Arbeitspaket zuzugreifen, müssen Sie ein Konto für %{instance} erstellen und aktivieren." open_work_package: "Arbeitspaket öffnen" subject: "Arbeitspaket #%{id} wurde mit Ihnen geteilt" enterprise_text: "Teilen Sie Arbeitspakete mit Benutzern, die nicht Mitglieder des Projekts sind." @@ -2328,7 +2348,7 @@ de: notice_file_not_found: "Die von Ihnen aufgerufene Seite existiert nicht oder ist verschoben worden." notice_forced_logout: "Nach %{ttl_time} Minuten Inaktivität wurden Sie automatisch ausgeloggt." notice_internal_server_error: "Auf der von Ihnen aufgerufenen Seite ist ein Fehler aufgetreten. Kontaktieren Sie bitte Ihren %{app_title} Administrator, wenn Sie wiederholt Probleme mit dem Aufrufen der Seite haben." - notice_work_package_done_ratios_updated: "Der Arbeitspaket-Fortschritt wurde aktualisiert." + notice_work_package_done_ratios_updated: "% vollständig aktualisiert" notice_locking_conflict: "Die Informationen wurde zwischenzeitlich von einem anderen Benutzer geändert." notice_locking_conflict_additional_information: "Die Änderung(en) wurde(n) durchgeführt von %{users}." notice_locking_conflict_reload_page: "Bitte laden Sie die Seite neu, prüfen Sie die Anpassungen und geben Sie Ihre Änderungen noch einmal ein." @@ -2404,6 +2424,8 @@ de: permission_assign_versions: "Versionen zuweisen" permission_browse_repository: "Lesezugriff auf Projektarchiv (in OpenProject und Checkout)" permission_change_wiki_parent_page: "Übergeordnete Wiki-Seite ändern" + permission_change_work_package_status: "Arbeitspaket-Status ändern" + permission_change_work_package_status_explanation: "Ermöglicht das Ändern des Status ohne Berechtigung Arbeitspakete zu bearbeiten" permission_comment_news: "Nachricht kommentieren" permission_commit_access: "Lese- und Schreibzugriff auf Projektarchiv (Commit)" permission_copy_projects: "Projekte kopieren" @@ -2465,7 +2487,7 @@ de: permission_view_news: "News anzeigen" permission_view_members: "Mitglieder ansehen" permission_view_reportings: "Statusberichte ansehen" - permission_view_shared_work_packages: "Sehen, mit wem Arbeitspakete geteilt werden" + permission_view_shared_work_packages: "Arbeitspaket-Freigaben sehen" permission_view_time_entries: "Gebuchte Aufwände ansehen" permission_view_timelines: "Zeitplan-Reporte anzeigen" permission_view_wiki_edits: "Wiki-Versionsgeschichte ansehen" @@ -2506,6 +2528,7 @@ de: project_module_news: "Neuigkeiten" project_module_repository: "Projektarchiv" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Arbeitspakete und Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2695,10 +2718,10 @@ de: setting_file_max_size_displayed: "Maximale Größe inline angezeigter Textdateien" setting_host_name: "Hostname" setting_invitation_expiration_days: "Aktivierungs-Mail läuft ab nach" - setting_work_package_done_ratio: "Berechne den Arbeitspaket-Fortschritt mittels" - setting_work_package_done_ratio_field: "Arbeitspaket-Feld %-erledigt" + setting_work_package_done_ratio: "Arbeitspaket-Wert für % abgeschlossen berechnen mit" + setting_work_package_done_ratio_field: "Das Arbeitspaket-Feld" setting_work_package_done_ratio_status: "Arbeitspaket-Status" - setting_work_package_done_ratio_disabled: "Deaktivieren (Fortschritt verstecken)" + setting_work_package_done_ratio_disabled: "Deaktivieren (Verstecke das % abgeschlossen-Feld)" setting_work_package_list_default_columns: "Standardmäßig anzeigen" setting_work_package_properties: "Arbeitspaket-Eigenschaften" setting_work_package_startdate_is_adddate: "Neue Arbeitspakete haben \"Heute\" als Anfangsdatum" @@ -3137,7 +3160,7 @@ de: validation: done_ratio: "Der Fortschritt kann nicht gesetzt werden falls es sich um ein Eltern-Arbeitspaket handelt, er durch den Status definiert wird oder wenn er komplett deaktiviert wurde." due_date: "Der Endtermin kann für Eltern-Arbeitspakete nicht gesetzt werden." - estimated_hours: "Der geschätzte Aufwand kann für Eltern-Arbeitspakete nicht gesetzt werden." + estimated_hours: "Aufwand kann nicht für übergeordnete Arbeitspakete gesetzt werden." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "Der gewählte Nutzer darf dem Arbeitspaket nicht als '%{property}' zugewiesen werden." start_date: "Das Startdatum kann für Eltern-Arbeitspakete nicht gesetzt werden." eprops: @@ -3256,7 +3279,7 @@ de: oauth_returned_json_error: "OAuth2 meldet einen JSON-Fehler zurück" oauth_returned_http_error: "OAuth2 meldet einen Netzwerkfehler zurück" oauth_returned_standard_error: "OAuth2 meldet einen internen Fehler zurück" - client_id_blank: "ID can't be blank." + client_id_blank: "ID darf nicht leer sein." wrong_token_type_returned: "OAuth2 hat einen Fehler zurückgemeldet. Es wurde der falsche Tokentyp benutzt. Der richtige Tokentyp ist AccessToken::Bearer" oauth_issue_contact_admin: "OAuth2 meldet einen Fehler zurück. Bitte kontaktieren Sie den System-Administrator." oauth_client_not_found: "OAuth2-Client nicht im 'callback' Endpunkt gefunden (redirect_uri)." diff --git a/config/locales/crowdin/el.yml b/config/locales/crowdin/el.yml index fd5ccd6fa5d6..1cdacb444b76 100644 --- a/config/locales/crowdin/el.yml +++ b/config/locales/crowdin/el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -277,6 +277,18 @@ el: no_results_content_text: Προσθέστε ένα μέλος στο έργο invite_by_mail: "Αποστολή πρόσκλησης στο %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Αποτυχία επαναφοράς του token πρόσβασης: %{error}" @@ -602,7 +614,9 @@ el: begin_insertion: "Ξεκινήστε την εισαγωγή" begin_deletion: "Ξεκινήστε την διαγραφή" children: "Υποστοιχεία" - done_ratio: "Πρόοδος (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Διάρκεια" end_insertion: "Λήξη της εισαγωγής" end_deletion: "Λήξη της διαγραφής" @@ -616,8 +630,10 @@ el: parent_issue: "Γονέας" parent_work_package: "Γονέας" priority: "Προτεραιότητα" - progress: "Πρόοδος (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Χειροκίνητος προγραμματισμός" spent_hours: "Χρόνος που δαπανήθηκε" spent_time: "Χρόνος που δαπανήθηκε" @@ -1030,12 +1046,12 @@ el: default_columns: "Προεπιλεγμένες στήλες" description: "Περιγραφή" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Εμφάνιση Αθροισμάτων" due_date: "Ημερομηνία λήξης" - estimated_hours: "Εκτιμώμενος χρόνος" - estimated_time: "Εκτιμώμενος χρόνος" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Λήγει στις" firstname: "Όνομα" group: "Ομάδα" @@ -1381,7 +1397,7 @@ el: error_pdf_export_too_many_columns: "Επιλέχθηκαν πάρα πολλές στήλες για εξαγωγή σε PDF. Παρακαλούμε μειώστε τον αριθμό των στηλών." error_pdf_failed_to_export: "Η εξαγωγή σε PDF δεν ήταν δυνατό να αποθηκευτεί: %{error}" error_token_authenticity: "Δεν ήταν δυνατή η επαλήθευση του Cross-Site Request Forgery token. Προσπαθήσατε να υποβάλετε δεδομένα σε πολλαπλούς περιηγητές ή καρτέλες; Παρακαλούμε κλείστε όλες τις καρτέλες και δοκιμάστε ξανά." - error_work_package_done_ratios_not_updated: "Η αναλογίες ολοκληρωμένων πακέτων εργασίας δεν έχουν ενημερωθεί." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "Το πακέτο εργασίας δεν βρέθηκε ή δεν ανοίκει σε αυτό το έργο" error_must_be_project_member: "πρέπει να είναι μέλος έργου" error_migrations_are_pending: "Η εγκατάσταση OpenProject σας έχει μεταφορές βάσης δεδομένων που εκκρεμούν. Πιθανότατα δεν τρέξατε τις μεταφορές κατά τη διάρκεια της προηγούμενης αναβάθμιση. Παρακαλούμε ελέγξτε τον οδηγό αναβάθμισης για να αναβαθμίσετε την εγκατάσταση σας σωστά." @@ -2061,7 +2077,7 @@ el: label_type_new: "Νέος τύπος" label_type_plural: "Τύποι" label_ui: "Διεπαφή Χρήστη" - label_update_work_package_done_ratios: "Ενημέρωση αναλογιών ολοκληρωμένων πακέτων εργασίας" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Ενημερώθηκε πριν από %{value}" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Ενημερώθηκε από τον %{author} πριν από %{age}" @@ -2146,6 +2162,10 @@ el: one: "1 ανοικτό" other: "%{count} ανοικτά" zero: "0 ανοικτά" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 έργο" other: "%{count} έργα" @@ -2328,7 +2348,7 @@ el: notice_file_not_found: "Η σελίδα που ζητήσατε δεν υπάρχει ή έχει αφαιρεθεί." notice_forced_logout: "Αποσυνδεθήκατε αυτόματα μετά από %{ttl_time} λεπτά αδράνειας." notice_internal_server_error: "Παρουσιάστηκε ένα σφάλμα στη σελίδα που προσπαθήσατε να ανοίξετε. Αν εξακολουθείτε να αντιμετωπίζετε προβλήματα παρακαλούμε επικοινωνήστε με τον %{app_title} διαχειριστή σας για βοήθεια." - notice_work_package_done_ratios_updated: "Η αναλογίες ολοκληρωμένων πακέτων εργασίας ενημερώθηκαν." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Οι πληροφορίες ενημερώθηκαν από τουλάχιστον έναν ακόμα χρήστη στο εν τω μεταξύ." notice_locking_conflict_additional_information: "Η ενημέρωση(-εις) προήλθαν από %{users}." notice_locking_conflict_reload_page: "Παρακαλούμε ανανεώστε αυτή τη σελίδα, αναθεωρήστε τις αλλαγές και εφαρμόστε ξανά τις αλλαγές." @@ -2404,6 +2424,8 @@ el: permission_assign_versions: "Ανάθεση εκδόσεων" permission_browse_repository: "Πρόσβαση ανάγνωσης-μόνο στο αποθετήριο (περιήγηση και ολοκλήρωση παραγγελίας)" permission_change_wiki_parent_page: "Αλλαγή σελίδας wiki γονέα" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Σχολιασμός νέων" permission_commit_access: "Πρόσβαση ανάγνωσης/εγγραφής στο αποθετήριο (δέσμευση)" permission_copy_projects: "Αντιγραφή έργων" @@ -2465,7 +2487,7 @@ el: permission_view_news: "View news" permission_view_members: "Εμφάνιση μελών" permission_view_reportings: "Εμφάνιση αναφορών" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "Προβολή χρόνου που δαπανήθηκε" permission_view_timelines: "Προβολή χρονοδιαγραμμάτων" permission_view_wiki_edits: "Προβολή ιστορικού wiki" @@ -2506,6 +2528,7 @@ el: project_module_news: "Νέα" project_module_repository: "Αποθετήριο" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2695,10 +2718,10 @@ el: setting_file_max_size_displayed: "Μέγιστο μέγεθος αρχείων κειμένου που εμφανίζονται inline" setting_host_name: "Όνομα εξυπηρετητή" setting_invitation_expiration_days: "Το μήνυμα ενεργοποίησης λήγει μετά από" - setting_work_package_done_ratio: "Υπολογίστε την αναλογία των ολοκληρωμένων πακέτων εργασίας με" - setting_work_package_done_ratio_field: "Χρήση του πεδίου πακέτου εργασίας" - setting_work_package_done_ratio_status: "Χρήση της κατάστασης πακέτου εργασίας" - setting_work_package_done_ratio_disabled: "Απενεργοποίηση (απόκρυψη της διαδικασίας)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Εμφάνιση από προεπιλογή" setting_work_package_properties: "Ιδιότητες πακέτου εργασίας" setting_work_package_startdate_is_adddate: "Χρήση σημερινής ημερομηνίας ως ημερομηνία έναρξης για νέα πακέτα εργασίας" @@ -3135,9 +3158,9 @@ el: unsupported_context: "Ο πόρος που δόθηκε δεν υποστηρίζεται ως πλαίσιο αναφοράς." context_object_not_found: "Δεν ήταν δυνατή η εύρεση του πόρου που δόθηκε ως πλαίσιο αναφοράς." validation: - done_ratio: "Η αναλογία ολοκληρωμένων δεν μπορεί να οριστεί σε πακέτα εργασίας-γονείς, όταν καλείται με την κατάσταση ή όταν είναι απενεργοποιημένο." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Η ημερομηνία λήξης δεν μπορεί να οριστεί σε πακέτα εργασίας-γονείς." - estimated_hours: "Οι εκτιμώμενες ώρες δεν μπορούν να οριστούν σε πακέτα εργασίας-γονείς." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "Ο επιλεγμένος χρήστης δεν επιτρέπεται να είναι '%{property}' για αυτό το πακέτο εργασίας." start_date: "Η ημερομηνία έναρξης δεν μπορεί να οριστεί σε πακέτα εργασίας-γονείς." eprops: diff --git a/config/locales/crowdin/eo.yml b/config/locales/crowdin/eo.yml index 679ec32aa29d..571bb0b291f1 100644 --- a/config/locales/crowdin/eo.yml +++ b/config/locales/crowdin/eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ eo: no_results_content_text: Aldoni membron al tiu ĉi projekto invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Eraro dum restarigo de la alirĵetono: %{error}" @@ -606,7 +618,9 @@ eo: begin_insertion: "Komenco de enmeto" begin_deletion: "Komenco de forigo" children: "Subelementoj" - done_ratio: "Progreso (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Duration" end_insertion: "Fino de enmeto" end_deletion: "Fino de forigo" @@ -620,8 +634,10 @@ eo: parent_issue: "Patro" parent_work_package: "Patro" priority: "Prioritato" - progress: "Progreso (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "Uzata tempo" spent_time: "Uzata tempo" @@ -1034,12 +1050,12 @@ eo: default_columns: "Defaŭltaj kolumnoj" description: "Priskribo" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Vidigi sumojn" due_date: "Findato" - estimated_hours: "Taksita tempo" - estimated_time: "Taksita tempo" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Senvalidiĝas la" firstname: "Nomo" group: "Grupo" @@ -1385,7 +1401,7 @@ eo: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Work package done ratios not updated." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_must_be_project_member: "vi devas esti membro de la projekto." error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2065,7 +2081,7 @@ eo: label_type_new: "Nova tipo" label_type_plural: "Specoj" label_ui: "Fasado" - label_update_work_package_done_ratios: "Update work package done ratios" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Updated %{value} ago" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Ĝisdatigita de %{author} antaŭ %{age}" @@ -2150,6 +2166,10 @@ eo: one: "1 malfermita" other: "%{count} malfermitaj" zero: "0 malfermita" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 projekto" other: "%{count} projektoj" @@ -2333,7 +2353,7 @@ eo: notice_file_not_found: "The page you were trying to access doesn't exist or has been removed." notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." notice_internal_server_error: "An error occurred on the page you were trying to access. If you continue to experience problems please contact your %{app_title} administrator for assistance." - notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Information has been updated by at least one other user in the meantime." notice_locking_conflict_additional_information: "The update(s) came from %{users}." notice_locking_conflict_reload_page: "Please reload the page, review the changes and reapply your updates." @@ -2409,6 +2429,8 @@ eo: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Change parent wiki page" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Comment news" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy projects" @@ -2470,7 +2492,7 @@ eo: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "View reportings" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "View spent time" permission_view_timelines: "View timelines" permission_view_wiki_edits: "View wiki history" @@ -2511,6 +2533,7 @@ eo: project_module_news: "Novaĵoj" project_module_repository: "Deponejo" project_module_wiki: "Vikio" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2700,10 +2723,10 @@ eo: setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Calculate the work package done ratio with" - setting_work_package_done_ratio_field: "Use the work package field" - setting_work_package_done_ratio_status: "Use the work package status" - setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Display by default" setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" @@ -3141,9 +3164,9 @@ eo: unsupported_context: "The resource given is not supported as context." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Estimated hours cannot be set on parent work packages." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." start_date: "Start date cannot be set on parent work packages." eprops: diff --git a/config/locales/crowdin/es.yml b/config/locales/crowdin/es.yml index 3a885b4ae289..f6d260fae81b 100644 --- a/config/locales/crowdin/es.yml +++ b/config/locales/crowdin/es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -278,6 +278,18 @@ es: no_results_content_text: Añadir un miembro a este proyecto invite_by_mail: "Enviar invitación a %{mail}" send_invite_to: "Enviar invitación a" + no_modify_on_shared: "Actualmente no puedes modificar o eliminar membresías compartidas a través de la página de miembros. Utiliza la dialogo para compartir para completar esta acción." + columns: + shared: "Compartido" + filters: + all_shares: 'Todos los compartidos' + menu: + all: 'Todos' + invited: 'Invitado' + locked: 'Bloqueado' + project_roles: 'Roles de proyecto' + wp_shares: 'Comparticiones de paquete de trabajo' + groups: 'Grupos' my: access_token: failed_to_reset_token: "No se pudo restablecer el token de acceso: %{error}" @@ -603,7 +615,9 @@ es: begin_insertion: "Inicio de la inserción" begin_deletion: "Inicio de la eliminación" children: "Subelementos" - done_ratio: "Progreso (%)" + derived_remaining_hours: "Horas restantes derivadas" + derived_remaining_time: "Horas restantes derivadas" + done_ratio: "% Compleado" duration: "Duración" end_insertion: "Final de la inserción" end_deletion: "Final de la eliminación" @@ -617,8 +631,10 @@ es: parent_issue: "Padre" parent_work_package: "Padre" priority: "Prioridad" - progress: "Progreso (%)" + progress: "% Compleado" readonly: "Solo lectura" + remaining_hours: "Trabajo restante" + remaining_time: "Trabajo restante" schedule_manually: "Programación manual" spent_hours: "Tiempo invertido" spent_time: "Tiempo invertido" @@ -1031,12 +1047,12 @@ es: default_columns: "Columnas predeterminadas" description: "Descripción" derived_due_date: "Fecha final derivada" - derived_estimated_hours: "Tiempo estimado derivado" + derived_estimated_hours: "Trabajo derivado" derived_start_date: "Fecha de comienzo deseada" display_sums: "Mostrar sumas" due_date: "Fecha de finalización" - estimated_hours: "Tiempo estimado" - estimated_time: "Tiempo estimado" + estimated_hours: "Trabajo" + estimated_time: "Trabajo" expires_at: "Caduca el" firstname: "Nombre" group: "Grupo" @@ -1382,7 +1398,7 @@ es: error_pdf_export_too_many_columns: "Demasiadas columnas seleccionadas para la exportación de PDF. Reduzca el número de columnas." error_pdf_failed_to_export: "No se ha podido guardar la exportación PDF: %{error}" error_token_authenticity: "No se puede verificar el token de falsificación de solicitud entre sitios. ¿Intentó enviar datos en varios navegadores o pestañas? Cierre de todas las pestañas y vuelva a intentarlo." - error_work_package_done_ratios_not_updated: "Ejecución de paquete de trabajos no actualizado." + error_work_package_done_ratios_not_updated: "% Completado del paquete de trabajo no actualizado." error_work_package_not_found_in_project: "El paquete de trabajo no se ha encontrado o no pertenece a este proyecto" error_must_be_project_member: "debe ser miembro del proyecto" error_migrations_are_pending: "Su instalación de OpenProject tiene migraciones de bases de datos pendientes. Es probable que haya pasado por alto la ejecución de las migraciones en la última actualización. Consulte la guía de actualización para actualizar correctamente su instalación." @@ -2062,7 +2078,7 @@ es: label_type_new: "Nuevo tipo" label_type_plural: "Tipos" label_ui: "Interfaz de usuario" - label_update_work_package_done_ratios: "Actualizar relación de paquetes de trabajo ejecutados" + label_update_work_package_done_ratios: "Actualizar los valores % Completados del paquete de trabajo" label_updated_time: "%{value} actualizado hace" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Actualizado por %{author} hace %{age}" @@ -2147,6 +2163,10 @@ es: one: "1 abierto" other: "%{count} abiertos" zero: "0 abiertos" + label_x_work_packages: + one: "1 paquete de trabajo" + other: "%{count} paquetes de trabajo" + zero: "Sin paquetes de trabajo" label_x_projects: one: "1 proyecto" other: "%{count} proyectos" @@ -2330,7 +2350,7 @@ es: notice_file_not_found: "La página que estaba intentando acceder no existe o ha sido eliminada." notice_forced_logout: "Su sesión ha sido cerrada automáticamente después de %{ttl_time} minutos de inactividad." notice_internal_server_error: "Ha ocurrido un error en la página que usted trato de acceder. Si usted continua teniendo problemas por favor contacte su administrador de %{app_title} para asistencia." - notice_work_package_done_ratios_updated: "Ratio actualizado para finalizar de paquete de trabajo." + notice_work_package_done_ratios_updated: "% completado actualizado" notice_locking_conflict: "La información ha sido actualizada por al menos otro usuario mientras tanto." notice_locking_conflict_additional_information: "La(s) actualización(es) hecha(s) por %{users}." notice_locking_conflict_reload_page: "Por favor recargue la página, revise los cambios y re-aplique las actualizaciones." @@ -2405,6 +2425,8 @@ es: permission_assign_versions: "Asignar versiones" permission_browse_repository: "Permiso de solo lectura sobre el repositorio (Navegación y checkout)" permission_change_wiki_parent_page: "Cambiar wiki pagina madre" + permission_change_work_package_status: "Cambiar el estado del paquete de trabajo" + permission_change_work_package_status_explanation: "Permite cambiar el estado sin el permiso Editar paquetes de trabajo" permission_comment_news: "Comentar noticias" permission_commit_access: "Permiso de escritura sobre el repositorio (commit)" permission_copy_projects: "Copiar proyectos" @@ -2507,6 +2529,7 @@ es: project_module_news: "Noticias" project_module_repository: "Repositorio" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Paquetes de trabajo y Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2696,10 +2719,10 @@ es: setting_file_max_size_displayed: "Tamaño máximo de archivos de texto mostrado en linea" setting_host_name: "Nombre de host" setting_invitation_expiration_days: "El correo electrónico de activación caduca después de" - setting_work_package_done_ratio: "Calcular la relacion de paquete de trabajo hecho con" - setting_work_package_done_ratio_field: "Usar el campo de paquete de trabajo" - setting_work_package_done_ratio_status: "Usar el estado del paquete de trabajo" - setting_work_package_done_ratio_disabled: "Desactivar (oculta el progreso)" + setting_work_package_done_ratio: "Calcular % Completado del paquete de trabajo con" + setting_work_package_done_ratio_field: "Campo del paquete de trabajo" + setting_work_package_done_ratio_status: "Estado del paquete de trabajo" + setting_work_package_done_ratio_disabled: "Desactivar (ocultar el campo % Completado)" setting_work_package_list_default_columns: "Mostrar por defecto" setting_work_package_properties: "Propiedades de paquete de trabajo" setting_work_package_startdate_is_adddate: "Usar fecha actual como fecha de inicio para nuevos paquetes de trabajo" @@ -3136,9 +3159,9 @@ es: unsupported_context: "El recurso dado no es soportado como contexto." context_object_not_found: "No se ha podido encontrar el recurso dado como el contexto." validation: - done_ratio: "La proporción de Realizado no puede ser establecida en paquetes de trabajo padres, cuando está controlada por el estado o cuando está deshabilitada." + done_ratio: "% Completado no puede establecerse en paquetes de trabajo padres, cuando es influenciado por estado o cuando está desactivado." due_date: "La fecha de finalización no se puede establecer en los paquetes de trabajo principales." - estimated_hours: "Las horas estimadas no pueden ser establecidas en paquetes de trabajo padres." + estimated_hours: "El trabajo no puede establecerse en paquetes de trabajo padres." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "El usuario elegido no tiene permiso para ser '%{property}' para este paquete de trabajo." start_date: "La fecha de inicio no puede ser establecida en paquetes de trabajo padres." eprops: @@ -3257,7 +3280,7 @@ es: oauth_returned_json_error: "Hay un error de JSON en el OAuth2 " oauth_returned_http_error: "Hay un error de red en el OAuth2 " oauth_returned_standard_error: "Hay un error interno en el OAuth2 " - client_id_blank: "ID can't be blank." + client_id_blank: "El ID no puede estar en blanco." wrong_token_type_returned: "Tipo de token incorrecto en el OAuth2, se espera un AccessToken::Bearer" oauth_issue_contact_admin: "Hay un error en el OAuth2. Por favor, consulte con el administrador del sistema." oauth_client_not_found: "Cliente del OAuth2 no encontrado en el punto final 'callback' (redirect_uri)." diff --git a/config/locales/crowdin/et.yml b/config/locales/crowdin/et.yml index 45d7125bec4c..7e7b58462415 100644 --- a/config/locales/crowdin/et.yml +++ b/config/locales/crowdin/et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ et: no_results_content_text: Add a member to the project invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Failed to reset access token: %{error}" @@ -606,7 +618,9 @@ et: begin_insertion: "Sisestamise algus" begin_deletion: "Kustutamise algus" children: "Alamelemendid" - done_ratio: "Progress (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "kestus" end_insertion: "End of the insertion" end_deletion: "End of the deletion" @@ -620,8 +634,10 @@ et: parent_issue: "Pärineb teemast" parent_work_package: "Pärineb teemast" priority: "Prioriteet" - progress: "Progress (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "Kulutatud aeg" spent_time: "Kulutatud aeg" @@ -1034,12 +1050,12 @@ et: default_columns: "Vaikimisi veerud" description: "Teave" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Kuva summasid" due_date: "Lõpetamise kuupäev" - estimated_hours: "Eeldatav ajakulu" - estimated_time: "Eeldatav ajakulu" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Aegub" firstname: "Eesnimi" group: "Grupp" @@ -1385,7 +1401,7 @@ et: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Teema edenemise astmed jäid uuendamata." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "Teemat ei leitud või see ei kuulu siia projekti" error_must_be_project_member: "peab olema projekti liige" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2065,7 +2081,7 @@ et: label_type_new: "Uus tüüp" label_type_plural: "Tüübid" label_ui: "Kasutajaliides" - label_update_work_package_done_ratios: "Uuenda edenemise astmeid" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Uuendatud %{value} tagasi" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Uuendatud %{author} poolt %{age} tagasi" @@ -2150,6 +2166,10 @@ et: one: "1 avatud" other: "%{count} avatud" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 projekt" other: "%{count} projekti" @@ -2333,7 +2353,7 @@ et: notice_file_not_found: "Sellist lehte ei leitud." notice_forced_logout: "Sind logiti automaatselt välja %{ttl_time} tegevuseta minuti järel." notice_internal_server_error: "Lehel, mida Sa üritasid avada, ilmnes tõrge. Kui probleem on püsiv, siis pöörduge abi saamiseks rakenduse %{app_title} administraatori poole." - notice_work_package_done_ratios_updated: "Teema edenemise astmed on uuendatud." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Teine kasutaja uuendas vahepeal neid andmeid." notice_locking_conflict_additional_information: "Uuendused on tehtud %{users} poolt." notice_locking_conflict_reload_page: "Palun laadi lehekülg uuesti, kontrolli tehtud muudatusi ja püüa neid uuesti salvestada." @@ -2409,6 +2429,8 @@ et: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Muuta viki ülemlehti" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Uudiseid kommenteerida" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Kopeerida projekte" @@ -2470,7 +2492,7 @@ et: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "Kuvada teadaandeid" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "Kuva ajakulu" permission_view_timelines: "Kuvada ajakavu" permission_view_wiki_edits: "Kuva viki toimetuste ajalugu" @@ -2511,6 +2533,7 @@ et: project_module_news: "Uudised" project_module_repository: "Hoidla" project_module_wiki: "Viki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2700,10 +2723,10 @@ et: setting_file_max_size_displayed: "Teksti sees kuvatava tekstifaili maksimaalne suurus" setting_host_name: "Serveri nimi ja teerada" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Määra teema edenemise aste" - setting_work_package_done_ratio_field: "kasutades vastavat välja" - setting_work_package_done_ratio_status: "kasutades teema olekut" - setting_work_package_done_ratio_disabled: "Ära kuva edenemist" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Kuva vaikimisi" setting_work_package_properties: "Teemade atribuudid" setting_work_package_startdate_is_adddate: "Uute teemade alguskuupäevaks käesolev päev" @@ -3141,9 +3164,9 @@ et: unsupported_context: "The resource given is not supported as context." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Estimated hours cannot be set on parent work packages." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." start_date: "Start date cannot be set on parent work packages." eprops: diff --git a/config/locales/crowdin/eu.yml b/config/locales/crowdin/eu.yml index 7211444986bf..a79bbcb3c787 100644 --- a/config/locales/crowdin/eu.yml +++ b/config/locales/crowdin/eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ eu: no_results_content_text: Add a member to the project invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Failed to reset access token: %{error}" @@ -606,7 +618,9 @@ eu: begin_insertion: "Begin of the insertion" begin_deletion: "Begin of the deletion" children: "Subelements" - done_ratio: "Progress (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Iraupena" end_insertion: "End of the insertion" end_deletion: "End of the deletion" @@ -620,8 +634,10 @@ eu: parent_issue: "Parent" parent_work_package: "Parent" priority: "Priority" - progress: "Progress (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "Spent time" spent_time: "Spent time" @@ -1034,12 +1050,12 @@ eu: default_columns: "Default columns" description: "Description" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Display Sums" due_date: "Finish date" - estimated_hours: "Estimated time" - estimated_time: "Estimated time" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Expires at" firstname: "First name" group: "Group" @@ -1385,7 +1401,7 @@ eu: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Work package done ratios not updated." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_must_be_project_member: "must be project member" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2065,7 +2081,7 @@ eu: label_type_new: "New type" label_type_plural: "Types" label_ui: "User Interface" - label_update_work_package_done_ratios: "Update work package done ratios" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Updated %{value} ago" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Updated by %{author} %{age} ago" @@ -2150,6 +2166,10 @@ eu: one: "1 open" other: "%{count} open" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 project" other: "%{count} projects" @@ -2333,7 +2353,7 @@ eu: notice_file_not_found: "The page you were trying to access doesn't exist or has been removed." notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." notice_internal_server_error: "An error occurred on the page you were trying to access. If you continue to experience problems please contact your %{app_title} administrator for assistance." - notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Information has been updated by at least one other user in the meantime." notice_locking_conflict_additional_information: "The update(s) came from %{users}." notice_locking_conflict_reload_page: "Please reload the page, review the changes and reapply your updates." @@ -2409,6 +2429,8 @@ eu: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Change parent wiki page" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Comment news" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy projects" @@ -2470,7 +2492,7 @@ eu: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "View reportings" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "View spent time" permission_view_timelines: "View timelines" permission_view_wiki_edits: "View wiki history" @@ -2511,6 +2533,7 @@ eu: project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "Wikia" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2700,10 +2723,10 @@ eu: setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Calculate the work package done ratio with" - setting_work_package_done_ratio_field: "Use the work package field" - setting_work_package_done_ratio_status: "Use the work package status" - setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Display by default" setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" @@ -3141,9 +3164,9 @@ eu: unsupported_context: "The resource given is not supported as context." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Estimated hours cannot be set on parent work packages." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." start_date: "Start date cannot be set on parent work packages." eprops: diff --git a/config/locales/crowdin/fa.yml b/config/locales/crowdin/fa.yml index 87084bd833fa..ab309888931e 100644 --- a/config/locales/crowdin/fa.yml +++ b/config/locales/crowdin/fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ fa: no_results_content_text: Add a member to the project invite_by_mail: "ارسال دعوت نامه به %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "عدم موفقیت در تنظیم مجدد رمز دسترسی: %{error}" @@ -606,7 +618,9 @@ fa: begin_insertion: "Begin of the insertion" begin_deletion: "Begin of the deletion" children: "Subelements" - done_ratio: "Progress (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Duration" end_insertion: "End of the insertion" end_deletion: "End of the deletion" @@ -620,8 +634,10 @@ fa: parent_issue: "بالادستی" parent_work_package: "بالادستی" priority: "اولويت" - progress: "Progress (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "زمان‌بندی دستی" spent_hours: "زمان صرف شده" spent_time: "زمان صرف شده" @@ -1034,12 +1050,12 @@ fa: default_columns: "Default columns" description: "توضیحات" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Display Sums" due_date: "Finish date" - estimated_hours: "Estimated time" - estimated_time: "Estimated time" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Expires at" firstname: "نام" group: "Group" @@ -1385,7 +1401,7 @@ fa: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Work package done ratios not updated." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "The work package was not found or does not belong to this project" error_must_be_project_member: "must be project member" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2065,7 +2081,7 @@ fa: label_type_new: "New type" label_type_plural: "انواع" label_ui: "User Interface" - label_update_work_package_done_ratios: "Update work package done ratios" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Updated %{value} ago" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Updated by %{author} %{age} ago" @@ -2150,6 +2166,10 @@ fa: one: "1 open" other: "%{count} باز" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 پروژه" other: "%{count} پروژه" @@ -2333,7 +2353,7 @@ fa: notice_file_not_found: "The page you were trying to access doesn't exist or has been removed." notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." notice_internal_server_error: "An error occurred on the page you were trying to access. If you continue to experience problems please contact your %{app_title} administrator for assistance." - notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Information has been updated by at least one other user in the meantime." notice_locking_conflict_additional_information: "The update(s) came from %{users}." notice_locking_conflict_reload_page: "Please reload the page, review the changes and reapply your updates." @@ -2409,6 +2429,8 @@ fa: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Change parent wiki page" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Comment news" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy projects" @@ -2470,7 +2492,7 @@ fa: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "View reportings" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "View spent time" permission_view_timelines: "View timelines" permission_view_wiki_edits: "View wiki history" @@ -2511,6 +2533,7 @@ fa: project_module_news: "News" project_module_repository: "Repository" project_module_wiki: "دانشنامه" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2700,10 +2723,10 @@ fa: setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Calculate the work package done ratio with" - setting_work_package_done_ratio_field: "Use the work package field" - setting_work_package_done_ratio_status: "Use the work package status" - setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Display by default" setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" @@ -3141,9 +3164,9 @@ fa: unsupported_context: "The resource given is not supported as context." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Estimated hours cannot be set on parent work packages." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." start_date: "Start date cannot be set on parent work packages." eprops: diff --git a/config/locales/crowdin/fi.yml b/config/locales/crowdin/fi.yml index f4ca71d329be..0635df6acbb4 100644 --- a/config/locales/crowdin/fi.yml +++ b/config/locales/crowdin/fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ fi: no_results_content_text: Lisää henkilö tähän projektiin invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "API-salasanan resetointi epäonnistui: %{error}" @@ -606,7 +618,9 @@ fi: begin_insertion: "Lisäyksen alku" begin_deletion: "Poistokohdan alku" children: "Subelements" - done_ratio: "Valmiusaste (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Kesto" end_insertion: "Lisäyksen loppu" end_deletion: "Poistokohdan loppu" @@ -620,8 +634,10 @@ fi: parent_issue: "Ylätaso" parent_work_package: "Ylätaso" priority: "Prioriteetti" - progress: "Valmiusaste (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "Käytetty aika" spent_time: "Käytetty aika" @@ -1034,12 +1050,12 @@ fi: default_columns: "Oletussarakkeet" description: "Kuvaus" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Näytä summat" due_date: "Päättymispäivä" - estimated_hours: "Työmääräarvio" - estimated_time: "Työmääräarvio" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Vanhentuu" firstname: "Etunimi" group: "Ryhmä" @@ -1385,7 +1401,7 @@ fi: error_pdf_export_too_many_columns: "Liikaa sarakkeita valittuina PDF-vientiin. Pienennä sarakkeiden määrää." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Tehtävän valmiusastetta ei päivitetty." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "Toimia paketti ei löydy tai ei kuulu tähän projektiin" error_must_be_project_member: "on oltava projekti jäsen" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2065,7 +2081,7 @@ fi: label_type_new: "Uusi tyyppi" label_type_plural: "Tehtävätyypit" label_ui: "Käyttöliittymä" - label_update_work_package_done_ratios: "Päivitä tehtävien valmiusasteet" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Päivitetty %{value} sitten" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Päivittänyt %{author} %{age} sitten" @@ -2150,6 +2166,10 @@ fi: one: "1 avoin" other: "%{count} avointa" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 projekti" other: "%{count} projektia" @@ -2333,7 +2353,7 @@ fi: notice_file_not_found: "Hakemaasi sivua ei löytynyt tai se on poistettu." notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." notice_internal_server_error: "Tapahtui virhe. Jos ongelma jatkuu, ota yhteys %{app_title} ylläpitoon." - notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Vähintään yksi muu käyttäjä on päivitetty tiedot sillä välin." notice_locking_conflict_additional_information: "The update(s) came from %{users}." notice_locking_conflict_reload_page: "Ole hyvä ja päivitä sivu, tarkistaa muutokset ja uudelleen päivitykset." @@ -2409,6 +2429,8 @@ fi: permission_assign_versions: "Assign versions" permission_browse_repository: "Selaa tietovarastoa" permission_change_wiki_parent_page: "Vaihda ylätason wikisivu" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Kommentoi uutisia" permission_commit_access: "Tee pääsyoikeus" permission_copy_projects: "Kopioi projekteja" @@ -2470,7 +2492,7 @@ fi: permission_view_news: "View news" permission_view_members: "Näytä jäsenet" permission_view_reportings: "Tarkastele raportointeja" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "Näytä käytetty aika" permission_view_timelines: "Tarkastele aikajanoja" permission_view_wiki_edits: "Näytä wiki historia" @@ -2511,6 +2533,7 @@ fi: project_module_news: "Uutiset" project_module_repository: "Tietovarasto" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2700,10 +2723,10 @@ fi: setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Verkko-osoite" setting_invitation_expiration_days: "Sähköpostisi vahvistuslinkki vanhentuu" - setting_work_package_done_ratio: "Käytä tehtävien edistymistä laskennassa" - setting_work_package_done_ratio_field: "Käytä tehtäväkenttää" - setting_work_package_done_ratio_status: "Käytä tehtävän tilaa" - setting_work_package_done_ratio_disabled: "Ei käytössä (piilota valmiusaste)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Oletuksena näkyvissä" setting_work_package_properties: "Tehtävän ominaisuudet" setting_work_package_startdate_is_adddate: "Käytä nykyistä päivämäärää uuden tehtävän aloistuspäivänä" @@ -3141,9 +3164,9 @@ fi: unsupported_context: "Resurssi koska ei ole tuettu yhteydessä." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Päättymispäivää ei voida asettaa ylätason tehtäville." - estimated_hours: "Arvioitu tuntia ei voi asettaa vanhemman toimia paketti." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." start_date: "Aloituspäivää ei voi asettaa ylätehtäville." eprops: diff --git a/config/locales/crowdin/fil.yml b/config/locales/crowdin/fil.yml index 178b913a4424..fad6686854e1 100644 --- a/config/locales/crowdin/fil.yml +++ b/config/locales/crowdin/fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ fil: no_results_content_text: Magdagdag ng myembro sa proyekto invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Nabigong i-reset ang access token: %{error}" @@ -606,7 +618,9 @@ fil: begin_insertion: "Nagsimula na ang pagpasok" begin_deletion: "Nagsimula na ang pagbubura" children: "Subelements" - done_ratio: "Isinasagawa (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Durasyon" end_insertion: "Katapusan na" end_deletion: "Katapusan ng pagbubura" @@ -620,8 +634,10 @@ fil: parent_issue: "Magulang" parent_work_package: "Magulang" priority: "Ang prayoridad" - progress: "Isinasagawa (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "Nauubos na oras" spent_time: "Nauubos na oras" @@ -1034,12 +1050,12 @@ fil: default_columns: "I-default ang mga hanay" description: "Deskripsyon" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Ipakita ang mga sum" due_date: "Finish date" - estimated_hours: "Tinantyang oras" - estimated_time: "Tinantyang oras" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Matapos sa" firstname: "Unang pangalan" group: "Grupo" @@ -1385,7 +1401,7 @@ fil: error_pdf_export_too_many_columns: "Masyadong maraming hanay ang napili para sa PDF export. Mangyaring bawasan ang mga bilang ng hanay." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Hindi naka-update ang mga work package done ratio." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "Ang work package ay hindi natagpuan o hindi kabilang sa proyektong ito" error_must_be_project_member: "dapat ay miyembro ng proyekto" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2065,7 +2081,7 @@ fil: label_type_new: "Bagong uri" label_type_plural: "Mga uri" label_ui: "User Interface" - label_update_work_package_done_ratios: "I-update ang mga work package done ratio" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "I-update ang nakalipas na %{value}" label_updated_time_at: "%{author}%{age}" label_updated_time_by: "Naka-update sa %{author}%{age} na nakalipas" @@ -2150,6 +2166,10 @@ fil: one: "Isa ang bukas" other: "%{count} ang bukas" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "Isang proyekto" other: "%{count} mga proyekto" @@ -2333,7 +2353,7 @@ fil: notice_file_not_found: "Ang package na iyong sinusibukan i-access ay hindi umiiral o inalis na." notice_forced_logout: "Ikaw ay automatikong naka-log out pagkatapos ng %{ttl_time} ilang minuto ng hindi aktibidad." notice_internal_server_error: "Isang error ang naganap sa oahina na gusto mong i-access. Kung nagpatuloy ang mga problema nararansan mo manyaring kontakin ang iyong %{app_title} tagapangasiwa para sa tulong." - notice_work_package_done_ratios_updated: "Naka-update ang mga work package done ratio." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Ang impormasyon ay naka-update sa kahit hindi baba isa o." notice_locking_conflict_additional_information: "Ang mga update nagmula sa %{users}." notice_locking_conflict_reload_page: "Mangyaring i-reload ang pahina na ito, repasuhin ang mga pagbabago at muling i-apply ang iyong mga update." @@ -2409,6 +2429,8 @@ fil: permission_assign_versions: "Assign versions" permission_browse_repository: "Basahin-lamang nag-access sa respositoryo (browse at checkout)" permission_change_wiki_parent_page: "Baguhin ang pahina ng magulang na wiki" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Mga komento ng balita" permission_commit_access: "Magbasa/magsulat acess sa repositoryo (commit)" permission_copy_projects: "Kopyahin ang mga proyekto" @@ -2470,7 +2492,7 @@ fil: permission_view_news: "View news" permission_view_members: "Tingnan ang mga miyembro" permission_view_reportings: "Tanawin ang mga ulat" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "Tanawin ang ginugol na oras" permission_view_timelines: "Tingnan ang mga timeline" permission_view_wiki_edits: "Tingnan ang mga kasaysayan ng wiki" @@ -2511,6 +2533,7 @@ fil: project_module_news: "Mga balita" project_module_repository: "Repositoryo" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2698,10 +2721,10 @@ fil: setting_file_max_size_displayed: "Max na laki ng mga tekstong file na ipinapakita inline" setting_host_name: "Host name" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Kalkulahin ang work package done rato sa" - setting_work_package_done_ratio_field: "Gamitin ang work package field" - setting_work_package_done_ratio_status: "Gamitin ang estado ng work package" - setting_work_package_done_ratio_disabled: "Hindi pinaga (itago ang proseso)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Ipakiita sa pamamagitan ng default" setting_work_package_properties: "Ang mga property ng work package" setting_work_package_startdate_is_adddate: "Gamitin ang kasulukuyang petsa bilang pagsisimula ng petsa para sa mga bagong work package" @@ -3139,9 +3162,9 @@ fil: unsupported_context: "Ang ibinigay na mapagkukunan ay hindi suportado bilang isang konteksto." context_object_not_found: "Hindi mahanap ang ibinigay na mapagkukunan bilang konteksto." validation: - done_ratio: "Hindi mai-set ang natapos na ratio sa gawain ng mga magulang na package, kapag ito ay inferred sa pamamagitan ng estado o kapag ito ay hindi mapagana." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Itinayang mga oras ay hindi mai-set sa mga package ng gawain ng magulang." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "Ang piniling gumagamit ay hindi pinahihintulan sa '%{property}' na para sa package ng gawain ng magulang." start_date: "Sinimulang petsa ay hindi mai-set sa mga pakete ng gawain ng magulang." eprops: diff --git a/config/locales/crowdin/fr.yml b/config/locales/crowdin/fr.yml index f8fc7344b3f3..68313b8211d8 100644 --- a/config/locales/crowdin/fr.yml +++ b/config/locales/crowdin/fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ fr: no_results_content_text: Ajouter un membre au projet invite_by_mail: "Envoyer une invitation à %{mail}" send_invite_to: "Envoyer une invitation à" + no_modify_on_shared: "Actuellement, vous ne pouvez pas modifier ou supprimer les adhésions partagées depuis la page des membres. Utilisez plutôt la fenêtre modale de partage." + columns: + shared: "Partagé" + filters: + all_shares: 'Tous les partages' + menu: + all: 'Tout' + invited: 'Invité' + locked: 'Verrouillé' + project_roles: 'Rôle du projet' + wp_shares: 'Répartition des lots de travail' + groups: 'Groupes' my: access_token: failed_to_reset_token: "Impossible de réinitialiser le jeton d’accès : %{error}" @@ -606,7 +618,9 @@ fr: begin_insertion: "Début de l’insertion" begin_deletion: "Début de la suppression" children: "Sous-éléments" - done_ratio: "Progrès (%)" + derived_remaining_hours: "Travail restant dérivé" + derived_remaining_time: "Travail restant dérivé" + done_ratio: "% complet" duration: "Durée" end_insertion: "Fin de l’insertion" end_deletion: "Fin de la suppression" @@ -620,8 +634,10 @@ fr: parent_issue: "Parent" parent_work_package: "Parent" priority: "Priorité" - progress: "Progrès (%)" + progress: "% complet" readonly: "Lecture seule" + remaining_hours: "Travail restant" + remaining_time: "Travail restant" schedule_manually: "Planification manuelle" spent_hours: "Temps passé" spent_time: "Temps passé" @@ -1034,12 +1050,12 @@ fr: default_columns: "Colonnes par défaut" description: "Description" derived_due_date: "Date de fin dérivée" - derived_estimated_hours: "Temps estimé dérivé" + derived_estimated_hours: "Travail dérivé" derived_start_date: "Date de début dérivée" display_sums: "Afficher les sommes" due_date: "Date de fin" - estimated_hours: "Durée estimée" - estimated_time: "Durée estimée" + estimated_hours: "Travail" + estimated_time: "Travail" expires_at: "Expire le" firstname: "Prénom" group: "Groupe" @@ -1385,7 +1401,7 @@ fr: error_pdf_export_too_many_columns: "Trop de colonnes sélectionnées pour l’exportation PDF. Veuillez réduire le nombre de colonnes." error_pdf_failed_to_export: "L'export PDF n'a pas pu être enregistré: %{error}" error_token_authenticity: "Impossible de vérifier le jeton de Cross-Site Request Forgery. Avez-vous essayé d'envoyer des données sur plusieurs navigateurs ou onglets ? Veuillez fermer tous les onglets et réessayer." - error_work_package_done_ratios_not_updated: "Les ratios de Lots de Travaux achevés n'ont pas été mis à jour." + error_work_package_done_ratios_not_updated: "Les valeurs % complet du lot de travaux n'ont pas été mises à jour." error_work_package_not_found_in_project: "Le Lot de Travaux n'a pas été trouvé ou n'appartient pas à ce projet" error_must_be_project_member: "doit être membre du projet" error_migrations_are_pending: "Votre installation OpenProject a des migrations de base de données en attente. Vous n'avez probablement pas exécuté les migrations lors de votre dernière mise à jour. Veuillez consulter le guide de mise à jour afin de mettre votre installation correctement à jour." @@ -2065,7 +2081,7 @@ fr: label_type_new: "Nouveau type" label_type_plural: "Types" label_ui: "Interface de l'utilisateur" - label_update_work_package_done_ratios: "Mis à jour du taux d'avancement du Lots de Travaux" + label_update_work_package_done_ratios: "Mettre à jour la valeur % complet du lot de travaux" label_updated_time: "Mis à jour il y a %{value}" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Mis à jour par %{author} il y a %{age}" @@ -2150,6 +2166,10 @@ fr: one: "1 ouvert" other: "%{count} ouverts" zero: "0 ouvert" + label_x_work_packages: + one: "1 lot de travaux" + other: "%{count} lots de travaux" + zero: "Aucun lot de travaux" label_x_projects: one: "1 projet" other: "%{count} projets" @@ -2333,7 +2353,7 @@ fr: notice_file_not_found: "La page à laquelle vous essayez d'accéder n'existe pas ou a été supprimée." notice_forced_logout: "Vous avez été déconnecté après %{ttl_time} minutes d'inactivité." notice_internal_server_error: "Une erreur est survenue sur la page à laquelle vous essayez d'accéder. Si le problème persiste, veuillez contacter votre administrateur %{app_title} pour assistance." - notice_work_package_done_ratios_updated: "Taux d'avancement des mise à jour du Lot de Travaux." + notice_work_package_done_ratios_updated: "% de mise à jour terminée" notice_locking_conflict: "Cette information a été mise a jour par au moin un autre utilisateur pendant la même session" notice_locking_conflict_additional_information: "Le(s) mise(s) à jour(s) ont été faite par %{users}." notice_locking_conflict_reload_page: "Veuillez rafraîchir la page, vérifier les changements et rélancer la mise à jour." @@ -2409,6 +2429,8 @@ fr: permission_assign_versions: "Assigner les versions" permission_browse_repository: "Accès au dépôt en lecture seule (navigation et « checkout »)" permission_change_wiki_parent_page: "Changer la page wiki parent" + permission_change_work_package_status: "Modifier le statut du lot de travaux" + permission_change_work_package_status_explanation: "Permet de modifier le statut sans avoir le droit de modifier les lots de travaux" permission_comment_news: "Commenter les actualités" permission_commit_access: "Accès au dépôt en lecture/écriture (« commit »)" permission_copy_projects: "Copier des projets" @@ -2470,7 +2492,7 @@ fr: permission_view_news: "Voir les nouvelles" permission_view_members: "Afficher les membres" permission_view_reportings: "Voir rapports" - permission_view_shared_work_packages: "Voir les lots de travaux partagés" + permission_view_shared_work_packages: "Voir la répartition des lots de travail" permission_view_time_entries: "Voir temps passé" permission_view_timelines: "Voir les lignes du temps" permission_view_wiki_edits: "Voir l'historique du wiki" @@ -2485,7 +2507,7 @@ fr: default: "-" project: destroy: - confirmation: "Si vous continuez, le projet %{identifiant} sera définitivement supprimé. Pour confirmer cette action, veuillez saisir le nom du projet dans le champ ci-dessous. Cela va :" + confirmation: "Si vous continuez, le projet %{identifier} sera définitivement supprimé. Pour confirmer cette action, veuillez saisir le nom du projet dans le champ ci-dessous. Cela va :" project_delete_result_1: "Supprimer toutes les données associées." project_delete_result_2: "Supprimer tous les dossiers de projet gérés dans les unités de stockage attachées." info: "La suppression du projet est une action irréversible." @@ -2511,6 +2533,7 @@ fr: project_module_news: "Actualités" project_module_repository: "Référentiel" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Lots de travaux et Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2700,10 +2723,10 @@ fr: setting_file_max_size_displayed: "Taille maximale de l'affichage du fichers texte inline" setting_host_name: "Nom d'hôte" setting_invitation_expiration_days: "L'émail d’activation expire après" - setting_work_package_done_ratio: "Calculer le taux d'avancement du lot de travaux avec" - setting_work_package_done_ratio_field: "Utiliser le champ Lot de Travaux" - setting_work_package_done_ratio_status: "Utiliser le statut des Lots de Travaux" - setting_work_package_done_ratio_disabled: "Désactiver (cacher l'avancement)" + setting_work_package_done_ratio: "Calculer le % de réalisation du lot de travaux avec" + setting_work_package_done_ratio_field: "Le champ du lot de travaux" + setting_work_package_done_ratio_status: "Status du lot de travaux" + setting_work_package_done_ratio_disabled: "Désactiver (masquer le champ % complet)" setting_work_package_list_default_columns: "Afficher par défaut" setting_work_package_properties: "Propriétés du Lot de Travaux" setting_work_package_startdate_is_adddate: "Utiliser la date actuelle comme date de début des nouveaux lots de travaux" @@ -3068,7 +3091,7 @@ fr: warning_user_limit_reached_admin: > L'ajout d'utilisateurs supplémentaires dépassera la limite actuelle. Veuillez mettre à niveau votre plan pour que les utilisateurs externes puissent accéder à ce work package. warning_no_selected_user: "Veuillez sélectionner les utilisateurs avec lesquels partager ce lot de travaux" - warning_locked_user: "Impossible de partager avec %{utilisateur} dont le compte est verrouillé" + warning_locked_user: "Impossible de partager avec %{user} dont le compte est verrouillé" user_details: locked: "Utilisateur verrouillé" invited: "Invitation envoyée." @@ -3140,9 +3163,9 @@ fr: unsupported_context: "La ressource donnée n'est pas prise en charge comme contexte." context_object_not_found: "Impossible de trouver la ressource donnée comme contexte." validation: - done_ratio: "Le taux d'avancement ne peut être défini sur les lots de travaux parents lorsqu'il est déduit en fonction du statut, ou lorsqu'il est désactivé." + done_ratio: "Le % complet ne peut pas être défini sur les lots de travaux parents, lorsqu'il est déduit par le statut ou lorsqu'il est désactivé." due_date: "La date de fin ne peut pas être définie dans les lots de travaux parents." - estimated_hours: "Les heures estimées ne peuvent être définies sur les lots de travaux parents." + estimated_hours: "La valeur \"travail\" ne peut pas être définie pour les paquets de travail parents." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "L’utilisateur choisi n'est pas autorisé à être « %{property} » pour ce lot de travaux." start_date: "La date de début ne peut pas être définie dans les lots de travaux parents." eprops: @@ -3261,7 +3284,7 @@ fr: oauth_returned_json_error: "OAuth2 a renvoyé une erreur JSON" oauth_returned_http_error: "OAuth2 a renvoyé une erreur réseau" oauth_returned_standard_error: "OAuth2 a renvoyé une erreur interne" - client_id_blank: "ID can't be blank." + client_id_blank: "L'ID ne peut pas être vide." wrong_token_type_returned: "OAuth2 a retourné un mauvais type de jeton, AccessToken::Bearer était attendu" oauth_issue_contact_admin: "OAuth2 a signalé une erreur. Veuillez contacter votre administrateur système." oauth_client_not_found: "Client OAuth2 introuvable dans le point de terminaison « callback » (redirect_uri)." diff --git a/config/locales/crowdin/he.yml b/config/locales/crowdin/he.yml index 4a1b76f46021..5a77f98ec4bf 100644 --- a/config/locales/crowdin/he.yml +++ b/config/locales/crowdin/he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ he: no_results_content_text: Add a member to the project invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Failed to reset access token: %{error}" @@ -608,7 +620,9 @@ he: begin_insertion: "Begin of the insertion" begin_deletion: "Begin of the deletion" children: "Subelements" - done_ratio: "Progress (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "משך זמן" end_insertion: "End of the insertion" end_deletion: "End of the deletion" @@ -622,8 +636,10 @@ he: parent_issue: "אב" parent_work_package: "אב" priority: "עדיפות" - progress: "Progress (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "זמן שבוזבז" spent_time: "זמן שבוזבז" @@ -1052,12 +1068,12 @@ he: default_columns: "עמודות ברירת המחדל" description: "תיאור" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "הצג סכומים" due_date: "Finish date" - estimated_hours: "זמן משוער" - estimated_time: "זמן משוער" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Expires at" firstname: "שם פרטי" group: "קבוצה" @@ -1439,7 +1455,7 @@ he: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "אחוזי הסיום בחבילת העבודה אינם מעודכנים." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "חבילת העבודה לא נמצאה או לא שייכת לפרוייקט זה" error_must_be_project_member: "חייב להיות חבר בפרוייקט" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2119,7 +2135,7 @@ he: label_type_new: "סוג חדש" label_type_plural: "סוגים" label_ui: "ממשק משתמש" - label_update_work_package_done_ratios: "Update work package done ratios" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Updated %{value} ago" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Updated by %{author} %{age} ago" @@ -2204,6 +2220,10 @@ he: one: "אחד פתוח" other: "%{count} פתוחים" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "פרוייקט אחד" other: "%{count} פרויקטים" @@ -2389,7 +2409,7 @@ he: notice_file_not_found: "The page you were trying to access doesn't exist or has been removed." notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." notice_internal_server_error: "An error occurred on the page you were trying to access. If you continue to experience problems please contact your %{app_title} administrator for assistance." - notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Information has been updated by at least one other user in the meantime." notice_locking_conflict_additional_information: "The update(s) came from %{users}." notice_locking_conflict_reload_page: "Please reload the page, review the changes and reapply your updates." @@ -2467,6 +2487,8 @@ he: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Change parent wiki page" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Comment news" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy projects" @@ -2528,7 +2550,7 @@ he: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "View reportings" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "View spent time" permission_view_timelines: "View timelines" permission_view_wiki_edits: "View wiki history" @@ -2569,6 +2591,7 @@ he: project_module_news: "חדשות" project_module_repository: "Repository" project_module_wiki: "ויקי" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2758,10 +2781,10 @@ he: setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Calculate the work package done ratio with" - setting_work_package_done_ratio_field: "Use the work package field" - setting_work_package_done_ratio_status: "Use the work package status" - setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "להציג כברירת מחדל" setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" @@ -3201,9 +3224,9 @@ he: unsupported_context: "The resource given is not supported as context." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Estimated hours cannot be set on parent work packages." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "לא ניתן לבחור '%{property}' עבור המשתמש בחבילת עבודה זו." start_date: "Start date cannot be set on parent work packages." eprops: diff --git a/config/locales/crowdin/hi.yml b/config/locales/crowdin/hi.yml index 3edd3d1aca57..8e7f9793c6d8 100644 --- a/config/locales/crowdin/hi.yml +++ b/config/locales/crowdin/hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ hi: no_results_content_text: Add a member to the project invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Failed to reset access token: %{error}" @@ -604,7 +616,9 @@ hi: begin_insertion: "Begin of the insertion" begin_deletion: "Begin of the deletion" children: "उपतत्व" - done_ratio: "Progress (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Duration" end_insertion: "End of the insertion" end_deletion: "End of the deletion" @@ -618,8 +632,10 @@ hi: parent_issue: "जनक" parent_work_package: "जनक" priority: "वरीयता" - progress: "Progress (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "समय बिताया" spent_time: "समय बिताया" @@ -1032,12 +1048,12 @@ hi: default_columns: "Default columns" description: "Description" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Display Sums" due_date: "समाप्ति दिनांक" - estimated_hours: "Estimated time" - estimated_time: "Estimated time" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Expires at" firstname: "First name" group: "समूह" @@ -1383,7 +1399,7 @@ hi: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "क्रॉस-साइट अनुरोध जालसाज़ी टोकन सत्यापित करने में असमर्थ । क्या आपने एकाधिक ब्राउज़र्स या टैब पर डेटा सबमिट करने का प्रयास किया है? कृपया सभी टैब बंद करें और पुन: प्रयास करे ।" - error_work_package_done_ratios_not_updated: "Work package done ratios not updated." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "कार्य पैकेज नहीं मिला, या इस प्रोजेक्ट से संबंधित नहीं है" error_must_be_project_member: "प्रोजेक्ट सदस्य होना जरूरी है" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2063,7 +2079,7 @@ hi: label_type_new: "नए प्रकार" label_type_plural: "प्रकार" label_ui: "उपयोगकर्ता इंटरफ़ेस" - label_update_work_package_done_ratios: "Update work package done ratios" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Updated %{value} ago" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Updated by %{author} %{age} ago" @@ -2148,6 +2164,10 @@ hi: one: "1 open" other: "%{count} open" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 project" other: "%{count} projects" @@ -2331,7 +2351,7 @@ hi: notice_file_not_found: "The page you were trying to access doesn't exist or has been removed." notice_forced_logout: "You have been automatically logged out after %{ttl_time} minutes of inactivity." notice_internal_server_error: "An error occurred on the page you were trying to access. If you continue to experience problems please contact your %{app_title} administrator for assistance." - notice_work_package_done_ratios_updated: "Work package done ratios updated." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Information has been updated by at least one other user in the meantime." notice_locking_conflict_additional_information: "The update(s) came from %{users}." notice_locking_conflict_reload_page: "Please reload the page, review the changes and reapply your updates." @@ -2407,6 +2427,8 @@ hi: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Change parent wiki page" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Comment news" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy projects" @@ -2468,7 +2490,7 @@ hi: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "View reportings" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "View spent time" permission_view_timelines: "View timelines" permission_view_wiki_edits: "View wiki history" @@ -2509,6 +2531,7 @@ hi: project_module_news: "नया" project_module_repository: "Repository" project_module_wiki: "विकी" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2698,10 +2721,10 @@ hi: setting_file_max_size_displayed: "Max size of text files displayed inline" setting_host_name: "Host name" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Calculate the work package done ratio with" - setting_work_package_done_ratio_field: "Use the work package field" - setting_work_package_done_ratio_status: "Use the work package status" - setting_work_package_done_ratio_disabled: "Disable (hide the progress)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Display by default" setting_work_package_properties: "Work package properties" setting_work_package_startdate_is_adddate: "Use current date as start date for new work packages" @@ -3139,9 +3162,9 @@ hi: unsupported_context: "The resource given is not supported as context." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Estimated hours cannot be set on parent work packages." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "The chosen user is not allowed to be '%{property}' for this work package." start_date: "Start date cannot be set on parent work packages." eprops: diff --git a/config/locales/crowdin/hr.yml b/config/locales/crowdin/hr.yml index 92b66a733bf1..3037f882a5eb 100644 --- a/config/locales/crowdin/hr.yml +++ b/config/locales/crowdin/hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -281,6 +281,18 @@ hr: no_results_content_text: Pridruži korisnika projektu invite_by_mail: "Send invite to %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Ne mogu postaviti pristupni token: %{error}" @@ -607,7 +619,9 @@ hr: begin_insertion: "Početak umetanja" begin_deletion: "Početak brisanja" children: "Subelements" - done_ratio: "Napredak (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Trajanje" end_insertion: "Kraj umetanja" end_deletion: "Kraj brisanja" @@ -621,8 +635,10 @@ hr: parent_issue: "Matični" parent_work_package: "Matični" priority: "Prioritet" - progress: "Napredak (%)" + progress: "% Complete" readonly: "Read only" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Manual scheduling" spent_hours: "Utrošeno vrijeme" spent_time: "Utrošeno vrijeme" @@ -1043,12 +1059,12 @@ hr: default_columns: "Zadani stupci" description: "Opis" derived_due_date: "Derived finish date" - derived_estimated_hours: "Derived estimated time" + derived_estimated_hours: "Derived work" derived_start_date: "Derived start date" display_sums: "Prikaži iznose" due_date: "Finish date" - estimated_hours: "Predviđeno vrijeme" - estimated_time: "Predviđeno vrijeme" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Ističe u" firstname: "Ime" group: "Grupa" @@ -1412,7 +1428,7 @@ hr: error_pdf_export_too_many_columns: "Too many columns selected for the PDF export. Please reduce the number of columns." error_pdf_failed_to_export: "The PDF export could not be saved: %{error}" error_token_authenticity: "Unable to verify Cross-Site Request Forgery token. Did you try to submit data on multiple browsers or tabs? Please close all tabs and try again." - error_work_package_done_ratios_not_updated: "Omjer učinjenoga radnog paketa nije ažuriran." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "Radni paket nije pronađen ili ne pripada ovom projektu" error_must_be_project_member: "mora biti član projekta" error_migrations_are_pending: "Your OpenProject installation has pending database migrations. You have likely missed running the migrations on your last upgrade. Please check the upgrade guide to properly upgrade your installation." @@ -2092,7 +2108,7 @@ hr: label_type_new: "Novi tip" label_type_plural: "Tipovi" label_ui: "Korisničko sučelje" - label_update_work_package_done_ratios: "Ažuiraj omjer učinjenoga radnog paketa" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Ažurirano prije %{value}" label_updated_time_at: "%{author}%{age}" label_updated_time_by: "Ažurirao korisnik %{author} prije %{age}" @@ -2177,6 +2193,10 @@ hr: one: "1 započet" other: "%{count} započeta" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 projekt" other: "%{count} projekta" @@ -2361,7 +2381,7 @@ hr: notice_file_not_found: "Stranica kojoj ste pokušali pristupiti ne postoji ili je izbrisana." notice_forced_logout: "Automatski ste odjavljeni iz sustava nakon %{ttl_time} minuta neaktivnosti." notice_internal_server_error: "Nastupila je pogrška na stranici kojoj pokuštavate pristupiti. Ako se problemi nastave molim vas da kontaktirate vašeg %{app_title} administratora za podršku." - notice_work_package_done_ratios_updated: "Omjer učinjenoga radnog paketa je ažuriran." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Informacija je u međuvremenu ažurirana od najmanje jednog korisnika." notice_locking_conflict_additional_information: "Ažuiranje(a) je obavio %{users}." notice_locking_conflict_reload_page: "Molim vas ponovno učitajte stranicu, pregledajte promjene i ponovno učitajte vaša ažuriranja." @@ -2438,6 +2458,8 @@ hr: permission_assign_versions: "Assign versions" permission_browse_repository: "Read-only pristup repozitoriju (pregledavanje i provjera)" permission_change_wiki_parent_page: "Promijeni nadređenu wiki stranicu" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Komentirajte vijest" permission_commit_access: "Read/write pristup repozitoriju (commit)" permission_copy_projects: "Kopiraj projekte" @@ -2499,7 +2521,7 @@ hr: permission_view_news: "View news" permission_view_members: "View members" permission_view_reportings: "Prikaži izvještaje" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "Prikaži utrošeno vrijeme" permission_view_timelines: "Prikaži kronologiju" permission_view_wiki_edits: "Pogledaj povijest wiki stranice" @@ -2540,6 +2562,7 @@ hr: project_module_news: "Vijesti" project_module_repository: "Repozitorij" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2729,10 +2752,10 @@ hr: setting_file_max_size_displayed: "Maksimalna veličina tesktualnih datoteka prikazanih u liniji" setting_host_name: "Hostname" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Izračunaj omjer učinjenoga radnog paketa" - setting_work_package_done_ratio_field: "Koristi polje radnog paketa" - setting_work_package_done_ratio_status: "Koristi status radnog paketa" - setting_work_package_done_ratio_disabled: "Onemogući (sakrij omjer učinjenoga)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Zadani prikaz" setting_work_package_properties: "Postavke radnih paketa" setting_work_package_startdate_is_adddate: "Koristite današanji datum kao početni datum novih radnih paketa" @@ -3171,9 +3194,9 @@ hr: unsupported_context: "Dani resurs nije podržan u obliku konteksta." context_object_not_found: "Ne mogu pronaći resurs zadan kao kontekst." validation: - done_ratio: "Omjer učinjenoga radnog paketa ne može biti zadan nadređenom radnom paketu, kada je zaključen statusom ili kada je onemogućen." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Finish date cannot be set on parent work packages." - estimated_hours: "Predviđeni sati ne mogu biti postavljeni na nadređeni radni paket." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "Izabranom korisniku nije dopušteno da bude '%{property}' za ovaj radni paket." start_date: "Datum početka ne može biti postavljen na nadređenim radnim paketima." eprops: diff --git a/config/locales/crowdin/hu.yml b/config/locales/crowdin/hu.yml index 48589502ad9d..a171c385ddb2 100644 --- a/config/locales/crowdin/hu.yml +++ b/config/locales/crowdin/hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -280,6 +280,18 @@ hu: no_results_content_text: Tag hozzáadása a projekthez invite_by_mail: "Meghívás küldése %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Hozzáférési token helyreállítása sikertelen: %{error}" @@ -603,7 +615,9 @@ hu: begin_insertion: "Beillesztés kezdete" begin_deletion: "Törlés kezdete" children: "Alelemek" - done_ratio: "Folyamat állapot (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Időtartam" end_insertion: "Beillesztés vége" end_deletion: "Törlés vége" @@ -617,8 +631,10 @@ hu: parent_issue: "Szülő" parent_work_package: "Szülő" priority: "Fontosság" - progress: "Folyamat állapot (%)" + progress: "% Complete" readonly: "Olvasható" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Kézi ütemezés\n" spent_hours: "Eltöltött idő" spent_time: "Eltöltött idő" @@ -1031,12 +1047,12 @@ hu: default_columns: "Alapértelmezett oszlopok" description: "Leírás" derived_due_date: "Származtatott befejezési időpont" - derived_estimated_hours: "Származtatott becsült idő" + derived_estimated_hours: "Derived work" derived_start_date: "Származtatott kezdési időpont\n" display_sums: "Megjelenitendő összegek" due_date: "Befejezési dátum" - estimated_hours: "Becsült idő (óra)" - estimated_time: "Becsült idő (óra)" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Lejárat ekkor" firstname: "Keresztnév" group: "Csoport" @@ -1382,7 +1398,7 @@ hu: error_pdf_export_too_many_columns: "Túl sok oszlop lett kiválasztva a PDF exportáláshoz. Kérlek csökkentsd a sorok számát." error_pdf_failed_to_export: "A PDF-Exportálás mentése nem sikerült: %{error}" error_token_authenticity: "Nem sikerült ellenőrizni a Cross-Site Request Forgery token-t. Megpróbált adatokat küldeni több böngészőn vagy lapon keresztül? Kérjük, zárja be az összes lapot, és próbálkozzon újra." - error_work_package_done_ratios_not_updated: "A feladatcsoport a megtett arányokat nem frissítette." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "A feladatcsoport nem található, vagy nem tartozik ehhez a projekthez" error_must_be_project_member: "projekt tagnak kell lennie" error_migrations_are_pending: "Az Openproject adatbázisainak költöztetése függőben van. Valószínűleg elmulasztotta lefuttatni az átvitelt a legutóbbi frissítéskor. Kérjük, a megfelelő frissítéshez kövesse a frissítési útmutatót." @@ -2062,7 +2078,7 @@ hu: label_type_new: "Új típus" label_type_plural: "Típus" label_ui: "Felhasználói felület" - label_update_work_package_done_ratios: "Frissítse a munkacsomag elvégzett arányokat" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Ezelőtt frissített %{value}" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Frissítve %{author} %{age} ezelőtt" @@ -2147,6 +2163,10 @@ hu: one: "1 nyitott" other: "%{count} nyitott" zero: "0 nyitott" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 projekt" other: "%{count} projekt" @@ -2329,7 +2349,7 @@ hu: notice_file_not_found: "Az elérni kivánt oldal nem létezik, vagy már eltávolították." notice_forced_logout: "Automatikusan kijelentkezett %{ttl_time} perc inaktivitás után." notice_internal_server_error: "Az elérni kivánt oldalon hiba történt. Ha továbbra is problémákat tapasztal, kérem forduljon a %{app_title} rendszergazdához segítségért." - notice_work_package_done_ratios_updated: "A munkacsomag elkészült arányainak frissítése kész." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Az adatokat frissítette egy másik felhasználó időközben." notice_locking_conflict_additional_information: "A frissítést %{users} végezte el." notice_locking_conflict_reload_page: "Töltse újra az oldalt, tekintse át a módosításokat, és a frissítse újra." @@ -2405,6 +2425,8 @@ hu: permission_assign_versions: "Hozzárendelt verziók." permission_browse_repository: "Csak olvasható hozzáférés a tárolóhoz (böngészés és kijelentkezés)" permission_change_wiki_parent_page: "A szülő wiki oldal megváltoztatása" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Megjegyzések írása a hírekehez" permission_commit_access: "Olvasási és írási jog a tárolóhoz (commit)" permission_copy_projects: "Projekt másolása" @@ -2466,7 +2488,7 @@ hu: permission_view_news: "View news" permission_view_members: "Tagok megtekintése" permission_view_reportings: "Jelentések megtekintése" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "Az eltöltött idő megtekintése" permission_view_timelines: "Az idővonalak megtekintése" permission_view_wiki_edits: "Wiki-előzmények megtekintése" @@ -2507,6 +2529,7 @@ hu: project_module_news: "Hírek" project_module_repository: "Csomagtároló" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2696,10 +2719,10 @@ hu: setting_file_max_size_displayed: "A szöveg fájl sorainak maximum mérete megjelenítéskor" setting_host_name: "Gazdagép neve" setting_invitation_expiration_days: "Az aktivációs email lejár ekkor" - setting_work_package_done_ratio: "A feladatcsoport elkészült arányainak kiszámítása" - setting_work_package_done_ratio_field: "A feladatcsoport mező használata" - setting_work_package_done_ratio_status: "Használja a feladatcsoport állapotát" - setting_work_package_done_ratio_disabled: "Letiltja (elrejti a haladást)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Alapértelmezés megjelenítése" setting_work_package_properties: "feladatcsoport tulajdonságok" setting_work_package_startdate_is_adddate: "Az aktuális dátum használata, mint kezdő dátuma az új feladatcsoportoknak" @@ -3137,9 +3160,9 @@ hu: unsupported_context: "A megadott erőforrás nem támogatott kontextus." context_object_not_found: "Nem található a kontextusként megadott erőforrás." validation: - done_ratio: "Az arány nem megadható a szülő feladatcsoportokon, amikor az a státuszból következtethető vagy alapból ki van kapcsolva." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Befejezési dátumot nem lehet beállítani a szülő feladatcsoportnak." - estimated_hours: "Becsült óra nem állítható a szülő feladatcsoportokon." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "A kiválasztott felhasználó '%{property}'-ként való beállítása nem engedélyezett ehhez a feladatcsoporthoz." start_date: "Kezdés dátuma nem állítható a szülő feladatcsoportokon." eprops: diff --git a/config/locales/crowdin/id.yml b/config/locales/crowdin/id.yml index 3e43965df27b..32c59d57370a 100644 --- a/config/locales/crowdin/id.yml +++ b/config/locales/crowdin/id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -275,6 +275,18 @@ id: no_results_content_text: Add a member to the project invite_by_mail: "Kirim undangan ke %{mail}" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "Gagal untuk menset ulang akses token: %{error}" @@ -598,7 +610,9 @@ id: begin_insertion: "Begin of the insertion" begin_deletion: "Begin of the deletion" children: "Subelemen" - done_ratio: "Progress (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "Durasi" end_insertion: "End of the insertion" end_deletion: "End of the deletion" @@ -612,8 +626,10 @@ id: parent_issue: "Induk" parent_work_package: "Induk" priority: "Prioritas" - progress: "Progress (%)" + progress: "% Complete" readonly: "Baca saja" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "Penjadwalan manual" spent_hours: "Durasi" spent_time: "Durasi" @@ -1018,12 +1034,12 @@ id: default_columns: "Kolom default" description: "Deskripsi" derived_due_date: "Tanggal selesai turunan" - derived_estimated_hours: "Perkiraan waktu turunan" + derived_estimated_hours: "Derived work" derived_start_date: "Tanggal mulai turunan" display_sums: "Tampilkan jumlah" due_date: "Tanggal selesai" - estimated_hours: "Estimasi Waktu" - estimated_time: "Estimasi Waktu" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "Berakhir masa berlaku pada" firstname: "Nama depan" group: "Grup" @@ -1351,7 +1367,7 @@ id: error_pdf_export_too_many_columns: "Kolom yang dipilih utnuk ekspor PDF terlalu banyak. Mohon kurangi jumlah kolom." error_pdf_failed_to_export: "Ekspor PDF tidak dapat disimpan: %{error}" error_token_authenticity: "Tidak dapat memverifikasi token Pemalsuan Permintaan Lintas Situs. Apakah Anda mencoba mengirimkan data di beberapa browser atau tab? Harap tutup semua tab dan coba lagi." - error_work_package_done_ratios_not_updated: "Paket-Penugasan selesai, rasio tidak diupdate." + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "Paket-Penugasan tidak ditemukan atau tidak termasuk dalam Project ini" error_must_be_project_member: "harus sbg Project Member" error_migrations_are_pending: "Instalasi OpenProject anda tertunda karena migrasi databse. kemungkinan anda melewatkan migrasi yang ada saat upgrade terakhir. silahkan periksa panduan upgrade untuk meng-upgrade dengan benar." @@ -2031,7 +2047,7 @@ id: label_type_new: "Tipe baru" label_type_plural: "Tipe" label_ui: "Antarmuka user" - label_update_work_package_done_ratios: "Rasio Paket-Penugasan telah diupdate" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "Diperbarui %{value} yang lalu" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "Diperbarui oleh %{author} %{age} yang lalu" @@ -2116,6 +2132,10 @@ id: one: "1 open" other: "%{count} terbuka" zero: "0 open" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 project" other: "%{count} proyek" @@ -2298,7 +2318,7 @@ id: notice_file_not_found: "Halaman yang Anda akses sudah dihapus atau dipindahkan." notice_forced_logout: "Anda secara otomatis telah Logout setelah %{ttl_time} menit tanpa aktivitas." notice_internal_server_error: "Error pada halaman yang Anda akses. Jika Anda tetap mengalami masalah hubungi administrator %{app_title} untuk bantuan." - notice_work_package_done_ratios_updated: "Paket-Penugasan selesai, rasio telah diupdate." + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "Informasi telah diperbarui oleh setidaknya satu user lain." notice_locking_conflict_additional_information: "Diupdate oleh %{users}." notice_locking_conflict_reload_page: "Silahkan reload halaman, tinjau perubahan dan reapply." @@ -2371,6 +2391,8 @@ id: permission_assign_versions: "Tetapkan versi" permission_browse_repository: "Read-only access to repository (browse and checkout)" permission_change_wiki_parent_page: "Ubah halaman induk Wiki" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "Komentar berita" permission_commit_access: "Read/write access to repository (commit)" permission_copy_projects: "Copy Project" @@ -2432,7 +2454,7 @@ id: permission_view_news: "View news" permission_view_members: "Tampilkan Anggota" permission_view_reportings: "Lihat laporan" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "Lihat durasi" permission_view_timelines: "Lihat Timeline" permission_view_wiki_edits: "Lihat Wiki histori" @@ -2473,6 +2495,7 @@ id: project_module_news: "News" project_module_repository: "Repositori" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2660,10 +2683,10 @@ id: setting_file_max_size_displayed: "Ukuran maks. file teks yang ditampilkan inline" setting_host_name: "Nama host" setting_invitation_expiration_days: "Activation email expires after" - setting_work_package_done_ratio: "Hitung Paket-Penugasan dengan Rasio Penyelesaian" - setting_work_package_done_ratio_field: "Gunakan isian Paket-Penugasan" - setting_work_package_done_ratio_status: "Gunakan status Paket-Penugasan" - setting_work_package_done_ratio_disabled: "Nonaktifkan (sembunyikan progress)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "Tampilkan secara default" setting_work_package_properties: "Properti Paket-Penugasan" setting_work_package_startdate_is_adddate: "Gunakan tanggal sekarang untuk start Paket-Penugasan" @@ -3100,9 +3123,9 @@ id: unsupported_context: "The resource given is not supported as context." context_object_not_found: "Cannot find the resource given as the context." validation: - done_ratio: "Done ratio cannot be set on parent work packages, when it is inferred by status or when it is disabled." + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "Tanggal selesai tidak dapat diatur pada paket pekerjaan induk." - estimated_hours: "Estimated hours cannot be set on parent work packages." + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "Pilihan pengguna tidak diperbolehkan untuk menjadi '%{property}' untuk paket pekerjaan ini." start_date: "Start date cannot be set on parent work packages." eprops: diff --git a/config/locales/crowdin/it.yml b/config/locales/crowdin/it.yml index 14d85c735838..483160dc5574 100644 --- a/config/locales/crowdin/it.yml +++ b/config/locales/crowdin/it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -278,6 +278,18 @@ it: no_results_content_text: Aggiungi un membro al progetto invite_by_mail: "Invia invito a %{mail}" send_invite_to: "Invia l'invito a" + no_modify_on_shared: "Al momento non è possibile modificare o rimuovere le iscrizioni condivise tramite la pagina dei membri. Utilizza invece la modalità di condivisione.\n" + columns: + shared: "Condivisa" + filters: + all_shares: 'Tutte le condivisioni' + menu: + all: 'Tutti' + invited: 'Invitato' + locked: 'Bloccato' + project_roles: 'Ruoli del progetto' + wp_shares: 'Condivisioni della macro-attività' + groups: 'Gruppi' my: access_token: failed_to_reset_token: "Impossibile reimpostare il token di accesso: %{error}" @@ -603,7 +615,9 @@ it: begin_insertion: "Inizio inserimento" begin_deletion: "Inizio cancellazione" children: "Sottoelementi" - done_ratio: "Avanzamento (%)" + derived_remaining_hours: "Lavoro rimanente derivato" + derived_remaining_time: "Lavoro rimanente derivato" + done_ratio: "% completamento" duration: "Durata" end_insertion: "Fine inserimento" end_deletion: "Fine cancellazione" @@ -617,8 +631,10 @@ it: parent_issue: "Superiore" parent_work_package: "Superiore" priority: "Priorità" - progress: "Avanzamento (%)" + progress: "% completamento" readonly: "Sola lettura" + remaining_hours: "Lavoro rimanente" + remaining_time: "Lavoro rimanente" schedule_manually: "Programmazione manuale" spent_hours: "Tempo speso" spent_time: "Tempo speso" @@ -1031,12 +1047,12 @@ it: default_columns: "Colonne predefinite" description: "Descrizione" derived_due_date: "Data di fine derivata" - derived_estimated_hours: "Tempo stimato derivato" + derived_estimated_hours: "Lavoro derivato" derived_start_date: "Data di inizio derivata" display_sums: "Visualizza somme" due_date: "Data di fine" - estimated_hours: "Tempo stimato" - estimated_time: "Tempo stimato" + estimated_hours: "Lavoro" + estimated_time: "Lavoro" expires_at: "Scade il" firstname: "Nome" group: "Gruppo" @@ -1382,7 +1398,7 @@ it: error_pdf_export_too_many_columns: "Troppe colonne selezionate per l'esportazione in PDF. Ridurre il numero di colonne." error_pdf_failed_to_export: "L'esportazione del PDF non può essere salvata: %{error}" error_token_authenticity: "Impossibile verificare il token di richiesta. Forse hai provato a inviare i dati da più browser o schede? Chiudi tutte le schede e riprova." - error_work_package_done_ratios_not_updated: "Percentuale di completamento della macro-attività non aggiornata." + error_work_package_done_ratios_not_updated: "Valori di % completamento della macro-attività non aggiornati." error_work_package_not_found_in_project: "La macro-attività non è stata trovata o non appartiene a questo progetto" error_must_be_project_member: "deve essere membro del progetto" error_migrations_are_pending: "L'installazione di OpenProject ha migrazioni di database in sospeso. Probabilmente non hai effettuato le migrazioni durante l'ultimo aggiornamento. Controlla la documentazione sull'aggiornamento per aggiornare correttamente l'installazione." @@ -2062,7 +2078,7 @@ it: label_type_new: "Nuovo tipo" label_type_plural: "Tipi" label_ui: "Interfaccia Utente" - label_update_work_package_done_ratios: "Aggiorna la percentuale di completamento della macro-attività" + label_update_work_package_done_ratios: "Aggiorna valori di % completamento per la macro-attività" label_updated_time: "Aggiornato %{value} fa" label_updated_time_at: "%{author}%{age}" label_updated_time_by: "Aggiornato da %{author} %{age} fa" @@ -2147,6 +2163,10 @@ it: one: "1 aperto" other: "%{count} aperti" zero: "0 aperti" + label_x_work_packages: + one: "1 macro-attività" + other: "%{count} macro-attività" + zero: "Nessuna macro-attività" label_x_projects: one: "1 progetto" other: "%{count} progetti" @@ -2218,9 +2238,9 @@ it: sharing: work_packages: allowed_actions: "Puoi %{allowed_actions} questa macro-attività. Questa impostazione può cambiare a seconda del ruolo e delle autorizzazioni del progetto." - create_account: "To access this work package, you will need to create and activate an account on %{instance}." + create_account: "Per accedere a questa macro-attività è necessario creare e attivare un account su %{instance}" open_work_package: "Apri macro-attività" - subject: "Work package #%{id} was shared with you" + subject: "La macro-attività #%{id} è stata condivisa con te" enterprise_text: "Condividi macro-attività con utenti che non sono membri del progetto." summary: user: "%{user} ha condiviso con te una macro-attività con i diritti %{role_rights}" @@ -2330,7 +2350,7 @@ it: notice_file_not_found: "La pagina alla quale stavi tentando di accedere non esiste o è stata rimossa." notice_forced_logout: "Sei stato disconnesso automaticamente dopo %{ttl_time} minuti di inattività." notice_internal_server_error: "Si è verificato un errore sulla pagina alla quale hai richiesto di accedere. Se continui ad avere problemi per favore contatta il tuo amministratore %{app_title} per ricevere assistenza." - notice_work_package_done_ratios_updated: "Percentuale di completamento della macro-attività aggiornata." + notice_work_package_done_ratios_updated: "% completamento aggiornata" notice_locking_conflict: "L'informazione è stata aggiornata da almeno un altro utente nel frattempo." notice_locking_conflict_additional_information: "L'aggiornamento(i) proviene da %{users}." notice_locking_conflict_reload_page: "Si prega di ricaricare la pagina, rivedere le modifiche e riapplicare gli aggiornamenti." @@ -2406,6 +2426,8 @@ it: permission_assign_versions: "Assegna versioni" permission_browse_repository: "Accesso in sola lettura all'archivio (consultazione e check-out)" permission_change_wiki_parent_page: "Cambiare la pagina padre del wiki" + permission_change_work_package_status: "Cambia lo stato della macro-attività" + permission_change_work_package_status_explanation: "Consente di cambiare lo stato senza l'autorizzazione Modifica macro-attività" permission_comment_news: "Commentare le novità" permission_commit_access: "Accesso in lettura/scrittura all'archivio (commit)" permission_copy_projects: "Copiare progetti" @@ -2467,7 +2489,7 @@ it: permission_view_news: "Visualizza notizie" permission_view_members: "Mostra membri" permission_view_reportings: "Visualizzare prospetti" - permission_view_shared_work_packages: "Vedi macro-attività condivise" + permission_view_shared_work_packages: "Mostra condivisioni della macro-attività" permission_view_time_entries: "Visualizza il tempo impiegato" permission_view_timelines: "Visualizza le cronologie" permission_view_wiki_edits: "Visualizza il registro della wiki" @@ -2508,6 +2530,7 @@ it: project_module_news: "Notizie" project_module_repository: "Archivio" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Macro-attività e Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2697,10 +2720,10 @@ it: setting_file_max_size_displayed: "Dimensione massima dei file di testo visualizzati inline" setting_host_name: "Nome dell'Host" setting_invitation_expiration_days: "L'email di attivazione scade dopo" - setting_work_package_done_ratio: "Calcola la percentuale di completamento della macro-attività con" - setting_work_package_done_ratio_field: "Usa il campo della macro-attività" - setting_work_package_done_ratio_status: "Usa lo stato della macro-attività" - setting_work_package_done_ratio_disabled: "Disabilita (nascondi l'avanzamento)" + setting_work_package_done_ratio: "Calcola la % completamento macro-attività con" + setting_work_package_done_ratio_field: "Il campo della macro-attività" + setting_work_package_done_ratio_status: "Lo stato della macro-attività" + setting_work_package_done_ratio_disabled: "Disabilita (nascondi il campo % completamento)" setting_work_package_list_default_columns: "Visualizza come impostazione predefinita" setting_work_package_properties: "Proprietà della macro-attività" setting_work_package_startdate_is_adddate: "Usa la data corrente come data di inizio per le nuove macro-attività" @@ -3138,9 +3161,9 @@ it: unsupported_context: "La risorsa non è supportata come contesto." context_object_not_found: "Impossibile trovare la risorsa indicata come contesto." validation: - done_ratio: "La percentuale di completamento non può essere impostata sulla macro-attività principale, quando viene dedotta dallo stato o quando è disabilitata." + done_ratio: "La % completamento non può essere impostata sulla macro-attività principale, quando viene dedotta dallo stato o quando è disabilitata." due_date: "La data di fine non può essere impostata sulla macro-attività principale." - estimated_hours: "Le ore stimate non può essere impostate sulla macro-attività principale." + estimated_hours: "Il lavoro non può essere impostato sulla macro-attività principale." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "All'utente scelto non è consentito di essere '%{property}' per questa macro-attività." start_date: "La data di inizio non può essere impostata sulla macro-attività principale." eprops: @@ -3259,7 +3282,7 @@ it: oauth_returned_json_error: "OAuth2 ha restituito un errore JSON" oauth_returned_http_error: "OAuth2 ha restituito un errore di rete" oauth_returned_standard_error: "OAuth2 ha restituito un errore interno" - client_id_blank: "ID can't be blank." + client_id_blank: "Il campo ID non può essere vuoto." wrong_token_type_returned: "OAuth2 ha restituito un tipo di token sbagliato, aspettandosi AccessToken::Bearer" oauth_issue_contact_admin: "OAuth2 ha segnalato un errore. Contatta l'amministratore di sistema." oauth_client_not_found: "Client OAuth2 non trovato nell'endpoint 'callback' (redirect_uri)." diff --git a/config/locales/crowdin/ja.yml b/config/locales/crowdin/ja.yml index 1da678f99b28..a97ee649e496 100644 --- a/config/locales/crowdin/ja.yml +++ b/config/locales/crowdin/ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -279,6 +279,18 @@ ja: no_results_content_text: プロジェクトにメンバーを追加 invite_by_mail: "招待状を %{mail} に送信する" send_invite_to: "Send invite to" + no_modify_on_shared: "You currently cannot modify or remove shared memberships through the member page. Use the sharing modal instead." + columns: + shared: "Shared" + filters: + all_shares: 'All shares' + menu: + all: 'All' + invited: 'Invited' + locked: 'Locked' + project_roles: 'Project roles' + wp_shares: 'Work package shares' + groups: 'Groups' my: access_token: failed_to_reset_token: "アクセストークンをリセットできませんでした: %{error}" @@ -601,7 +613,9 @@ ja: begin_insertion: "挿入の始まり" begin_deletion: "削除の始まり" children: "サブ要素" - done_ratio: "進行状況 (%)" + derived_remaining_hours: "Derived remaining work" + derived_remaining_time: "Derived remaining work" + done_ratio: "% Complete" duration: "期間" end_insertion: "挿入の終わり" end_deletion: "削除の終わり" @@ -615,8 +629,10 @@ ja: parent_issue: "親項目" parent_work_package: "親項目" priority: "優先度" - progress: "進行状況 (%)" + progress: "% Complete" readonly: "読み取り専用" + remaining_hours: "Remaining work" + remaining_time: "Remaining work" schedule_manually: "手動スケジュール" spent_hours: "作業時間の記録" spent_time: "作業時間の記録" @@ -1021,12 +1037,12 @@ ja: default_columns: "既定の列" description: "説明" derived_due_date: "派生終了日" - derived_estimated_hours: "派生予定工数" + derived_estimated_hours: "Derived work" derived_start_date: "派生開始日" display_sums: "合計を表示" due_date: "終了日" - estimated_hours: "予定工数" - estimated_time: "予定工数" + estimated_hours: "Work" + estimated_time: "Work" expires_at: "有効期限" firstname: "名前" group: "グループ" @@ -1354,7 +1370,7 @@ ja: error_pdf_export_too_many_columns: "PDF エクスポート用に選択された列が多すぎます。 列の数を減らしてください。" error_pdf_failed_to_export: "PDFエクスポートを保存できませんでした: %{error}" error_token_authenticity: "クロスサイトリクエスト偽造トークンを確認できません。 複数のブラウザやタブでデータを送信しようとしましたか? すべてのタブを閉じてもう一度やり直してください。" - error_work_package_done_ratios_not_updated: "ワークパッケージの進捗率は更新できません。" + error_work_package_done_ratios_not_updated: "Work package % Complete values not updated." error_work_package_not_found_in_project: "ワークパッケージが見つからないか、このプロジェクトに属していません。" error_must_be_project_member: "プロジェクトのメンバーである必要があります。" error_migrations_are_pending: "OpenProject のインストールはデータベースの移行が保留中です。前回のアップグレード時に移行の実行を行っていない可能性があります。アップグレードガイドを確認して、適切にインストールをアップグレードしてください。" @@ -2034,7 +2050,7 @@ ja: label_type_new: "新しいタイプ" label_type_plural: "ワークパッケージのタイプ" label_ui: "UI(ユーザインターフェイス)" - label_update_work_package_done_ratios: "進捗率の更新" + label_update_work_package_done_ratios: "Update work package % Complete values" label_updated_time: "%{value}前に更新" label_updated_time_at: "%{author} %{age}" label_updated_time_by: "%{author}が%{age}前に更新" @@ -2119,6 +2135,10 @@ ja: one: "1件未完了" other: "%{count}件未完了" zero: "0 オープン" + label_x_work_packages: + one: "1 work package" + other: "%{count} work packages" + zero: "No work packages" label_x_projects: one: "1 プロジェクト" other: "%{count} プロジェクト" @@ -2301,7 +2321,7 @@ ja: notice_file_not_found: "アクセスしようとしたページが存在しないか削除されています。" notice_forced_logout: "%{ttl_time}分間の非活動のために、自動的にログアウトされました。" notice_internal_server_error: "アクセスしようとしたページでエラーが発生しました。継続して問題が発生している場合、%{app_title}の管理者にお問い合わせください。" - notice_work_package_done_ratios_updated: "ワークパッケージの進捗率を更新しました。" + notice_work_package_done_ratios_updated: "% complete updated" notice_locking_conflict: "別のユーザーが同時にデータを更新しています。" notice_locking_conflict_additional_information: "ユーザ%{users}により更新されました。" notice_locking_conflict_reload_page: "ページをリロードして、変更を確認してから再適用してください。" @@ -2376,6 +2396,8 @@ ja: permission_assign_versions: "バージョンの割り当て" permission_browse_repository: "リポジトリに読み取り専用のアクセス (参照およびチェックアウト)" permission_change_wiki_parent_page: "親Wikiページの変更" + permission_change_work_package_status: "Change work package status" + permission_change_work_package_status_explanation: "Allows changing status without Edit work packages permission" permission_comment_news: "ニュースへのコメント" permission_commit_access: "リポジトリに読み取り/書き込みアクセス (コミット)" permission_copy_projects: "プロジェクトのコピー" @@ -2437,7 +2459,7 @@ ja: permission_view_news: "View news" permission_view_members: "メンバーを表示" permission_view_reportings: "レポートの閲覧" - permission_view_shared_work_packages: "View shared work packages" + permission_view_shared_work_packages: "View work package shares" permission_view_time_entries: "作業時間記録の閲覧" permission_view_timelines: "タイムラインの閲覧" permission_view_wiki_edits: "Wiki履歴の閲覧" @@ -2478,6 +2500,7 @@ ja: project_module_news: "ニュース" project_module_repository: "リポジトリ" project_module_wiki: "Wiki" + permission_header_for_project_module_work_package_tracking: "Work packages and Gantt" query: attribute_and_direction: "%{attribute} (%{direction})" #possible query parameters (e.g. issue queries), @@ -2667,10 +2690,10 @@ ja: setting_file_max_size_displayed: "画面表示するテキストファイルの最大サイズ" setting_host_name: "ホスト名" setting_invitation_expiration_days: "アクティベーションのメールは次で有効期限切れ" - setting_work_package_done_ratio: "進捗率の算出方法" - setting_work_package_done_ratio_field: "ワークパッケージのフィールドを使用する" - setting_work_package_done_ratio_status: "ワークパッケージのステータスを使用する" - setting_work_package_done_ratio_disabled: "無効にする(進行状況が非表示)" + setting_work_package_done_ratio: "Calculate work package % Complete with" + setting_work_package_done_ratio_field: "The work package field" + setting_work_package_done_ratio_status: "The work package status" + setting_work_package_done_ratio_disabled: "Disable (hide the % Complete field)" setting_work_package_list_default_columns: "デフォルトで表示する" setting_work_package_properties: "項目名" setting_work_package_startdate_is_adddate: "今日の日付を新しいワークパッケージの開始日とする" @@ -3106,9 +3129,9 @@ ja: unsupported_context: "指定されたリソースは、コンテキストとしてはサポートされません。" context_object_not_found: "コンテキストで指定されたリソースが見つかりません。" validation: - done_ratio: "完了率はそのステータスにより推定または無効にされている場合、親ワークパッケージにセットすることはできません。" + done_ratio: "% Complete cannot be set on parent work packages, when it is inferred by status or when it is disabled." due_date: "終了日は親作業項目には設定できません。" - estimated_hours: "推定時間は、親ワークパッケージに設定できません。" + estimated_hours: "Work cannot be set on parent work packages." #feel like this one should be removed eventually invalid_user_assigned_to_work_package: "選択されたユーザーは、この作業項目の'%{property}' にすることはできません。" start_date: "開始日は、親ワークパッケージに設定できません。" eprops: diff --git a/config/locales/crowdin/js-af.yml b/config/locales/crowdin/js-af.yml index 5d5eaa455a08..e57d7b7f4a2e 100644 --- a/config/locales/crowdin/js-af.yml +++ b/config/locales/crowdin/js-af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ af: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ af: label_watcher_added_successfully: "Watcher successfully added!" label_watcher_deleted_successfully: "Watcher successfully deleted!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Hou op dophou" label_unwatch_work_package: "Unwatch work package" label_uploaded_by: "Uploaded by" @@ -832,6 +833,7 @@ af: toggle_description: "Toggle relation description" update_relation: "Klik om die verhoudingtipe te verander" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" save: "Save relation" @@ -967,7 +969,6 @@ af: date: "Datum" dueDate: "Finish date" duration: "Duration" - estimatedTime: "Geraamde tyd" spentTime: "Tyd gespandeer" category: "Kategorie" percentageDone: "Percentage done" @@ -983,6 +984,7 @@ af: updatedAt: "Opgedateer op" versionName: "Weergawe" version: "Weergawe" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1033,6 +1035,8 @@ af: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-ar.yml b/config/locales/crowdin/js-ar.yml index 8031871a18e5..1fd04549181e 100644 --- a/config/locales/crowdin/js-ar.yml +++ b/config/locales/crowdin/js-ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ ar: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ ar: label_watcher_added_successfully: "تم إضافة المراقب بنجاح!" label_watcher_deleted_successfully: "تم حذف المراقب بنجاح!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "وقْف المشاهدة" label_unwatch_work_package: "لا تراقب مجموعة العمل" label_uploaded_by: "تم التحميل بواسطة" @@ -836,6 +837,7 @@ ar: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "حذف علاقة" save: "إحفظ العلاقة" @@ -971,7 +973,6 @@ ar: date: "التاريخ" dueDate: "Finish date" duration: "المدّة" - estimatedTime: "الوقت المُقّدَّر" spentTime: "الوقت المستهلك" category: "الفئة" percentageDone: "النسبة المئوية المُنجزة" @@ -987,6 +988,7 @@ ar: updatedAt: "تم التحديث بتاريخ" versionName: "الإصدار" version: "الإصدار" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1037,6 +1039,8 @@ ar: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "أسطر الجدول كتب عمل والاعمدة واصفات لكتب العمل." diff --git a/config/locales/crowdin/js-az.yml b/config/locales/crowdin/js-az.yml index 9551f8baf79e..79d658a96195 100644 --- a/config/locales/crowdin/js-az.yml +++ b/config/locales/crowdin/js-az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ az: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ az: label_watcher_added_successfully: "Watcher successfully added!" label_watcher_deleted_successfully: "Watcher successfully deleted!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Unwatch" label_unwatch_work_package: "Unwatch work package" label_uploaded_by: "Uploaded by" @@ -832,6 +833,7 @@ az: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" save: "Save relation" @@ -967,7 +969,6 @@ az: date: "Date" dueDate: "Finish date" duration: "Duration" - estimatedTime: "Estimated time" spentTime: "Spent time" category: "Category" percentageDone: "Percentage done" @@ -983,6 +984,7 @@ az: updatedAt: "Updated on" versionName: "Version" version: "Version" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1033,6 +1035,8 @@ az: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-be.yml b/config/locales/crowdin/js-be.yml index 21a389ff7dc1..053450e9cc75 100644 --- a/config/locales/crowdin/js-be.yml +++ b/config/locales/crowdin/js-be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ be: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ be: label_watcher_added_successfully: "Watcher successfully added!" label_watcher_deleted_successfully: "Watcher successfully deleted!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Unwatch" label_unwatch_work_package: "Unwatch work package" label_uploaded_by: "Uploaded by" @@ -834,6 +835,7 @@ be: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" save: "Save relation" @@ -969,7 +971,6 @@ be: date: "Дата" dueDate: "Finish date" duration: "Duration" - estimatedTime: "Estimated time" spentTime: "Spent time" category: "Category" percentageDone: "Percentage done" @@ -985,6 +986,7 @@ be: updatedAt: "Updated on" versionName: "Version" version: "Version" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1035,6 +1037,8 @@ be: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-bg.yml b/config/locales/crowdin/js-bg.yml index a268883c7949..b2cafc6bcb2b 100644 --- a/config/locales/crowdin/js-bg.yml +++ b/config/locales/crowdin/js-bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ bg: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ bg: label_watcher_added_successfully: "Наблюдаващият е успешно добавен!" label_watcher_deleted_successfully: "Наблюдателят успешно е премахнат!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Спри наблюдение" label_unwatch_work_package: "Ненаблюдаван работен пакет" label_uploaded_by: "Качено от" @@ -832,6 +833,7 @@ bg: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Премахване на връзка" save: "Save relation" @@ -967,7 +969,6 @@ bg: date: "Дата" dueDate: "Finish date" duration: "Продължителност" - estimatedTime: "Очаквано време" spentTime: "Отработено време" category: "Категория" percentageDone: "Процент завършена задача" @@ -983,6 +984,7 @@ bg: updatedAt: "Актуализиран на" versionName: "Версия" version: "Версия" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1033,6 +1035,8 @@ bg: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Таблица с атрибути от редове и колони на работен пакет." diff --git a/config/locales/crowdin/js-ca.yml b/config/locales/crowdin/js-ca.yml index 1871994895d5..0ac66b1a2a10 100644 --- a/config/locales/crowdin/js-ca.yml +++ b/config/locales/crowdin/js-ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ ca: learn_about: "Més informació sobre les noves funcions" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "S'ha produït un error en carregar les dades." @@ -521,6 +521,7 @@ ca: label_watcher_added_successfully: "Observador afegit correctament!" label_watcher_deleted_successfully: "Observador eliminat correctament!" label_work_package_details_you_are_here: "Estàs a la pestanya %{tab} per %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Deixa d'observar" label_unwatch_work_package: "Deixa d'observar el paquet de treball" label_uploaded_by: "Carregat per" @@ -832,6 +833,7 @@ ca: toggle_description: "Activar descripció de la relació" update_relation: "Faci clic per a canviar la classe de relació" add_follower: "Afegir seguidor" + show_relations: "Show relations" add_predecessor: "Afegir predecessor" remove: "Eliminar la relació" save: "Guardar la relació" @@ -967,7 +969,6 @@ ca: date: "Data" dueDate: "Data final" duration: "Durada" - estimatedTime: "Temps estimat" spentTime: "Temps utilitzat" category: "Categoria" percentageDone: "Percentatge fet" @@ -983,6 +984,7 @@ ca: updatedAt: "Actualitzat el" versionName: "Versió" version: "Versió" + remainingTime: "Remaining work" default_queries: latest_activity: "Última activitat" created_by_me: "Creat per mi" @@ -1033,6 +1035,8 @@ ca: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configura la taula de paquets de treball' summary: "Taula amb fileres de paquets de treball i columnes amb els atributs dels paquets de treball." diff --git a/config/locales/crowdin/js-ckb-IR.yml b/config/locales/crowdin/js-ckb-IR.yml index eaecd63c7fe8..0c798e60b4b4 100644 --- a/config/locales/crowdin/js-ckb-IR.yml +++ b/config/locales/crowdin/js-ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ ckb-IR: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ ckb-IR: label_watcher_added_successfully: "Watcher successfully added!" label_watcher_deleted_successfully: "Watcher successfully deleted!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Unwatch" label_unwatch_work_package: "Unwatch work package" label_uploaded_by: "Uploaded by" @@ -832,6 +833,7 @@ ckb-IR: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" save: "Save relation" @@ -967,7 +969,6 @@ ckb-IR: date: "Date" dueDate: "Finish date" duration: "Duration" - estimatedTime: "Estimated time" spentTime: "Spent time" category: "Category" percentageDone: "Percentage done" @@ -983,6 +984,7 @@ ckb-IR: updatedAt: "Updated on" versionName: "Version" version: "Version" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1033,6 +1035,8 @@ ckb-IR: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-cs.yml b/config/locales/crowdin/js-cs.yml index 0642157eea98..69988a15dd8a 100644 --- a/config/locales/crowdin/js-cs.yml +++ b/config/locales/crowdin/js-cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -33,7 +33,7 @@ cs: Přetáhněte pole editoru na vložený obrázek nebo referenční přílohu. Uzavřená pole editoru budou otevřena během pokračujícího přetahování. autocomplete_ng_select: add_tag: "Přidat položku" - clear_all: "Clear all" + clear_all: "Vymazat vše" loading: "Načítání..." not_found: "Nenalezeny žádné položky" type_to_search: "Zadejte hledaný text" @@ -348,11 +348,11 @@ cs: learn_about: "Další informace o nových funkcích" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Přihlásit kalendář k odběru" inital_setup_error_message: "Při načítání dat došlo k chybě." @@ -521,6 +521,7 @@ cs: label_watcher_added_successfully: "Sledující úspěšně přidán!" label_watcher_deleted_successfully: "Sledující úspěšně odstraněn!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Přestat sledovat" label_unwatch_work_package: "Přestat sledovat pracovní balíček" label_uploaded_by: "Nahrál" @@ -612,7 +613,7 @@ cs: property_today: 'je dnes' property_is: 'is in %{difference_in_days}' property_was: 'was %{difference_in_days} ago' - property_is_deleted: 'is deleted' + property_is_deleted: 'Smazáno' upsale: title: 'Upozornění na datum' description: 'With date alerts, you will be notified of upcoming start or finish dates so that you never miss or forget an important deadline.' @@ -759,7 +760,7 @@ cs: last_day: 'Poslední den' text_are_you_sure: "Jste si jisti?" text_data_lost: "Všechna zadaná data budou ztracena." - text_user_wrote: "%{value} wrote:" + text_user_wrote: "%{value} napsal:" types: attribute_groups: error_duplicate_group_name: "Jméno %{group} je již použito. Jména skupin musí být jedinečná." @@ -834,6 +835,7 @@ cs: toggle_description: "Přepnout popis relace" update_relation: "Klikněte pro změnu typu vztahu" add_follower: "Přidat následující" + show_relations: "Show relations" add_predecessor: "Přidat předchůdce" remove: "Odstranit vztah" save: "Uložit vztah" @@ -969,7 +971,6 @@ cs: date: "Datum" dueDate: "Datum dokončení" duration: "Doba trvání" - estimatedTime: "Odhadovaný čas" spentTime: "Strávený čas" category: "Kategorie" percentageDone: "Procento hotovo" @@ -985,6 +986,7 @@ cs: updatedAt: "Aktualizováno" versionName: "Verze" version: "Verze" + remainingTime: "Zbývající práce" default_queries: latest_activity: "Poslední aktivita" created_by_me: "Vytvořeno mnou" @@ -992,7 +994,7 @@ cs: recently_created: "Nedávno vytvořené" all_open: "Všechny otevřené" summary: "Souhrn" - shared_with_users: "Shared with users" + shared_with_users: "Sdíleno s uživateli" jump_marks: pagination: "Přejít na stránku tabulky" label_pagination: "Kliknutím sem přeskočíte tabulku pracovních balíčků a přejděte na stránku" @@ -1031,10 +1033,12 @@ cs: is_switched_from_manual_to_automatic: "Data tohoto pracovního balíčku budou možná muset být přepočítána po přepnutí z manuálu na automatické plánování kvůli vztahům s ostatními pracovními balíčky." sharing: share: 'Sdílet' - title: "Share work package" + title: "Sdílet pracovní balíček" selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Konfigurovat tabulku pracovních balíčků' summary: "Tabulka s řádky pracovního balíčku a atributy sloupců pracovního balíčku." diff --git a/config/locales/crowdin/js-da.yml b/config/locales/crowdin/js-da.yml index a3d082680627..1ff0c312c5dc 100644 --- a/config/locales/crowdin/js-da.yml +++ b/config/locales/crowdin/js-da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -347,11 +347,11 @@ da: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -520,6 +520,7 @@ da: label_watcher_added_successfully: "Tilsynsførende er nu tilføjet!" label_watcher_deleted_successfully: "Tilsynsførende er nu slettet!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Stands tilsyn" label_unwatch_work_package: "Stands tilsyn med arbejdspakke" label_uploaded_by: "Lagt op af" @@ -831,6 +832,7 @@ da: toggle_description: "Toggle relation description" update_relation: "Klik for at ændre den relationstypen" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Fjern relation" save: "Save relation" @@ -966,7 +968,6 @@ da: date: "Dato" dueDate: "Finish date" duration: "Varighed" - estimatedTime: "Anslået tid" spentTime: "Anvendt tid" category: "Kategori" percentageDone: "Procentdel udført" @@ -982,6 +983,7 @@ da: updatedAt: "Opdateret den" versionName: "Version" version: "Version" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1032,6 +1034,8 @@ da: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-de.yml b/config/locales/crowdin/js-de.yml index 38d531eac535..4c8c9820cb5b 100644 --- a/config/locales/crowdin/js-de.yml +++ b/config/locales/crowdin/js-de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -347,11 +347,11 @@ de: learn_about: "Erfahren Sie mehr über die neuen Funktionen" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/de/blog/openproject-13-1-release + learn_about_link: https://www.openproject.org/de/blog/openproject-13-2-release/ new_features_html: > - Die Veröffentlichung enthält verschiedene neue Funktionen und Verbesserungen:
    + Das Release enthält zahlreiche neue Funktionen und Verbesserungen:
    ical_sharing_modal: title: "Kalender abonnieren" inital_setup_error_message: "Beim Abrufen der Daten ist ein Fehler aufgetreten." @@ -520,6 +520,7 @@ de: label_watcher_added_successfully: "Beobachter erfolgreich hinzugefügt!" label_watcher_deleted_successfully: "Beobachter erfolgreich gelöscht!" label_work_package_details_you_are_here: "Sie sind auf dem Reiter %{tab} von %{type} %{subject}." + label_work_package_context_menu: "Arbeitspaket-Kontextmenü" label_unwatch: "Nicht mehr beobachten" label_unwatch_work_package: "Arbeitspaket nicht mehr beobachten" label_uploaded_by: "Hochgeladen von" @@ -756,7 +757,7 @@ de: last_day: 'Letzter Tag' text_are_you_sure: "Sind Sie sicher?" text_data_lost: "Alle eingegebenen Daten gehen verloren." - text_user_wrote: "%{value} wrote:" + text_user_wrote: "%{value} schrieb:" types: attribute_groups: error_duplicate_group_name: "Der Name %{group} wird mehr als einmal verwendet. Gruppen-Namen müssen eindeutig sein." @@ -831,6 +832,7 @@ de: toggle_description: "Beschreibung der Beziehung ein-/ausklappen" update_relation: "Klicken um den Beziehungstyp zu ändern" add_follower: "Nachfolger hinzufügen" + show_relations: "Beziehungen anzeigen" add_predecessor: "Vorgänger hinzufügen" remove: "Beziehung entfernen" save: "Beziehung speichern" @@ -966,7 +968,6 @@ de: date: "Datum" dueDate: "Endtermin" duration: "Dauer" - estimatedTime: "Geschätzter Aufwand" spentTime: "Aufgewendete Zeit" category: "Kategorie" percentageDone: "Prozentsatz erledigt" @@ -982,6 +983,7 @@ de: updatedAt: "Aktualisiert am" versionName: "Version" version: "Version" + remainingTime: "Verbleibender Aufwand" default_queries: latest_activity: "Letzte Änderungen" created_by_me: "Erstellt von mir" @@ -1032,6 +1034,8 @@ de: selected_count: "%{count} ausgewählt" selection: mixed: "Gemischt" + upsale: + description: "Teilen Sie Arbeitspakete mit Benutzern, die nicht Mitglieder des Projekts sind." table: configure_button: 'Arbeitspaket-Tabelle konfigurieren' summary: "Tabelle mit Zeilen von Arbeitspaketen und Spalten von Attributen dieser Arbeitspakete." diff --git a/config/locales/crowdin/js-el.yml b/config/locales/crowdin/js-el.yml index b91689bea66e..0acbd9728942 100644 --- a/config/locales/crowdin/js-el.yml +++ b/config/locales/crowdin/js-el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -347,11 +347,11 @@ el: learn_about: "Μάθετε περισσότερα για τις νέες λειτουργίες" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -520,6 +520,7 @@ el: label_watcher_added_successfully: "Ο παρατηρητής προστέθηκε επιτυχώς!" label_watcher_deleted_successfully: "Ο παρατηρητής διαγράφηκε επιτυχώς!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Αναίρεση παρακολούθησης" label_unwatch_work_package: "Αναίρεση παρακολούθησης πακέτου εργασίας" label_uploaded_by: "Μεταφορτώθηκε από" @@ -831,6 +832,7 @@ el: toggle_description: "Ενεργοποίηση περιγραφής συσχέτισης" update_relation: "Κάντε κλικ για να αλλάξετε τον τύπο συσχέτισης" add_follower: "Προσθήκη ακολούθου" + show_relations: "Show relations" add_predecessor: "Προσθήκη προκατόχου" remove: "Αφαίρεση συσχέτισης" save: "Αποθήκευση συσχέτισης" @@ -966,7 +968,6 @@ el: date: "Ημερομηνία" dueDate: "Ημερομηνία λήξης" duration: "Διάρκεια" - estimatedTime: "Εκτιμώμενος χρόνος" spentTime: "Χρόνος που δαπανήθηκε" category: "Κατηγορία" percentageDone: "Ποσοστό ολοκλήρωσης" @@ -982,6 +983,7 @@ el: updatedAt: "Τροποποιήθηκε" versionName: "Έκδοση" version: "Έκδοση" + remainingTime: "Remaining work" default_queries: latest_activity: "Τελευταία δραστηριότητα" created_by_me: "Δημιουργήθηκε από εμένα" @@ -1032,6 +1034,8 @@ el: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Διαμόρφωση του πίνακα πακέτων εργασίας' summary: "Πίνακας με γραμμές από πακέτα εργασίας και στήλες από χαρακτηριστικά πακέτων εργασίας." diff --git a/config/locales/crowdin/js-eo.yml b/config/locales/crowdin/js-eo.yml index bffeab358531..5a0031e3025a 100644 --- a/config/locales/crowdin/js-eo.yml +++ b/config/locales/crowdin/js-eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ eo: learn_about: "Lerni pli pri la novaj plibonigoj" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ eo: label_watcher_added_successfully: "Atentigo sukcese aldonita!" label_watcher_deleted_successfully: "Atentigo sukcese forigita!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Malatenti" label_unwatch_work_package: "Malatenti laborpakaĵon" label_uploaded_by: "Alŝutita de" @@ -832,6 +833,7 @@ eo: toggle_description: "Toggle relation description" update_relation: "Klaki por ŝanĝi la rilatan specon" add_follower: "Aldoni sekvantojn" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" save: "Konservi rilaton" @@ -967,7 +969,6 @@ eo: date: "Dato" dueDate: "Findato" duration: "Duration" - estimatedTime: "Taksita tempo" spentTime: "Uzata tempo" category: "Kategorio" percentageDone: "Percentage done" @@ -983,6 +984,7 @@ eo: updatedAt: "Ĝisdatigita la" versionName: "Versio" version: "Versio" + remainingTime: "Remaining work" default_queries: latest_activity: "Lastaj aktivecoj" created_by_me: "Created by me" @@ -1033,6 +1035,8 @@ eo: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Agordi laborpakaĵan tabelon' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-es.yml b/config/locales/crowdin/js-es.yml index d3d4adaec230..ab30ca94e8b7 100644 --- a/config/locales/crowdin/js-es.yml +++ b/config/locales/crowdin/js-es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ es: learn_about: "Más información sobre las nuevas funciones" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - La versión contiene varias nuevas características y mejoras:
    + El lanzamiento contiene varias funcionalidades y mejoras:
    ical_sharing_modal: title: "Suscribirse al calendario" inital_setup_error_message: "Se ha producido un error al obtener los datos." @@ -521,6 +521,7 @@ es: label_watcher_added_successfully: "¡Observador agregado exitosamente!" label_watcher_deleted_successfully: "¡Observador borrado con éxito!" label_work_package_details_you_are_here: "Se encuentra en la pestaña %{tab} para %{type}%{subject}." + label_work_package_context_menu: "Menú contextual del paquete de trabajo" label_unwatch: "Dejar de observar" label_unwatch_work_package: "Dejar de observar paquetes de trabajo" label_uploaded_by: "Cargado por" @@ -757,7 +758,7 @@ es: last_day: 'Último día' text_are_you_sure: "¿Estás seguro?" text_data_lost: "Todos los datos introducidos se perderán." - text_user_wrote: "%{value} wrote:" + text_user_wrote: "%{value} escribió:" types: attribute_groups: error_duplicate_group_name: "El nombre %{group} se ha usado más de una vez. Los nombres de grupos deben ser únicos." @@ -832,6 +833,7 @@ es: toggle_description: "Activar descripción de la relación" update_relation: "Haga clic para cambiar el tipo de relación" add_follower: "Añadir seguidor" + show_relations: "Mostrar relaciones" add_predecessor: "Añadir predecesor" remove: "Eliminar la relación" save: "Guardar relación" @@ -967,7 +969,6 @@ es: date: "Fecha" dueDate: "Fecha de finalización" duration: "Duración" - estimatedTime: "Tiempo estimado" spentTime: "Tiempo invertido" category: "Categoría" percentageDone: "Porcentaje realizado" @@ -983,6 +984,7 @@ es: updatedAt: "Actualizada el" versionName: "Versión" version: "Versión" + remainingTime: "Trabajo restante" default_queries: latest_activity: "Actividad reciente" created_by_me: "Creado por mí" @@ -1033,6 +1035,8 @@ es: selected_count: "%{count} seleccionados" selection: mixed: "Mixto" + upsale: + description: "Compartir paquetes de trabajo con usuarios que no son miembros del proyecto." table: configure_button: 'Configurar tabla de paquetes de trabajo' summary: "Tabla con filas de paquetes de trabajo y columnas con sus atributos." diff --git a/config/locales/crowdin/js-et.yml b/config/locales/crowdin/js-et.yml index 07ecbfc28b9f..37cfc229debc 100644 --- a/config/locales/crowdin/js-et.yml +++ b/config/locales/crowdin/js-et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ et: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ et: label_watcher_added_successfully: "Watcher successfully added!" label_watcher_deleted_successfully: "Watcher successfully deleted!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Ära jälgi" label_unwatch_work_package: "Unwatch work package" label_uploaded_by: "Uploaded by" @@ -832,6 +833,7 @@ et: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" save: "Save relation" @@ -967,7 +969,6 @@ et: date: "Kuupäev" dueDate: "Lõpetamise kuupäev" duration: "kestus" - estimatedTime: "Eeldatav ajakulu" spentTime: "Kulutatud aeg" category: "Kategooria" percentageDone: "Percentage done" @@ -983,6 +984,7 @@ et: updatedAt: "Uuendatud" versionName: "Versioon" version: "Versioon" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1033,6 +1035,8 @@ et: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-eu.yml b/config/locales/crowdin/js-eu.yml index d1be3e8bbb00..cfb0f5e96a78 100644 --- a/config/locales/crowdin/js-eu.yml +++ b/config/locales/crowdin/js-eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ eu: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ eu: label_watcher_added_successfully: "Watcher successfully added!" label_watcher_deleted_successfully: "Watcher successfully deleted!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Unwatch" label_unwatch_work_package: "Unwatch work package" label_uploaded_by: "Uploaded by" @@ -832,6 +833,7 @@ eu: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" save: "Save relation" @@ -967,7 +969,6 @@ eu: date: "Date" dueDate: "Finish date" duration: "Iraupena" - estimatedTime: "Estimated time" spentTime: "Spent time" category: "Category" percentageDone: "Percentage done" @@ -983,6 +984,7 @@ eu: updatedAt: "Updated on" versionName: "Bertsioa" version: "Bertsioa" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1033,6 +1035,8 @@ eu: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-fa.yml b/config/locales/crowdin/js-fa.yml index 4dd4c15d039c..40ff100d781d 100644 --- a/config/locales/crowdin/js-fa.yml +++ b/config/locales/crowdin/js-fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ fa: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ fa: label_watcher_added_successfully: "ناظر با موفقیت اضافه شد!" label_watcher_deleted_successfully: "ناظر با موفقیت حذف شد!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "عدم دنبال" label_unwatch_work_package: "عدم نمایش پکیچ وظیفه" label_uploaded_by: "بارگزاری شده توسط" @@ -832,6 +833,7 @@ fa: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" save: "Save relation" @@ -967,7 +969,6 @@ fa: date: "تاریخ" dueDate: "Finish date" duration: "Duration" - estimatedTime: "Estimated time" spentTime: "زمان صرف شده" category: "Category" percentageDone: "Percentage done" @@ -983,6 +984,7 @@ fa: updatedAt: "به روز شده" versionName: "نسخه" version: "نسخه" + remainingTime: "Remaining work" default_queries: latest_activity: "آخرین فعالیت" created_by_me: "Created by me" @@ -1033,6 +1035,8 @@ fa: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-fi.yml b/config/locales/crowdin/js-fi.yml index 2cd8f591b0d0..52dc3247913e 100644 --- a/config/locales/crowdin/js-fi.yml +++ b/config/locales/crowdin/js-fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ fi: learn_about: "Lisätietoja uusista ominaisuuksista" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ fi: label_watcher_added_successfully: "Seuraaja lisätty!" label_watcher_deleted_successfully: "Seuraaja poistettu!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Älä seuraa" label_unwatch_work_package: "Lopeta tehtävän seuraaminen" label_uploaded_by: "Lataaja" @@ -832,6 +833,7 @@ fi: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" save: "Tallenna riippuvuus" @@ -967,7 +969,6 @@ fi: date: "Päivämäärä" dueDate: "Päättymispäivä" duration: "Kesto" - estimatedTime: "Työmääräarvio" spentTime: "Käytetty aika" category: "Kategoria" percentageDone: "Osuus tehnyt" @@ -983,6 +984,7 @@ fi: updatedAt: "Päivitetty" versionName: "Versio" version: "Versio" + remainingTime: "Remaining work" default_queries: latest_activity: "Viimeisimmät tapahtumat" created_by_me: "Itse luodut" @@ -1033,6 +1035,8 @@ fi: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Taulukko jossa tehtävät riveinä ja ominaisuudet sarakkeina." diff --git a/config/locales/crowdin/js-fil.yml b/config/locales/crowdin/js-fil.yml index 8e0ed1112baa..d1a6a6883046 100644 --- a/config/locales/crowdin/js-fil.yml +++ b/config/locales/crowdin/js-fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ fil: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ fil: label_watcher_added_successfully: "Ang mga manunuod ay matagunoay naidagdag!" label_watcher_deleted_successfully: "Ang manunuod ay matagumpay naibura!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "I-unwatch" label_unwatch_work_package: "I-unwatch ang work package" label_uploaded_by: "Naka-upload sa pamamagitan ng" @@ -832,6 +833,7 @@ fil: toggle_description: "I-toggle ang kaugnayan sa paglalarawan" update_relation: "Pindutin upang baguhin ang uri ng kaugnayan" add_follower: "Magdagdag ng follower" + show_relations: "Show relations" add_predecessor: "Magdagdag ng predecessor" remove: "Alisin ang relasyon" save: "I-save ang pakipag-ugnayan" @@ -967,7 +969,6 @@ fil: date: "Petsa" dueDate: "Finish date" duration: "Durasyon" - estimatedTime: "Tinantyang oras" spentTime: "Nauubos na oras" category: "Kategorya" percentageDone: "Porsyentong natapos" @@ -983,6 +984,7 @@ fil: updatedAt: "Naka-update sa" versionName: "Bersyon" version: "Bersyon" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1033,6 +1035,8 @@ fil: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Talaab sa mga hilera ng work package at mga hanay na katangian ng work package." diff --git a/config/locales/crowdin/js-fr.yml b/config/locales/crowdin/js-fr.yml index 4af616d35e99..2077c1177348 100644 --- a/config/locales/crowdin/js-fr.yml +++ b/config/locales/crowdin/js-fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ fr: learn_about: "En savoir plus sur les nouvelles fonctionnalités" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - Cette version contient diverses nouvelles fonctionnalités et améliorations :
    + Cette version contient diverses nouvelles fonctionnalités et améliorations :
    ical_sharing_modal: title: "S'abonner au calendrier" inital_setup_error_message: "Une erreur est survenue lors de la récupération des données." @@ -521,6 +521,7 @@ fr: label_watcher_added_successfully: "Observateur ajouté avec succès !" label_watcher_deleted_successfully: "Observateur supprimé avec succès !" label_work_package_details_you_are_here: "Vous êtes sur l'onglet %{tab} de %{type} %{subject}." + label_work_package_context_menu: "Menu contextuel des lots de travaux" label_unwatch: "Ne plus suivre" label_unwatch_work_package: "Ne plus suivre le lot de travaux" label_uploaded_by: "Téléversé par" @@ -757,7 +758,7 @@ fr: last_day: 'Dernier jour' text_are_you_sure: "Êtes-vous sûr ?" text_data_lost: "Toutes les données saisies seront perdues." - text_user_wrote: "%{value} wrote:" + text_user_wrote: "%{value} écrit :" types: attribute_groups: error_duplicate_group_name: "Le nom %{group} est utilisé plus d’une fois. Les noms de groupe doivent être uniques." @@ -832,6 +833,7 @@ fr: toggle_description: "Alterner la description de relation" update_relation: "Cliquez pour modifier le type de relation" add_follower: "Ajouter un successeur" + show_relations: "Afficher les relations" add_predecessor: "Ajouter un prédécesseur" remove: "Supprimer la relation" save: "Enregistrer la relation" @@ -967,7 +969,6 @@ fr: date: "date" dueDate: "Date de fin" duration: "Durée" - estimatedTime: "Durée estimée" spentTime: "Temps passé" category: "Catégorie" percentageDone: "Pourcentage effectué" @@ -983,6 +984,7 @@ fr: updatedAt: "Mis à jour le" versionName: "Version" version: "Version" + remainingTime: "Travail restant" default_queries: latest_activity: "Dernière activité" created_by_me: "Créé par moi" @@ -1033,6 +1035,8 @@ fr: selected_count: "%{count} sélectionné" selection: mixed: "Mixte" + upsale: + description: "Partagez les lots de travaux avec des utilisateurs qui ne sont pas membres du projet." table: configure_button: 'Configurer le tableau du lot de travaux' summary: "Tableau avec lignes de lots de travaux et colonnes d’attributs de lots de travaux." diff --git a/config/locales/crowdin/js-he.yml b/config/locales/crowdin/js-he.yml index eb7e63960bea..20607f668926 100644 --- a/config/locales/crowdin/js-he.yml +++ b/config/locales/crowdin/js-he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ he: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ he: label_watcher_added_successfully: "הצופה נוסף בהצלחה!" label_watcher_deleted_successfully: "הצופה נמחק בהצלחה!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "הספק מעקב" label_unwatch_work_package: "חבילת שעון עבודה" label_uploaded_by: "הועלה על ידי" @@ -834,6 +835,7 @@ he: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" save: "Save relation" @@ -969,7 +971,6 @@ he: date: "תאריך" dueDate: "Finish date" duration: "משך זמן" - estimatedTime: "זמן משוער" spentTime: "זמן שבוזבז" category: "קטגוריה" percentageDone: "האחוזים הסתיימו" @@ -985,6 +986,7 @@ he: updatedAt: "עודכן בתאריך" versionName: "גירסה" version: "גירסה" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1035,6 +1037,8 @@ he: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-hi.yml b/config/locales/crowdin/js-hi.yml index 51565c14c72e..f42e06980f07 100644 --- a/config/locales/crowdin/js-hi.yml +++ b/config/locales/crowdin/js-hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ hi: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ hi: label_watcher_added_successfully: "द्रष्टा सफलतापूर्वक जोड़ा!" label_watcher_deleted_successfully: "द्रष्टा सफलतापूर्वक हटा दिया गया" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "अनवॉच" label_unwatch_work_package: "कार्य पैकेज तांकना समाप्त" label_uploaded_by: "द्वारा अपलोड" @@ -832,6 +833,7 @@ hi: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" save: "Save relation" @@ -967,7 +969,6 @@ hi: date: "तिथि" dueDate: "समाप्ति दिनांक" duration: "Duration" - estimatedTime: "Estimated time" spentTime: "समय बिताया" category: "श्रेणी" percentageDone: "Percentage done" @@ -983,6 +984,7 @@ hi: updatedAt: "पर अद्यतीत" versionName: "संस्करण" version: "संस्करण" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "मेरे द्वारा सृजनित" @@ -1033,6 +1035,8 @@ hi: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'कार्य पैकेज तालिका कॉंफ़िगर करें' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-hr.yml b/config/locales/crowdin/js-hr.yml index 4081fd16346a..6382b6c91652 100644 --- a/config/locales/crowdin/js-hr.yml +++ b/config/locales/crowdin/js-hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ hr: learn_about: "Saznaj više o novim značajkama" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ hr: label_watcher_added_successfully: "Nadglednik uspješno dodan!" label_watcher_deleted_successfully: "Nadglednik uspješno izbrisan!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Ne nadgledaj više" label_unwatch_work_package: "Ne nadgledaj radni paket" label_uploaded_by: "Dodao" @@ -833,6 +834,7 @@ hr: toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" add_follower: "Add follower" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Izbriši relaciju" save: "Spasiti odnos" @@ -968,7 +970,6 @@ hr: date: "Datum" dueDate: "Finish date" duration: "Trajanje" - estimatedTime: "Predviđeno vrijeme" spentTime: "Utrošeno vrijeme" category: "Kategorija" percentageDone: "Postotak dovršenosti" @@ -984,6 +985,7 @@ hr: updatedAt: "Ažurirano" versionName: "Verzija" version: "Verzija" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1034,6 +1036,8 @@ hr: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-hu.yml b/config/locales/crowdin/js-hu.yml index 439cfe990671..0141f91192b6 100644 --- a/config/locales/crowdin/js-hu.yml +++ b/config/locales/crowdin/js-hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ hu: learn_about: "Tudjon meg többet az új funkciókról" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ hu: label_watcher_added_successfully: "Megfigyelő sikeresen hozzáadva!" label_watcher_deleted_successfully: "Megfigyelő sikeresen törölve!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Megfigyelés leállítása" label_unwatch_work_package: "Nem megfigyelt feladatcsoport" label_uploaded_by: "Által feltöltött" @@ -832,6 +833,7 @@ hu: toggle_description: "Kapcsolat leírás kapcsolása" update_relation: "Klikk a kapcsolat típus módosításához" add_follower: "Követő hozzáadása" + show_relations: "Show relations" add_predecessor: "Előző hozzáadása" remove: "Kapcsolat eltávolítása" save: "Kapcsolat mentése" @@ -967,7 +969,6 @@ hu: date: "dátum" dueDate: "Befejezési dátum" duration: "Időtartam" - estimatedTime: "Becsült idő (óra)" spentTime: "Eltöltött idő" category: "Kategória" percentageDone: "Százalékosan elkészült" @@ -983,6 +984,7 @@ hu: updatedAt: "Frissítve" versionName: "Verzió" version: "Verzió" + remainingTime: "Remaining work" default_queries: latest_activity: "Utolsó aktivitás" created_by_me: "Általam készített" @@ -1033,6 +1035,8 @@ hu: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Feladatcsoport táblázat beállítása' summary: "Táblázat melynek sorai munkacsomagok és oszlopai munkacsomag attribútumok." diff --git a/config/locales/crowdin/js-id.yml b/config/locales/crowdin/js-id.yml index a56d394b6416..9b1c8d7326d5 100644 --- a/config/locales/crowdin/js-id.yml +++ b/config/locales/crowdin/js-id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ id: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -521,6 +521,7 @@ id: label_watcher_added_successfully: "Pemantau telah ditambahkan!" label_watcher_deleted_successfully: "Pemantau telah dihapus!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "Unwatch" label_unwatch_work_package: "Tidak pantau Paket-Penugasan" label_uploaded_by: "Diupload oleh" @@ -831,6 +832,7 @@ id: toggle_description: "Mengganti-ganti penjelasan hubungan" update_relation: "Klik untuk mengganti jenis hubungan" add_follower: "Tambah pengikut" + show_relations: "Show relations" add_predecessor: "Tambahkan pendahulu" remove: "Remove relation" save: "Save relation" @@ -966,7 +968,6 @@ id: date: "Tanggal" dueDate: "Tanggal selesai" duration: "Durasi" - estimatedTime: "Estimasi Waktu" spentTime: "Durasi" category: "Kategori" percentageDone: "Persentase selesai" @@ -982,6 +983,7 @@ id: updatedAt: "Diperbarui" versionName: "Versi" version: "Versi" + remainingTime: "Remaining work" default_queries: latest_activity: "Latest activity" created_by_me: "Created by me" @@ -1032,6 +1034,8 @@ id: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." diff --git a/config/locales/crowdin/js-it.yml b/config/locales/crowdin/js-it.yml index d2aee5d242ff..a97797888eb9 100644 --- a/config/locales/crowdin/js-it.yml +++ b/config/locales/crowdin/js-it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ it: learn_about: "Scopri di più sulle nuove funzionalità" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - Questa versione contiene varie nuove funzionalità e miglioramenti:
    + Questa versione contiene varie nuove funzionalità e miglioramenti:
    ical_sharing_modal: title: "Iscriviti al calendario" inital_setup_error_message: "Si è verificato un errore recuperando i dati." @@ -521,6 +521,7 @@ it: label_watcher_added_successfully: "Osservatore aggiunto correttamente!" label_watcher_deleted_successfully: "Osservatore eliminato correttamente!" label_work_package_details_you_are_here: "Sei nella scheda %{tab} per %{type} %{subject}." + label_work_package_context_menu: "Menu contestuale macro-attività" label_unwatch: "Smetti di Osservare" label_unwatch_work_package: "Smetti di osservare macro-attività" label_uploaded_by: "Caricato da" @@ -757,7 +758,7 @@ it: last_day: 'Ultimo giorno' text_are_you_sure: "Sei sicuro/a?" text_data_lost: "Tutti i dati inseriti andranno persi." - text_user_wrote: "%{value} wrote:" + text_user_wrote: "%{value} ha scritto:" types: attribute_groups: error_duplicate_group_name: "Il nome %{group} è usato più di una volta. I nomi dei gruppi devono essere univoci." @@ -832,6 +833,7 @@ it: toggle_description: "Attiva/disattiva descrizione della relazione" update_relation: "Clicca per modificare il tipo di relazione" add_follower: "Aggiungi successore" + show_relations: "Visualizza relazioni" add_predecessor: "Aggiungi predecessore" remove: "Rimuovi la relazione" save: "Salva la relazione" @@ -967,7 +969,6 @@ it: date: "Data" dueDate: "Data di fine" duration: "Durata" - estimatedTime: "Tempo stimato" spentTime: "Tempo speso" category: "Categoria" percentageDone: "Percentuale di completamento" @@ -983,6 +984,7 @@ it: updatedAt: "Aggiornato il" versionName: "Versione" version: "Versione" + remainingTime: "Lavoro rimanente" default_queries: latest_activity: "Ultima attività" created_by_me: "Creato da me" @@ -1033,6 +1035,8 @@ it: selected_count: "%{count} selezionati" selection: mixed: "Misto" + upsale: + description: "Condividi macro-attività con utenti che non sono membri del progetto." table: configure_button: 'Configura la tabella della macro-attività' summary: "Tabella con righe di macro-attività e colonne dei loro attributi." diff --git a/config/locales/crowdin/js-ja.yml b/config/locales/crowdin/js-ja.yml index a497b885ae7f..55006e421707 100644 --- a/config/locales/crowdin/js-ja.yml +++ b/config/locales/crowdin/js-ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -349,11 +349,11 @@ ja: learn_about: "新機能の詳細はこちら" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -522,6 +522,7 @@ ja: label_watcher_added_successfully: "ウォッチャーが正常に追加されました !" label_watcher_deleted_successfully: "ウォッチャーが正常に削除されました !" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "ウォッチしない" label_unwatch_work_package: "作業項目のウォッチを削除" label_uploaded_by: "アップロードした人" @@ -832,6 +833,7 @@ ja: toggle_description: "関係の説明を切り替え" update_relation: "クリックして関係のタイプを変更" add_follower: "後続を追加" + show_relations: "Show relations" add_predecessor: "先行を追加" remove: "関係を削除" save: "関係を保存" @@ -967,7 +969,6 @@ ja: date: "日付" dueDate: "終了日" duration: "期間" - estimatedTime: "予定工数" spentTime: "作業時間の記録" category: "カテゴリ" percentageDone: "完了比率" @@ -983,6 +984,7 @@ ja: updatedAt: "更新日時" versionName: "バージョン" version: "バージョン" + remainingTime: "Remaining work" default_queries: latest_activity: "最新の活動" created_by_me: "私が作成した" @@ -1033,6 +1035,8 @@ ja: selected_count: "%{count} selected" selection: mixed: "Mixed" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'ワークパッケージテーブルを設定する' summary: "作業項目の行と、作業項目の属性の列から成る表。" diff --git a/config/locales/crowdin/js-ka.yml b/config/locales/crowdin/js-ka.yml index 41cec7eaa39c..c04165d9375e 100644 --- a/config/locales/crowdin/js-ka.yml +++ b/config/locales/crowdin/js-ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -33,15 +33,15 @@ ka: Drag on editor field to inline image or reference attachment. Closed editor fields will be opened while you keep dragging. autocomplete_ng_select: add_tag: "ელემენტის დამატება" - clear_all: "Clear all" + clear_all: "ყველას გასუფთავება" loading: "იტვირთება..." - not_found: "No items found" - type_to_search: "Type to search" + not_found: "ელემენტები ვერ ვიპოვე" + type_to_search: "მოსაძებნად აკრიფეთ" autocomplete_select: placeholder: - multi: "Add \"%{name}\"" + multi: "\"%{name}\"-ის დამატება" single: "Select \"%{name}\"" - remove: "Remove %{name}" + remove: "%{name}-ის წაშლა" active: "Active %{label} %{name}" backup: attachments_disabled: Attachments may not be included since they exceed the maximum overall size allowed. You can change this via the configuration (requires a server restart). @@ -49,39 +49,39 @@ ka: You can trigger a backup here. The process can take some time depending on the amount of data (especially attachments) you have. You will receive an email once it's ready. note: > A new backup will override any previous one. Only a limited number of backups per day can be requested. - last_backup: Last backup + last_backup: ბოლო მარქაფი last_backup_from: Last backup from title: Backup OpenProject options: მორგება include_attachments: Include attachments download_backup: Download backup - request_backup: Request backup - close_popup_title: "Close popup" - close_filter_title: "Close filter" - close_form_title: "Close form" - button_add_watcher: "Add watcher" + request_backup: მარქაფის მოთხოვნა + close_popup_title: "მხტუნარას დახურვა" + close_filter_title: "ფილტრის დახურვა" + close_form_title: "ფორმის დახურვა" + button_add_watcher: "მაყურებლის დამატება" button_add: "დამატება" button_back: "უკან" button_back_to_list_view: "Back to list view" button_cancel: "გაუქმება" button_close: "დახურვა" - button_change_project: "Change project" + button_change_project: "პროექტის შეცვლა" button_check_all: "ყველას მონიშვნა" - button_configure-form: "Configure form" + button_configure-form: "ფორმის მორგება" button_confirm: "დადასტურება" button_continue: "გაგრძელება" button_copy: "კოპირება" button_copy_to_clipboard: "Copy to clipboard" button_copy_link_to_clipboard: "Copy link to clipboard" button_copy_to_other_project: "Copy to other project" - button_custom-fields: "Custom fields" + button_custom-fields: "მორგებადი ველები" button_delete: "წაშლა" button_delete_watcher: "Delete watcher" - button_details_view: "Details view" + button_details_view: "დეტალური ხედი" button_duplicate: "დუბლირება" button_edit: "ჩასწორება" button_filter: "ფილტრი" - button_collapse_all: "Collapse all" + button_collapse_all: "ყველას ჩაკეცვა" button_expand_all: "ყველას გაშლა" button_advanced_filter: "Advanced filter" button_list_view: "სიის ხედი" @@ -91,49 +91,49 @@ ka: button_open_details: "Open details view" button_close_details: "Close details view" button_open_fullscreen: "Open fullscreen view" - button_show_cards: "Show card view" - button_show_list: "Show list view" + button_show_cards: "ბარათის ხედის ჩვენება" + button_show_list: "სიის ხედის ჩვენება" button_show_table: "Show table view" button_show_gantt: "Show Gantt view" button_show_fullscreen: "Show fullscreen view" - button_more_actions: "More actions" + button_more_actions: "მეტი ქმედება" button_quote: "ციტატა" button_save: "შენახვა" button_settings: "მორგება" - button_uncheck_all: "Uncheck all" + button_uncheck_all: "ყველა მონიშვნის მოხსნა" button_update: "განახლება" - button_export-pdf: "Download PDF" - button_export-atom: "Download Atom" + button_export-pdf: "გადმოწერე PDF" + button_export-atom: "Atom-ის გადმოწერა" button_create: "შექმნა" card: - add_new: 'Add new card' + add_new: 'ახალი ბარათის დამატება' highlighting: inline: 'Highlight inline:' - entire_card_by: 'Entire card by' + entire_card_by: 'სრული ბარათი პირობით' remove_from_list: 'Remove card from list' - caption_rate_history: "Rate history" + caption_rate_history: "ტარიფის ისტორია" clipboard: browser_error: "Your browser doesn't support copying to clipboard. Please copy it manually: %{content}" copied_successful: "Successfully copied to clipboard!" chart: - type: 'Chart type' - axis_criteria: 'Axis criteria' + type: 'დიაგრამის ტიპი' + axis_criteria: 'ღერძის პირობა' modal_title: 'Work package graph configuration' types: line: 'ხაზი' - horizontal_bar: 'Horizontal bar' + horizontal_bar: 'ჰორიზონტალური პანელი' bar: 'სვეტი' pie: 'მრგვალი' doughnut: 'რგოლური' radar: 'რადარი' - polar_area: 'Polar area' + polar_area: 'პოლარული ადგილი' tabs: graph_settings: 'ზოგადი' dataset: 'Dataset %{number}' errors: could_not_load: 'The data to display the graph could not be loaded. The necessary permissions may be lacking.' description_available_columns: "Available Columns" - description_current_position: "You are here: " + description_current_position: "თქვენ აქ ხართ: " description_select_work_package: "Select work package #%{id}" description_selected_columns: "Selected Columns" description_subwork_package: "Child of work package #%{id}" @@ -153,7 +153,7 @@ ka: invalid_attribute: "The selected attribute '%{name}' does not exist." child_pages: button: 'Links to child pages' - include_parent: 'Include parent' + include_parent: 'მშობლის ჩასმა' text: '[Placeholder] Links to child pages of' page: 'ვიკი გვერდი' this_page: 'ეს გვერდი' @@ -166,7 +166,7 @@ ka: language_hint: 'Enter the formatting language that will be used for highlighting (if supported).' dropdown: macros: 'მაკროები' - chose_macro: 'Choose macro' + chose_macro: 'აირჩიეთ მაკრო' toc: 'Table of contents' toolbar_help: 'Click to select widget and show the toolbar. Double-click to edit widget' wiki_page_include: @@ -191,12 +191,12 @@ ka: text: '[Placeholder] Embedded calendar' admin: type_form: - custom_field: 'Custom field' + custom_field: 'მორგებადი ველი' inactive: 'არააქტიური' drag_to_activate: "Drag fields from here to activate them" add_group: "Add attribute group" add_table: "Add table of related work packages" - edit_query: 'Edit query' + edit_query: 'მოთხოვნის ჩასწორება' new_group: 'ახალი ჯგუფი' reset_to_defaults: 'Reset to defaults' enterprise: @@ -214,17 +214,17 @@ ka: label_first_name: "სახელი" label_last_name: "გვარი" label_domain: "დომენი" - label_subscriber: "Subscriber" + label_subscriber: "გამომწერი" label_maximum_users: "Maximum active users" label_starts_at: "იწყება" - label_expires_at: "Expires at" + label_expires_at: "ვადა" receive_newsletter: I want to receive the OpenProject newsletter. taken_domain: There can only be one active trial per domain. domain_mismatch: The current request host name does not match the configured host name. Please double check your system settings. taken_email: Each user can only create one trial. email_not_received: "You did not receive an email? You can resend the email with the link on the right." try_another_email: "Or try it with another email address." - next_steps: "Next steps" + next_steps: "შემდეგი ნაბიჯები" resend_link: "თავიდან გაგზავნა" resend_success: "Email has been resent. Please check your emails and click the confirmation link provided." resend_warning: "Could not resend email." @@ -235,7 +235,7 @@ ka: test_ee: "Test the Enterprise edition 14 days for free" quick_overview: "Get a quick overview of project management and team collaboration with OpenProject Enterprise edition." upsale: - become_hero: "Become a hero!" + become_hero: "გახდით გმირი!" enterprise_info_html: "%{feature_title} is an Enterprise add-on." upgrade_info: "Please upgrade to a paid plan to activate and start using it in your team." benefits: @@ -254,7 +254,7 @@ ka: button_book_now: "ახლა დაჯავშნა" confidence: > We deliver the confidence of a tested and supported enterprise-class project management software - with Open Source and an open mind. - link_quote: "Get a quote" + link_quote: "ფასის შეთავაზების მიღება" more_info: "More information" text: > The OpenProject Enterprise edition builds on top of the Community edition. It includes Enterprise add-ons and professional support mainly aimed at organizations with more than 10 users that manage business critical projects with OpenProject. @@ -277,7 +277,7 @@ ka: custom_actions: date: specific: 'დრო' - current_date: 'Current date' + current_date: 'მიმდინარე თარიღი' error: internal: "An internal error has occurred." cannot_save_changes_with_message: "Cannot save your changes due to the following error: %{error}" @@ -303,11 +303,11 @@ ka: two: "Second sorting criteria" three: "Third sorting criteria" gantt_chart: - label: 'Gantt chart' + label: 'განტის დიაგრამა' quarter_label: 'Q%{quarter_number}' labels: title: 'Label configuration' - bar: 'Bar labels' + bar: 'პანელის ჭდეები' left: 'მარცხნივ' right: 'მარჯვნივ' farRight: 'შორი მარჯვენა' @@ -348,11 +348,11 @@ ka: learn_about: "Learn more about the new features" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - The release contains various new features and improvements:
    + The release contains various new features and improvements:
    ical_sharing_modal: title: "Subscribe to calendar" inital_setup_error_message: "An error occured while fetching data." @@ -368,11 +368,11 @@ ka: label_assignee: 'დამსაქმებელი' label_add_column_after: "Add column after" label_add_column_before: "Add column before" - label_add_columns: "Add columns" - label_add_comment: "Add comment" + label_add_columns: "სვეტების დამატება" + label_add_comment: "კომენტარის დამატება" label_add_comment_title: "Comment and type @ to notify other people" - label_add_row_after: "Add row after" - label_add_row_before: "Add row before" + label_add_row_after: "მწკრივის ჩამატება შემდეგ" + label_add_row_before: "მწკრივის ჩამატება მანამდე" label_add_selected_columns: "Add selected columns" label_added_by: "დამმატებელი" label_added_time_by: "Added by %{author} at %{age}" @@ -391,24 +391,24 @@ ka: label_change: "შეცვლა" label_create: "შექმნა" label_create_work_package: "Create new work package" - label_created_by: "Created by" + label_created_by: "ავტორი" label_date: "თარიღი" label_date_with_format: "Enter the %{date_attribute} using the following format: %{format}" - label_deactivate: "Deactivate" + label_deactivate: "დეაქტივაცია" label_descending: "დაღმავალი" - label_description: "Description" + label_description: "აღწერა" label_details: "დეტალები" label_display: "ჩვენება" - label_cancel_comment: "Cancel comment" + label_cancel_comment: "კომენტარის გაუქმება" label_closed_work_packages: "დახურულია" label_collapse: "ჩახურვა" label_collapsed: "ჩახურული" - label_collapse_all: "Collapse all" + label_collapse_all: "ყველას ჩაკეცვა" label_comment: "კომენტარი" label_committed_at: "%{committed_revision_link} at %{date}" label_committed_link: "committed revision %{revision_identifier}" label_contains: "შეიცავს" - label_created_on: "created on" + label_created_on: "შექმნის დრო" label_edit_comment: "Edit this comment" label_edit_status: "Edit the status of the work package" label_email: "ელფოსტა" @@ -422,19 +422,19 @@ ka: label_filename: "ფაილი" label_filesize: "ზომა" label_general: "ზოგადი" - label_global_roles: "Global roles" + label_global_roles: "გლობალური როლები" label_greater_or_equal: ">=" label_group: 'ჯგუფი' label_group_by: "დაჯგუფება" label_group_plural: "ჯგუფები" label_hide_attributes: "ნაკლების ჩვენება" - label_hide_column: "Hide column" + label_hide_column: "სვეტის დამალვა" label_hide_project_menu: "Collapse project menu" label_in: "სად" - label_in_less_than: "in less than" - label_in_more_than: "in more than" + label_in_less_than: "ნაკლებია, ვიდრე" + label_in_more_than: "მეტია, ვიდრე" label_incoming_emails: "Incoming emails" - label_information_plural: "Information" + label_information_plural: "ინფორმაცია" label_invalid: "არასწორი" label_import: "შემოტანა" label_latest_activity: "Latest activity" @@ -453,8 +453,8 @@ ka: label_next: "შემდეგი" label_no_color: "ფერის გარეშე" label_no_data: "No data to display" - label_no_due_date: "no finish date" - label_no_start_date: "no start date" + label_no_due_date: "დასრულების თარიღის გარეშე" + label_no_start_date: "დაწყების თარიღის გარეშე" label_no_date: "თარიღის გარეშე" label_no_value: "მნიშვნელობის გარეშე" label_none: "არა" @@ -467,20 +467,20 @@ ka: label_password: "პაროლი" label_previous: "წინა" label_per_page: "თითოეულ გვერდზე:" - label_please_wait: "Please wait" + label_please_wait: "გთხოვთ, მოითმინოთ" label_project: "პროექტი" - label_project_list: "Projects list" + label_project_list: "პროექტების სია" label_project_plural: "პროექტები" label_visibility_settings: "Visibility settings" label_quote_comment: "Quote this comment" label_recent: "უახლესი" label_reset: "ჩამოყრა" label_remove: "წაშლა" - label_remove_column: "Remove column" + label_remove_column: "სვეტის წაშლა" label_remove_columns: "Remove selected columns" - label_remove_row: "Remove row" + label_remove_row: "მწკრივის წაშლა" label_report: "ანგარიშები" - label_repository_plural: "Repositories" + label_repository_plural: "რეპოზიტორიები" label_save_as: "შენახვა, როგორც" label_select_project: "Select a project" label_select_watcher: "Select a watcher..." @@ -509,7 +509,7 @@ ka: label_activity_show_all: "Show all activities" label_total_progress: "%{percent}% Total progress" label_total_amount: "Total: %{amount}" - label_updated_on: "updated on" + label_updated_on: "განახლების თარიღი" label_value_derived_from_children: "(value derived from children)" label_children_derived_duration: "Work package's children derived duration" label_warning: "გაფრთხილება" @@ -521,19 +521,20 @@ ka: label_watcher_added_successfully: "Watcher successfully added!" label_watcher_deleted_successfully: "Watcher successfully deleted!" label_work_package_details_you_are_here: "You are on the %{tab} tab for %{type} %{subject}." + label_work_package_context_menu: "Work package context menu" label_unwatch: "მეთვალყურეობის გაუქმება" label_unwatch_work_package: "Unwatch work package" - label_uploaded_by: "Uploaded by" + label_uploaded_by: "ატვირთული ფაილის მფლობელი" label_default_queries: "ნაგულისხმევი" label_starred_queries: "რჩეული" label_global_queries: "საჯარო" label_custom_queries: "პირადი" label_columns: "სვეტები" - label_attachments: Attachments + label_attachments: მიმაგრებული ფაილები label_drop_files: "Drop files here to attach files." label_drop_or_click_files: "Drop files here or click to attach files." label_drop_folders_hint: You cannot upload folders as an attachment. Please select single files. - label_add_attachments: "Attach files" + label_add_attachments: "ფაილების მიმაგრება" label_formattable_attachment_hint: "Attach and link files by dropping on this field, or pasting from the clipboard." label_remove_file: "Delete %{fileName}" label_remove_watcher: "Remove watcher %{name}" @@ -591,18 +592,18 @@ ka: add_existing: 'Search for existing work packages and drag them to the team planner to instantly assign them to a team member and define start and end dates.' card: 'Drag work packages horizontally to move them backwards or forwards in time, drag the edges to change start and end dates and even drag them vertically to a different row to assign them to another member.' notifications: - title: "Notifications" + title: "შეტყობინებები" no_unread: "No unread notifications" reasons: mentioned: 'მოხსენიებულები' watched: 'მეთვალყურე' assigned: 'შემსრულებელი' - responsible: 'accountable' + responsible: 'ანგარიშვალდებული' created: 'შეიქმნა' scheduled: 'დაგეგმილია' commented: 'დაკომენტარებულია' processed: 'დამუშავებულია' - prioritized: 'prioritized' + prioritized: 'პრიორიტიზებულია' dateAlert: 'გაფრთხილების თარიღი' shared: 'გაზიარებული' date_alerts: @@ -612,26 +613,26 @@ ka: property_today: 'დღესაა' property_is: 'is in %{difference_in_days}' property_was: 'was %{difference_in_days} ago' - property_is_deleted: 'is deleted' + property_is_deleted: 'წაშლილია' upsale: - title: 'Date alerts' + title: 'განგაშების თარიღი' description: 'With date alerts, you will be notified of upcoming start or finish dates so that you never miss or forget an important deadline.' facets: unread: 'წაუკითხავი' - unread_title: 'Show unread' + unread_title: 'წაუკითხავის ჩვენება' all: 'ყველა' all_title: 'ყველაფრის ჩვენება' center: label_actor_and: 'და' and_more_users: - one: 'and 1 other' - other: 'and %{count} others' + one: 'და კიდევ 1' + other: 'და კიდევ %{count}' no_results: at_all: 'New notifications will appear here when there is activity that concerns you.' with_current_filter: 'There are no notifications in this view at the moment' mark_all_read: 'Mark all as read' - mark_as_read: 'Mark as read' - text_update_date: "%{date} by" + mark_as_read: 'წაკითხულად მონიშვნა' + text_update_date: "%{date} ავტორი" total_count_warning: "Showing the %{newest_count} most recent notifications. %{more_count} more are not displayed." empty_state: no_notification: "Looks like you are all caught up." @@ -642,7 +643,7 @@ ka: message: 'There are new notifications.' link_text: 'Click here to load them' menu: - accountable: 'Accountable' + accountable: 'ანგარიშვალდებული' by_project: 'Unread by project' by_reason: 'მიზეზი' inbox: 'შემომავალი' @@ -659,19 +660,19 @@ ka: timeframes: normal: PT0S: იგივე დღე - P1D: 1 day before - P3D: 3 days before - P7D: a week before + P1D: 1 დღით ადრე + P3D: 3 დღით ადრე + P7D: 1 კვირით ადრე overdue: P1D: ყოველდღე - P3D: every 3 days - P7D: every week + P3D: ყოველ 3 დღეში + P7D: ყოველკვირა reasons: mentioned: title: 'მოხსენიებულები' description: 'Receive a notification every time someone mentions me anywhere' assignee: 'დასაქმებული' - responsible: 'Accountable' + responsible: 'ანგარიშვალდებული' shared: 'გაზიარებული' watched: 'მეთვალყურე' work_package_commented: 'All new comments' @@ -681,16 +682,16 @@ ka: work_package_scheduled: 'All date changes' global: immediately: - title: 'Participating' + title: 'მონაწილეობა' description: 'Notifications for all activities in work packages you are involved in (assignee, accountable or watcher).' delayed: title: 'Non-participating' description: 'Additional notifications for activities in all projects.' date_alerts: - title: 'Date alerts' + title: 'განგაშების თარიღი' description: 'Automatic notifications when important dates are approaching for open work packages you are involved in (assignee, accountable or watcher).' teaser_text: 'With date alerts, you will be notified of upcoming start or finish dates so that you never miss or forget an important deadline.' - overdue: When overdue + overdue: როცა ვადა გადაცილდება project_specific: title: 'Project-specific notification settings' description: 'These project-specific settings override default settings above.' @@ -708,7 +709,7 @@ ka: placeholders: default: '-' subject: 'Enter subject here' - selection: 'Please select' + selection: 'გთხოვთ, აირჩიეთ' description: 'Description: Click to edit...' relation_description: 'Click to add description for this relation' project: @@ -718,10 +719,10 @@ ka: context: 'Project context' click_to_switch_to_project: 'Project: %{projectname}' confirm_template_load: 'Switching the template will reload the page and you will lose all input to this form. Continue?' - use_template: "Use template" + use_template: "შაბლონის გამოყენება" no_template_selected: "(არც ერთი)" copy: - copy_options: "Copy options" + copy_options: "პარამეტრების კოპირება" autocompleter: label: 'Project autocompletion' reminders: @@ -776,13 +777,13 @@ ka: time_entry: work_package_required: 'Requires selecting a work package first.' title: 'ჟურნალში დროის ჩაწერა' - tracking: 'Time tracking' + tracking: 'დროის ტრეკინგი' stop: 'გაჩერება' timer: start_new_timer: 'Start new timer' timer_already_running: 'To start a new timer, you must first stop the current timer:' timer_already_stopped: 'No active timer for this work package, have you stopped it in another window?' - tracking_time: 'Tracking time' + tracking_time: 'ტრეკინგის დრო' button_stop: 'Stop current timer' two_factor_authentication: label_two_factor_authentication: 'Two-factor authentication' @@ -790,63 +791,64 @@ ka: label_loading: loading watchers... label_error_loading: An error occurred while loading the watchers label_search_watchers: Search watchers - label_add: Add watchers + label_add: მაყურებლების დამატება label_discard: Discard selection typeahead_placeholder: Search for possible watchers relation_labels: parent: "მშობელი" children: "შვილები" - relates: "Related To" - duplicates: "Duplicates" - duplicated: "Duplicated by" + relates: "მიეკუთვნება" + duplicates: "დუბლები" + duplicated: "დუბლირების ავტორი" blocks: "ბლოკავს" - blocked: "Blocked by" + blocked: "დაბლოკა" precedes: "წინ უსწრებს" follows: "მიჰყვება" includes: "შეიცავს" partof: "ნაწილია" requires: "მოითხოვს" - required: "Required by" - relation_type: "relation type" + required: "მოთხოვნილია" + relation_type: "კავშირის ტიპი" relations_hierarchy: parent_headline: "მშობელი" hierarchy_headline: "იერარქია" children_headline: "შვილები" relation_buttons: - set_parent: "Set parent" - change_parent: "Change parent" - remove_parent: "Remove parent" + set_parent: "მშობლის დაყენება" + change_parent: "მშობლის შეცვლა" + remove_parent: "მშობლის წაშლა" hierarchy_indent: "Indent hierarchy" hierarchy_outdent: "Outdent hierarchy" group_by_wp_type: "Group by work package type" group_by_relation_type: "Group by relation type" add_parent: "Add existing parent" add_new_child: "Create new child" - create_new: "Create new" - add_existing: "Add existing" + create_new: "ახლის შექმნა" + add_existing: "არსებულის დამატება" add_existing_child: "Add existing child" - remove_child: "Remove child" + remove_child: "შვილის წაშლა" add_new_relation: "Create new relation" add_existing_relation: "Add existing relation" update_description: "Set or update description of this relation" toggle_description: "Toggle relation description" update_relation: "Click to change the relation type" - add_follower: "Add follower" + add_follower: "გამომწერის დამატება" + show_relations: "Show relations" add_predecessor: "Add predecessor" remove: "Remove relation" - save: "Save relation" + save: "ურთიერთობის შენახვა" abort: "გაუქმება" relations_autocomplete: - placeholder: "Type to search" + placeholder: "მოსაძებნად აკრიფეთ" parent_placeholder: "Choose new parent or press escape to cancel." autocompleter: - placeholder: "Type to search" - notFoundText: "No items found" + placeholder: "მოსაძებნად აკრიფეთ" + notFoundText: "ელემენტები ვერ ვიპოვე" project: - placeholder: "Select project" + placeholder: "აირჩიეთ პროექტი" repositories: - select_tag: 'Select tag' - select_branch: 'Select branch' + select_tag: 'აირჩიეთ ჭდე' + select_branch: 'აირჩიეთ ბრენჩი' field_value_enter_prompt: "Enter a value for '%{field}'" project_menu_details: "დეტალები" scheduling: @@ -862,7 +864,7 @@ ka: text_work_packages_destroy_confirmation: "Are you sure you want to delete the selected work package(s)?" text_query_destroy_confirmation: "Are you sure you want to delete the selected view?" tl_toolbar: - zooms: "Zoom level" + zooms: "გადიდების დონე" outlines: "Hierarchy level" upsale: ee_only: 'Enterprise edition add-on' @@ -871,12 +873,12 @@ ka: italic: "დახრილი" underline: "ხაზგასმული" deleted: "წაშლილია" - code: "Inline Code" + code: "ხაზშივე კოდი" heading1: "სათაური 1" heading2: "სათაური 2" heading3: "სათაური 3" - unordered_list: "Unordered List" - ordered_list: "Ordered List" + unordered_list: "დაულაგებელი სია" + ordered_list: "დალაგებული სია" quote: "ციტატა" unquote: "ციტირების მოხსნა" preformatted_text: "Preformatted Text" @@ -887,7 +889,7 @@ ka: move: 'Bulk change of project' edit: 'მასობრივი ჩასწორება' copy: 'მასობრივი კოპირება' - delete: 'Bulk delete' + delete: 'ერთდროული წაშლა' button_clear: "გასუფთავება" comment_added: "The comment was successfully added." comment_send_failed: "An error has occurred. Could not submit the comment." @@ -899,19 +901,19 @@ ka: start_date_limited_by_relations: "Available start and finish dates are limited by relations." changing_dates_affects_follow_relations: "Changing these dates will affect dates of related work packages." click_on_show_relations_to_open_gantt: 'Click on "%{button_name}" for GANTT overview.' - show_relations: 'Show relations' + show_relations: 'ურთიერთობის ჩვენება' ignore_non_working_days: title: 'Working days only' description_filter: "ფილტრი" description_enter_text: "შეიყვანეთ ტექსტი" - description_options_hide: "Hide options" - description_options_show: "Show options" + description_options_hide: "პარამეტრების დამალვა" + description_options_show: "პარამეტრების ჩვენება" edit_attribute: "%{attribute} - Edit" key_value: "%{key}: %{value}" label_enable_multi_select: "Enable multiselect" label_disable_multi_select: "Disable multiselect" label_filter_add: "ფილტრის დამატება" - label_filter_by_text: "Filter by text" + label_filter_by_text: "ტექსტით ფილტრი" label_options: "მორგება" label_column_multiselect: "Combined dropdown field: Select with arrow keys, confirm selection with enter, delete with backspace" message_error_during_bulk_delete: An error occurred while trying to delete work packages. @@ -934,7 +936,7 @@ ka: title: 'Click here to add a new work package to this list' create: title: 'New work package' - header: 'New %{type}' + header: 'ახალი %{type}' header_no_type: 'New work package (Type not yet set)' header_with_parent: 'New %{type} (Child of %{parent_type} #%{id})' button: 'შექმნა' @@ -963,17 +965,16 @@ ka: assignee: "დასაქმებული" author: "ავტორი" createdAt: "შექმნის დრო" - description: "Description" + description: "აღწერა" date: "თარიღი" - dueDate: "Finish date" + dueDate: "დასრულების თარიღი" duration: "ხანგრძლივობა" - estimatedTime: "Estimated time" spentTime: "დახარჯული დრო" category: "კატეგორია" percentageDone: "Percentage done" priority: "პრიორიტეტი" projectName: "პროექტი" - responsible: "Responsible" + responsible: "პასუხისმგებელი" startDate: "დაწყების თარიღი" status: "სტატუსი" subject: "თემა" @@ -983,10 +984,11 @@ ka: updatedAt: "განახლების თარიღი" versionName: "ვერსია" version: "ვერსია" + remainingTime: "დარჩენილი სამუშაო" default_queries: latest_activity: "Latest activity" - created_by_me: "Created by me" - assigned_to_me: "Assigned to me" + created_by_me: "ჩემი შექმნილები" + assigned_to_me: "ჩემზე მონიჭებული" recently_created: "Recently created" all_open: "ყველა ღია" summary: "შეჯამება" @@ -998,21 +1000,21 @@ ka: label_content: "Click here to skip over the menu and go to the content" placeholders: default: "-" - date: "Select date" + date: "აირჩიეთ თარიღი" query: column_names: "სვეტები" group_by: "Group results by" group: "დაჯგუფება" group_by_disabled_by_hierarchy: "Group by is disabled due to the hierarchy mode being active." hierarchy_disabled_by_group_by: "Hierarchy mode is disabled due to results being grouped by %{column}." - sort_ascending: "Sort ascending" + sort_ascending: "ზრდის მიხედვით დალაგება" sort_descending: "Sort descending" move_column_left: "Move column left" move_column_right: "Move column right" - hide_column: "Hide column" - insert_columns: "Insert columns" + hide_column: "სვეტის დამალვა" + insert_columns: "სვეტების ჩასმა" filters: "ფილტრები" - display_sums: "Display Sums" + display_sums: "ჯამების ჩვენება" confirm_edit_cancel: "Are you sure you want to cancel editing the name of this view? Title will be set back to previous value." click_to_edit_query_name: "Click to edit title of this view." rename_query_placeholder: "Name of this view" @@ -1033,6 +1035,8 @@ ka: selected_count: "%{count} selected" selection: mixed: "შერეული" + upsale: + description: "Share work packages with users who are not members of the project." table: configure_button: 'Configure work package table' summary: "Table with rows of work package and columns of work package attributes." @@ -1051,13 +1055,13 @@ ka: hierarchy_hint: "All filtered table results will be augmented with their ancestors. Hierarchies can be expanded and collapsed." display_sums_hint: "Display sums of all summable attributes in a row below the table results." show_timeline_hint: "Show an interactive gantt chart on the right side of the table. You can change its width by dragging the divider between table and gantt chart." - highlighting: 'Highlighting' + highlighting: 'გამოკვეთა' highlighting_mode: description: "Highlight with color" none: "No highlighting" inline: 'Highlighted attribute(s)' - inline_all: 'All attributes' - entire_row_by: 'Entire row by' + inline_all: 'ყველა ატრიბუტი' + entire_row_by: 'მთელი მწკრივი პირობით' status: 'სტატუსი' priority: 'პრიორიტეტი' type: 'ტიპი' @@ -1085,20 +1089,20 @@ ka: months: "თვე" toolbar: settings: - configure_view: "Configure view" + configure_view: "ხედის მორგება" columns: "სვეტები" sort_by: "დალაგება" group_by: "დაჯგუფება" - display_sums: "Display sums" + display_sums: "ჯამების ჩვენება" display_hierarchy: "Display hierarchy" - hide_hierarchy: "Hide hierarchy" + hide_hierarchy: "იერარქიის დამალვა" hide_sums: "ჯამების დამალვა" save: "შენახვა" save_as: "შენახვა, როგორც" export: "გატანა" visibility_settings: "Visibility settings" share_calendar: "Subscribe to calendar" - page_settings: "Rename view" + page_settings: "ხედის სახელის გადარქმევა" delete: "წაშლა" filter: "ფილტრი" unselected_title: "სამუშაო პაკეტი" @@ -1128,8 +1132,8 @@ ka: notice_successful_create: "Successful creation." notice_successful_delete: "Successful deletion." notice_successful_update: "Successful update." - notice_job_started: "job started." - notice_bad_request: "Bad Request." + notice_job_started: "დავალება გაეშვა." + notice_bad_request: "არასწორი მოთხოვნა." relations: empty: No relation exists remove: Remove relation @@ -1156,14 +1160,14 @@ ka: error_attachment_upload_permission: "You don't have the permission to upload files on this resource." units: workPackage: - one: "work package" - other: "work packages" + one: "სამუშაო პაკეტი" + other: "სამუშაო პაკეტები" child_work_packages: one: "one child work package" other: "%{count} work package children" hour: one: "1 სთ" - other: "%{count} h" + other: "%{count} სთ" zero: "0 სთ" day: one: "1 დღე" @@ -1174,15 +1178,15 @@ ka: button_deactivate: 'Deactivate zen mode' global_search: all_projects: "In all projects" - close_search: "Close search" + close_search: "ძებნის დახურვა" current_project_and_all_descendants: "In this project + subprojects" current_project: "In this project" recently_viewed: "Recently viewed" search: "ძებნა" title: - all_projects: "all projects" + all_projects: "ყველა პროექტი" project_and_subprojects: "and all subprojects" - search_for: "Search for" + search_for: "ძებნა" views: card: 'ბარათები' list: 'ცხრილი' @@ -1191,7 +1195,7 @@ ka: back: 'უკან' invite: 'მოწვევა' title: - invite: 'Invite user' + invite: 'მომხმარებლის მოწვევა' invite_to_project: 'Invite %{type} to %{project}' User: 'მომხმარებელი' Group: 'ჯგუფი' @@ -1258,8 +1262,8 @@ ka: clear_selection: 'Clear selection' apply: 'გადატარება' selected_filter: - all: 'All projects' - selected: 'Only selected' + all: 'ყველა პროექტი' + selected: 'მხოლოდ მონიშნული' search_placeholder: 'Search project...' include_subprojects: 'Include all sub-projects' tooltip: @@ -1289,7 +1293,7 @@ ka: a_specific_date: 'a specific date' between_two_specific_dates: 'between two specific dates' legends: - changes_since: 'Changes since' + changes_since: 'ცვლილებების დაწყების დრო' changes_between: 'Changes between' now_meets_filter_criteria: 'Now meets filter criteria' no_longer_meets_filter_criteria: 'No longer meets filter criteria' diff --git a/config/locales/crowdin/js-ko.yml b/config/locales/crowdin/js-ko.yml index 56bed013ed4f..016aa1cc2675 100644 --- a/config/locales/crowdin/js-ko.yml +++ b/config/locales/crowdin/js-ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ ko: learn_about: "새로운 기능에 대해 자세히 알아보기" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - 이 릴리스에는 다양한 새로운 기능과 개선 사항이 포함되어 있습니다.
    + 이 릴리스에는 다양한 새로운 기능과 개선 사항이 포함되어 있습니다.
    ical_sharing_modal: title: "캘린더 구독" inital_setup_error_message: "데이터를 가져오는 중에 오류가 발생했습니다." @@ -521,6 +521,7 @@ ko: label_watcher_added_successfully: "주시하는 사람이 추가되었습니다." label_watcher_deleted_successfully: "주시하는 사람이 삭제되었습니다." label_work_package_details_you_are_here: "%{type} %{subject}에 대한 %{tab} 탭에 있습니다." + label_work_package_context_menu: "작업 패키지 콘텍스트 메뉴" label_unwatch: "주시 안 함" label_unwatch_work_package: "작업 패키지 주시 해제" label_uploaded_by: "업로드 : " @@ -756,7 +757,7 @@ ko: last_day: '마지막 날' text_are_you_sure: "계속하시겠습니까?" text_data_lost: "입력한 모든 데이터가 손실됩니다." - text_user_wrote: "%{value} wrote:" + text_user_wrote: "%{value}이(가) 작성함:" types: attribute_groups: error_duplicate_group_name: "%{group} 이라는 그룹 이름은 한 번 이상 사용되었습니다. 그룹 이름은 중복될 수 없습니다." @@ -831,6 +832,7 @@ ko: toggle_description: "토글 관계 설명" update_relation: "관계 타입을 변경하려면 클릭하세요" add_follower: "팔로워 추가" + show_relations: "관계 표시" add_predecessor: "선행 단계 추가" remove: "관계 제거" save: "관계 저장" @@ -966,7 +968,6 @@ ko: date: "날짜" dueDate: "완료 날짜" duration: "기간" - estimatedTime: "예상된 시간" spentTime: "소비한 시간" category: "카테고리" percentageDone: "완료율" @@ -982,6 +983,7 @@ ko: updatedAt: "업데이트 날짜" versionName: "버전" version: "버전" + remainingTime: "남은 작업" default_queries: latest_activity: "최근 활동" created_by_me: "내가 만듦" @@ -1032,6 +1034,8 @@ ko: selected_count: "%{count}개 선택됨" selection: mixed: "혼합" + upsale: + description: "프로젝트 멤버가 아닌 사용자와 작업 패키지를 공유합니다." table: configure_button: '작업 패키지 테이블 구성' summary: "작업 패키지의 행 및 작업 패키지 특성의 열이 있는 테이블." diff --git a/config/locales/crowdin/js-lt.yml b/config/locales/crowdin/js-lt.yml index bef4fd202be3..8b48baa7e9d9 100644 --- a/config/locales/crowdin/js-lt.yml +++ b/config/locales/crowdin/js-lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -348,11 +348,11 @@ lt: learn_about: "Sužinokite daugiau apie naujas galimybes" #Include the version to invalidate outdated translations in other locales. #Otherwise, e.g. chinese might still have the translations for 10.0 in the 12.0 release. - '13_1': + '13_2': standard: - learn_about_link: https://www.openproject.org/blog/openproject-13-1-release/ + learn_about_link: https://www.openproject.org/blog/openproject-13-2-release/ new_features_html: > - Šioje laidoje yra kelios naujos savybės ir patobulinimai:
    + Šioje laidoje yra keli nauji funkcionalumai ir patobulinimai:
    - - -
    -
    -
    +
    + - - + + -
    - -
    +
    +
    -
      + +
      • -
        - - -
        + + +
    diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-hierarchies.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-hierarchies.ts index 7716aa225245..75e2ac72cedf 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-hierarchies.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-hierarchies.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-highlight.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-highlight.ts index 8f55f8a173a1..66b61c1aa5bf 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-highlight.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-highlight.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-pagination.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-pagination.ts index ff7e1689df9a..49abaf9686d3 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-pagination.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-pagination.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-relation-columns.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-relation-columns.ts index bf1efb00be6b..1c345aeb3290 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-relation-columns.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-relation-columns.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-timeline.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-timeline.ts index d01153113d23..049f96a5d3da 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-timeline.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-table-timeline.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-additional-elements.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-additional-elements.service.ts index 2e8999e8b613..3987c216ed95 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-additional-elements.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-additional-elements.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-base.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-base.service.ts index e995bcabfea3..3fe3f1647829 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-base.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-base.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-baseline.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-baseline.service.ts index e3918aa6e526..2d5c51c898a4 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-baseline.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-baseline.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-collapsed-groups.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-collapsed-groups.service.ts index e6994be5ea57..02a70b4d8272 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-collapsed-groups.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-collapsed-groups.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-columns.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-columns.service.ts index b3fbefe8d3be..392609ac7f7c 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-columns.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-columns.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-display-representation.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-display-representation.service.ts index a5e3cb6a3421..331dfb7c829b 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-display-representation.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-display-representation.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-filters.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-filters.service.ts index 2e0eb233d6ac..eb1383a4b666 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-filters.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-filters.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-focus.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-focus.service.ts index 447bcf2f0794..0fa65f123f0e 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-focus.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-focus.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-group-by.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-group-by.service.ts index cb2a5155fed2..6aab34cb0f71 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-group-by.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-group-by.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-hierarchy-indentation.service.spec.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-hierarchy-indentation.service.spec.ts index c84314a4e3a9..e9adb4445b3b 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-hierarchy-indentation.service.spec.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-hierarchy-indentation.service.spec.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-include-subprojects.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-include-subprojects.service.ts index d793c5e2b147..641fff7ee219 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-include-subprojects.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-include-subprojects.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-order.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-order.service.ts index 19689a9868dd..9052b75f5d0b 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-order.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-order.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-pagination.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-pagination.service.ts index cf7e7fd3d0b8..066332d12d73 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-pagination.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-pagination.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-relation-columns.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-relation-columns.service.ts index 6b025fe79157..380156e80c52 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-relation-columns.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-relation-columns.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-sort-by.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-sort-by.service.ts index 72c62820c20c..da1e3269e407 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-sort-by.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-sort-by.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-sum.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-sum.service.ts index 832a77f29b44..3d9e346ca4d7 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-sum.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-sum.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-timeline.service.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-timeline.service.ts index d5cf021f1aac..032845249b99 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-timeline.service.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/view-services/wp-view-timeline.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/work-package-single-view.base.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/work-package-single-view.base.ts index 384b43ace7b2..b03728f52154 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/work-package-single-view.base.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/work-package-single-view.base.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-base/work-packages-view.base.ts b/frontend/src/app/features/work-packages/routing/wp-view-base/work-packages-view.base.ts index 3cdc3a423528..ae5f78c7fd0a 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-base/work-packages-view.base.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-base/work-packages-view.base.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/routing/wp-view-page/wp-view-page.component.ts b/frontend/src/app/features/work-packages/routing/wp-view-page/wp-view-page.component.ts index 931906fabb3e..d2dd6bcbcf78 100644 --- a/frontend/src/app/features/work-packages/routing/wp-view-page/wp-view-page.component.ts +++ b/frontend/src/app/features/work-packages/routing/wp-view-page/wp-view-page.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/services/notifications/work-package-notification.service.ts b/frontend/src/app/features/work-packages/services/notifications/work-package-notification.service.ts index 89f0fcabcc81..0d54e97e5152 100644 --- a/frontend/src/app/features/work-packages/services/notifications/work-package-notification.service.ts +++ b/frontend/src/app/features/work-packages/services/notifications/work-package-notification.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -31,20 +31,30 @@ import { IToast } from 'core-app/shared/components/toaster/toast.service'; import { HalResourceNotificationService } from 'core-app/features/hal/services/hal-resource-notification.service'; import { WorkPackageResource } from 'core-app/features/hal/resources/work-package-resource'; import { ApiV3Service } from 'core-app/core/apiv3/api-v3.service'; +import { HalResource } from 'core-app/features/hal/resources/hal-resource'; @Injectable() export class WorkPackageNotificationService extends HalResourceNotificationService { - constructor(readonly injector:Injector, - readonly apiV3Service:ApiV3Service) { + constructor( + readonly injector:Injector, + readonly apiV3Service:ApiV3Service, + ) { super(injector); } - public showSave(resource:WorkPackageResource, isCreate = false) { - const message:any = { + public showSave(resource:HalResource, isCreate = false) { + const message:IToast = { message: this.I18n.t(`js.notice_successful_${isCreate ? 'create' : 'update'}`), + type: 'success', }; - this.addWorkPackageFullscreenLink(message, resource as any); + // The WorkPackageNotificationService is injected for the whole wpIsolatedQuerySpace as the notification service. + // However, when logging time on a WP, the provided resource is a TimeEntryResource. + // Thus, the link in the toast would link to the WP with the ID of the TimeEntryResource (see #50731). + // That is why, we check for WorkPackageResources and show the link only for them. + if (resource.$halType === 'WorkPackage') { + this.addWorkPackageFullscreenLink(message, resource); + } this.ToastService.addSuccess(message); } @@ -66,7 +76,7 @@ export class WorkPackageNotificationService extends HalResourceNotificationServi return super.showCustomError(errorResource, resource); } - private addWorkPackageFullscreenLink(message:IToast, resource:WorkPackageResource) { + private addWorkPackageFullscreenLink(message:IToast, resource:HalResource) { // Don't show the 'Show in full screen' link if we're there already if (!this.$state.includes('work-packages.show')) { message.link = { diff --git a/frontend/src/app/features/work-packages/services/work-package-authorization.service.ts b/frontend/src/app/features/work-packages/services/work-package-authorization.service.ts index 88b8a708441f..88eb237e9e2e 100644 --- a/frontend/src/app/features/work-packages/services/work-package-authorization.service.ts +++ b/frontend/src/app/features/work-packages/services/work-package-authorization.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/features/work-packages/services/work-package.service.ts b/frontend/src/app/features/work-packages/services/work-package.service.ts index 7707d67390e3..df169be78490 100644 --- a/frontend/src/app/features/work-packages/services/work-package.service.ts +++ b/frontend/src/app/features/work-packages/services/work-package.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/attachments/attachment-list/attachment-list-item.component.ts b/frontend/src/app/shared/components/attachments/attachment-list/attachment-list-item.component.ts index 35799f4c96fe..adb907690cc9 100644 --- a/frontend/src/app/shared/components/attachments/attachment-list/attachment-list-item.component.ts +++ b/frontend/src/app/shared/components/attachments/attachment-list/attachment-list-item.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/attachments/attachment-list/attachment-list.component.ts b/frontend/src/app/shared/components/attachments/attachment-list/attachment-list.component.ts index fb31d2774045..ccb781ff408b 100644 --- a/frontend/src/app/shared/components/attachments/attachment-list/attachment-list.component.ts +++ b/frontend/src/app/shared/components/attachments/attachment-list/attachment-list.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/attachments/attachments.component.ts b/frontend/src/app/shared/components/attachments/attachments.component.ts index eb3ecb320219..5ba3ed502ce0 100644 --- a/frontend/src/app/shared/components/attachments/attachments.component.ts +++ b/frontend/src/app/shared/components/attachments/attachments.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/attachments/openproject-attachments.module.ts b/frontend/src/app/shared/components/attachments/openproject-attachments.module.ts index 9a2dfa2662b0..0473bce6cf46 100644 --- a/frontend/src/app/shared/components/attachments/openproject-attachments.module.ts +++ b/frontend/src/app/shared/components/attachments/openproject-attachments.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.component.ts b/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.component.ts index f74b49d09278..aa217b5e9f06 100644 --- a/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.component.ts +++ b/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.modal.ts b/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.modal.ts index c0f1d416a965..4c448e2fa0df 100644 --- a/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.modal.ts +++ b/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.service.ts b/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.service.ts index d2205d86e514..1c80dd4a5747 100644 --- a/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.service.ts +++ b/frontend/src/app/shared/components/attribute-help-texts/attribute-help-text.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/attribute-help-texts/static-attribute-help-text.component.ts b/frontend/src/app/shared/components/attribute-help-texts/static-attribute-help-text.component.ts index b0795274f5ee..f0c39701cb8a 100644 --- a/frontend/src/app/shared/components/attribute-help-texts/static-attribute-help-text.component.ts +++ b/frontend/src/app/shared/components/attribute-help-texts/static-attribute-help-text.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/attribute-help-texts/static-attribute-help-text.modal.ts b/frontend/src/app/shared/components/attribute-help-texts/static-attribute-help-text.modal.ts index 0b02d803b34d..d71d306b58a2 100644 --- a/frontend/src/app/shared/components/attribute-help-texts/static-attribute-help-text.modal.ts +++ b/frontend/src/app/shared/components/attribute-help-texts/static-attribute-help-text.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/autocompleter/autocomplete-select-decoration/autocomplete-select-decoration.component.ts b/frontend/src/app/shared/components/autocompleter/autocomplete-select-decoration/autocomplete-select-decoration.component.ts index b3c4b553be53..4b25578cfe8b 100644 --- a/frontend/src/app/shared/components/autocompleter/autocomplete-select-decoration/autocomplete-select-decoration.component.ts +++ b/frontend/src/app/shared/components/autocompleter/autocomplete-select-decoration/autocomplete-select-decoration.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/autocompleter/create-autocompleter/create-autocompleter.component.ts b/frontend/src/app/shared/components/autocompleter/create-autocompleter/create-autocompleter.component.ts index 6138699c46f5..2568a800e4e6 100644 --- a/frontend/src/app/shared/components/autocompleter/create-autocompleter/create-autocompleter.component.ts +++ b/frontend/src/app/shared/components/autocompleter/create-autocompleter/create-autocompleter.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/autocompleter/members-autocompleter/members.module.ts b/frontend/src/app/shared/components/autocompleter/members-autocompleter/members.module.ts index 6b039d3bd752..47cb7568c72b 100644 --- a/frontend/src/app/shared/components/autocompleter/members-autocompleter/members.module.ts +++ b/frontend/src/app/shared/components/autocompleter/members-autocompleter/members.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter-template.component.ts b/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter-template.component.ts index 73cceff1aaad..87cd0f7f31b6 100644 --- a/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter-template.component.ts +++ b/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter-template.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.ts b/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.ts index bcbf17119ea5..8d4676f64bae 100644 --- a/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.ts +++ b/frontend/src/app/shared/components/autocompleter/project-autocompleter/project-autocompleter.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/autocompleter/te-work-package-autocompleter/te-work-package-autocompleter.component.ts b/frontend/src/app/shared/components/autocompleter/te-work-package-autocompleter/te-work-package-autocompleter.component.ts index 05002e1514f6..3585de1b9c5b 100644 --- a/frontend/src/app/shared/components/autocompleter/te-work-package-autocompleter/te-work-package-autocompleter.component.ts +++ b/frontend/src/app/shared/components/autocompleter/te-work-package-autocompleter/te-work-package-autocompleter.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/autocompleter/user-autocompleter/user-autocompleter-template.component.ts b/frontend/src/app/shared/components/autocompleter/user-autocompleter/user-autocompleter-template.component.ts index 5c0d80c6c559..90908bce26f0 100644 --- a/frontend/src/app/shared/components/autocompleter/user-autocompleter/user-autocompleter-template.component.ts +++ b/frontend/src/app/shared/components/autocompleter/user-autocompleter/user-autocompleter-template.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/autocompleter/user-autocompleter/user-autocompleter.component.ts b/frontend/src/app/shared/components/autocompleter/user-autocompleter/user-autocompleter.component.ts index 64a3ddd771c5..86ffcf98a837 100644 --- a/frontend/src/app/shared/components/autocompleter/user-autocompleter/user-autocompleter.component.ts +++ b/frontend/src/app/shared/components/autocompleter/user-autocompleter/user-autocompleter.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/autocompleter/version-autocompleter/version-autocompleter.component.ts b/frontend/src/app/shared/components/autocompleter/version-autocompleter/version-autocompleter.component.ts index 50e67ed4057a..b76bc0d98863 100644 --- a/frontend/src/app/shared/components/autocompleter/version-autocompleter/version-autocompleter.component.ts +++ b/frontend/src/app/shared/components/autocompleter/version-autocompleter/version-autocompleter.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/autocompleter/work-package-autocompleter/wp-autocompleter.component.ts b/frontend/src/app/shared/components/autocompleter/work-package-autocompleter/wp-autocompleter.component.ts index 56fceb551b6c..584426b0eb18 100644 --- a/frontend/src/app/shared/components/autocompleter/work-package-autocompleter/wp-autocompleter.component.ts +++ b/frontend/src/app/shared/components/autocompleter/work-package-autocompleter/wp-autocompleter.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/collapsible-section/collapsible-section.component.ts b/frontend/src/app/shared/components/collapsible-section/collapsible-section.component.ts index 67737b5bee99..b4247ac04a4a 100644 --- a/frontend/src/app/shared/components/collapsible-section/collapsible-section.component.ts +++ b/frontend/src/app/shared/components/collapsible-section/collapsible-section.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/colors/colors-autocompleter.component.ts b/frontend/src/app/shared/components/colors/colors-autocompleter.component.ts index 50c82cff1f73..b2871916702f 100644 --- a/frontend/src/app/shared/components/colors/colors-autocompleter.component.ts +++ b/frontend/src/app/shared/components/colors/colors-autocompleter.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/copy-to-clipboard/copy-to-clipboard.component.ts b/frontend/src/app/shared/components/copy-to-clipboard/copy-to-clipboard.component.ts index 9cb6cec31416..3aece4c55d61 100644 --- a/frontend/src/app/shared/components/copy-to-clipboard/copy-to-clipboard.component.ts +++ b/frontend/src/app/shared/components/copy-to-clipboard/copy-to-clipboard.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/copy-to-clipboard/copy-to-clipboard.service.ts b/frontend/src/app/shared/components/copy-to-clipboard/copy-to-clipboard.service.ts index 1ae0b12a53a4..e0bb8401f94e 100644 --- a/frontend/src/app/shared/components/copy-to-clipboard/copy-to-clipboard.service.ts +++ b/frontend/src/app/shared/components/copy-to-clipboard/copy-to-clipboard.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/date/op-date-time.component.ts b/frontend/src/app/shared/components/date/op-date-time.component.ts index 9049079d1acc..0e68d9f0b681 100644 --- a/frontend/src/app/shared/components/date/op-date-time.component.ts +++ b/frontend/src/app/shared/components/date/op-date-time.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/banner/datepicker-banner.component.ts b/frontend/src/app/shared/components/datepicker/banner/datepicker-banner.component.ts index bc430ab68aa1..c316985249ca 100644 --- a/frontend/src/app/shared/components/datepicker/banner/datepicker-banner.component.ts +++ b/frontend/src/app/shared/components/datepicker/banner/datepicker-banner.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/basic-range-date-picker/basic-range-date-picker.component.ts b/frontend/src/app/shared/components/datepicker/basic-range-date-picker/basic-range-date-picker.component.ts index e9fa79f2505c..9df012381b55 100644 --- a/frontend/src/app/shared/components/datepicker/basic-range-date-picker/basic-range-date-picker.component.ts +++ b/frontend/src/app/shared/components/datepicker/basic-range-date-picker/basic-range-date-picker.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2022 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/basic-single-date-picker/basic-single-date-picker.component.ts b/frontend/src/app/shared/components/datepicker/basic-single-date-picker/basic-single-date-picker.component.ts index 604e3b560e3e..38912b9bf222 100644 --- a/frontend/src/app/shared/components/datepicker/basic-single-date-picker/basic-single-date-picker.component.ts +++ b/frontend/src/app/shared/components/datepicker/basic-single-date-picker/basic-single-date-picker.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2022 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/datepicker.ts b/frontend/src/app/shared/components/datepicker/datepicker.ts index 79d6ed32fc92..8ec10e73fe4e 100644 --- a/frontend/src/app/shared/components/datepicker/datepicker.ts +++ b/frontend/src/app/shared/components/datepicker/datepicker.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/helpers/date-modal.helpers.ts b/frontend/src/app/shared/components/datepicker/helpers/date-modal.helpers.ts index 5c1f4987b624..a838c72718d2 100644 --- a/frontend/src/app/shared/components/datepicker/helpers/date-modal.helpers.ts +++ b/frontend/src/app/shared/components/datepicker/helpers/date-modal.helpers.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/modal-single-date-picker/modal-single-date-picker.component.ts b/frontend/src/app/shared/components/datepicker/modal-single-date-picker/modal-single-date-picker.component.ts index 9190960e948b..e3f8b56dc5c2 100644 --- a/frontend/src/app/shared/components/datepicker/modal-single-date-picker/modal-single-date-picker.component.ts +++ b/frontend/src/app/shared/components/datepicker/modal-single-date-picker/modal-single-date-picker.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2022 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/multi-date-picker/multi-date-picker.component.ts b/frontend/src/app/shared/components/datepicker/multi-date-picker/multi-date-picker.component.ts index 682c36203e94..b0fd38c39d2a 100644 --- a/frontend/src/app/shared/components/datepicker/multi-date-picker/multi-date-picker.component.ts +++ b/frontend/src/app/shared/components/datepicker/multi-date-picker/multi-date-picker.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2022 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/services/date-modal-relations.service.ts b/frontend/src/app/shared/components/datepicker/services/date-modal-relations.service.ts index 6252d4a953aa..7b530e305c92 100644 --- a/frontend/src/app/shared/components/datepicker/services/date-modal-relations.service.ts +++ b/frontend/src/app/shared/components/datepicker/services/date-modal-relations.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/services/date-modal-scheduling.service.ts b/frontend/src/app/shared/components/datepicker/services/date-modal-scheduling.service.ts index d2843a002270..2b4d1ee5e4b8 100644 --- a/frontend/src/app/shared/components/datepicker/services/date-modal-scheduling.service.ts +++ b/frontend/src/app/shared/components/datepicker/services/date-modal-scheduling.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/sheet/date-picker-sheet.component.ts b/frontend/src/app/shared/components/datepicker/sheet/date-picker-sheet.component.ts index 4368731670e6..e571b8603819 100644 --- a/frontend/src/app/shared/components/datepicker/sheet/date-picker-sheet.component.ts +++ b/frontend/src/app/shared/components/datepicker/sheet/date-picker-sheet.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2022 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/wp-multi-date-form/wp-multi-date-form.component.ts b/frontend/src/app/shared/components/datepicker/wp-multi-date-form/wp-multi-date-form.component.ts index e41f74fa3bfa..44fb68b0c942 100644 --- a/frontend/src/app/shared/components/datepicker/wp-multi-date-form/wp-multi-date-form.component.ts +++ b/frontend/src/app/shared/components/datepicker/wp-multi-date-form/wp-multi-date-form.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/datepicker/wp-single-date-form/wp-single-date-form.component.ts b/frontend/src/app/shared/components/datepicker/wp-single-date-form/wp-single-date-form.component.ts index 55bd36a2c840..1b7600afe666 100644 --- a/frontend/src/app/shared/components/datepicker/wp-single-date-form/wp-single-date-form.component.ts +++ b/frontend/src/app/shared/components/datepicker/wp-single-date-form/wp-single-date-form.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/editable-toolbar-title/editable-toolbar-title.component.ts b/frontend/src/app/shared/components/editable-toolbar-title/editable-toolbar-title.component.ts index 8d30f4abd3f0..833a827b17c1 100644 --- a/frontend/src/app/shared/components/editable-toolbar-title/editable-toolbar-title.component.ts +++ b/frontend/src/app/shared/components/editable-toolbar-title/editable-toolbar-title.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/editor/components/ckeditor-augmented-textarea/ckeditor-augmented-textarea.component.ts b/frontend/src/app/shared/components/editor/components/ckeditor-augmented-textarea/ckeditor-augmented-textarea.component.ts index a8c1a3d12f97..35b6a8a26497 100644 --- a/frontend/src/app/shared/components/editor/components/ckeditor-augmented-textarea/ckeditor-augmented-textarea.component.ts +++ b/frontend/src/app/shared/components/editor/components/ckeditor-augmented-textarea/ckeditor-augmented-textarea.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-preview.service.ts b/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-preview.service.ts index 718a1767be72..7d76e5cf0eaf 100644 --- a/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-preview.service.ts +++ b/frontend/src/app/shared/components/editor/components/ckeditor/ckeditor-preview.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts b/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts index dc13f6fa0136..dc3a772d790d 100644 --- a/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts +++ b/frontend/src/app/shared/components/editor/components/ckeditor/op-ckeditor.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/editor/openproject-editor.module.ts b/frontend/src/app/shared/components/editor/openproject-editor.module.ts index f577c611dfe2..06eaad8c5ce7 100644 --- a/frontend/src/app/shared/components/editor/openproject-editor.module.ts +++ b/frontend/src/app/shared/components/editor/openproject-editor.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/changeset/resource-changeset.ts b/frontend/src/app/shared/components/fields/changeset/resource-changeset.ts index c846ce156b78..b061608bdbbf 100644 --- a/frontend/src/app/shared/components/fields/changeset/resource-changeset.ts +++ b/frontend/src/app/shared/components/fields/changeset/resource-changeset.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/display-field.initializer.ts b/frontend/src/app/shared/components/fields/display/display-field.initializer.ts index f2fe2ebf73e7..9086928a73bf 100644 --- a/frontend/src/app/shared/components/fields/display/display-field.initializer.ts +++ b/frontend/src/app/shared/components/fields/display/display-field.initializer.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/display-field.module.ts b/frontend/src/app/shared/components/fields/display/display-field.module.ts index a3105d3ef35e..a2bb14a64468 100644 --- a/frontend/src/app/shared/components/fields/display/display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/display-field.service.ts b/frontend/src/app/shared/components/fields/display/display-field.service.ts index d0487ac62860..6f6f7760f500 100644 --- a/frontend/src/app/shared/components/fields/display/display-field.service.ts +++ b/frontend/src/app/shared/components/fields/display/display-field.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/boolean-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/boolean-display-field.module.ts index b97fb8d2382f..755594f3ec29 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/boolean-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/boolean-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/combined-date-display.field.ts b/frontend/src/app/shared/components/fields/display/field-types/combined-date-display.field.ts index e7f43708b839..d169a99fc2d3 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/combined-date-display.field.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/combined-date-display.field.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/date-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/date-display-field.module.ts index a12af95ca622..cbe798e1a3f9 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/date-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/date-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/datetime-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/datetime-display-field.module.ts index ad7867f731ae..a880010a1469 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/datetime-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/datetime-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/days-duration-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/days-duration-display-field.module.ts index e510f76970f7..555fc094b065 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/days-duration-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/days-duration-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/estimated-time-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/estimated-time-display-field.module.ts index a5afa4c5f204..b9b62a0a7bcd 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/estimated-time-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/estimated-time-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -36,7 +36,7 @@ export class EstimatedTimeDisplayField extends DisplayField { private derivedText = this.I18n.t('js.label_value_derived_from_children'); public get valueString():string { - return this.timezoneService.formattedDuration(this.value); + return this.timezoneService.formattedDuration(this.value as string); } /** @@ -67,38 +67,45 @@ export class EstimatedTimeDisplayField extends DisplayField { } element.classList.add('split-time-field'); - if (this.value) { - this.renderActual(element, displayText); - } + this.renderActual(element, displayText); const derived = this.derivedValue; - if (derived && this.timezoneService.toHours(derived) !== 0) { - this.renderDerived(element, this.derivedValueString, !!this.value); + if (derived && derived !== this.value && this.timezoneService.toHours(derived) !== 0) { + this.renderSeparator(element); + this.renderDerived(element, this.derivedValueString); } } public renderActual(element:HTMLElement, displayText:string):void { const span = document.createElement('span'); - span.textContent = displayText; - span.title = this.valueString; + if (this.value) { + span.textContent = displayText; + span.title = this.valueString; + } else { + span.textContent = this.texts.placeholder; + span.title = this.texts.placeholder; + } span.classList.add('-actual-value'); element.appendChild(span); } - public renderDerived(element:HTMLElement, displayText:string, actualPresent:boolean):void { + public renderSeparator(element:HTMLElement) { + const span = document.createElement('span'); + span.classList.add('-separator'); + span.textContent = '·'; + span.ariaHidden = 'true'; + element.appendChild(span); + } + + public renderDerived(element:HTMLElement, displayText:string):void { const span = document.createElement('span'); - span.setAttribute('title', this.texts.empty); - span.textContent = `(${actualPresent ? '+' : ''}${displayText})`; + span.textContent = `Σ ${displayText}`; span.title = `${this.derivedValueString} ${this.derivedText}`; span.classList.add('-derived-value'); - if (actualPresent) { - span.classList.add('-with-actual-value'); - } - element.appendChild(span); } diff --git a/frontend/src/app/shared/components/fields/display/field-types/float-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/float-display-field.module.ts index 4c0c2c89f4ba..86d778847938 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/float-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/float-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/formattable-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/formattable-display-field.module.ts index 1071d0511d2c..c026f3346c54 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/formattable-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/formattable-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/highlightable-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/highlightable-display-field.module.ts index d65fcb0b1a5e..f1b5d9d70fcd 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/highlightable-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/highlightable-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/highlighted-resource-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/highlighted-resource-display-field.module.ts index 2fcdd0f31a20..f8f554f878d0 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/highlighted-resource-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/highlighted-resource-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/hours-duration-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/hours-duration-display-field.module.ts index c64ea70460d9..af301c903719 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/hours-duration-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/hours-duration-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/id-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/id-display-field.module.ts index c62b941ecbe5..9a748e2fc6ba 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/id-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/id-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/integer-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/integer-display-field.module.ts index f6150a71a4f1..147838b1469c 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/integer-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/integer-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/linked-work-package-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/linked-work-package-display-field.module.ts index 715acddacf0a..90605446987f 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/linked-work-package-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/linked-work-package-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/multiple-lines-custom-options-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/multiple-lines-custom-options-display-field.module.ts index 60b6c7d2438c..122fad6e9a81 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/multiple-lines-custom-options-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/multiple-lines-custom-options-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/multiple-lines-user-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/multiple-lines-user-display-field.module.ts index ed2f6bdcd249..a42a59de7f34 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/multiple-lines-user-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/multiple-lines-user-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/multiple-user-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/multiple-user-display-field.module.ts index 6137b616329c..bb5a46e97906 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/multiple-user-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/multiple-user-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/plain-formattable-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/plain-formattable-display-field.module.ts index b11121dc4e18..73f9815d864e 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/plain-formattable-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/plain-formattable-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/progress-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/progress-display-field.module.ts index 5350938fecef..657e10a61db9 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/progress-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/progress-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/progress-text-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/progress-text-display-field.module.ts index 107292ecf69e..e70e6e0a24ad 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/progress-text-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/progress-text-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/project-status-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/project-status-display-field.module.ts index 345afbbb5ada..b8f682f380fc 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/project-status-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/project-status-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/resource-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/resource-display-field.module.ts index ee4b96607b77..0c9b4422478e 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/resource-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/resource-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/resources-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/resources-display-field.module.ts index 7a20523da28d..ad8de0752456 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/resources-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/resources-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/text-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/text-display-field.module.ts index 42a1729df0ba..a90b4e1e9c46 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/text-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/text-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/type-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/type-display-field.module.ts index 2367ebec38d6..c2e6ed3f0844 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/type-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/type-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/user-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/user-display-field.module.ts index 7b67e4712ad9..c5c8343e1335 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/user-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/user-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/work-package-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/work-package-display-field.module.ts index 9d7f29dc10ae..0d7df5497058 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/work-package-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/work-package-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.ts index 9de712e994a8..a7e870abb531 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/wp-id-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/display/field-types/wp-spent-time-display-field.module.ts b/frontend/src/app/shared/components/fields/display/field-types/wp-spent-time-display-field.module.ts index b6832e86c4d1..11cf107b6f03 100644 --- a/frontend/src/app/shared/components/fields/display/field-types/wp-spent-time-display-field.module.ts +++ b/frontend/src/app/shared/components/fields/display/field-types/wp-spent-time-display-field.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/edit-field.component.ts index 4a0a7b6f7efe..c47a8fe54e5c 100644 --- a/frontend/src/app/shared/components/fields/edit/edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/edit-field.initializer.ts b/frontend/src/app/shared/components/fields/edit/edit-field.initializer.ts index 31e1aa844619..a51873f3626c 100644 --- a/frontend/src/app/shared/components/fields/edit/edit-field.initializer.ts +++ b/frontend/src/app/shared/components/fields/edit/edit-field.initializer.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/edit-field.service.ts b/frontend/src/app/shared/components/fields/edit/edit-field.service.ts index 7c44e22ac96c..4feb556d6500 100644 --- a/frontend/src/app/shared/components/fields/edit/edit-field.service.ts +++ b/frontend/src/app/shared/components/fields/edit/edit-field.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/edit-form/edit-form-routing.service.ts b/frontend/src/app/shared/components/fields/edit/edit-form/edit-form-routing.service.ts index 7f85551e68bf..2857a29493eb 100644 --- a/frontend/src/app/shared/components/fields/edit/edit-form/edit-form-routing.service.ts +++ b/frontend/src/app/shared/components/fields/edit/edit-form/edit-form-routing.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/edit-form/edit-form.component.ts b/frontend/src/app/shared/components/fields/edit/edit-form/edit-form.component.ts index c163fa43c0c8..e51b4b58c0dc 100644 --- a/frontend/src/app/shared/components/fields/edit/edit-form/edit-form.component.ts +++ b/frontend/src/app/shared/components/fields/edit/edit-form/edit-form.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/edit-form/edit-form.ts b/frontend/src/app/shared/components/fields/edit/edit-form/edit-form.ts index 8b6f19dccfa4..0c7a87df766e 100644 --- a/frontend/src/app/shared/components/fields/edit/edit-form/edit-form.ts +++ b/frontend/src/app/shared/components/fields/edit/edit-form/edit-form.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/editing-portal/edit-field-handler.ts b/frontend/src/app/shared/components/fields/edit/editing-portal/edit-field-handler.ts index d0c111f7aebc..6f44b167e0fd 100644 --- a/frontend/src/app/shared/components/fields/edit/editing-portal/edit-field-handler.ts +++ b/frontend/src/app/shared/components/fields/edit/editing-portal/edit-field-handler.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-controls/edit-field-controls.component.ts b/frontend/src/app/shared/components/fields/edit/field-controls/edit-field-controls.component.ts index 80c7638e846e..e29d2678c81d 100644 --- a/frontend/src/app/shared/components/fields/edit/field-controls/edit-field-controls.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-controls/edit-field-controls.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-handler/hal-resource-edit-field-handler.ts b/frontend/src/app/shared/components/fields/edit/field-handler/hal-resource-edit-field-handler.ts index d0aece8ba59d..4566c6feb0f8 100644 --- a/frontend/src/app/shared/components/fields/edit/field-handler/hal-resource-edit-field-handler.ts +++ b/frontend/src/app/shared/components/fields/edit/field-handler/hal-resource-edit-field-handler.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/boolean-edit-field/boolean-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/boolean-edit-field/boolean-edit-field.component.ts index 19f3e036a4ef..46fafc549581 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/boolean-edit-field/boolean-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/boolean-edit-field/boolean-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/combined-date-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/combined-date-edit-field.component.ts index 1071b8393525..b4c0830a4617 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/combined-date-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/combined-date-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/date-edit-field/date-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/date-edit-field/date-edit-field.component.ts index ee59ca0a6f58..78ef10178c72 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/date-edit-field/date-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/date-edit-field/date-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/float-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/float-edit-field.component.ts index 47aac53b2afc..5c84e9853a3d 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/float-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/float-edit-field.component.ts @@ -1,5 +1,5 @@ // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/formattable-edit-field/formattable-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/formattable-edit-field/formattable-edit-field.component.ts index 302e92eb3ac9..f00e75ee9242 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/formattable-edit-field/formattable-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/formattable-edit-field/formattable-edit-field.component.ts @@ -1,5 +1,5 @@ // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/hours-duration-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/hours-duration-edit-field.component.ts index 2ebd3dfa67a5..b267515ffad6 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/hours-duration-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/hours-duration-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/integer-edit-field/integer-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/integer-edit-field/integer-edit-field.component.ts index 57e1ad87d787..fd3f02d54cbd 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/integer-edit-field/integer-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/integer-edit-field/integer-edit-field.component.ts @@ -1,5 +1,5 @@ // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/multi-select-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/multi-select-edit-field.component.ts index 328e1925b8c4..06c8e8c88449 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/multi-select-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/multi-select-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/plain-formattable-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/plain-formattable-edit-field.component.ts index f7c8a1c2415a..3e5dfd153baf 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/plain-formattable-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/plain-formattable-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/project-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/project-edit-field.component.ts index b0346090654b..79e446ef7d3e 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/project-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/project-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/project-status-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/project-status-edit-field.component.ts index 81960afc6459..fddf34c5cca3 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/project-status-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/project-status-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/select-edit-field/select-autocompleter-register.service.ts b/frontend/src/app/shared/components/fields/edit/field-types/select-edit-field/select-autocompleter-register.service.ts index 6c9313f4a31e..3467dff20fff 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/select-edit-field/select-autocompleter-register.service.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/select-edit-field/select-autocompleter-register.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/select-edit-field/select-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/select-edit-field/select-edit-field.component.ts index c2e2ce0f0fe3..ab0be6f9e2b0 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/select-edit-field/select-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/select-edit-field/select-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/te-work-package-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/te-work-package-edit-field.component.ts index 09500c588159..2989debf30f8 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/te-work-package-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/te-work-package-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/text-edit-field/text-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/text-edit-field/text-edit-field.component.ts index 24d5a812f51b..05b2b6508984 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/text-edit-field/text-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/text-edit-field/text-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/user-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/user-edit-field.component.ts index 49d395916796..f9cf34fa6246 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/user-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/user-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field-types/work-package-edit-field.component.ts b/frontend/src/app/shared/components/fields/edit/field-types/work-package-edit-field.component.ts index 487ec262abee..602d7c9416b7 100644 --- a/frontend/src/app/shared/components/fields/edit/field-types/work-package-edit-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field-types/work-package-edit-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/field/editable-attribute-field.component.ts b/frontend/src/app/shared/components/fields/edit/field/editable-attribute-field.component.ts index 2ff03def342e..b74ded97b0e4 100644 --- a/frontend/src/app/shared/components/fields/edit/field/editable-attribute-field.component.ts +++ b/frontend/src/app/shared/components/fields/edit/field/editable-attribute-field.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/edit/services/hal-resource-editing.service.ts b/frontend/src/app/shared/components/fields/edit/services/hal-resource-editing.service.ts index 825509da5734..1ae48a59d061 100644 --- a/frontend/src/app/shared/components/fields/edit/services/hal-resource-editing.service.ts +++ b/frontend/src/app/shared/components/fields/edit/services/hal-resource-editing.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/field.base.ts b/frontend/src/app/shared/components/fields/field.base.ts index b8fa99f37860..5826c1545021 100644 --- a/frontend/src/app/shared/components/fields/field.base.ts +++ b/frontend/src/app/shared/components/fields/field.base.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/field.service.ts b/frontend/src/app/shared/components/fields/field.service.ts index 70fa78020dc7..d230a14fdb7c 100644 --- a/frontend/src/app/shared/components/fields/field.service.ts +++ b/frontend/src/app/shared/components/fields/field.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/macros/attribute-label-macro.component.ts b/frontend/src/app/shared/components/fields/macros/attribute-label-macro.component.ts index ce6df3f5a31b..d177e52ee7a8 100644 --- a/frontend/src/app/shared/components/fields/macros/attribute-label-macro.component.ts +++ b/frontend/src/app/shared/components/fields/macros/attribute-label-macro.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/macros/attribute-model-loader.service.ts b/frontend/src/app/shared/components/fields/macros/attribute-model-loader.service.ts index 23b228fa0b80..3fc89a6f7c56 100644 --- a/frontend/src/app/shared/components/fields/macros/attribute-model-loader.service.ts +++ b/frontend/src/app/shared/components/fields/macros/attribute-model-loader.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/macros/attribute-value-macro.component.ts b/frontend/src/app/shared/components/fields/macros/attribute-value-macro.component.ts index ffd771cc2e5c..97268e03eaf8 100644 --- a/frontend/src/app/shared/components/fields/macros/attribute-value-macro.component.ts +++ b/frontend/src/app/shared/components/fields/macros/attribute-value-macro.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.component.ts b/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.component.ts index c222bffb81a9..1af4a5d60be0 100644 --- a/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.component.ts +++ b/frontend/src/app/shared/components/fields/macros/work-package-quickinfo-macro.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/fields/openproject-fields.module.ts b/frontend/src/app/shared/components/fields/openproject-fields.module.ts index 6e5be894e8a3..093e3e21cc1e 100644 --- a/frontend/src/app/shared/components/fields/openproject-fields.module.ts +++ b/frontend/src/app/shared/components/fields/openproject-fields.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/openproject-grids.module.ts b/frontend/src/app/shared/components/grids/openproject-grids.module.ts index 565cea70a0ef..00bdf4f58ed4 100644 --- a/frontend/src/app/shared/components/grids/openproject-grids.module.ts +++ b/frontend/src/app/shared/components/grids/openproject-grids.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -256,7 +256,7 @@ export function registerWidgets(injector:Injector) { }, }, { - identifier: 'time_entries_project', + identifier: 'time_entries_list', component: WidgetTimeEntriesProjectComponent, title: i18n.t('js.grid.widgets.time_entries_list.title'), properties: { diff --git a/frontend/src/app/shared/components/grids/widgets/header/header.component.ts b/frontend/src/app/shared/components/grids/widgets/header/header.component.ts index 73f4f87baa8b..ad7d0e641bab 100644 --- a/frontend/src/app/shared/components/grids/widgets/header/header.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/header/header.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/menu/widget-abstract-menu.component.ts b/frontend/src/app/shared/components/grids/widgets/menu/widget-abstract-menu.component.ts index f41750528f51..2c80f6ee68e7 100644 --- a/frontend/src/app/shared/components/grids/widgets/menu/widget-abstract-menu.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/menu/widget-abstract-menu.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/menu/widget-menu.component.ts b/frontend/src/app/shared/components/grids/widgets/menu/widget-menu.component.ts index bda6879add46..cda1ed8425f2 100644 --- a/frontend/src/app/shared/components/grids/widgets/menu/widget-menu.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/menu/widget-menu.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/menu/wp-set-menu.component.ts b/frontend/src/app/shared/components/grids/widgets/menu/wp-set-menu.component.ts index 0ded4f293f71..7678eb2c5e79 100644 --- a/frontend/src/app/shared/components/grids/widgets/menu/wp-set-menu.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/menu/wp-set-menu.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/project-description/project-description.component.ts b/frontend/src/app/shared/components/grids/widgets/project-description/project-description.component.ts index 73dfad632f03..e074e6bdd9ca 100644 --- a/frontend/src/app/shared/components/grids/widgets/project-description/project-description.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/project-description/project-description.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/project-details/project-details-menu.component.ts b/frontend/src/app/shared/components/grids/widgets/project-details/project-details-menu.component.ts index 0aff0d196dcd..1085aa5705f6 100644 --- a/frontend/src/app/shared/components/grids/widgets/project-details/project-details-menu.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/project-details/project-details-menu.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2022 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/project-details/project-details.component.ts b/frontend/src/app/shared/components/grids/widgets/project-details/project-details.component.ts index 0510836065b0..e6caae2e84c4 100644 --- a/frontend/src/app/shared/components/grids/widgets/project-details/project-details.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/project-details/project-details.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/project-status/project-status.component.ts b/frontend/src/app/shared/components/grids/widgets/project-status/project-status.component.ts index fa9282e5c09a..ca5e2f53577f 100644 --- a/frontend/src/app/shared/components/grids/widgets/project-status/project-status.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/project-status/project-status.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/time-entries/current-user/time-entries-current-user-menu.component.ts b/frontend/src/app/shared/components/grids/widgets/time-entries/current-user/time-entries-current-user-menu.component.ts index 1314f626ff4d..2a5e6c0cde2e 100644 --- a/frontend/src/app/shared/components/grids/widgets/time-entries/current-user/time-entries-current-user-menu.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/time-entries/current-user/time-entries-current-user-menu.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/wp-calendar/wp-calendar.component.ts b/frontend/src/app/shared/components/grids/widgets/wp-calendar/wp-calendar.component.ts index 2d881aec7d8f..31c9b9f068f8 100644 --- a/frontend/src/app/shared/components/grids/widgets/wp-calendar/wp-calendar.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/wp-calendar/wp-calendar.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/wp-graph/wp-graph-menu.component.ts b/frontend/src/app/shared/components/grids/widgets/wp-graph/wp-graph-menu.component.ts index 4142397b6f01..0adaf2ffc207 100644 --- a/frontend/src/app/shared/components/grids/widgets/wp-graph/wp-graph-menu.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/wp-graph/wp-graph-menu.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/wp-overview/wp-overview.component.ts b/frontend/src/app/shared/components/grids/widgets/wp-overview/wp-overview.component.ts index 06fce0ca8d4b..fb4ee8586e95 100644 --- a/frontend/src/app/shared/components/grids/widgets/wp-overview/wp-overview.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/wp-overview/wp-overview.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/grids/widgets/wp-table/wp-table-menu.component.ts b/frontend/src/app/shared/components/grids/widgets/wp-table/wp-table-menu.component.ts index 014b1494815f..518b7e786976 100644 --- a/frontend/src/app/shared/components/grids/widgets/wp-table/wp-table-menu.component.ts +++ b/frontend/src/app/shared/components/grids/widgets/wp-table/wp-table-menu.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/header-project-select/header-project-select.component.ts b/frontend/src/app/shared/components/header-project-select/header-project-select.component.ts index eab1fd0b2e94..63d35e95b5a6 100644 --- a/frontend/src/app/shared/components/header-project-select/header-project-select.component.ts +++ b/frontend/src/app/shared/components/header-project-select/header-project-select.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/hide-section/add-section-dropdown/add-section-dropdown.component.ts b/frontend/src/app/shared/components/hide-section/add-section-dropdown/add-section-dropdown.component.ts index be2fd4c1024d..99e311c972af 100644 --- a/frontend/src/app/shared/components/hide-section/add-section-dropdown/add-section-dropdown.component.ts +++ b/frontend/src/app/shared/components/hide-section/add-section-dropdown/add-section-dropdown.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/hide-section/hide-section-link/hide-section-link.component.ts b/frontend/src/app/shared/components/hide-section/hide-section-link/hide-section-link.component.ts index e0fd23aad392..d7e5b1d741e6 100644 --- a/frontend/src/app/shared/components/hide-section/hide-section-link/hide-section-link.component.ts +++ b/frontend/src/app/shared/components/hide-section/hide-section-link/hide-section-link.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/hide-section/hide-section.service.ts b/frontend/src/app/shared/components/hide-section/hide-section.service.ts index 73dab5349fd0..55ac6bc465b8 100644 --- a/frontend/src/app/shared/components/hide-section/hide-section.service.ts +++ b/frontend/src/app/shared/components/hide-section/hide-section.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/hide-section/show-section-dropdown.component.ts b/frontend/src/app/shared/components/hide-section/show-section-dropdown.component.ts index 9e153f274685..d4491e4a5947 100644 --- a/frontend/src/app/shared/components/hide-section/show-section-dropdown.component.ts +++ b/frontend/src/app/shared/components/hide-section/show-section-dropdown.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/icon/icon.component.ts b/frontend/src/app/shared/components/icon/icon.component.ts index b3e259d7cb67..93b203f2907d 100644 --- a/frontend/src/app/shared/components/icon/icon.component.ts +++ b/frontend/src/app/shared/components/icon/icon.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/icon/icon.module.ts b/frontend/src/app/shared/components/icon/icon.module.ts index 2ec8b235beca..0919cfacc276 100644 --- a/frontend/src/app/shared/components/icon/icon.module.ts +++ b/frontend/src/app/shared/components/icon/icon.module.ts @@ -2,6 +2,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { OpIconComponent } from './icon.component'; import { + OpEnterpriseAddonsIconComponent, ShareAndroidIconComponent, XIconComponent, } from '@openproject/octicons-angular'; @@ -12,6 +13,7 @@ import { ShareAndroidIconComponent, XIconComponent, + OpEnterpriseAddonsIconComponent, ], declarations: [ OpIconComponent, @@ -23,6 +25,7 @@ import { ShareAndroidIconComponent, XIconComponent, + OpEnterpriseAddonsIconComponent, ], }) export class IconModule {} diff --git a/frontend/src/app/shared/components/icon/op-icon.spec.ts b/frontend/src/app/shared/components/icon/op-icon.spec.ts index 445c090aec0c..7dbd0d49fe6d 100644 --- a/frontend/src/app/shared/components/icon/op-icon.spec.ts +++ b/frontend/src/app/shared/components/icon/op-icon.spec.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modal/modal-banner/modal-banner.component.ts b/frontend/src/app/shared/components/modal/modal-banner/modal-banner.component.ts index 04d61a965456..eff69679ea13 100644 --- a/frontend/src/app/shared/components/modal/modal-banner/modal-banner.component.ts +++ b/frontend/src/app/shared/components/modal/modal-banner/modal-banner.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modal/modal-overlay.component.ts b/frontend/src/app/shared/components/modal/modal-overlay.component.ts index 549be54aa618..36f2c3bcdacb 100644 --- a/frontend/src/app/shared/components/modal/modal-overlay.component.ts +++ b/frontend/src/app/shared/components/modal/modal-overlay.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modal/modal-wrapper-augment.service.ts b/frontend/src/app/shared/components/modal/modal-wrapper-augment.service.ts index 7759bdcdbde3..87e5501395f1 100644 --- a/frontend/src/app/shared/components/modal/modal-wrapper-augment.service.ts +++ b/frontend/src/app/shared/components/modal/modal-wrapper-augment.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modal/modal.component.ts b/frontend/src/app/shared/components/modal/modal.component.ts index 3ce186a37887..d5c9a31fe02e 100644 --- a/frontend/src/app/shared/components/modal/modal.component.ts +++ b/frontend/src/app/shared/components/modal/modal.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modal/modal.service.ts b/frontend/src/app/shared/components/modal/modal.service.ts index 4231d319f6b6..0455e1c92ae0 100644 --- a/frontend/src/app/shared/components/modal/modal.service.ts +++ b/frontend/src/app/shared/components/modal/modal.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/confirm-dialog/confirm-dialog.modal.ts b/frontend/src/app/shared/components/modals/confirm-dialog/confirm-dialog.modal.ts index de1a834dbc4d..4202f6261560 100644 --- a/frontend/src/app/shared/components/modals/confirm-dialog/confirm-dialog.modal.ts +++ b/frontend/src/app/shared/components/modals/confirm-dialog/confirm-dialog.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/confirm-dialog/confirm-dialog.service.ts b/frontend/src/app/shared/components/modals/confirm-dialog/confirm-dialog.service.ts index 03297559e057..40576000a780 100644 --- a/frontend/src/app/shared/components/modals/confirm-dialog/confirm-dialog.service.ts +++ b/frontend/src/app/shared/components/modals/confirm-dialog/confirm-dialog.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/editor/editor-macros.service.ts b/frontend/src/app/shared/components/modals/editor/editor-macros.service.ts index 4ce5beca7a8c..c484d18dd88c 100644 --- a/frontend/src/app/shared/components/modals/editor/editor-macros.service.ts +++ b/frontend/src/app/shared/components/modals/editor/editor-macros.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/editor/macro-child-pages-modal/child-pages-macro.modal.ts b/frontend/src/app/shared/components/modals/editor/macro-child-pages-modal/child-pages-macro.modal.ts index 2dde5c92590b..9103177d8613 100644 --- a/frontend/src/app/shared/components/modals/editor/macro-child-pages-modal/child-pages-macro.modal.ts +++ b/frontend/src/app/shared/components/modals/editor/macro-child-pages-modal/child-pages-macro.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/editor/macro-code-block-modal/code-block-macro.modal.ts b/frontend/src/app/shared/components/modals/editor/macro-code-block-modal/code-block-macro.modal.ts index 3d8bddb22949..26d52f2804c7 100644 --- a/frontend/src/app/shared/components/modals/editor/macro-code-block-modal/code-block-macro.modal.ts +++ b/frontend/src/app/shared/components/modals/editor/macro-code-block-modal/code-block-macro.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/editor/macro-wiki-include-page-modal/wiki-include-page-macro.modal.ts b/frontend/src/app/shared/components/modals/editor/macro-wiki-include-page-modal/wiki-include-page-macro.modal.ts index 55bee8f31568..864eec41b0d0 100644 --- a/frontend/src/app/shared/components/modals/editor/macro-wiki-include-page-modal/wiki-include-page-macro.modal.ts +++ b/frontend/src/app/shared/components/modals/editor/macro-wiki-include-page-modal/wiki-include-page-macro.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/editor/macro-wp-button-modal/wp-button-macro.modal.ts b/frontend/src/app/shared/components/modals/editor/macro-wp-button-modal/wp-button-macro.modal.ts index 4c7e046226ea..7c73714f883b 100644 --- a/frontend/src/app/shared/components/modals/editor/macro-wp-button-modal/wp-button-macro.modal.ts +++ b/frontend/src/app/shared/components/modals/editor/macro-wp-button-modal/wp-button-macro.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/get-ical-url-modal/query-get-ical-url.modal.ts b/frontend/src/app/shared/components/modals/get-ical-url-modal/query-get-ical-url.modal.ts index 39b80ed68c8a..e06ad1e068ce 100644 --- a/frontend/src/app/shared/components/modals/get-ical-url-modal/query-get-ical-url.modal.ts +++ b/frontend/src/app/shared/components/modals/get-ical-url-modal/query-get-ical-url.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/modal-wrapper/dynamic-content.modal.ts b/frontend/src/app/shared/components/modals/modal-wrapper/dynamic-content.modal.ts index 8edd35093462..7387c4426bb8 100644 --- a/frontend/src/app/shared/components/modals/modal-wrapper/dynamic-content.modal.ts +++ b/frontend/src/app/shared/components/modals/modal-wrapper/dynamic-content.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/preview-modal/wp-preview-modal/wp-preview.modal.ts b/frontend/src/app/shared/components/modals/preview-modal/wp-preview-modal/wp-preview.modal.ts index 595c8adcc137..74fa31de0742 100644 --- a/frontend/src/app/shared/components/modals/preview-modal/wp-preview-modal/wp-preview.modal.ts +++ b/frontend/src/app/shared/components/modals/preview-modal/wp-preview-modal/wp-preview.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/request-for-confirmation/password-confirmation.modal.ts b/frontend/src/app/shared/components/modals/request-for-confirmation/password-confirmation.modal.ts index 69ac7979acec..406b0e362c60 100644 --- a/frontend/src/app/shared/components/modals/request-for-confirmation/password-confirmation.modal.ts +++ b/frontend/src/app/shared/components/modals/request-for-confirmation/password-confirmation.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/save-modal/save-query.modal.ts b/frontend/src/app/shared/components/modals/save-modal/save-query.modal.ts index aca41914d8ee..997741c056ca 100644 --- a/frontend/src/app/shared/components/modals/save-modal/save-query.modal.ts +++ b/frontend/src/app/shared/components/modals/save-modal/save-query.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/share-modal/query-sharing.modal.ts b/frontend/src/app/shared/components/modals/share-modal/query-sharing.modal.ts index 19c449268905..9ef17aaf8621 100644 --- a/frontend/src/app/shared/components/modals/share-modal/query-sharing.modal.ts +++ b/frontend/src/app/shared/components/modals/share-modal/query-sharing.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/modals/wp-destroy-modal/wp-destroy.modal.ts b/frontend/src/app/shared/components/modals/wp-destroy-modal/wp-destroy.modal.ts index 0b8f5648ed74..9980600e1c9e 100644 --- a/frontend/src/app/shared/components/modals/wp-destroy-modal/wp-destroy.modal.ts +++ b/frontend/src/app/shared/components/modals/wp-destroy-modal/wp-destroy.modal.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/no-results/no-results.component.ts b/frontend/src/app/shared/components/no-results/no-results.component.ts index afd8515055b9..ac500b5a1eea 100644 --- a/frontend/src/app/shared/components/no-results/no-results.component.ts +++ b/frontend/src/app/shared/components/no-results/no-results.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/op-context-menu/handlers/op-columns-context-menu.directive.ts b/frontend/src/app/shared/components/op-context-menu/handlers/op-columns-context-menu.directive.ts index 20437ff7f399..68fbfa7a9443 100644 --- a/frontend/src/app/shared/components/op-context-menu/handlers/op-columns-context-menu.directive.ts +++ b/frontend/src/app/shared/components/op-context-menu/handlers/op-columns-context-menu.directive.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/op-context-menu/handlers/op-settings-dropdown-menu.directive.ts b/frontend/src/app/shared/components/op-context-menu/handlers/op-settings-dropdown-menu.directive.ts index 411675daa2fc..3dd30145748c 100644 --- a/frontend/src/app/shared/components/op-context-menu/handlers/op-settings-dropdown-menu.directive.ts +++ b/frontend/src/app/shared/components/op-context-menu/handlers/op-settings-dropdown-menu.directive.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/op-context-menu/handlers/op-types-context-menu.directive.ts b/frontend/src/app/shared/components/op-context-menu/handlers/op-types-context-menu.directive.ts index 179e16540b61..70645e47e6d6 100644 --- a/frontend/src/app/shared/components/op-context-menu/handlers/op-types-context-menu.directive.ts +++ b/frontend/src/app/shared/components/op-context-menu/handlers/op-types-context-menu.directive.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/op-context-menu/handlers/wp-create-settings-menu.directive.ts b/frontend/src/app/shared/components/op-context-menu/handlers/wp-create-settings-menu.directive.ts index ad6c2a26b380..0ff87b4ced7a 100644 --- a/frontend/src/app/shared/components/op-context-menu/handlers/wp-create-settings-menu.directive.ts +++ b/frontend/src/app/shared/components/op-context-menu/handlers/wp-create-settings-menu.directive.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/op-context-menu/handlers/wp-group-toggle-dropdown-menu.directive.ts b/frontend/src/app/shared/components/op-context-menu/handlers/wp-group-toggle-dropdown-menu.directive.ts index 9eed94cd2067..514fedb179d4 100644 --- a/frontend/src/app/shared/components/op-context-menu/handlers/wp-group-toggle-dropdown-menu.directive.ts +++ b/frontend/src/app/shared/components/op-context-menu/handlers/wp-group-toggle-dropdown-menu.directive.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/op-context-menu/handlers/wp-status-dropdown-menu.directive.ts b/frontend/src/app/shared/components/op-context-menu/handlers/wp-status-dropdown-menu.directive.ts index 5a8bcb800e1f..603dd8cd4e45 100644 --- a/frontend/src/app/shared/components/op-context-menu/handlers/wp-status-dropdown-menu.directive.ts +++ b/frontend/src/app/shared/components/op-context-menu/handlers/wp-status-dropdown-menu.directive.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/op-context-menu/handlers/wp-view-dropdown-menu.directive.ts b/frontend/src/app/shared/components/op-context-menu/handlers/wp-view-dropdown-menu.directive.ts index 7a990351484e..6b1b8e3e5655 100644 --- a/frontend/src/app/shared/components/op-context-menu/handlers/wp-view-dropdown-menu.directive.ts +++ b/frontend/src/app/shared/components/op-context-menu/handlers/wp-view-dropdown-menu.directive.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/op-context-menu/icon-triggered-context-menu/icon-triggered-context-menu.component.ts b/frontend/src/app/shared/components/op-context-menu/icon-triggered-context-menu/icon-triggered-context-menu.component.ts index 4371871d48b3..dff1ff991c0a 100644 --- a/frontend/src/app/shared/components/op-context-menu/icon-triggered-context-menu/icon-triggered-context-menu.component.ts +++ b/frontend/src/app/shared/components/op-context-menu/icon-triggered-context-menu/icon-triggered-context-menu.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/op-context-menu/op-context-menu.html b/frontend/src/app/shared/components/op-context-menu/op-context-menu.html index c3ae85a5cdcf..34b2fb6b46e5 100644 --- a/frontend/src/app/shared/components/op-context-menu/op-context-menu.html +++ b/frontend/src/app/shared/components/op-context-menu/op-context-menu.html @@ -3,13 +3,15 @@ ng-class="{'dropdown-anchor-right': locals.showAnchorRight}">
    - - - - - - - -
    -
    - - + + + + + +
    diff --git a/frontend/src/app/shared/components/storages/file-link-list-item/floating-action.ts b/frontend/src/app/shared/components/storages/file-link-list-item/floating-action.ts new file mode 100644 index 000000000000..5e659b74bac2 --- /dev/null +++ b/frontend/src/app/shared/components/storages/file-link-list-item/floating-action.ts @@ -0,0 +1,36 @@ +// -- copyright +// OpenProject is an open source project management software. +// Copyright (C) 2012-2024 the OpenProject GmbH +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License version 3. +// +// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +// Copyright (C) 2006-2013 Jean-Philippe Lang +// Copyright (C) 2010-2013 the ChiliProject Team +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// +// See COPYRIGHT and LICENSE files for more details. +//++ + +export class FloatingAction { + constructor( + public readonly iconClass:string, + public readonly title:string, + public readonly action?:() => void, + public readonly href?:{ url:string, target:string }, + ) { } +} diff --git a/frontend/src/app/shared/components/storages/file-picker-base-modal/file-picker-base-modal.component.ts b/frontend/src/app/shared/components/storages/file-picker-base-modal/file-picker-base-modal.component.ts index 4b1527492e50..f8e0d243676b 100644 --- a/frontend/src/app/shared/components/storages/file-picker-base-modal/file-picker-base-modal.component.ts +++ b/frontend/src/app/shared/components/storages/file-picker-base-modal/file-picker-base-modal.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/file-picker-modal/file-picker-modal.component.ts b/frontend/src/app/shared/components/storages/file-picker-modal/file-picker-modal.component.ts index d26e3d71262d..d25a1939c281 100644 --- a/frontend/src/app/shared/components/storages/file-picker-modal/file-picker-modal.component.ts +++ b/frontend/src/app/shared/components/storages/file-picker-modal/file-picker-modal.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/functions/storages.functions.ts b/frontend/src/app/shared/components/storages/functions/storages.functions.ts index 5a339105cb43..8f949a8dc5da 100644 --- a/frontend/src/app/shared/components/storages/functions/storages.functions.ts +++ b/frontend/src/app/shared/components/storages/functions/storages.functions.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ import { } from 'core-app/shared/components/storages/icons.mapping'; import { IHalResourceLink } from 'core-app/core/state/hal-resource'; import { IFileLinkOriginData } from 'core-app/core/state/file-links/file-link.model'; -import { nextcloud } from 'core-app/shared/components/storages/storages-constants.const'; +import { nextcloud, oneDrive } from 'core-app/shared/components/storages/storages-constants.const'; export function isDirectory(originData:IFileLinkOriginData):boolean { return originData.mimeType === 'application/x-op-directory'; @@ -66,6 +66,7 @@ export function makeFilesCollectionLink(storageLink:IHalResourceLink, location:s const storageTypeMap:Record = { [nextcloud]: 'js.storages.types.nextcloud', + [oneDrive]: 'js.storages.types.one_drive', default: 'js.storages.types.default', }; diff --git a/frontend/src/app/shared/components/storages/icons.mapping.ts b/frontend/src/app/shared/components/storages/icons.mapping.ts index 01ff93fbd3f0..dd65ab2786a6 100644 --- a/frontend/src/app/shared/components/storages/icons.mapping.ts +++ b/frontend/src/app/shared/components/storages/icons.mapping.ts @@ -1,6 +1,6 @@ // --copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/loading-file-list/loading-file-list.component.ts b/frontend/src/app/shared/components/storages/loading-file-list/loading-file-list.component.ts index 0fa3fda297b2..e9d01f0e7fcc 100644 --- a/frontend/src/app/shared/components/storages/loading-file-list/loading-file-list.component.ts +++ b/frontend/src/app/shared/components/storages/loading-file-list/loading-file-list.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/location-picker-modal/location-picker-modal.component.ts b/frontend/src/app/shared/components/storages/location-picker-modal/location-picker-modal.component.ts index c43e0cc6c557..78ab589d066d 100644 --- a/frontend/src/app/shared/components/storages/location-picker-modal/location-picker-modal.component.ts +++ b/frontend/src/app/shared/components/storages/location-picker-modal/location-picker-modal.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/openproject-storages.module.ts b/frontend/src/app/shared/components/storages/openproject-storages.module.ts index 582ec898cf39..573376d79a77 100644 --- a/frontend/src/app/shared/components/storages/openproject-storages.module.ts +++ b/frontend/src/app/shared/components/storages/openproject-storages.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/storage-file-list-item/storage-file-list-item.component.ts b/frontend/src/app/shared/components/storages/storage-file-list-item/storage-file-list-item.component.ts index fb9a03b3c5ea..80754d1edb8b 100644 --- a/frontend/src/app/shared/components/storages/storage-file-list-item/storage-file-list-item.component.ts +++ b/frontend/src/app/shared/components/storages/storage-file-list-item/storage-file-list-item.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/storage-file-list-item/storage-file-list-item.ts b/frontend/src/app/shared/components/storages/storage-file-list-item/storage-file-list-item.ts index 3af90f4566bf..ce5841c0fc90 100644 --- a/frontend/src/app/shared/components/storages/storage-file-list-item/storage-file-list-item.ts +++ b/frontend/src/app/shared/components/storages/storage-file-list-item/storage-file-list-item.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/storage-information/storage-information-box.ts b/frontend/src/app/shared/components/storages/storage-information/storage-information-box.ts index a8a58b897945..8e369dd47e42 100644 --- a/frontend/src/app/shared/components/storages/storage-information/storage-information-box.ts +++ b/frontend/src/app/shared/components/storages/storage-information/storage-information-box.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/storage-information/storage-information.component.ts b/frontend/src/app/shared/components/storages/storage-information/storage-information.component.ts index 74cb96958072..6448b2876aa9 100644 --- a/frontend/src/app/shared/components/storages/storage-information/storage-information.component.ts +++ b/frontend/src/app/shared/components/storages/storage-information/storage-information.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/storage-information/storage-information.service.ts b/frontend/src/app/shared/components/storages/storage-information/storage-information.service.ts index 7563d9b70338..04c6bb0d7956 100644 --- a/frontend/src/app/shared/components/storages/storage-information/storage-information.service.ts +++ b/frontend/src/app/shared/components/storages/storage-information/storage-information.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -37,7 +37,7 @@ import { StorageInformationBox } from 'core-app/shared/components/storages/stora import { CurrentUserService } from 'core-app/core/current-user/current-user.service'; import { storageLocaleString } from 'core-app/shared/components/storages/functions/storages.functions'; import { - fileLinkViewError, + fileLinkStatusError, storageAuthorizationError, storageConnected, storageFailedAuthorization, @@ -121,6 +121,6 @@ export class StorageInformationService { } private hasFileLinkViewErrors(fileLinks:IFileLink[]):boolean { - return fileLinks.filter((fileLink) => fileLink._links.permission?.href === fileLinkViewError).length > 0; + return fileLinks.filter((fileLink) => fileLink._links.status?.href === fileLinkStatusError).length > 0; } } diff --git a/frontend/src/app/shared/components/storages/storage-login-button/storage-login-button.component.ts b/frontend/src/app/shared/components/storages/storage-login-button/storage-login-button.component.ts index fd116f10f9a3..6c9dceaacb8a 100644 --- a/frontend/src/app/shared/components/storages/storage-login-button/storage-login-button.component.ts +++ b/frontend/src/app/shared/components/storages/storage-login-button/storage-login-button.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/storage-login-button/storage-login-input.ts b/frontend/src/app/shared/components/storages/storage-login-button/storage-login-input.ts index 5ba038b4429d..af029a553e30 100644 --- a/frontend/src/app/shared/components/storages/storage-login-button/storage-login-input.ts +++ b/frontend/src/app/shared/components/storages/storage-login-button/storage-login-input.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/storage/interfaces.ts b/frontend/src/app/shared/components/storages/storage/interfaces.ts index 96c66ff0c9da..9b79ade73e82 100644 --- a/frontend/src/app/shared/components/storages/storage/interfaces.ts +++ b/frontend/src/app/shared/components/storages/storage/interfaces.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/storage/storage.component.ts b/frontend/src/app/shared/components/storages/storage/storage.component.ts index df12601b0d1c..e12aa67baad8 100644 --- a/frontend/src/app/shared/components/storages/storage/storage.component.ts +++ b/frontend/src/app/shared/components/storages/storage/storage.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -58,7 +58,7 @@ import { IPrepareUploadLink, IStorage } from 'core-app/core/state/storages/stora import { IProjectStorage } from 'core-app/core/state/project-storages/project-storage.model'; import { FileLinksResourceService } from 'core-app/core/state/file-links/file-links.service'; import { - fileLinkViewError, + fileLinkStatusError, nextcloud, storageConnected, } from 'core-app/shared/components/storages/storages-constants.const'; @@ -515,7 +515,7 @@ export class StorageComponent extends UntilDestroyedMixin implements OnInit, OnD } private hasFileLinkViewErrors(fileLinks:IFileLink[]):boolean { - return fileLinks.filter((fileLink) => fileLink._links.permission?.href === fileLinkViewError).length > 0; + return fileLinks.filter((fileLink) => fileLink._links.status?.href === fileLinkStatusError).length > 0; } private collectionKey():Observable { diff --git a/frontend/src/app/shared/components/storages/storages-constants.const.ts b/frontend/src/app/shared/components/storages/storages-constants.const.ts index 330565c5b6c1..cd3f4ee772f0 100644 --- a/frontend/src/app/shared/components/storages/storages-constants.const.ts +++ b/frontend/src/app/shared/components/storages/storages-constants.const.ts @@ -8,6 +8,7 @@ export const storageFailedAuthorization = 'urn:openproject-org:api:v3:storages:a export const storageAuthorizationError = 'urn:openproject-org:api:v3:storages:authorization:Error'; // File link view permission flags -export const fileLinkViewAllowed = 'urn:openproject-org:api:v3:file-links:permission:View'; -export const fileLinkViewNotAllowed = 'urn:openproject-org:api:v3:file-links:permission:NotAllowed'; -export const fileLinkViewError = 'urn:openproject-org:api:v3:file-links:permission:Error'; +export const fileLinkViewAllowed = 'urn:openproject-org:api:v3:file-links:permission:ViewAllowed'; +export const fileLinkViewNotAllowed = 'urn:openproject-org:api:v3:file-links:permission:ViewNotAllowed'; +export const fileLinkStatusNotFound = 'urn:openproject-org:api:v3:file-links:NotFound'; +export const fileLinkStatusError = 'urn:openproject-org:api:v3:file-links:Error'; diff --git a/frontend/src/app/shared/components/storages/upload-conflict-modal/upload-conflict-modal.component.ts b/frontend/src/app/shared/components/storages/upload-conflict-modal/upload-conflict-modal.component.ts index 178b11d45616..b6e60da4a528 100644 --- a/frontend/src/app/shared/components/storages/upload-conflict-modal/upload-conflict-modal.component.ts +++ b/frontend/src/app/shared/components/storages/upload-conflict-modal/upload-conflict-modal.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/upload/nextcloud-upload.strategy.ts b/frontend/src/app/shared/components/storages/upload/nextcloud-upload.strategy.ts index dfb95ebed6bc..ee26575dec73 100644 --- a/frontend/src/app/shared/components/storages/upload/nextcloud-upload.strategy.ts +++ b/frontend/src/app/shared/components/storages/upload/nextcloud-upload.strategy.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/upload/one-drive-upload.strategy.ts b/frontend/src/app/shared/components/storages/upload/one-drive-upload.strategy.ts index ee730d688331..d9c02ad88e4b 100644 --- a/frontend/src/app/shared/components/storages/upload/one-drive-upload.strategy.ts +++ b/frontend/src/app/shared/components/storages/upload/one-drive-upload.strategy.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/upload/storage-upload.service.ts b/frontend/src/app/shared/components/storages/upload/storage-upload.service.ts index d3557b9fd20a..f94433d785c4 100644 --- a/frontend/src/app/shared/components/storages/upload/storage-upload.service.ts +++ b/frontend/src/app/shared/components/storages/upload/storage-upload.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/storages/upload/upload-strategy.ts b/frontend/src/app/shared/components/storages/upload/upload-strategy.ts index 21aaa77ef679..25fc0c8b6c99 100644 --- a/frontend/src/app/shared/components/storages/upload/upload-strategy.ts +++ b/frontend/src/app/shared/components/storages/upload/upload-strategy.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/table-pagination/pagination-instance.ts b/frontend/src/app/shared/components/table-pagination/pagination-instance.ts index 530b07d9ff44..730564903ea5 100644 --- a/frontend/src/app/shared/components/table-pagination/pagination-instance.ts +++ b/frontend/src/app/shared/components/table-pagination/pagination-instance.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/table-pagination/pagination-service.ts b/frontend/src/app/shared/components/table-pagination/pagination-service.ts index 6b114c8307c5..35f2ee2e688d 100644 --- a/frontend/src/app/shared/components/table-pagination/pagination-service.ts +++ b/frontend/src/app/shared/components/table-pagination/pagination-service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/table-pagination/table-pagination.component.ts b/frontend/src/app/shared/components/table-pagination/table-pagination.component.ts index 5e06d4d2c2e1..e3e11b5eb4ca 100644 --- a/frontend/src/app/shared/components/table-pagination/table-pagination.component.ts +++ b/frontend/src/app/shared/components/table-pagination/table-pagination.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/tabs/content-tabs/content-tabs.component.ts b/frontend/src/app/shared/components/tabs/content-tabs/content-tabs.component.ts index 1e9b02bba241..16b5bebad435 100644 --- a/frontend/src/app/shared/components/tabs/content-tabs/content-tabs.component.ts +++ b/frontend/src/app/shared/components/tabs/content-tabs/content-tabs.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/tabs/openproject-tabs.module.ts b/frontend/src/app/shared/components/tabs/openproject-tabs.module.ts index 98c521ba9aca..55b63c86a13a 100644 --- a/frontend/src/app/shared/components/tabs/openproject-tabs.module.ts +++ b/frontend/src/app/shared/components/tabs/openproject-tabs.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/time_entries/openproject-time-entries.module.ts b/frontend/src/app/shared/components/time_entries/openproject-time-entries.module.ts index 13335003f905..df0498f2d1d8 100644 --- a/frontend/src/app/shared/components/time_entries/openproject-time-entries.module.ts +++ b/frontend/src/app/shared/components/time_entries/openproject-time-entries.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/time_entries/timer/stop-existing-timer-modal.component.ts b/frontend/src/app/shared/components/time_entries/timer/stop-existing-timer-modal.component.ts index 4598b4948671..a2632f0f3e69 100644 --- a/frontend/src/app/shared/components/time_entries/timer/stop-existing-timer-modal.component.ts +++ b/frontend/src/app/shared/components/time_entries/timer/stop-existing-timer-modal.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/toaster/toast.component.ts b/frontend/src/app/shared/components/toaster/toast.component.ts index 77c7f508705b..52bfe417a71c 100644 --- a/frontend/src/app/shared/components/toaster/toast.component.ts +++ b/frontend/src/app/shared/components/toaster/toast.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/toaster/toast.service.spec.ts b/frontend/src/app/shared/components/toaster/toast.service.spec.ts index 15d2cb06b68c..9c6877533dde 100644 --- a/frontend/src/app/shared/components/toaster/toast.service.spec.ts +++ b/frontend/src/app/shared/components/toaster/toast.service.spec.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/toaster/toast.service.ts b/frontend/src/app/shared/components/toaster/toast.service.ts index 1f1d6edb9214..2118390d3191 100644 --- a/frontend/src/app/shared/components/toaster/toast.service.ts +++ b/frontend/src/app/shared/components/toaster/toast.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/toaster/toasts-container.component.ts b/frontend/src/app/shared/components/toaster/toasts-container.component.ts index ef47c46bb4b1..c36e8fc43472 100644 --- a/frontend/src/app/shared/components/toaster/toasts-container.component.ts +++ b/frontend/src/app/shared/components/toaster/toasts-container.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/toaster/upload-progress.component.ts b/frontend/src/app/shared/components/toaster/upload-progress.component.ts index 6d414fb82d98..5fc08af94bab 100644 --- a/frontend/src/app/shared/components/toaster/upload-progress.component.ts +++ b/frontend/src/app/shared/components/toaster/upload-progress.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/user-link/user-link.component.spec.ts b/frontend/src/app/shared/components/user-link/user-link.component.spec.ts index 83c4a01c5d82..a325518d1dfa 100644 --- a/frontend/src/app/shared/components/user-link/user-link.component.spec.ts +++ b/frontend/src/app/shared/components/user-link/user-link.component.spec.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/user-link/user-link.component.ts b/frontend/src/app/shared/components/user-link/user-link.component.ts index ed0aeec725fb..3c03be94e489 100644 --- a/frontend/src/app/shared/components/user-link/user-link.component.ts +++ b/frontend/src/app/shared/components/user-link/user-link.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/components/work-package-graphs/openproject-work-package-graphs.module.ts b/frontend/src/app/shared/components/work-package-graphs/openproject-work-package-graphs.module.ts index 08bc74cc659a..a7331a28c31b 100644 --- a/frontend/src/app/shared/components/work-package-graphs/openproject-work-package-graphs.module.ts +++ b/frontend/src/app/shared/components/work-package-graphs/openproject-work-package-graphs.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/directives/a11y/keyboard-shortcut.service.ts b/frontend/src/app/shared/directives/a11y/keyboard-shortcut.service.ts index 07442fac7867..6f81849a4364 100644 --- a/frontend/src/app/shared/directives/a11y/keyboard-shortcut.service.ts +++ b/frontend/src/app/shared/directives/a11y/keyboard-shortcut.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/directives/focus/contain-helpers.ts b/frontend/src/app/shared/directives/focus/contain-helpers.ts index f163cd2abff3..f9453d53b772 100644 --- a/frontend/src/app/shared/directives/focus/contain-helpers.ts +++ b/frontend/src/app/shared/directives/focus/contain-helpers.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/directives/focus/focus-helper.ts b/frontend/src/app/shared/directives/focus/focus-helper.ts index cc8d4f4c682c..5199914954b3 100644 --- a/frontend/src/app/shared/directives/focus/focus-helper.ts +++ b/frontend/src/app/shared/directives/focus/focus-helper.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/directives/focus/focus-within.directive.ts b/frontend/src/app/shared/directives/focus/focus-within.directive.ts index 70b21b0c9c10..ca4b97d0ec8a 100644 --- a/frontend/src/app/shared/directives/focus/focus-within.directive.ts +++ b/frontend/src/app/shared/directives/focus/focus-within.directive.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/directives/highlight-col/highlight-col.directive.ts b/frontend/src/app/shared/directives/highlight-col/highlight-col.directive.ts index 6812653cee94..63c666d3f2de 100644 --- a/frontend/src/app/shared/directives/highlight-col/highlight-col.directive.ts +++ b/frontend/src/app/shared/directives/highlight-col/highlight-col.directive.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/directives/op-drag-scroll/op-drag-scroll.directive.ts b/frontend/src/app/shared/directives/op-drag-scroll/op-drag-scroll.directive.ts index dc3e4a1f9442..97154aa3c1ae 100644 --- a/frontend/src/app/shared/directives/op-drag-scroll/op-drag-scroll.directive.ts +++ b/frontend/src/app/shared/directives/op-drag-scroll/op-drag-scroll.directive.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/helpers/api-v3/api-v3-filter-builder.ts b/frontend/src/app/shared/helpers/api-v3/api-v3-filter-builder.ts index 2e6d8c0e13d9..a496dd18a91f 100644 --- a/frontend/src/app/shared/helpers/api-v3/api-v3-filter-builder.ts +++ b/frontend/src/app/shared/helpers/api-v3/api-v3-filter-builder.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/helpers/drag-and-drop/reorder-delta-builder.spec.ts b/frontend/src/app/shared/helpers/drag-and-drop/reorder-delta-builder.spec.ts index 2b8bcbd7e8df..6743c327fdfe 100644 --- a/frontend/src/app/shared/helpers/drag-and-drop/reorder-delta-builder.spec.ts +++ b/frontend/src/app/shared/helpers/drag-and-drop/reorder-delta-builder.spec.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/helpers/link-handling/link-handling.ts b/frontend/src/app/shared/helpers/link-handling/link-handling.ts index 52ddc8c45143..84207fc2f42b 100644 --- a/frontend/src/app/shared/helpers/link-handling/link-handling.ts +++ b/frontend/src/app/shared/helpers/link-handling/link-handling.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/helpers/routing/mobile-guard.helper.ts b/frontend/src/app/shared/helpers/routing/mobile-guard.helper.ts index e2ec4cdafdcc..d18e576b9ab6 100644 --- a/frontend/src/app/shared/helpers/routing/mobile-guard.helper.ts +++ b/frontend/src/app/shared/helpers/routing/mobile-guard.helper.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index cfeff13a9b48..c16f1726f3e4 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -95,6 +95,7 @@ import { OpenprojectContentLoaderModule } from 'core-app/shared/components/op-co import { OpenprojectModalModule } from 'core-app/shared/components/modal/modal.module'; import { FullCalendarModule } from '@fullcalendar/angular'; import { OpDatePickerModule } from 'core-app/shared/components/datepicker/datepicker.module'; +import { ShareUpsaleComponent } from 'core-app/features/enterprise/share-upsale/share-upsale.component'; export function bootstrapModule(injector:Injector):void { // Ensure error reporter is run @@ -271,6 +272,8 @@ export function bootstrapModule(injector:Injector):void { // Old datepickers OpMultiDatePickerComponent, + + ShareUpsaleComponent, ], }) export class OpSharedModule { diff --git a/frontend/src/app/spot/components/breadcrumbs/breadcrumbs-content.ts b/frontend/src/app/spot/components/breadcrumbs/breadcrumbs-content.ts index 9c673cf4a853..12ff22f8d3e4 100644 --- a/frontend/src/app/spot/components/breadcrumbs/breadcrumbs-content.ts +++ b/frontend/src/app/spot/components/breadcrumbs/breadcrumbs-content.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/app/spot/components/breadcrumbs/breadcrumbs.component.ts b/frontend/src/app/spot/components/breadcrumbs/breadcrumbs.component.ts index a0f66e17744e..7d79dbdbf833 100644 --- a/frontend/src/app/spot/components/breadcrumbs/breadcrumbs.component.ts +++ b/frontend/src/app/spot/components/breadcrumbs/breadcrumbs.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/assets/images/13_1_features.svg b/frontend/src/assets/images/13_1_features.svg deleted file mode 100644 index f779bf428998..000000000000 --- a/frontend/src/assets/images/13_1_features.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/src/assets/images/13_2_features.svg b/frontend/src/assets/images/13_2_features.svg new file mode 100644 index 000000000000..410f9907a79f --- /dev/null +++ b/frontend/src/assets/images/13_2_features.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/assets/videos/sharing/share-work-package.mp4 b/frontend/src/assets/videos/sharing/share-work-package.mp4 new file mode 100644 index 000000000000..8d20a0f32de2 Binary files /dev/null and b/frontend/src/assets/videos/sharing/share-work-package.mp4 differ diff --git a/frontend/src/global_styles/content/_accounts.sass b/frontend/src/global_styles/content/_accounts.sass index d7258a20f4e6..d6e0635ab884 100644 --- a/frontend/src/global_styles/content/_accounts.sass +++ b/frontend/src/global_styles/content/_accounts.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_accounts_mobile.sass b/frontend/src/global_styles/content/_accounts_mobile.sass index 6a4fe46a04cf..98a4a4ae8e40 100644 --- a/frontend/src/global_styles/content/_accounts_mobile.sass +++ b/frontend/src/global_styles/content/_accounts_mobile.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_advanced_filters.sass b/frontend/src/global_styles/content/_advanced_filters.sass index afb0b2c8603a..2dc6cf3fd723 100644 --- a/frontend/src/global_styles/content/_advanced_filters.sass +++ b/frontend/src/global_styles/content/_advanced_filters.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_ajax_indicator.sass b/frontend/src/global_styles/content/_ajax_indicator.sass index 4dc8a402c003..8f8ebe3f0bd8 100644 --- a/frontend/src/global_styles/content/_ajax_indicator.sass +++ b/frontend/src/global_styles/content/_ajax_indicator.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_attributes_group.sass b/frontend/src/global_styles/content/_attributes_group.sass index 4bf53307cdde..75b9bd3e4b24 100644 --- a/frontend/src/global_styles/content/_attributes_group.sass +++ b/frontend/src/global_styles/content/_attributes_group.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_attributes_key_value.sass b/frontend/src/global_styles/content/_attributes_key_value.sass index 63e989e3daab..317fcc7f5719 100644 --- a/frontend/src/global_styles/content/_attributes_key_value.sass +++ b/frontend/src/global_styles/content/_attributes_key_value.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_augmented.sass b/frontend/src/global_styles/content/_augmented.sass index 5280dba1af6c..fa584c43e511 100644 --- a/frontend/src/global_styles/content/_augmented.sass +++ b/frontend/src/global_styles/content/_augmented.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_autocomplete.sass b/frontend/src/global_styles/content/_autocomplete.sass index 0b8458e2c179..85980a95545f 100644 --- a/frontend/src/global_styles/content/_autocomplete.sass +++ b/frontend/src/global_styles/content/_autocomplete.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_autocomplete_primerized.sass b/frontend/src/global_styles/content/_autocomplete_primerized.sass index 4c6eebdddb03..ea444055242c 100644 --- a/frontend/src/global_styles/content/_autocomplete_primerized.sass +++ b/frontend/src/global_styles/content/_autocomplete_primerized.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_badges.sass b/frontend/src/global_styles/content/_badges.sass index e5de56787b1a..6b7a827897a1 100644 --- a/frontend/src/global_styles/content/_badges.sass +++ b/frontend/src/global_styles/content/_badges.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_blockquotes.sass b/frontend/src/global_styles/content/_blockquotes.sass index 1a81e2aca2d7..22ee3c986afa 100644 --- a/frontend/src/global_styles/content/_blockquotes.sass +++ b/frontend/src/global_styles/content/_blockquotes.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_boxes.sass b/frontend/src/global_styles/content/_boxes.sass index 9a77f76c5751..ef85507997ea 100644 --- a/frontend/src/global_styles/content/_boxes.sass +++ b/frontend/src/global_styles/content/_boxes.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_buttons.sass b/frontend/src/global_styles/content/_buttons.sass index 697b82ea8f60..93328987e96a 100644 --- a/frontend/src/global_styles/content/_buttons.sass +++ b/frontend/src/global_styles/content/_buttons.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_comments.sass b/frontend/src/global_styles/content/_comments.sass index 92eeda5e28d0..0737cc3196c6 100644 --- a/frontend/src/global_styles/content/_comments.sass +++ b/frontend/src/global_styles/content/_comments.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_context_menu.sass b/frontend/src/global_styles/content/_context_menu.sass index ab626183a3f7..e182a4d2396e 100644 --- a/frontend/src/global_styles/content/_context_menu.sass +++ b/frontend/src/global_styles/content/_context_menu.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_contextual.sass b/frontend/src/global_styles/content/_contextual.sass index 7c6b0702e447..3f01514c630f 100644 --- a/frontend/src/global_styles/content/_contextual.sass +++ b/frontend/src/global_styles/content/_contextual.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_copy_to_clipboard.sass b/frontend/src/global_styles/content/_copy_to_clipboard.sass index f78a177637c8..6982e03ab653 100644 --- a/frontend/src/global_styles/content/_copy_to_clipboard.sass +++ b/frontend/src/global_styles/content/_copy_to_clipboard.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_custom_actions.sass b/frontend/src/global_styles/content/_custom_actions.sass index 0e20f3e56885..392f69097278 100644 --- a/frontend/src/global_styles/content/_custom_actions.sass +++ b/frontend/src/global_styles/content/_custom_actions.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_datepicker.sass b/frontend/src/global_styles/content/_datepicker.sass index f3869d935dc3..4e96934a249c 100644 --- a/frontend/src/global_styles/content/_datepicker.sass +++ b/frontend/src/global_styles/content/_datepicker.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_diff.sass b/frontend/src/global_styles/content/_diff.sass index 9ee984a7ca62..f5a8ebcaf79d 100644 --- a/frontend/src/global_styles/content/_diff.sass +++ b/frontend/src/global_styles/content/_diff.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_focus_within.sass b/frontend/src/global_styles/content/_focus_within.sass index 57f39efc33a0..a99868280fce 100644 --- a/frontend/src/global_styles/content/_focus_within.sass +++ b/frontend/src/global_styles/content/_focus_within.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_form_error_messages.sass b/frontend/src/global_styles/content/_form_error_messages.sass index 0677cc205a43..9f2956271123 100644 --- a/frontend/src/global_styles/content/_form_error_messages.sass +++ b/frontend/src/global_styles/content/_form_error_messages.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_forms.sass b/frontend/src/global_styles/content/_forms.sass index b255e72f99c4..0c01211d2780 100644 --- a/frontend/src/global_styles/content/_forms.sass +++ b/frontend/src/global_styles/content/_forms.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_forms_mobile.sass b/frontend/src/global_styles/content/_forms_mobile.sass index 2f0903d3f857..d156d3c1f59e 100644 --- a/frontend/src/global_styles/content/_forms_mobile.sass +++ b/frontend/src/global_styles/content/_forms_mobile.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -42,6 +42,7 @@ @include grid-content(12) display: flex flex: 1 + flex-basis: 100% margin-left: 0 padding: 0 .form--field-instructions @@ -49,7 +50,6 @@ flex-basis: 100% max-width: 100% - #tab-content-info form, .form--label, .form--field-container flex-basis: 100% diff --git a/frontend/src/global_styles/content/_help_texts.sass b/frontend/src/global_styles/content/_help_texts.sass index c4f8cfd9b01d..2fcd597aa216 100644 --- a/frontend/src/global_styles/content/_help_texts.sass +++ b/frontend/src/global_styles/content/_help_texts.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_hidden.sass b/frontend/src/global_styles/content/_hidden.sass index dded5522ee58..1f8859531ea5 100644 --- a/frontend/src/global_styles/content/_hidden.sass +++ b/frontend/src/global_styles/content/_hidden.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_hide_section.sass b/frontend/src/global_styles/content/_hide_section.sass index ba8dc9331578..be57d18bfbc2 100644 --- a/frontend/src/global_styles/content/_hide_section.sass +++ b/frontend/src/global_styles/content/_hide_section.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_hide_until_initialized.sass b/frontend/src/global_styles/content/_hide_until_initialized.sass index 8ed687284cb8..0857da4ba174 100644 --- a/frontend/src/global_styles/content/_hide_until_initialized.sass +++ b/frontend/src/global_styles/content/_hide_until_initialized.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_icon_control.sass b/frontend/src/global_styles/content/_icon_control.sass index 068bf5e8a304..745437e9210b 100644 --- a/frontend/src/global_styles/content/_icon_control.sass +++ b/frontend/src/global_styles/content/_icon_control.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_info_boxes.sass b/frontend/src/global_styles/content/_info_boxes.sass index d59e4a3f4059..44d0954c1a75 100644 --- a/frontend/src/global_styles/content/_info_boxes.sass +++ b/frontend/src/global_styles/content/_info_boxes.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_information_section.sass b/frontend/src/global_styles/content/_information_section.sass index bdad1d3ec7b0..5f5c82b82600 100644 --- a/frontend/src/global_styles/content/_information_section.sass +++ b/frontend/src/global_styles/content/_information_section.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_journal.sass b/frontend/src/global_styles/content/_journal.sass index d0744d1d412f..93346a3d0416 100644 --- a/frontend/src/global_styles/content/_journal.sass +++ b/frontend/src/global_styles/content/_journal.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_links.sass b/frontend/src/global_styles/content/_links.sass index b5d9fbd44335..7c252cbbb579 100644 --- a/frontend/src/global_styles/content/_links.sass +++ b/frontend/src/global_styles/content/_links.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_members.sass b/frontend/src/global_styles/content/_members.sass index 034522b3c755..df6c4ea4cfba 100644 --- a/frontend/src/global_styles/content/_members.sass +++ b/frontend/src/global_styles/content/_members.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_my_account.sass b/frontend/src/global_styles/content/_my_account.sass index 1a76021144fa..cb7edd8bd447 100644 --- a/frontend/src/global_styles/content/_my_account.sass +++ b/frontend/src/global_styles/content/_my_account.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_my_page.sass b/frontend/src/global_styles/content/_my_page.sass index 6907e689b6d9..ee17666a0cc6 100644 --- a/frontend/src/global_styles/content/_my_page.sass +++ b/frontend/src/global_styles/content/_my_page.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_news.sass b/frontend/src/global_styles/content/_news.sass index 5be341c5fa14..3080a8e93813 100644 --- a/frontend/src/global_styles/content/_news.sass +++ b/frontend/src/global_styles/content/_news.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_on_off_status.sass b/frontend/src/global_styles/content/_on_off_status.sass index a5d599926b33..3908a986e56a 100644 --- a/frontend/src/global_styles/content/_on_off_status.sass +++ b/frontend/src/global_styles/content/_on_off_status.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_pagination.sass b/frontend/src/global_styles/content/_pagination.sass index 78588f29a6cc..a536e8ed020b 100644 --- a/frontend/src/global_styles/content/_pagination.sass +++ b/frontend/src/global_styles/content/_pagination.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_progress_bar.sass b/frontend/src/global_styles/content/_progress_bar.sass index 2f2b68fbc793..127019459e01 100644 --- a/frontend/src/global_styles/content/_progress_bar.sass +++ b/frontend/src/global_styles/content/_progress_bar.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_project_overview.sass b/frontend/src/global_styles/content/_project_overview.sass index b8378b924ede..70e138e31c73 100644 --- a/frontend/src/global_styles/content/_project_overview.sass +++ b/frontend/src/global_styles/content/_project_overview.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_projects_list.sass b/frontend/src/global_styles/content/_projects_list.sass index 3da3ce5f7162..16afcd84640f 100644 --- a/frontend/src/global_styles/content/_projects_list.sass +++ b/frontend/src/global_styles/content/_projects_list.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_simple_filters.sass b/frontend/src/global_styles/content/_simple_filters.sass index df2811c0f931..e1d2cd02ba72 100644 --- a/frontend/src/global_styles/content/_simple_filters.sass +++ b/frontend/src/global_styles/content/_simple_filters.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_table.sass b/frontend/src/global_styles/content/_table.sass index 8d6c1acbdcd2..4b7739629412 100644 --- a/frontend/src/global_styles/content/_table.sass +++ b/frontend/src/global_styles/content/_table.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -215,6 +215,10 @@ table.generic-table width: 100% max-width: 500px + &.-min-150 + @media screen + min-width: 150px + // The avatar image is not taken into the width calculation of the table cell by the browser. // That is why we add the space manually. &.-contains-avatar diff --git a/frontend/src/global_styles/content/_tables.sass b/frontend/src/global_styles/content/_tables.sass index e3bf8eacc46a..83f94b3abc3d 100644 --- a/frontend/src/global_styles/content/_tables.sass +++ b/frontend/src/global_styles/content/_tables.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_tabular.sass b/frontend/src/global_styles/content/_tabular.sass index c0e50c720e56..a7d443223fb2 100644 --- a/frontend/src/global_styles/content/_tabular.sass +++ b/frontend/src/global_styles/content/_tabular.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_tiles.sass b/frontend/src/global_styles/content/_tiles.sass index e421f200ecce..cabb42842803 100644 --- a/frontend/src/global_styles/content/_tiles.sass +++ b/frontend/src/global_styles/content/_tiles.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_toast.sass b/frontend/src/global_styles/content/_toast.sass index 0e3f8fc96a52..f63dacb93ff5 100644 --- a/frontend/src/global_styles/content/_toast.sass +++ b/frontend/src/global_styles/content/_toast.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_toast_mobile.sass b/frontend/src/global_styles/content/_toast_mobile.sass index 6867ba0ac284..1b5a8f7d00c2 100644 --- a/frontend/src/global_styles/content/_toast_mobile.sass +++ b/frontend/src/global_styles/content/_toast_mobile.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_tooltips.sass b/frontend/src/global_styles/content/_tooltips.sass index fd3f3601d230..352930421651 100644 --- a/frontend/src/global_styles/content/_tooltips.sass +++ b/frontend/src/global_styles/content/_tooltips.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_user.sass b/frontend/src/global_styles/content/_user.sass index 6c537ff95639..33d3fc32c348 100644 --- a/frontend/src/global_styles/content/_user.sass +++ b/frontend/src/global_styles/content/_user.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_user_mention.sass b/frontend/src/global_styles/content/_user_mention.sass index 8dac7e5bacc2..f976afe75117 100644 --- a/frontend/src/global_styles/content/_user_mention.sass +++ b/frontend/src/global_styles/content/_user_mention.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_version.sass b/frontend/src/global_styles/content/_version.sass index d51f1d08cd96..7216c86ca9b5 100644 --- a/frontend/src/global_styles/content/_version.sass +++ b/frontend/src/global_styles/content/_version.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_watchers.sass b/frontend/src/global_styles/content/_watchers.sass index 3e88ad3571e0..10a1db21ce77 100644 --- a/frontend/src/global_styles/content/_watchers.sass +++ b/frontend/src/global_styles/content/_watchers.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_widget_box.sass b/frontend/src/global_styles/content/_widget_box.sass index 4f05badc9b00..80727fe46396 100644 --- a/frontend/src/global_styles/content/_widget_box.sass +++ b/frontend/src/global_styles/content/_widget_box.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/_work_packages.sass b/frontend/src/global_styles/content/_work_packages.sass index eb15e375e28a..7c98b0871601 100644 --- a/frontend/src/global_styles/content/_work_packages.sass +++ b/frontend/src/global_styles/content/_work_packages.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/drag_and_drop.sass b/frontend/src/global_styles/content/drag_and_drop.sass index e976ee740409..e90f13ccd356 100644 --- a/frontend/src/global_styles/content/drag_and_drop.sass +++ b/frontend/src/global_styles/content/drag_and_drop.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/work_packages/_table_content.sass b/frontend/src/global_styles/content/work_packages/_table_content.sass index 3b1f19691f4c..f5c5b26ddc7c 100644 --- a/frontend/src/global_styles/content/work_packages/_table_content.sass +++ b/frontend/src/global_styles/content/work_packages/_table_content.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/work_packages/inplace_editing/_display_fields.sass b/frontend/src/global_styles/content/work_packages/inplace_editing/_display_fields.sass index 24a99da68f9b..eb48c5a1a214 100644 --- a/frontend/src/global_styles/content/work_packages/inplace_editing/_display_fields.sass +++ b/frontend/src/global_styles/content/work_packages/inplace_editing/_display_fields.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -28,17 +28,30 @@ @mixin wp-table--time-values display: inline-block - width: 48% + width: calc(50% - 0.5rem - 1px) @mixin wp-table--actual-time-values text-align: right - padding-right: 0.5rem @mixin wp-table--placeholder-time-values display: inline-block width: 100% text-align: center +// READ value of display fields in wiki macros + +display-field + & .split-time-field + white-space: nowrap + + .-separator + display: inline-block + width: 1rem + padding-left: 0.25rem + padding-right: 0.25rem + text-align: center + + // READ value of edit fields .inline-edit--display-field display: inline-block @@ -74,6 +87,9 @@ height: 1rem &.split-time-field + display: inline-block + width: 100% + vertical-align: middle white-space: nowrap // Table specific styles @@ -82,15 +98,18 @@ .-derived-value @include wp-table--time-values - .-derived-value:not(.-with-actual-value) - margin-left: 48% - .-actual-value @include wp-table--actual-time-values + .-separator + display: inline-block + width: 1rem + padding-left: 0.25rem + padding-right: 0.25rem + text-align: center + .-derived-value color: var(--color-fg-muted) - font-style: italic font-weight: var(--base-text-weight-bold) &.spentTime .time-logging--value @@ -98,7 +117,8 @@ .wp-table--cell-container .inline-edit--display-field.-placeholder, - &.estimatedTime + &.estimatedTime, + &.remainingTime width: 100% .-placeholder diff --git a/frontend/src/global_styles/content/work_packages/inplace_editing/_textareas.sass b/frontend/src/global_styles/content/work_packages/inplace_editing/_textareas.sass index f3bf3765f379..4fea630d7f0c 100644 --- a/frontend/src/global_styles/content/work_packages/inplace_editing/_textareas.sass +++ b/frontend/src/global_styles/content/work_packages/inplace_editing/_textareas.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/work_packages/new/_type_status_row.sass b/frontend/src/global_styles/content/work_packages/new/_type_status_row.sass index 88b2c747a38a..949357eae781 100644 --- a/frontend/src/global_styles/content/work_packages/new/_type_status_row.sass +++ b/frontend/src/global_styles/content/work_packages/new/_type_status_row.sass @@ -1,3 +1,5 @@ +@import "helpers" + .wp-new-top-row color: var(--content-link-color) display: flex @@ -21,10 +23,11 @@ .inline-edit--field min-width: 125px - .work-packages--type-selector, - .work-packages--status-selector - .-active - margin: 6px 6px 6px 0px - -.work-packages--type-selector .-active - margin: 6px 6px 0px 0px +// Avoid visual jump by making them the same height as the toolbar inputs +.work-packages--type-selector, +.work-packages--status-selector + .-active + .ng-select-container + @include toolbar-input-styles + .ng-select input + height: initial !important diff --git a/frontend/src/global_styles/content/work_packages/shared/_file_list.sass b/frontend/src/global_styles/content/work_packages/shared/_file_list.sass index 3cd898c12beb..20fb319f6337 100644 --- a/frontend/src/global_styles/content/work_packages/shared/_file_list.sass +++ b/frontend/src/global_styles/content/work_packages/shared/_file_list.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -31,11 +31,14 @@ &-action text-decoration: none + &_disabled + pointer-events: none + &:not(&_disabled):hover .op-file-list--item-title > :not(.spot-icon) text-decoration: underline - &-action_view-not-allowed &-title + &-action_faulty-status &-title opacity: 0.5 &-title diff --git a/frontend/src/global_styles/content/work_packages/shared/_file_picker.sass b/frontend/src/global_styles/content/work_packages/shared/_file_picker.sass index d33cf17a5e05..eb3ede5cbfe3 100644 --- a/frontend/src/global_styles/content/work_packages/shared/_file_picker.sass +++ b/frontend/src/global_styles/content/work_packages/shared/_file_picker.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/work_packages/shared/_file_section.sass b/frontend/src/global_styles/content/work_packages/shared/_file_section.sass index c7b3f68e4127..92515080cb8a 100644 --- a/frontend/src/global_styles/content/work_packages/shared/_file_section.sass +++ b/frontend/src/global_styles/content/work_packages/shared/_file_section.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/work_packages/single_view/_single_view.sass b/frontend/src/global_styles/content/work_packages/single_view/_single_view.sass index 273333f517c8..6666c244f0ae 100644 --- a/frontend/src/global_styles/content/work_packages/single_view/_single_view.sass +++ b/frontend/src/global_styles/content/work_packages/single_view/_single_view.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -27,6 +27,7 @@ //++ @import "src/app/spot/styles/tokens/dist/tokens" +@import "helpers" @mixin details-pane--form-field @include grid-visible-overflow @@ -35,16 +36,26 @@ // -------------------- Header row -------------------- .wp-show--header-container - display: flex + display: grid + grid-template-columns: auto 1fr auto + grid-template-rows: minmax(30px, auto) 1fr + grid-template-areas: "breadcrumb breadcrumb breadcrumb" "backButton subject toolbar" + align-items: center + grid-column-gap: 5px + + &--breadcrumb + grid-area: breadcrumb + align-self: baseline - .subject-header - flex-grow: 1 + &--back-button + grid-area: backButton - .inline-edit--display-field - white-space: normal - overflow-wrap: anywhere - word-break: normal - line-height: normal + &--subject + grid-area: subject + + &--toolbar-items + grid-area: toolbar + margin-bottom: 0 // Subject field .wp-new--subject-wrapper @@ -54,17 +65,17 @@ font-size: 16px line-height: 1 - .work-packages--details--subject @include grid-content @include grid-size(expand) @include details-pane--form-field - // overriding default in place editing padding - // because the height will otherwise be too much - // and the change from read to write will flicker - .inplace-edit--text-field - padding: 0.15625rem 0.375rem + + // Style edit field to look like the display field. + // Thus we avoid a visual jump when editing the subject. + &.-active input + @include toolbar-input-styles + padding: 5px 0 5px 5px .work-packages--details-content font-size: 0.875rem diff --git a/frontend/src/global_styles/content/work_packages/tabs/_activities.sass b/frontend/src/global_styles/content/work_packages/tabs/_activities.sass index 330166b9b9f0..358e1f51ca91 100644 --- a/frontend/src/global_styles/content/work_packages/tabs/_activities.sass +++ b/frontend/src/global_styles/content/work_packages/tabs/_activities.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/work_packages/tabs/_files_tab.sass b/frontend/src/global_styles/content/work_packages/tabs/_files_tab.sass index ba59ecf27da4..37e61da575c3 100644 --- a/frontend/src/global_styles/content/work_packages/tabs/_files_tab.sass +++ b/frontend/src/global_styles/content/work_packages/tabs/_files_tab.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/work_packages/tabs/_relations.sass b/frontend/src/global_styles/content/work_packages/tabs/_relations.sass index 9172463ea656..b2c26cdef83a 100644 --- a/frontend/src/global_styles/content/work_packages/tabs/_relations.sass +++ b/frontend/src/global_styles/content/work_packages/tabs/_relations.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/content/work_packages/tabs/_tab_content.sass b/frontend/src/global_styles/content/work_packages/tabs/_tab_content.sass index a1c4c55a3344..36dbee861df2 100644 --- a/frontend/src/global_styles/content/work_packages/tabs/_tab_content.sass +++ b/frontend/src/global_styles/content/work_packages/tabs/_tab_content.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/fonts/_lato.sass b/frontend/src/global_styles/fonts/_lato.sass index 0e99526a7627..77924118ce96 100644 --- a/frontend/src/global_styles/fonts/_lato.sass +++ b/frontend/src/global_styles/fonts/_lato.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/fonts/_openproject_icon_font.sass b/frontend/src/global_styles/fonts/_openproject_icon_font.sass index 5e6e6d5d999b..88ca4ff66419 100644 --- a/frontend/src/global_styles/fonts/_openproject_icon_font.sass +++ b/frontend/src/global_styles/fonts/_openproject_icon_font.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/fonts/_openproject_icon_font_face.scss b/frontend/src/global_styles/fonts/_openproject_icon_font_face.scss index 060928569800..16cdcb0185d4 100644 --- a/frontend/src/global_styles/fonts/_openproject_icon_font_face.scss +++ b/frontend/src/global_styles/fonts/_openproject_icon_font_face.scss @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/_admin.sass b/frontend/src/global_styles/layout/_admin.sass index 90c94d9d8f31..453c70f5b36c 100644 --- a/frontend/src/global_styles/layout/_admin.sass +++ b/frontend/src/global_styles/layout/_admin.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/_base.sass b/frontend/src/global_styles/layout/_base.sass index e7a2f8c8f4b3..20e965a07ccc 100644 --- a/frontend/src/global_styles/layout/_base.sass +++ b/frontend/src/global_styles/layout/_base.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -48,7 +48,7 @@ @include default-transition @include styled-scroll-bar margin: 0 0 0 0 - padding: 0px + padding: 0 // Needed for Safari height: calc(100vh - var(--header-height)) overflow-y: auto diff --git a/frontend/src/global_styles/layout/_base_mobile.sass b/frontend/src/global_styles/layout/_base_mobile.sass index 0976f75eebc0..4359d1578a71 100644 --- a/frontend/src/global_styles/layout/_base_mobile.sass +++ b/frontend/src/global_styles/layout/_base_mobile.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -60,11 +60,8 @@ min-height: calc(100vh - var(--header-height)) // ------------------- END CHANGED SCROLL BEHAVIOR - #content-wrapper - padding: 15px - #content - padding: 0 + padding: 10px 15px #main grid-template-columns: auto @@ -87,4 +84,3 @@ @media screen and (max-width: $breakpoint-lg) and (min-width: $breakpoint-sm) .hidden-for-tablet-and-small-laptops display: none !important - diff --git a/frontend/src/global_styles/layout/_breadcrumb.sass b/frontend/src/global_styles/layout/_breadcrumb.sass index cfb2b00acc11..15a25e360bf5 100644 --- a/frontend/src/global_styles/layout/_breadcrumb.sass +++ b/frontend/src/global_styles/layout/_breadcrumb.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/_colors.sass b/frontend/src/global_styles/layout/_colors.sass index e082fc612876..d3f7d826c2e8 100644 --- a/frontend/src/global_styles/layout/_colors.sass +++ b/frontend/src/global_styles/layout/_colors.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/_drop_down.sass b/frontend/src/global_styles/layout/_drop_down.sass index 84303251e2f3..bfbace005daf 100644 --- a/frontend/src/global_styles/layout/_drop_down.sass +++ b/frontend/src/global_styles/layout/_drop_down.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/_drop_down_mobile.sass b/frontend/src/global_styles/layout/_drop_down_mobile.sass index 7ab47f5b3743..47bf8509430e 100644 --- a/frontend/src/global_styles/layout/_drop_down_mobile.sass +++ b/frontend/src/global_styles/layout/_drop_down_mobile.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/_grid.sass b/frontend/src/global_styles/layout/_grid.sass index 0320775c3e76..860c70b4a41b 100644 --- a/frontend/src/global_styles/layout/_grid.sass +++ b/frontend/src/global_styles/layout/_grid.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/_index.sass b/frontend/src/global_styles/layout/_index.sass index f038ab076f3e..44f010ddc5b7 100644 --- a/frontend/src/global_styles/layout/_index.sass +++ b/frontend/src/global_styles/layout/_index.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/_main_menu.sass b/frontend/src/global_styles/layout/_main_menu.sass index bc1285ec9423..2f7ce25040c6 100644 --- a/frontend/src/global_styles/layout/_main_menu.sass +++ b/frontend/src/global_styles/layout/_main_menu.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/_main_menu_mobile.sass b/frontend/src/global_styles/layout/_main_menu_mobile.sass index fc38581afeec..8f5753ec993c 100644 --- a/frontend/src/global_styles/layout/_main_menu_mobile.sass +++ b/frontend/src/global_styles/layout/_main_menu_mobile.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/_toolbar.sass b/frontend/src/global_styles/layout/_toolbar.sass index 429c7259c5af..7717627ac328 100644 --- a/frontend/src/global_styles/layout/_toolbar.sass +++ b/frontend/src/global_styles/layout/_toolbar.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -25,6 +25,8 @@ // // See COPYRIGHT and LICENSE files for more details. //++ +@import "helpers" + $nm-color-error-background: #fedada $nm-color-success-border: #35c53f @@ -85,7 +87,7 @@ $nm-color-success-background: #d8fdd1 .toolbar-items display: flex flex-wrap: wrap - margin: 0 -10px 0 0 + margin: 0 padding: 0 justify-content: space-between @@ -94,7 +96,9 @@ $nm-color-success-background: #d8fdd1 .toolbar-item margin-right: 10px - margin-bottom: 5px + + &:last-of-type + margin-right: 0 // hide right margin for e.g., conditional buttons &.-no-spacing @@ -244,8 +248,7 @@ $nm-color-success-background: #d8fdd1 margin: 9px 0 color: var(--toolbar-title-color) font-size: 1.5rem - height: 36px - line-height: 36px + @include toolbar-input-styles width: calc(100% + 2px) &.-error diff --git a/frontend/src/global_styles/layout/_toolbar_mobile.sass b/frontend/src/global_styles/layout/_toolbar_mobile.sass index 02019b32aaf9..e644ac548208 100644 --- a/frontend/src/global_styles/layout/_toolbar_mobile.sass +++ b/frontend/src/global_styles/layout/_toolbar_mobile.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -29,8 +29,6 @@ @media screen and (max-width: $breakpoint-md) #content .toolbar-container - margin-top: 5px - .title-container:not(editable-toolbar-title) margin-right: 10px diff --git a/frontend/src/global_styles/layout/work_packages/_details_view.sass b/frontend/src/global_styles/layout/work_packages/_details_view.sass index 0c6626e77ad1..143eb15c2af5 100644 --- a/frontend/src/global_styles/layout/work_packages/_details_view.sass +++ b/frontend/src/global_styles/layout/work_packages/_details_view.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -92,18 +92,6 @@ body.router--work-packages-partitioned-split-view-new .work-packages--details--subject overflow: hidden - .inline-edit--field - height: 38px - line-height: 36px - - // Style edit field to look like the display field. - // Thus we avoid a visual jump when editing the subject. - &.-active input - height: 34px - line-height: 34px - padding: 5px 0 5px 5px - font-size: 18px - .work-packages--details-form display: flex flex-direction: column diff --git a/frontend/src/global_styles/layout/work_packages/_full_view.sass b/frontend/src/global_styles/layout/work_packages/_full_view.sass index 407279c2cd01..c9c209ca57a9 100644 --- a/frontend/src/global_styles/layout/work_packages/_full_view.sass +++ b/frontend/src/global_styles/layout/work_packages/_full_view.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -29,41 +29,13 @@ .router--work-packages-full-view:not(.router--work-packages-full-create) @include extended-content--bottom @include extended-content--right - @include extended-content--top .work-packages--show-view display: flex flex-direction: column height: inherit - #toolbar - display: flex - flex-wrap: wrap-reverse - justify-content: flex-end - @include clearfix - - .toolbar-container - @include clearfix - - ul#toolbar-items - margin-left: 10px - @include clearfix - - li - .dropdown - top: 100% !important - right: 0px !important - left: auto !important - - ul li - float: none - - .subject-header - button - margin-right: 0 - .work-packages-full-view - &--split-container display: flex flex-shrink: 8 @@ -158,45 +130,16 @@ #toolbar-items margin-left: 0 - .work-packages-back-button - // Move button in the current reverse order to front - position: absolute - top: 0 - left: 0 - z-index: 1 - #work-packages-index .op-uc-link_permalink display: none .work-packages--show-view - .wp-show--header-container - @media only screen and (max-width: $breakpoint-sm) - width: 100% - @include breakpoint(sm) - flex: 1 1 auto - .subject-header .work-packages--subject-element, .work-packages--details--subject .inline-edit--field font-size: 20px font-weight: var(--base-text-weight-bold) - line-height: 34px - - .work-packages--details--subject - .inline-edit--field - height: 34px - - // Style edit field to look like the display field. - // Thus we avoid a visual jump when editing the subject. - &.-active input - height: 36px - line-height: 36px - padding: 5px 0 5px 5px - font-size: 20px - - > .toolbar-container - margin: 10px 0 5px 0 .work-packages--subject-type-row display: flex @@ -206,11 +149,9 @@ .work-packages--type-selector:not(.wp-new-top-row--element) .inline-edit--display-field padding-right: 5px !important - - // Remove left padding from type - .inline-edit--display-field + // Remove left padding from type padding-left: 0 !important - @media only screen and (min-width: 679px) + @media only screen and (min-width: $breakpoint-sm) .inline-edit--container.-active width: 130px diff --git a/frontend/src/global_styles/layout/work_packages/_mobile.sass b/frontend/src/global_styles/layout/work_packages/_mobile.sass index a5b40113b620..400df8f4005a 100644 --- a/frontend/src/global_styles/layout/work_packages/_mobile.sass +++ b/frontend/src/global_styles/layout/work_packages/_mobile.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -33,14 +33,11 @@ #main #content-wrapper - padding: 15px &.nomenus top: 0 - padding: 0 width: 100% margin-left: 0 - .work-packages--show-view ul#toolbar-items li .wp-create-button .dropdown left: 0 !important @@ -102,22 +99,16 @@ padding: 8px 0 !important font-size: 1rem - @media screen and (max-width: $breakpoint-sm) .router--work-packages-full-view #content position: relative - .work-packages--show-view - padding: 40px 0 0 0 - #toolbar-items - position: absolute - top: 0 - right: 0 - justify-content: flex-end - - .toolbar-item - flex-grow: 0 + .wp-show--header-container + grid-template-columns: auto 1fr + grid-template-rows: auto auto 1fr + grid-template-areas: "backButton toolbar" "breadcrumb breadcrumb" "subject subject" + grid-row-gap: 0.5rem .work-packages-full-view--split-container border-top: none @@ -129,9 +120,8 @@ .router--work-packages-partitioned-split-view // Ensure the WP cards can span the complete width on mobile - #content-wrapper + #content padding: 15px 0 !important .toolbar-container margin-left: 15px - padding-left: 0px !important diff --git a/frontend/src/global_styles/layout/work_packages/_print.sass b/frontend/src/global_styles/layout/work_packages/_print.sass index a2a122690845..f7eb0f6459bf 100644 --- a/frontend/src/global_styles/layout/work_packages/_print.sass +++ b/frontend/src/global_styles/layout/work_packages/_print.sass @@ -97,9 +97,6 @@ // ------------------Only WP full screen view ------------------ .router--work-packages-full-view - // Since there is no toolbar and WP-back button the header can span 100% - .wp-show--header-container - flex-basis: 100% .work-packages-full-view--split-right overflow: visible flex-basis: initial !important diff --git a/frontend/src/global_styles/layout/work_packages/_table.sass b/frontend/src/global_styles/layout/work_packages/_table.sass index 4478377ee9a6..b3222d931a66 100644 --- a/frontend/src/global_styles/layout/work_packages/_table.sass +++ b/frontend/src/global_styles/layout/work_packages/_table.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/work_packages/_table_baseline.sass b/frontend/src/global_styles/layout/work_packages/_table_baseline.sass index 531ee950b643..be0d9c194c05 100644 --- a/frontend/src/global_styles/layout/work_packages/_table_baseline.sass +++ b/frontend/src/global_styles/layout/work_packages/_table_baseline.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/work_packages/_table_baseline_overrides.sass b/frontend/src/global_styles/layout/work_packages/_table_baseline_overrides.sass index 5e3ee62516dc..e816fcfa557b 100644 --- a/frontend/src/global_styles/layout/work_packages/_table_baseline_overrides.sass +++ b/frontend/src/global_styles/layout/work_packages/_table_baseline_overrides.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/layout/work_packages/_table_embedded.sass b/frontend/src/global_styles/layout/work_packages/_table_embedded.sass index b5f28d8a35c9..1620dafd8955 100644 --- a/frontend/src/global_styles/layout/work_packages/_table_embedded.sass +++ b/frontend/src/global_styles/layout/work_packages/_table_embedded.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/openproject/_accessibility.sass b/frontend/src/global_styles/openproject/_accessibility.sass index 5fa724572486..23d1c6d3eff1 100644 --- a/frontend/src/global_styles/openproject/_accessibility.sass +++ b/frontend/src/global_styles/openproject/_accessibility.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/openproject/_base.sass b/frontend/src/global_styles/openproject/_base.sass index 4ccd591f2b84..acd04a60263f 100644 --- a/frontend/src/global_styles/openproject/_base.sass +++ b/frontend/src/global_styles/openproject/_base.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/openproject/_forms.sass b/frontend/src/global_styles/openproject/_forms.sass index d2ae6deedddd..71b79dce941f 100644 --- a/frontend/src/global_styles/openproject/_forms.sass +++ b/frontend/src/global_styles/openproject/_forms.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/openproject/_functions.sass b/frontend/src/global_styles/openproject/_functions.sass index 04b05b9e159d..01f3eec20fd8 100644 --- a/frontend/src/global_styles/openproject/_functions.sass +++ b/frontend/src/global_styles/openproject/_functions.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/openproject/_generic.sass b/frontend/src/global_styles/openproject/_generic.sass index 70074900818e..cb5e2b93f820 100644 --- a/frontend/src/global_styles/openproject/_generic.sass +++ b/frontend/src/global_styles/openproject/_generic.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/openproject/_homescreen.sass b/frontend/src/global_styles/openproject/_homescreen.sass index 303eb1c329c1..1ce778e76467 100644 --- a/frontend/src/global_styles/openproject/_homescreen.sass +++ b/frontend/src/global_styles/openproject/_homescreen.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/openproject/_mixins.sass b/frontend/src/global_styles/openproject/_mixins.sass index 5c7fa32f4819..ce25dc9dbcbc 100644 --- a/frontend/src/global_styles/openproject/_mixins.sass +++ b/frontend/src/global_styles/openproject/_mixins.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -303,6 +303,10 @@ $scrollbar-size: 10px @mixin board-header-editable-toolbar-title line-height: normal !important +@mixin toolbar-input-styles + height: 36px !important + line-height: 36px !important + @mixin global-breadcrumb-styles margin-top: 10px display: none diff --git a/frontend/src/global_styles/openproject/_onboarding.sass b/frontend/src/global_styles/openproject/_onboarding.sass index af3d8c59191b..23a4e3c25420 100644 --- a/frontend/src/global_styles/openproject/_onboarding.sass +++ b/frontend/src/global_styles/openproject/_onboarding.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/openproject/_primer-adjustments.sass b/frontend/src/global_styles/openproject/_primer-adjustments.sass index 87765223853b..2b184707dc65 100644 --- a/frontend/src/global_styles/openproject/_primer-adjustments.sass +++ b/frontend/src/global_styles/openproject/_primer-adjustments.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -48,17 +48,6 @@ action-menu ul.tabnav-tabs margin-left: 0 -// This fixes the following bug: -// - https://github.com/primer/view_components/issues/2065 -// - https://community.openproject.org/wp/50782 -// If an icon button triggers a dropdown or dialog, the focus moves to the dropdown/dialog. -// When we close the dropdown/dialog, the focus moves back to the button and it also triggers -// displaying the label tooltip. The tooltip also gets stuck open. -// The solution is to hide the tooltip if the focus was not triggered via a mouse click (:hover) -// or if it wasn't triggered by the keyboard (:focus-visible). -button:focus:not(:focus-visible):not(:hover) + tool-tip - visibility: hidden - /* Remove margin-left: 2rem from Breadcrumbs */ #breadcrumb ol diff --git a/frontend/src/global_styles/openproject/_scm.sass b/frontend/src/global_styles/openproject/_scm.sass index a1915ab0a5b7..2372afc02d2e 100644 --- a/frontend/src/global_styles/openproject/_scm.sass +++ b/frontend/src/global_styles/openproject/_scm.sass @@ -1,6 +1,6 @@ /*-- copyright * OpenProject is an open source project management software. - * Copyright (C) 2012-2023 the OpenProject GmbH + * Copyright (C) 2012-2024 the OpenProject GmbH * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/global_styles/openproject/_variable_defaults.scss b/frontend/src/global_styles/openproject/_variable_defaults.scss index 202f4830dea7..fd96a01a18bc 100644 --- a/frontend/src/global_styles/openproject/_variable_defaults.scss +++ b/frontend/src/global_styles/openproject/_variable_defaults.scss @@ -1,6 +1,6 @@ /*-- copyright * OpenProject is an open source project management software. - * Copyright (C) 2012-2023 the OpenProject GmbH + * Copyright (C) 2012-2024 the OpenProject GmbH * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/backlog.js b/frontend/src/stimulus/controllers/dynamic/backlogs/backlog.js index fd7bca3b0a16..a837ddfb32fa 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/backlog.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/backlog.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -58,6 +58,7 @@ RB.Backlog = (function ($) { receive: this.dragChanged, remove: this.dragChanged, containment: $('#backlogs_container'), + cancel: 'input, textarea, button, select, option, .prevent_drag', scroll: true, helper: function(event, ui){ var $clone = $(ui).clone(); diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/burndown.js b/frontend/src/stimulus/controllers/dynamic/backlogs/burndown.js index ed6e279747ca..699d706a297f 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/burndown.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/burndown.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/common.js b/frontend/src/stimulus/controllers/dynamic/backlogs/common.js index 46f10210c91e..4d542cdfaebc 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/common.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/common.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/editable_inplace.js b/frontend/src/stimulus/controllers/dynamic/backlogs/editable_inplace.js index 1d41736d1d27..493b7eea3a5b 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/editable_inplace.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/editable_inplace.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/impediment.js b/frontend/src/stimulus/controllers/dynamic/backlogs/impediment.js index 73b726b27754..37f22bb653ef 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/impediment.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/impediment.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/master_backlog.js b/frontend/src/stimulus/controllers/dynamic/backlogs/master_backlog.js index 96081fae404b..1c99f1075928 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/master_backlog.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/master_backlog.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/model.js b/frontend/src/stimulus/controllers/dynamic/backlogs/model.js index a51d0730604a..b9ecb9c81566 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/model.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/model.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. @@ -156,17 +156,14 @@ RB.Model = (function ($) { const field = $(this); const fieldId = field.attr('field_id'); const fieldName = field.attr('fieldname'); + const fieldLabel = field.attr('fieldlabel'); const fieldOrder = parseInt(field.attr('fieldorder'), 10); + const fieldEditable = field.attr('fieldeditable') || 'true'; const fieldType = field.attr('fieldtype') || 'input'; - let fieldLabel = field.attr('fieldlabel'); let typeId; let statusId; let input; - if (!fieldLabel) { - fieldLabel = fieldName.replace(/_/ig, " ").replace(/ id$/ig, ""); - } - if (fieldType === 'select') { // Special handling for status_id => they are dependent of type_id if (fieldName === 'status_id') { @@ -194,7 +191,7 @@ RB.Model = (function ($) { input = $(document.createElement(fieldType)); } - input = self.prepareInputFromFactory(input, fieldId, fieldName, fieldOrder, maxTabIndex); + input = self.prepareInputFromFactory(input, fieldId, fieldName, fieldOrder, maxTabIndex, fieldEditable); // Copy the value in the field to the input element input.val(fieldType === 'select' ? field.children('.v').first().text() : field.text()); @@ -234,10 +231,13 @@ RB.Model = (function ($) { return newInput; }, - prepareInputFromFactory: function (input,fieldId,fieldName,fieldOrder, maxTabIndex) { + prepareInputFromFactory: function (input, fieldId, fieldName, fieldOrder, maxTabIndex, fieldEditable) { input.attr('id', fieldName + '_' + fieldId); input.attr('name', fieldName); input.attr('tabindex', fieldOrder + maxTabIndex); + if (fieldEditable !== 'true') { + input.attr('disabled', true); + } input.addClass(fieldName); input.addClass('editor'); input.removeClass('template'); diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/show_main.js b/frontend/src/stimulus/controllers/dynamic/backlogs/show_main.js index d8259df78a23..174780ab77f5 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/show_main.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/show_main.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/sprint.js b/frontend/src/stimulus/controllers/dynamic/backlogs/sprint.js index a2128169b8e9..7a4eaa55f8a7 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/sprint.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/sprint.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/story.js b/frontend/src/stimulus/controllers/dynamic/backlogs/story.js index fbad3297f292..830a4d584cad 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/story.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/story.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/task.js b/frontend/src/stimulus/controllers/dynamic/backlogs/task.js index afa4a7b069b0..f6a918a36478 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/task.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/task.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/taskboard.js b/frontend/src/stimulus/controllers/dynamic/backlogs/taskboard.js index c2db6c15352e..6ed496cbe9a7 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/taskboard.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/taskboard.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/backlogs/work_package.js b/frontend/src/stimulus/controllers/dynamic/backlogs/work_package.js index ee58400513e9..aaaa29aa4312 100644 --- a/frontend/src/stimulus/controllers/dynamic/backlogs/work_package.js +++ b/frontend/src/stimulus/controllers/dynamic/backlogs/work_package.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/stimulus/controllers/dynamic/project.controller.ts b/frontend/src/stimulus/controllers/dynamic/project.controller.ts index 23316d632a6e..e69201c8f8ec 100644 --- a/frontend/src/stimulus/controllers/dynamic/project.controller.ts +++ b/frontend/src/stimulus/controllers/dynamic/project.controller.ts @@ -71,9 +71,31 @@ export default class ProjectController extends Controller { declare readonly singleDayTargets:HTMLInputElement[]; declare readonly simpleValueTargets:HTMLInputElement[]; - toggleFilterForm() { - this.filterFormToggleTarget.classList.toggle('-active'); - this.filterFormTarget.classList.toggle('-expanded'); + static values = { + displayFilters: { type: Boolean, default: false }, + }; + + declare displayFiltersValue:boolean; + + toggleDisplayFilters() { + this.displayFiltersValue = !this.displayFiltersValue; + } + + displayFiltersValueChanged() { + this.toggleButtonActive(); + this.toggleFilterFormVisible(); + } + + toggleButtonActive() { + if (this.displayFiltersValue) { + this.filterFormToggleTarget.setAttribute('aria-disabled', 'true'); + } else { + this.filterFormToggleTarget.removeAttribute('aria-disabled'); + } + } + + toggleFilterFormVisible() { + this.filterFormTarget.classList.toggle('-expanded', this.displayFiltersValue); } toggleMultiSelect({ params: { filterName } }:{ params:{ filterName:string } }) { diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss index 7f10ca1949d9..8683229d6b26 100644 --- a/frontend/src/styles.scss +++ b/frontend/src/styles.scss @@ -1,6 +1,7 @@ // You can add global styles to this file, and also import other style files @import "~@ng-select/ng-select/themes/default.theme.css"; @import "@primer/css/index.scss"; +@import "@primer/css/primitives/index.scss"; @import "@openproject/primer-view-components/app/assets/styles/primer_view_components.css"; // Variables diff --git a/frontend/src/test/openproject-tests.js b/frontend/src/test/openproject-tests.js index 20795d98a6a7..b88533b6b5b6 100644 --- a/frontend/src/test/openproject-tests.js +++ b/frontend/src/test/openproject-tests.js @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/frontend/src/typings/open-project.typings.d.ts b/frontend/src/typings/open-project.typings.d.ts index 216f85cab744..c43ea75d30eb 100644 --- a/frontend/src/typings/open-project.typings.d.ts +++ b/frontend/src/typings/open-project.typings.d.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/appsignal_api.rb b/lib/api/appsignal_api.rb index 36271ea4191d..51f6a14cf598 100644 --- a/lib/api/appsignal_api.rb +++ b/lib/api/appsignal_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/caching/cached_representer.rb b/lib/api/caching/cached_representer.rb index 5c3b591ebd53..4c7e4ffbcda6 100644 --- a/lib/api/caching/cached_representer.rb +++ b/lib/api/caching/cached_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/aggregation_group.rb b/lib/api/decorators/aggregation_group.rb index 5f1db14b53f8..20cd08e484b4 100644 --- a/lib/api/decorators/aggregation_group.rb +++ b/lib/api/decorators/aggregation_group.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/allowed_values_by_collection_representer.rb b/lib/api/decorators/allowed_values_by_collection_representer.rb index 7c5a516c87c5..99b92a78d666 100644 --- a/lib/api/decorators/allowed_values_by_collection_representer.rb +++ b/lib/api/decorators/allowed_values_by_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/allowed_values_by_link_representer.rb b/lib/api/decorators/allowed_values_by_link_representer.rb index b3e8578e3ee3..8de39ab01606 100644 --- a/lib/api/decorators/allowed_values_by_link_representer.rb +++ b/lib/api/decorators/allowed_values_by_link_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/collection.rb b/lib/api/decorators/collection.rb index 0176e13ac529..f41b672368b8 100644 --- a/lib/api/decorators/collection.rb +++ b/lib/api/decorators/collection.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/create_form.rb b/lib/api/decorators/create_form.rb index 5da5dd514b45..a81231b68618 100644 --- a/lib/api/decorators/create_form.rb +++ b/lib/api/decorators/create_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/date_property.rb b/lib/api/decorators/date_property.rb index 15990f8381d0..8d7ea604f3cc 100644 --- a/lib/api/decorators/date_property.rb +++ b/lib/api/decorators/date_property.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/digest.rb b/lib/api/decorators/digest.rb index 0de499c28fa1..19327d570e7a 100644 --- a/lib/api/decorators/digest.rb +++ b/lib/api/decorators/digest.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/form.rb b/lib/api/decorators/form.rb index cb2f809fae07..f3bb149c00ed 100644 --- a/lib/api/decorators/form.rb +++ b/lib/api/decorators/form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/formattable.rb b/lib/api/decorators/formattable.rb index 3def5e97ed17..28a36f48fa64 100644 --- a/lib/api/decorators/formattable.rb +++ b/lib/api/decorators/formattable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/formattable_property.rb b/lib/api/decorators/formattable_property.rb index 37ffd9cb3830..8575cdab1d6c 100644 --- a/lib/api/decorators/formattable_property.rb +++ b/lib/api/decorators/formattable_property.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/link_object.rb b/lib/api/decorators/link_object.rb index 6cda7238a42c..b0225e1a29ee 100644 --- a/lib/api/decorators/link_object.rb +++ b/lib/api/decorators/link_object.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/linked_resource.rb b/lib/api/decorators/linked_resource.rb index 1cc72d0accee..cc92e7b47ed8 100644 --- a/lib/api/decorators/linked_resource.rb +++ b/lib/api/decorators/linked_resource.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/meta_form.rb b/lib/api/decorators/meta_form.rb index be5ac68cd97e..d074984fdf5c 100644 --- a/lib/api/decorators/meta_form.rb +++ b/lib/api/decorators/meta_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/offset_paginated_collection.rb b/lib/api/decorators/offset_paginated_collection.rb index ca71c2fdfc8d..ae18a5d6f9f6 100644 --- a/lib/api/decorators/offset_paginated_collection.rb +++ b/lib/api/decorators/offset_paginated_collection.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/polymorphic_resource.rb b/lib/api/decorators/polymorphic_resource.rb index a0d8e31df4a0..dc02121666ed 100644 --- a/lib/api/decorators/polymorphic_resource.rb +++ b/lib/api/decorators/polymorphic_resource.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/property_schema_representer.rb b/lib/api/decorators/property_schema_representer.rb index 186b326c77f3..788d1c92bfcb 100644 --- a/lib/api/decorators/property_schema_representer.rb +++ b/lib/api/decorators/property_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/query_params_representer.rb b/lib/api/decorators/query_params_representer.rb index e18a30dd9351..ee17613fd6c0 100644 --- a/lib/api/decorators/query_params_representer.rb +++ b/lib/api/decorators/query_params_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/schema_representer.rb b/lib/api/decorators/schema_representer.rb index 6be444e12a53..e0c2f58de419 100644 --- a/lib/api/decorators/schema_representer.rb +++ b/lib/api/decorators/schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/simple_form.rb b/lib/api/decorators/simple_form.rb index 478c220545dc..017cc3078ee9 100644 --- a/lib/api/decorators/simple_form.rb +++ b/lib/api/decorators/simple_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/single.rb b/lib/api/decorators/single.rb index 0398273b66ca..22394e05ad69 100644 --- a/lib/api/decorators/single.rb +++ b/lib/api/decorators/single.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/sql/hal.rb b/lib/api/decorators/sql/hal.rb index c13ead23190e..10df5693e3cb 100644 --- a/lib/api/decorators/sql/hal.rb +++ b/lib/api/decorators/sql/hal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/sql_collection_representer.rb b/lib/api/decorators/sql_collection_representer.rb index 8d6040584c03..40727b347951 100644 --- a/lib/api/decorators/sql_collection_representer.rb +++ b/lib/api/decorators/sql_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/unpaginated_collection.rb b/lib/api/decorators/unpaginated_collection.rb index 4fd3d044f963..53b01dac93bb 100644 --- a/lib/api/decorators/unpaginated_collection.rb +++ b/lib/api/decorators/unpaginated_collection.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/decorators/update_form.rb b/lib/api/decorators/update_form.rb index 9e35e02d4a49..bb468b722a46 100644 --- a/lib/api/decorators/update_form.rb +++ b/lib/api/decorators/update_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/errors/bad_request.rb b/lib/api/errors/bad_request.rb index a1c021e7451f..b04e0043083d 100644 --- a/lib/api/errors/bad_request.rb +++ b/lib/api/errors/bad_request.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class BadRequest < ErrorBase code 400 def initialize(message, **) - super I18n.t('api_v3.errors.code_400', message:) + super(I18n.t('api_v3.errors.code_400', message:)) end end end diff --git a/lib/api/errors/conflict.rb b/lib/api/errors/conflict.rb index 5efb59026aa1..5f58a7b32fd4 100644 --- a/lib/api/errors/conflict.rb +++ b/lib/api/errors/conflict.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,7 @@ class Conflict < ErrorBase def initialize(*args) opts = args.last.is_a?(Hash) ? args.last : {} - super opts[:message] || I18n.t('api_v3.errors.code_409') + super(opts[:message] || I18n.t('api_v3.errors.code_409')) end end end diff --git a/lib/api/errors/enterprise_token_missing.rb b/lib/api/errors/enterprise_token_missing.rb index e6727e12fe85..7ab7ebe78429 100644 --- a/lib/api/errors/enterprise_token_missing.rb +++ b/lib/api/errors/enterprise_token_missing.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class EnterpriseTokenMissing < ErrorBase code 500 def initialize - super I18n.t('api_v3.errors.code_500_missing_enterprise_token') + super(I18n.t('api_v3.errors.code_500_missing_enterprise_token')) end end end diff --git a/lib/api/errors/error_base.rb b/lib/api/errors/error_base.rb index ef250bc9e4aa..2133855cc9fa 100644 --- a/lib/api/errors/error_base.rb +++ b/lib/api/errors/error_base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -112,7 +112,7 @@ def initialize(message, **) @message = message @errors = [] - super message: + super(message:) end end end diff --git a/lib/api/errors/internal_error.rb b/lib/api/errors/internal_error.rb index 5ab08a42c9d1..e2381715947f 100644 --- a/lib/api/errors/internal_error.rb +++ b/lib/api/errors/internal_error.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -39,7 +39,7 @@ def initialize(error_message = nil, exception: nil, **) error += " #{error_message}" end - super error + super(error) end private diff --git a/lib/api/errors/invalid_query.rb b/lib/api/errors/invalid_query.rb index 94c8de53fe78..571af95efb09 100644 --- a/lib/api/errors/invalid_query.rb +++ b/lib/api/errors/invalid_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/errors/invalid_render_context.rb b/lib/api/errors/invalid_render_context.rb index 6d1b804b3df6..d510dbce4126 100644 --- a/lib/api/errors/invalid_render_context.rb +++ b/lib/api/errors/invalid_render_context.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/errors/invalid_request_body.rb b/lib/api/errors/invalid_request_body.rb index ba025bcd953b..a2b3ef9d5458 100644 --- a/lib/api/errors/invalid_request_body.rb +++ b/lib/api/errors/invalid_request_body.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/errors/invalid_resource_link.rb b/lib/api/errors/invalid_resource_link.rb index f5f34fb8f9d1..caaa67b4ad35 100644 --- a/lib/api/errors/invalid_resource_link.rb +++ b/lib/api/errors/invalid_resource_link.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -40,7 +40,7 @@ def initialize(property_name, expected_link, actual_link) expected: expected_i18n, actual: actual_link) - super message + super(message) end end end diff --git a/lib/api/errors/invalid_signal.rb b/lib/api/errors/invalid_signal.rb index 2e6290b12a9b..2281b1adca4c 100644 --- a/lib/api/errors/invalid_signal.rb +++ b/lib/api/errors/invalid_signal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,7 +36,7 @@ def initialize(invalid, supported, type) message = I18n.t("api_v3.errors.invalid_signal.#{type}", invalid: Array(invalid).join(', '), supported: Array(supported).join(', ')) - super message + super(message) end end end diff --git a/lib/api/errors/invalid_user_status_transition.rb b/lib/api/errors/invalid_user_status_transition.rb index 9512d6a07c77..fad5c4e387b9 100644 --- a/lib/api/errors/invalid_user_status_transition.rb +++ b/lib/api/errors/invalid_user_status_transition.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class InvalidUserStatusTransition < ErrorBase code 400 def initialize(*) - super I18n.t('api_v3.errors.invalid_user_status_transition') + super(I18n.t('api_v3.errors.invalid_user_status_transition')) end end end diff --git a/lib/api/errors/multiple_errors.rb b/lib/api/errors/multiple_errors.rb index b93affe35faf..9a8870d6aaa8 100644 --- a/lib/api/errors/multiple_errors.rb +++ b/lib/api/errors/multiple_errors.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -40,7 +40,7 @@ def self.create_if_many(errors) end def initialize(errors) - super I18n.t('api_v3.errors.multiple_errors') + super(I18n.t('api_v3.errors.multiple_errors')) @errors = errors end diff --git a/lib/api/errors/not_found.rb b/lib/api/errors/not_found.rb index 0c8e966965b8..7844de4abbc0 100644 --- a/lib/api/errors/not_found.rb +++ b/lib/api/errors/not_found.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,7 +36,7 @@ def initialize(_message = nil, exception: nil, model: nil) # Try to find a localizable error message for # the not found error by checking the "model" property set by rails. model ||= exception&.model&.underscore - super not_found_message(model) + super(not_found_message(model)) end private diff --git a/lib/api/errors/not_implemented.rb b/lib/api/errors/not_implemented.rb index 9205def1dd69..01ae439276aa 100644 --- a/lib/api/errors/not_implemented.rb +++ b/lib/api/errors/not_implemented.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class NotImplemented < ErrorBase code 501 def initialize(error_message = 'Not yet implemented'.freeze, **) - super error_message + super(error_message) end end end diff --git a/lib/api/errors/outbound_request_forbidden.rb b/lib/api/errors/outbound_request_forbidden.rb index af2a3ea4c8ee..1b3cbbffe140 100644 --- a/lib/api/errors/outbound_request_forbidden.rb +++ b/lib/api/errors/outbound_request_forbidden.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class OutboundRequestForbidden < ErrorBase code 500 def initialize - super I18n.t('api_v3.errors.code_500_outbound_request_failure', status_code: 403) + super(I18n.t('api_v3.errors.code_500_outbound_request_failure', status_code: 403)) end end end diff --git a/lib/api/errors/outbound_request_not_found.rb b/lib/api/errors/outbound_request_not_found.rb index c0b8ad903930..669cbe1272b2 100644 --- a/lib/api/errors/outbound_request_not_found.rb +++ b/lib/api/errors/outbound_request_not_found.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class OutboundRequestNotFound < ErrorBase code 500 def initialize - super I18n.t('api_v3.errors.code_500_outbound_request_failure', status_code: 404) + super(I18n.t('api_v3.errors.code_500_outbound_request_failure', status_code: 404)) end end end diff --git a/lib/api/errors/parse_error.rb b/lib/api/errors/parse_error.rb index 2774e6e2b4f6..b2e286711056 100644 --- a/lib/api/errors/parse_error.rb +++ b/lib/api/errors/parse_error.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class ParseError < InvalidRequestBody code 400 def initialize(_message = nil, details: nil) - super I18n.t('api_v3.errors.invalid_json') + super(I18n.t('api_v3.errors.invalid_json')) if details @details = { parseError: clean_parse_error(details) } diff --git a/lib/api/errors/property_format_error.rb b/lib/api/errors/property_format_error.rb index ae1ab2d95e87..cbcf8c999dea 100644 --- a/lib/api/errors/property_format_error.rb +++ b/lib/api/errors/property_format_error.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -41,7 +41,7 @@ def initialize(property, expected_format, actual_value) property:, expected_format:, actual: actual_value) - super message + super(message) end def details diff --git a/lib/api/errors/property_missing_error.rb b/lib/api/errors/property_missing_error.rb index 2c493db10b7b..3404692b4f01 100644 --- a/lib/api/errors/property_missing_error.rb +++ b/lib/api/errors/property_missing_error.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -38,7 +38,7 @@ def initialize(property) self.property = property message = I18n.t('api_v3.errors.missing_property', property:) - super message + super(message) end def details diff --git a/lib/api/errors/too_many_requests.rb b/lib/api/errors/too_many_requests.rb index 5c3cfd4b224f..759d7c7d8a43 100644 --- a/lib/api/errors/too_many_requests.rb +++ b/lib/api/errors/too_many_requests.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,7 @@ class TooManyRequests < ErrorBase def initialize(*args) opts = args.last.is_a?(Hash) ? args.last : {} - super opts[:message] || I18n.t('api_v3.errors.code_429') + super(opts[:message] || I18n.t('api_v3.errors.code_429')) end end end diff --git a/lib/api/errors/unauthenticated.rb b/lib/api/errors/unauthenticated.rb index 225b2d0fce18..b34aa22f31ce 100644 --- a/lib/api/errors/unauthenticated.rb +++ b/lib/api/errors/unauthenticated.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class Unauthenticated < ErrorBase code 401 def initialize(message = I18n.t('api_v3.errors.code_401')) - super message + super(message) end end end diff --git a/lib/api/errors/unauthorized.rb b/lib/api/errors/unauthorized.rb index af2dcaa06ff6..37b6227fd89d 100644 --- a/lib/api/errors/unauthorized.rb +++ b/lib/api/errors/unauthorized.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,7 @@ class Unauthorized < ErrorBase def initialize(*args) opts = args.last.is_a?(Hash) ? args.last : {} - super opts[:message] || I18n.t('api_v3.errors.code_403') + super(opts[:message] || I18n.t('api_v3.errors.code_403')) end end end diff --git a/lib/api/errors/unsupported_media_type.rb b/lib/api/errors/unsupported_media_type.rb index b61203a85375..ab86702659a1 100644 --- a/lib/api/errors/unsupported_media_type.rb +++ b/lib/api/errors/unsupported_media_type.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class UnsupportedMediaType < ErrorBase code 415 def initialize(message) - super message + super(message) end end end diff --git a/lib/api/errors/unwritable_property.rb b/lib/api/errors/unwritable_property.rb index d61b72da7acc..901fb5d1e2f0 100644 --- a/lib/api/errors/unwritable_property.rb +++ b/lib/api/errors/unwritable_property.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class UnwritableProperty < ErrorBase code 422 def initialize(property, message) - super message + super(message) @property = property @details = { attribute: property } diff --git a/lib/api/errors/validation.rb b/lib/api/errors/validation.rb index a77fdf9e9d55..2f34dd31f37b 100644 --- a/lib/api/errors/validation.rb +++ b/lib/api/errors/validation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class Validation < ErrorBase code 422 def initialize(property, full_message) - super full_message + super(full_message) @property = property @details = { attribute: property } diff --git a/lib/api/formatter.rb b/lib/api/formatter.rb index 23de94a24f65..397466a58597 100644 --- a/lib/api/formatter.rb +++ b/lib/api/formatter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/helpers/attachment_renderer.rb b/lib/api/helpers/attachment_renderer.rb index 58100b3f1e9a..80ac0415d012 100644 --- a/lib/api/helpers/attachment_renderer.rb +++ b/lib/api/helpers/attachment_renderer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/open_api.rb b/lib/api/open_api.rb index 7c9df0926de4..2188633861b6 100644 --- a/lib/api/open_api.rb +++ b/lib/api/open_api.rb @@ -20,7 +20,7 @@ def spec end def assemble_spec(file_path) - spec = YAML.safe_load File.read(file_path.to_s) + spec = YAML.safe_load_file(file_path.to_s) substitute_refs(spec, path: file_path.parent, root_path: file_path.parent) rescue Psych::SyntaxError => e @@ -57,7 +57,7 @@ def substitute_refs(spec, path:, root_path:, root_spec: spec) def substitute_refs_in_hash(spec, path:, root_path:, root_spec: spec) if spec.size == 1 && spec.keys.first == "$ref" ref_path = path.join spec.values.first - ref_value = YAML.safe_load File.read(ref_path.to_s) + ref_value = YAML.safe_load_file(ref_path.to_s) resolve_refs ref_value, path: ref_path.parent, root_path:, root_spec: else diff --git a/lib/api/open_project_api.rb b/lib/api/open_project_api.rb index b68cf3e82dfa..cd8b86a29725 100644 --- a/lib/api/open_project_api.rb +++ b/lib/api/open_project_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/patchable_api.rb b/lib/api/patchable_api.rb index c9ade8448cf9..84ac8972ae5c 100644 --- a/lib/api/patchable_api.rb +++ b/lib/api/patchable_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/root.rb b/lib/api/root.rb index a87ae7f3c238..9974b605280f 100644 --- a/lib/api/root.rb +++ b/lib/api/root.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/root_api.rb b/lib/api/root_api.rb index 312fd51a2e56..8865fd187a13 100644 --- a/lib/api/root_api.rb +++ b/lib/api/root_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/camel_casing_strategy.rb b/lib/api/utilities/camel_casing_strategy.rb index 6d8447df7224..10fb02a2c385 100644 --- a/lib/api/utilities/camel_casing_strategy.rb +++ b/lib/api/utilities/camel_casing_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/decorator_factory.rb b/lib/api/utilities/decorator_factory.rb index dca91c3b0da3..e75714e5ad6a 100644 --- a/lib/api/utilities/decorator_factory.rb +++ b/lib/api/utilities/decorator_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/endpoints/bodied.rb b/lib/api/utilities/endpoints/bodied.rb index 1f3fea858cf6..cf1303d106ed 100644 --- a/lib/api/utilities/endpoints/bodied.rb +++ b/lib/api/utilities/endpoints/bodied.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/endpoints/create.rb b/lib/api/utilities/endpoints/create.rb index 866396bb6c39..9c98d463bd64 100644 --- a/lib/api/utilities/endpoints/create.rb +++ b/lib/api/utilities/endpoints/create.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/endpoints/delete.rb b/lib/api/utilities/endpoints/delete.rb index 4dece6295830..c7eaab693c6c 100644 --- a/lib/api/utilities/endpoints/delete.rb +++ b/lib/api/utilities/endpoints/delete.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,7 +34,7 @@ class Delete def default_instance_generator(model) ->(_params) do - instance_variable_get("@#{model.name.demodulize.underscore}") + instance_variable_get(:"@#{model.name.demodulize.underscore}") end end diff --git a/lib/api/utilities/endpoints/index.rb b/lib/api/utilities/endpoints/index.rb index b06650229659..a867b4551aa7 100644 --- a/lib/api/utilities/endpoints/index.rb +++ b/lib/api/utilities/endpoints/index.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/endpoints/modify.rb b/lib/api/utilities/endpoints/modify.rb index 94a11f918b46..f264d09b3a91 100644 --- a/lib/api/utilities/endpoints/modify.rb +++ b/lib/api/utilities/endpoints/modify.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -32,7 +32,7 @@ module Endpoints class Modify < Bodied def default_instance_generator(model) ->(_params, _current_user) do - instance_variable_get("@#{model.name.demodulize.underscore}") + instance_variable_get(:"@#{model.name.demodulize.underscore}") end end diff --git a/lib/api/utilities/endpoints/namespaced_lookup.rb b/lib/api/utilities/endpoints/namespaced_lookup.rb index 62e0a4888706..c3d9b678b7c8 100644 --- a/lib/api/utilities/endpoints/namespaced_lookup.rb +++ b/lib/api/utilities/endpoints/namespaced_lookup.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/endpoints/show.rb b/lib/api/utilities/endpoints/show.rb index d4d84c9ceb0d..9b830eddaee3 100644 --- a/lib/api/utilities/endpoints/show.rb +++ b/lib/api/utilities/endpoints/show.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -32,7 +32,7 @@ module Endpoints class Show def default_instance_generator(model) ->(_params) do - instance_variable_get("@#{model.name.demodulize.underscore}") + instance_variable_get(:"@#{model.name.demodulize.underscore}") end end diff --git a/lib/api/utilities/endpoints/update.rb b/lib/api/utilities/endpoints/update.rb index 889e88ee4d76..64debc9ecfee 100644 --- a/lib/api/utilities/endpoints/update.rb +++ b/lib/api/utilities/endpoints/update.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -32,7 +32,7 @@ module Endpoints class Update < Modify def default_instance_generator(model) ->(_params) do - instance_variable_get("@#{model.name.demodulize.underscore}") + instance_variable_get(:"@#{model.name.demodulize.underscore}") end end diff --git a/lib/api/utilities/grape_helper.rb b/lib/api/utilities/grape_helper.rb index 78264eec44d2..673ebd97d519 100644 --- a/lib/api/utilities/grape_helper.rb +++ b/lib/api/utilities/grape_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/meta_property.rb b/lib/api/utilities/meta_property.rb index 2ca7a3485964..fed56c41ce5a 100644 --- a/lib/api/utilities/meta_property.rb +++ b/lib/api/utilities/meta_property.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/payload_representer.rb b/lib/api/utilities/payload_representer.rb index 0e167792d004..5ac06bb8054b 100644 --- a/lib/api/utilities/payload_representer.rb +++ b/lib/api/utilities/payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/property_name_converter.rb b/lib/api/utilities/property_name_converter.rb index e378d88604ad..ae7cff016063 100644 --- a/lib/api/utilities/property_name_converter.rb +++ b/lib/api/utilities/property_name_converter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/property_name_converter_query_context.rb b/lib/api/utilities/property_name_converter_query_context.rb index 5f4e871ee69c..71dbba8dd0b3 100644 --- a/lib/api/utilities/property_name_converter_query_context.rb +++ b/lib/api/utilities/property_name_converter_query_context.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/property_name_converter_work_package_dummy.rb b/lib/api/utilities/property_name_converter_work_package_dummy.rb index efefb695a5e6..9c4725b57b11 100644 --- a/lib/api/utilities/property_name_converter_work_package_dummy.rb +++ b/lib/api/utilities/property_name_converter_work_package_dummy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/query_filters_name_converter.rb b/lib/api/utilities/query_filters_name_converter.rb index 0eab16f5c2ae..a4de3f025c16 100644 --- a/lib/api/utilities/query_filters_name_converter.rb +++ b/lib/api/utilities/query_filters_name_converter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/representer_to_json_cache.rb b/lib/api/utilities/representer_to_json_cache.rb index 82a525011204..e2972a36dfcb 100644 --- a/lib/api/utilities/representer_to_json_cache.rb +++ b/lib/api/utilities/representer_to_json_cache.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/resource_link_parser.rb b/lib/api/utilities/resource_link_parser.rb index 68ffc6f58f62..1180de83c00f 100644 --- a/lib/api/utilities/resource_link_parser.rb +++ b/lib/api/utilities/resource_link_parser.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/text_renderer.rb b/lib/api/utilities/text_renderer.rb index 0b2281abb252..864f06c1a384 100644 --- a/lib/api/utilities/text_renderer.rb +++ b/lib/api/utilities/text_renderer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/url_helper.rb b/lib/api/utilities/url_helper.rb index 893beea90f9c..5169e9485c9e 100644 --- a/lib/api/utilities/url_helper.rb +++ b/lib/api/utilities/url_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/url_props_parsing_helper.rb b/lib/api/utilities/url_props_parsing_helper.rb index 84f0c8cf3e77..34e7f0203208 100644 --- a/lib/api/utilities/url_props_parsing_helper.rb +++ b/lib/api/utilities/url_props_parsing_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/utilities/wp_property_name_converter.rb b/lib/api/utilities/wp_property_name_converter.rb index d0c0260ae312..c445ad614359 100644 --- a/lib/api/utilities/wp_property_name_converter.rb +++ b/lib/api/utilities/wp_property_name_converter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3.rb b/lib/api/v3.rb index f3e573561bb4..0473e84041e7 100644 --- a/lib/api/v3.rb +++ b/lib/api/v3.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/actions/action_sql_collection_representer.rb b/lib/api/v3/actions/action_sql_collection_representer.rb index 6edf15d0eaa0..a66cffb92606 100644 --- a/lib/api/v3/actions/action_sql_collection_representer.rb +++ b/lib/api/v3/actions/action_sql_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/actions/action_sql_representer.rb b/lib/api/v3/actions/action_sql_representer.rb index 51af88c097be..a5cec51b4e85 100644 --- a/lib/api/v3/actions/action_sql_representer.rb +++ b/lib/api/v3/actions/action_sql_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/actions/actions_api.rb b/lib/api/v3/actions/actions_api.rb index c214525c5754..4c3db3b45058 100644 --- a/lib/api/v3/actions/actions_api.rb +++ b/lib/api/v3/actions/actions_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/activities/activities_api.rb b/lib/api/v3/activities/activities_api.rb index 47a8ccb4ae0c..68bbad2f5c03 100644 --- a/lib/api/v3/activities/activities_api.rb +++ b/lib/api/v3/activities/activities_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/activities/activities_by_work_package_api.rb b/lib/api/v3/activities/activities_by_work_package_api.rb index 5dd5f182e5ee..bdd1053e3ae6 100644 --- a/lib/api/v3/activities/activities_by_work_package_api.rb +++ b/lib/api/v3/activities/activities_by_work_package_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/activities/activity_collection_representer.rb b/lib/api/v3/activities/activity_collection_representer.rb index c65176fb087e..94f6ea869f42 100644 --- a/lib/api/v3/activities/activity_collection_representer.rb +++ b/lib/api/v3/activities/activity_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/activities/activity_eager_loading_wrapper.rb b/lib/api/v3/activities/activity_eager_loading_wrapper.rb index 4c2bf913e788..1ca183ff7e22 100644 --- a/lib/api/v3/activities/activity_eager_loading_wrapper.rb +++ b/lib/api/v3/activities/activity_eager_loading_wrapper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/activities/activity_payload_representer.rb b/lib/api/v3/activities/activity_payload_representer.rb index f288d8d875da..c63a5a3901ac 100644 --- a/lib/api/v3/activities/activity_payload_representer.rb +++ b/lib/api/v3/activities/activity_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/activities/activity_property_formatters.rb b/lib/api/v3/activities/activity_property_formatters.rb index 14774eab3dd1..b49129870600 100644 --- a/lib/api/v3/activities/activity_property_formatters.rb +++ b/lib/api/v3/activities/activity_property_formatters.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -52,7 +52,6 @@ def render_details(journal, html: true, activity_page: nil) journal .details .filter_map { |d| journal.render_detail(d, html:, activity_page:) } - end def journal_note(journal) diff --git a/lib/api/v3/activities/activity_representer.rb b/lib/api/v3/activities/activity_representer.rb index 767cca244bf9..85e590fa0189 100644 --- a/lib/api/v3/activities/activity_representer.rb +++ b/lib/api/v3/activities/activity_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachable_payload_representer_mixin.rb b/lib/api/v3/attachments/attachable_payload_representer_mixin.rb index a3f9171733f7..72bfd5550d32 100644 --- a/lib/api/v3/attachments/attachable_payload_representer_mixin.rb +++ b/lib/api/v3/attachments/attachable_payload_representer_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachable_representer_mixin.rb b/lib/api/v3/attachments/attachable_representer_mixin.rb index fed4be38567b..a16975c49b71 100644 --- a/lib/api/v3/attachments/attachable_representer_mixin.rb +++ b/lib/api/v3/attachments/attachable_representer_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachment_collection_representer.rb b/lib/api/v3/attachments/attachment_collection_representer.rb index bd985baae8a0..4f75290dbd81 100644 --- a/lib/api/v3/attachments/attachment_collection_representer.rb +++ b/lib/api/v3/attachments/attachment_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachment_parsing_representer.rb b/lib/api/v3/attachments/attachment_parsing_representer.rb index 892a8bf3772d..84d2221a1319 100644 --- a/lib/api/v3/attachments/attachment_parsing_representer.rb +++ b/lib/api/v3/attachments/attachment_parsing_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachment_representer.rb b/lib/api/v3/attachments/attachment_representer.rb index 6599242ceaf3..0d75c27d2e90 100644 --- a/lib/api/v3/attachments/attachment_representer.rb +++ b/lib/api/v3/attachments/attachment_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachment_upload_representer.rb b/lib/api/v3/attachments/attachment_upload_representer.rb index 0dc3e0e7d9c2..5e5c63b6923d 100644 --- a/lib/api/v3/attachments/attachment_upload_representer.rb +++ b/lib/api/v3/attachments/attachment_upload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachments_api.rb b/lib/api/v3/attachments/attachments_api.rb index f3a0b8c6683f..cc3d885f8495 100644 --- a/lib/api/v3/attachments/attachments_api.rb +++ b/lib/api/v3/attachments/attachments_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachments_by_container_api.rb b/lib/api/v3/attachments/attachments_by_container_api.rb index c7464272deba..9782e1e59852 100644 --- a/lib/api/v3/attachments/attachments_by_container_api.rb +++ b/lib/api/v3/attachments/attachments_by_container_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachments_by_help_text_api.rb b/lib/api/v3/attachments/attachments_by_help_text_api.rb index 341054fbcd92..18d9824c1f08 100644 --- a/lib/api/v3/attachments/attachments_by_help_text_api.rb +++ b/lib/api/v3/attachments/attachments_by_help_text_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachments_by_post_api.rb b/lib/api/v3/attachments/attachments_by_post_api.rb index 6713259258e0..ac67d4fd7065 100644 --- a/lib/api/v3/attachments/attachments_by_post_api.rb +++ b/lib/api/v3/attachments/attachments_by_post_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachments_by_wiki_page_api.rb b/lib/api/v3/attachments/attachments_by_wiki_page_api.rb index ef9012b53a72..f090b52d80fb 100644 --- a/lib/api/v3/attachments/attachments_by_wiki_page_api.rb +++ b/lib/api/v3/attachments/attachments_by_wiki_page_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/attachments/attachments_by_work_package_api.rb b/lib/api/v3/attachments/attachments_by_work_package_api.rb index fe6148e880c2..478426666753 100644 --- a/lib/api/v3/attachments/attachments_by_work_package_api.rb +++ b/lib/api/v3/attachments/attachments_by_work_package_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/backups/backup_representer.rb b/lib/api/v3/backups/backup_representer.rb index 7f8951b949d7..0512e5df5bc5 100644 --- a/lib/api/v3/backups/backup_representer.rb +++ b/lib/api/v3/backups/backup_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/backups/backups_api.rb b/lib/api/v3/backups/backups_api.rb index d1db4caa93ee..e445bdb88d73 100644 --- a/lib/api/v3/backups/backups_api.rb +++ b/lib/api/v3/backups/backups_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/capabilities/capabilities_api.rb b/lib/api/v3/capabilities/capabilities_api.rb index b1fd50ed7216..57e987e9bb0e 100644 --- a/lib/api/v3/capabilities/capabilities_api.rb +++ b/lib/api/v3/capabilities/capabilities_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/capabilities/capability_sql_collection_representer.rb b/lib/api/v3/capabilities/capability_sql_collection_representer.rb index 11de3b2a2976..f48ede8e5cb3 100644 --- a/lib/api/v3/capabilities/capability_sql_collection_representer.rb +++ b/lib/api/v3/capabilities/capability_sql_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/capabilities/capability_sql_representer.rb b/lib/api/v3/capabilities/capability_sql_representer.rb index b8d4841e5919..dd1c9a9f46dd 100644 --- a/lib/api/v3/capabilities/capability_sql_representer.rb +++ b/lib/api/v3/capabilities/capability_sql_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/capabilities/contexts/global_api.rb b/lib/api/v3/capabilities/contexts/global_api.rb index 05678c597822..6c38bb6f36e9 100644 --- a/lib/api/v3/capabilities/contexts/global_api.rb +++ b/lib/api/v3/capabilities/contexts/global_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/capabilities/contexts/global_representer.rb b/lib/api/v3/capabilities/contexts/global_representer.rb index 8964e1d743f8..4cf8b627800d 100644 --- a/lib/api/v3/capabilities/contexts/global_representer.rb +++ b/lib/api/v3/capabilities/contexts/global_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/categories/categories_api.rb b/lib/api/v3/categories/categories_api.rb index 76ea9520f0e8..f0466393b783 100644 --- a/lib/api/v3/categories/categories_api.rb +++ b/lib/api/v3/categories/categories_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/categories/categories_by_project_api.rb b/lib/api/v3/categories/categories_by_project_api.rb index 0501538b306e..4eb82a0c8a08 100644 --- a/lib/api/v3/categories/categories_by_project_api.rb +++ b/lib/api/v3/categories/categories_by_project_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/categories/category_collection_representer.rb b/lib/api/v3/categories/category_collection_representer.rb index 2e2113d5b2a9..ac83b8e9fcd6 100644 --- a/lib/api/v3/categories/category_collection_representer.rb +++ b/lib/api/v3/categories/category_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/categories/category_representer.rb b/lib/api/v3/categories/category_representer.rb index 4602bc965fff..1160223cc90a 100644 --- a/lib/api/v3/categories/category_representer.rb +++ b/lib/api/v3/categories/category_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/configuration/configuration_api.rb b/lib/api/v3/configuration/configuration_api.rb index 4418423921e7..28f9c961d3e2 100644 --- a/lib/api/v3/configuration/configuration_api.rb +++ b/lib/api/v3/configuration/configuration_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/configuration/configuration_representer.rb b/lib/api/v3/configuration/configuration_representer.rb index 7612d9f9b028..9f2da76f7bf1 100644 --- a/lib/api/v3/configuration/configuration_representer.rb +++ b/lib/api/v3/configuration/configuration_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/cors.rb b/lib/api/v3/cors.rb index 919dd7b26f52..22e9b4d87ed9 100644 --- a/lib/api/v3/cors.rb +++ b/lib/api/v3/cors.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/custom_actions/custom_action_execute_representer.rb b/lib/api/v3/custom_actions/custom_action_execute_representer.rb index c0716ebe6c98..701693ab9c93 100644 --- a/lib/api/v3/custom_actions/custom_action_execute_representer.rb +++ b/lib/api/v3/custom_actions/custom_action_execute_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/custom_actions/custom_action_representer.rb b/lib/api/v3/custom_actions/custom_action_representer.rb index e13ebb8b3ca4..9cec648f3f28 100644 --- a/lib/api/v3/custom_actions/custom_action_representer.rb +++ b/lib/api/v3/custom_actions/custom_action_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/custom_actions/custom_actions_api.rb b/lib/api/v3/custom_actions/custom_actions_api.rb index 8bff2f26dbca..e15dd1b546e6 100644 --- a/lib/api/v3/custom_actions/custom_actions_api.rb +++ b/lib/api/v3/custom_actions/custom_actions_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/custom_options/custom_option_representer.rb b/lib/api/v3/custom_options/custom_option_representer.rb index 4acd22925826..29415f1d2ec8 100644 --- a/lib/api/v3/custom_options/custom_option_representer.rb +++ b/lib/api/v3/custom_options/custom_option_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/custom_options/custom_options_api.rb b/lib/api/v3/custom_options/custom_options_api.rb index f77cae7738e0..3c7aa2af45da 100644 --- a/lib/api/v3/custom_options/custom_options_api.rb +++ b/lib/api/v3/custom_options/custom_options_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/days/day_collection_representer.rb b/lib/api/v3/days/day_collection_representer.rb index 4e63f1d10417..d2700ca0be31 100644 --- a/lib/api/v3/days/day_collection_representer.rb +++ b/lib/api/v3/days/day_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/days/day_representer.rb b/lib/api/v3/days/day_representer.rb index 423beba4765a..8feed13970ef 100644 --- a/lib/api/v3/days/day_representer.rb +++ b/lib/api/v3/days/day_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/days/days_api.rb b/lib/api/v3/days/days_api.rb index 3c70f64891e7..e305544a9391 100644 --- a/lib/api/v3/days/days_api.rb +++ b/lib/api/v3/days/days_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/days/non_working_day_collection_representer.rb b/lib/api/v3/days/non_working_day_collection_representer.rb index 484773552344..6487ff027550 100644 --- a/lib/api/v3/days/non_working_day_collection_representer.rb +++ b/lib/api/v3/days/non_working_day_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/days/non_working_day_representer.rb b/lib/api/v3/days/non_working_day_representer.rb index 5fc596d1e56b..b3955e92764b 100644 --- a/lib/api/v3/days/non_working_day_representer.rb +++ b/lib/api/v3/days/non_working_day_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/days/non_working_days_api.rb b/lib/api/v3/days/non_working_days_api.rb index cb40008bb5c2..cf83604a08d4 100644 --- a/lib/api/v3/days/non_working_days_api.rb +++ b/lib/api/v3/days/non_working_days_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/days/week_api.rb b/lib/api/v3/days/week_api.rb index e7b81e5853a6..80239ebf56d4 100644 --- a/lib/api/v3/days/week_api.rb +++ b/lib/api/v3/days/week_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/days/week_day_collection_representer.rb b/lib/api/v3/days/week_day_collection_representer.rb index 4ca77b89fb5e..c52e62ec2b01 100644 --- a/lib/api/v3/days/week_day_collection_representer.rb +++ b/lib/api/v3/days/week_day_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/days/week_day_representer.rb b/lib/api/v3/days/week_day_representer.rb index 11c529505d60..7ab9288ff7a7 100644 --- a/lib/api/v3/days/week_day_representer.rb +++ b/lib/api/v3/days/week_day_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/errors/error_representer.rb b/lib/api/v3/errors/error_representer.rb index 0e0f23bfd694..1151c2ce6c39 100644 --- a/lib/api/v3/errors/error_representer.rb +++ b/lib/api/v3/errors/error_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/formatter/txt_charset.rb b/lib/api/v3/formatter/txt_charset.rb index bddf462edf3b..9396a5df39f6 100644 --- a/lib/api/v3/formatter/txt_charset.rb +++ b/lib/api/v3/formatter/txt_charset.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/groups/group_collection_representer.rb b/lib/api/v3/groups/group_collection_representer.rb index 9ffcf5842146..c86b54ebb675 100644 --- a/lib/api/v3/groups/group_collection_representer.rb +++ b/lib/api/v3/groups/group_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/groups/group_payload_representer.rb b/lib/api/v3/groups/group_payload_representer.rb index 0407ceaf427f..b6983666e799 100644 --- a/lib/api/v3/groups/group_payload_representer.rb +++ b/lib/api/v3/groups/group_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/groups/group_representer.rb b/lib/api/v3/groups/group_representer.rb index 7979ab587d28..1f3a77d2d6f7 100644 --- a/lib/api/v3/groups/group_representer.rb +++ b/lib/api/v3/groups/group_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/groups/groups_api.rb b/lib/api/v3/groups/groups_api.rb index df2699d92681..5a7f638cdf04 100644 --- a/lib/api/v3/groups/groups_api.rb +++ b/lib/api/v3/groups/groups_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/help_texts/help_text_collection_representer.rb b/lib/api/v3/help_texts/help_text_collection_representer.rb index 1e102582cae8..126b8561179d 100644 --- a/lib/api/v3/help_texts/help_text_collection_representer.rb +++ b/lib/api/v3/help_texts/help_text_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/help_texts/help_text_representer.rb b/lib/api/v3/help_texts/help_text_representer.rb index fbc23bae8bf7..e8e0facaa913 100644 --- a/lib/api/v3/help_texts/help_text_representer.rb +++ b/lib/api/v3/help_texts/help_text_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/help_texts/help_texts_api.rb b/lib/api/v3/help_texts/help_texts_api.rb index 3b4cb359b884..eb72a5f16e49 100644 --- a/lib/api/v3/help_texts/help_texts_api.rb +++ b/lib/api/v3/help_texts/help_texts_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/available_projects_api.rb b/lib/api/v3/memberships/available_projects_api.rb index 9b47c6045c98..278487aae9d0 100644 --- a/lib/api/v3/memberships/available_projects_api.rb +++ b/lib/api/v3/memberships/available_projects_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/create_form_api.rb b/lib/api/v3/memberships/create_form_api.rb index 3f0efc9ca513..01466a485da6 100644 --- a/lib/api/v3/memberships/create_form_api.rb +++ b/lib/api/v3/memberships/create_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/create_form_representer.rb b/lib/api/v3/memberships/create_form_representer.rb index 46fbe9ad7a65..6b811e48f9e9 100644 --- a/lib/api/v3/memberships/create_form_representer.rb +++ b/lib/api/v3/memberships/create_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/form_representer.rb b/lib/api/v3/memberships/form_representer.rb index 40c338de6821..4db91894abeb 100644 --- a/lib/api/v3/memberships/form_representer.rb +++ b/lib/api/v3/memberships/form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/membership_collection_representer.rb b/lib/api/v3/memberships/membership_collection_representer.rb index a013c5d9a308..a5c8ea981129 100644 --- a/lib/api/v3/memberships/membership_collection_representer.rb +++ b/lib/api/v3/memberships/membership_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/membership_meta_representer.rb b/lib/api/v3/memberships/membership_meta_representer.rb index 2fd97d8f3ff0..9f38c27f75ea 100644 --- a/lib/api/v3/memberships/membership_meta_representer.rb +++ b/lib/api/v3/memberships/membership_meta_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/membership_payload_representer.rb b/lib/api/v3/memberships/membership_payload_representer.rb index 8bc503c8df23..64e589d51721 100644 --- a/lib/api/v3/memberships/membership_payload_representer.rb +++ b/lib/api/v3/memberships/membership_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/membership_representer.rb b/lib/api/v3/memberships/membership_representer.rb index 5fe2b4e5e1f5..edf2a7e84f00 100644 --- a/lib/api/v3/memberships/membership_representer.rb +++ b/lib/api/v3/memberships/membership_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/memberships_api.rb b/lib/api/v3/memberships/memberships_api.rb index 08d2921f1d57..1bb9fdeeef60 100644 --- a/lib/api/v3/memberships/memberships_api.rb +++ b/lib/api/v3/memberships/memberships_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/schemas/membership_schema_api.rb b/lib/api/v3/memberships/schemas/membership_schema_api.rb index 4fd439286f73..23c08cbd5715 100644 --- a/lib/api/v3/memberships/schemas/membership_schema_api.rb +++ b/lib/api/v3/memberships/schemas/membership_schema_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/schemas/membership_schema_representer.rb b/lib/api/v3/memberships/schemas/membership_schema_representer.rb index a2483633ae26..84443abf26d9 100644 --- a/lib/api/v3/memberships/schemas/membership_schema_representer.rb +++ b/lib/api/v3/memberships/schemas/membership_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/update_form_api.rb b/lib/api/v3/memberships/update_form_api.rb index f6bf0828f7d9..fd2267e35ac9 100644 --- a/lib/api/v3/memberships/update_form_api.rb +++ b/lib/api/v3/memberships/update_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/memberships/update_form_representer.rb b/lib/api/v3/memberships/update_form_representer.rb index 61d1c1037090..d6c1e9dd6cee 100644 --- a/lib/api/v3/memberships/update_form_representer.rb +++ b/lib/api/v3/memberships/update_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/news/news_api.rb b/lib/api/v3/news/news_api.rb index 84af592b7cbf..3609f7a72657 100644 --- a/lib/api/v3/news/news_api.rb +++ b/lib/api/v3/news/news_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/news/news_collection_representer.rb b/lib/api/v3/news/news_collection_representer.rb index f714c8f87df9..41e9661bf796 100644 --- a/lib/api/v3/news/news_collection_representer.rb +++ b/lib/api/v3/news/news_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/news/news_representer.rb b/lib/api/v3/news/news_representer.rb index 6dcdc5e0ab1b..37b493c31d7f 100644 --- a/lib/api/v3/news/news_representer.rb +++ b/lib/api/v3/news/news_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/notifications/notification_collection_representer.rb b/lib/api/v3/notifications/notification_collection_representer.rb index b9f0eb4631b4..55365f8f6317 100644 --- a/lib/api/v3/notifications/notification_collection_representer.rb +++ b/lib/api/v3/notifications/notification_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/notifications/notification_eager_loading_wrapper.rb b/lib/api/v3/notifications/notification_eager_loading_wrapper.rb index 0978214c8471..886e09cdd950 100644 --- a/lib/api/v3/notifications/notification_eager_loading_wrapper.rb +++ b/lib/api/v3/notifications/notification_eager_loading_wrapper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/notifications/notification_representer.rb b/lib/api/v3/notifications/notification_representer.rb index ec8794a4b672..21cc313fe99b 100644 --- a/lib/api/v3/notifications/notification_representer.rb +++ b/lib/api/v3/notifications/notification_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/notifications/notifications_api.rb b/lib/api/v3/notifications/notifications_api.rb index 9acaf955b2c9..8e32878283df 100644 --- a/lib/api/v3/notifications/notifications_api.rb +++ b/lib/api/v3/notifications/notifications_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/oauth/oauth_applications_api.rb b/lib/api/v3/oauth/oauth_applications_api.rb index e93927a5f486..1b551700dbb7 100644 --- a/lib/api/v3/oauth/oauth_applications_api.rb +++ b/lib/api/v3/oauth/oauth_applications_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/oauth/oauth_applications_representer.rb b/lib/api/v3/oauth/oauth_applications_representer.rb index ecf0616797a6..664950489908 100644 --- a/lib/api/v3/oauth/oauth_applications_representer.rb +++ b/lib/api/v3/oauth/oauth_applications_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/oauth/oauth_client_credentials_api.rb b/lib/api/v3/oauth/oauth_client_credentials_api.rb index 03cd2b75684c..b3435c3b4ea2 100644 --- a/lib/api/v3/oauth/oauth_client_credentials_api.rb +++ b/lib/api/v3/oauth/oauth_client_credentials_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/oauth/oauth_client_credentials_representer.rb b/lib/api/v3/oauth/oauth_client_credentials_representer.rb index a69062577107..ba1d97ab44c4 100644 --- a/lib/api/v3/oauth/oauth_client_credentials_representer.rb +++ b/lib/api/v3/oauth/oauth_client_credentials_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/parser.rb b/lib/api/v3/parser.rb index d07bc6020c1b..bd672cb9c668 100644 --- a/lib/api/v3/parser.rb +++ b/lib/api/v3/parser.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/placeholder_users/placeholder_user_collection_representer.rb b/lib/api/v3/placeholder_users/placeholder_user_collection_representer.rb index 5b0d1da56594..96e02e2038a0 100644 --- a/lib/api/v3/placeholder_users/placeholder_user_collection_representer.rb +++ b/lib/api/v3/placeholder_users/placeholder_user_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/placeholder_users/placeholder_user_payload_representer.rb b/lib/api/v3/placeholder_users/placeholder_user_payload_representer.rb index df8baa041bef..35a11242541d 100644 --- a/lib/api/v3/placeholder_users/placeholder_user_payload_representer.rb +++ b/lib/api/v3/placeholder_users/placeholder_user_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/placeholder_users/placeholder_user_representer.rb b/lib/api/v3/placeholder_users/placeholder_user_representer.rb index 682ff942cb64..758b3f662ec9 100644 --- a/lib/api/v3/placeholder_users/placeholder_user_representer.rb +++ b/lib/api/v3/placeholder_users/placeholder_user_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/placeholder_users/placeholder_users_api.rb b/lib/api/v3/placeholder_users/placeholder_users_api.rb index 4b662a1c0117..4b986ac0e5d3 100644 --- a/lib/api/v3/placeholder_users/placeholder_users_api.rb +++ b/lib/api/v3/placeholder_users/placeholder_users_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/posts/post_representer.rb b/lib/api/v3/posts/post_representer.rb index 3e5c9252338b..f31becbc3784 100644 --- a/lib/api/v3/posts/post_representer.rb +++ b/lib/api/v3/posts/post_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/posts/posts_api.rb b/lib/api/v3/posts/posts_api.rb index c735bb2d854c..90e6d55e9029 100644 --- a/lib/api/v3/posts/posts_api.rb +++ b/lib/api/v3/posts/posts_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/principals/not_builtin_elements.rb b/lib/api/v3/principals/not_builtin_elements.rb index 7df995f6d481..de70bf2b9488 100644 --- a/lib/api/v3/principals/not_builtin_elements.rb +++ b/lib/api/v3/principals/not_builtin_elements.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/principals/principal_representer.rb b/lib/api/v3/principals/principal_representer.rb index 3cf270e34804..33813ee011b6 100644 --- a/lib/api/v3/principals/principal_representer.rb +++ b/lib/api/v3/principals/principal_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/principals/principal_representer_factory.rb b/lib/api/v3/principals/principal_representer_factory.rb index 6540cfb7145c..e6c7b2bc8ffd 100644 --- a/lib/api/v3/principals/principal_representer_factory.rb +++ b/lib/api/v3/principals/principal_representer_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/principals/principal_type.rb b/lib/api/v3/principals/principal_type.rb index a8e5d0a3df8c..0006aaabbf77 100644 --- a/lib/api/v3/principals/principal_type.rb +++ b/lib/api/v3/principals/principal_type.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/principals/principals_api.rb b/lib/api/v3/principals/principals_api.rb index bc6406e6d439..09e3202bb8eb 100644 --- a/lib/api/v3/principals/principals_api.rb +++ b/lib/api/v3/principals/principals_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/priorities/priorities_api.rb b/lib/api/v3/priorities/priorities_api.rb index 1300397ecc4d..40c05d815102 100644 --- a/lib/api/v3/priorities/priorities_api.rb +++ b/lib/api/v3/priorities/priorities_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/priorities/priority_collection_representer.rb b/lib/api/v3/priorities/priority_collection_representer.rb index 5f497254b2ed..85a17f8f21ea 100644 --- a/lib/api/v3/priorities/priority_collection_representer.rb +++ b/lib/api/v3/priorities/priority_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/priorities/priority_representer.rb b/lib/api/v3/priorities/priority_representer.rb index 4bb9849cbb90..cc69f6cce143 100644 --- a/lib/api/v3/priorities/priority_representer.rb +++ b/lib/api/v3/priorities/priority_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/available_assignees_api.rb b/lib/api/v3/projects/available_assignees_api.rb index 305911ccc8a7..804f2ec11cc2 100644 --- a/lib/api/v3/projects/available_assignees_api.rb +++ b/lib/api/v3/projects/available_assignees_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,7 +34,7 @@ module Projects class AvailableAssigneesAPI < ::API::OpenProjectAPI resource :available_assignees do after_validation do - authorize_in_any_work_package(:view_work_packages) + authorize_in_project(:add_work_packages, project: @project) end get &::API::V3::Utilities::Endpoints::Index.new(model: Principal, diff --git a/lib/api/v3/projects/available_parents_api.rb b/lib/api/v3/projects/available_parents_api.rb index 4756649c9ec7..4b765cfdfd19 100644 --- a/lib/api/v3/projects/available_parents_api.rb +++ b/lib/api/v3/projects/available_parents_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/available_responsibles_api.rb b/lib/api/v3/projects/available_responsibles_api.rb index e5e12b7869b8..14a14cc0a5ba 100644 --- a/lib/api/v3/projects/available_responsibles_api.rb +++ b/lib/api/v3/projects/available_responsibles_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/copy/copy_api.rb b/lib/api/v3/projects/copy/copy_api.rb index 4685a6fafdd7..63013205f73e 100644 --- a/lib/api/v3/projects/copy/copy_api.rb +++ b/lib/api/v3/projects/copy/copy_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/copy/create_form_api.rb b/lib/api/v3/projects/copy/create_form_api.rb index 85c8ba2172de..35c02e4e1d99 100644 --- a/lib/api/v3/projects/copy/create_form_api.rb +++ b/lib/api/v3/projects/copy/create_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/copy/create_form_representer.rb b/lib/api/v3/projects/copy/create_form_representer.rb index 1188bf9ab2f4..fa1a0467331e 100644 --- a/lib/api/v3/projects/copy/create_form_representer.rb +++ b/lib/api/v3/projects/copy/create_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/copy/form_representer.rb b/lib/api/v3/projects/copy/form_representer.rb index 3a87f2a1499a..ce1c85f68ca7 100644 --- a/lib/api/v3/projects/copy/form_representer.rb +++ b/lib/api/v3/projects/copy/form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/copy/parse_copy_params_service.rb b/lib/api/v3/projects/copy/parse_copy_params_service.rb index ec664ba0c66b..f0e28cb3941b 100644 --- a/lib/api/v3/projects/copy/parse_copy_params_service.rb +++ b/lib/api/v3/projects/copy/parse_copy_params_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/copy/project_copy_meta_representer.rb b/lib/api/v3/projects/copy/project_copy_meta_representer.rb index 551beec389d2..bda799375c44 100644 --- a/lib/api/v3/projects/copy/project_copy_meta_representer.rb +++ b/lib/api/v3/projects/copy/project_copy_meta_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/copy/project_copy_payload_representer.rb b/lib/api/v3/projects/copy/project_copy_payload_representer.rb index 18563d0573a2..999a6aea1997 100644 --- a/lib/api/v3/projects/copy/project_copy_payload_representer.rb +++ b/lib/api/v3/projects/copy/project_copy_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/copy/project_copy_schema_representer.rb b/lib/api/v3/projects/copy/project_copy_schema_representer.rb index 19a75005ae25..c2b22b432cca 100644 --- a/lib/api/v3/projects/copy/project_copy_schema_representer.rb +++ b/lib/api/v3/projects/copy/project_copy_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/create_form_api.rb b/lib/api/v3/projects/create_form_api.rb index 1242d63582ad..906a8529a41f 100644 --- a/lib/api/v3/projects/create_form_api.rb +++ b/lib/api/v3/projects/create_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/create_form_representer.rb b/lib/api/v3/projects/create_form_representer.rb index 94e2a36f6d78..a4a699c0432a 100644 --- a/lib/api/v3/projects/create_form_representer.rb +++ b/lib/api/v3/projects/create_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/form_representer.rb b/lib/api/v3/projects/form_representer.rb index 4649fdbf1050..3603844de825 100644 --- a/lib/api/v3/projects/form_representer.rb +++ b/lib/api/v3/projects/form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/project_collection_representer.rb b/lib/api/v3/projects/project_collection_representer.rb index e800eaf40013..897d4b4dc678 100644 --- a/lib/api/v3/projects/project_collection_representer.rb +++ b/lib/api/v3/projects/project_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/project_eager_loading_wrapper.rb b/lib/api/v3/projects/project_eager_loading_wrapper.rb index c9d873e2086a..68d4e9c8dc1f 100644 --- a/lib/api/v3/projects/project_eager_loading_wrapper.rb +++ b/lib/api/v3/projects/project_eager_loading_wrapper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/project_payload_representer.rb b/lib/api/v3/projects/project_payload_representer.rb index 079b35e5a35e..e25601608ca9 100644 --- a/lib/api/v3/projects/project_payload_representer.rb +++ b/lib/api/v3/projects/project_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/project_representer.rb b/lib/api/v3/projects/project_representer.rb index 82bf0cf2bf60..6711821827fc 100644 --- a/lib/api/v3/projects/project_representer.rb +++ b/lib/api/v3/projects/project_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/project_sql_representer.rb b/lib/api/v3/projects/project_sql_representer.rb index aee3a9e7e61d..4090ee0641bc 100644 --- a/lib/api/v3/projects/project_sql_representer.rb +++ b/lib/api/v3/projects/project_sql_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/projects_api.rb b/lib/api/v3/projects/projects_api.rb index 1355ab5410b5..ee5c42750acb 100644 --- a/lib/api/v3/projects/projects_api.rb +++ b/lib/api/v3/projects/projects_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/schemas/project_schema_api.rb b/lib/api/v3/projects/schemas/project_schema_api.rb index bbfe1e167108..a5c98eafa7d4 100644 --- a/lib/api/v3/projects/schemas/project_schema_api.rb +++ b/lib/api/v3/projects/schemas/project_schema_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/schemas/project_schema_representer.rb b/lib/api/v3/projects/schemas/project_schema_representer.rb index 69ed1a9ac471..427d6cd174e9 100644 --- a/lib/api/v3/projects/schemas/project_schema_representer.rb +++ b/lib/api/v3/projects/schemas/project_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/statuses/status_representer.rb b/lib/api/v3/projects/statuses/status_representer.rb index d4f3bee122cc..61c6ef7a594c 100644 --- a/lib/api/v3/projects/statuses/status_representer.rb +++ b/lib/api/v3/projects/statuses/status_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/statuses/statuses_api.rb b/lib/api/v3/projects/statuses/statuses_api.rb index cab2b78fd0f0..3d118b14f151 100644 --- a/lib/api/v3/projects/statuses/statuses_api.rb +++ b/lib/api/v3/projects/statuses/statuses_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/update_form_api.rb b/lib/api/v3/projects/update_form_api.rb index 0bf90a480a4f..632e99bedf1f 100644 --- a/lib/api/v3/projects/update_form_api.rb +++ b/lib/api/v3/projects/update_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/projects/update_form_representer.rb b/lib/api/v3/projects/update_form_representer.rb index 231c5b1e80e8..4f513d582add 100644 --- a/lib/api/v3/projects/update_form_representer.rb +++ b/lib/api/v3/projects/update_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/columns/query_column_representer.rb b/lib/api/v3/queries/columns/query_column_representer.rb index f11c809d12c2..5b9bc68235ed 100644 --- a/lib/api/v3/queries/columns/query_column_representer.rb +++ b/lib/api/v3/queries/columns/query_column_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/columns/query_columns_api.rb b/lib/api/v3/queries/columns/query_columns_api.rb index 6b4cfaecd788..827c3c83eb99 100644 --- a/lib/api/v3/queries/columns/query_columns_api.rb +++ b/lib/api/v3/queries/columns/query_columns_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/columns/query_columns_factory.rb b/lib/api/v3/queries/columns/query_columns_factory.rb index 0cfb311a1730..1716d19a9518 100644 --- a/lib/api/v3/queries/columns/query_columns_factory.rb +++ b/lib/api/v3/queries/columns/query_columns_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/columns/query_property_column_representer.rb b/lib/api/v3/queries/columns/query_property_column_representer.rb index 146947468e5e..834e6bc990dd 100644 --- a/lib/api/v3/queries/columns/query_property_column_representer.rb +++ b/lib/api/v3/queries/columns/query_property_column_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/columns/query_relation_of_type_column_representer.rb b/lib/api/v3/queries/columns/query_relation_of_type_column_representer.rb index c953daa736be..f4fe94220395 100644 --- a/lib/api/v3/queries/columns/query_relation_of_type_column_representer.rb +++ b/lib/api/v3/queries/columns/query_relation_of_type_column_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/columns/query_relation_to_type_column_representer.rb b/lib/api/v3/queries/columns/query_relation_to_type_column_representer.rb index a7f7b61f3545..cc0524ef133c 100644 --- a/lib/api/v3/queries/columns/query_relation_to_type_column_representer.rb +++ b/lib/api/v3/queries/columns/query_relation_to_type_column_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/create_form_api.rb b/lib/api/v3/queries/create_form_api.rb index a079c80a5b8e..3db53da8ee51 100644 --- a/lib/api/v3/queries/create_form_api.rb +++ b/lib/api/v3/queries/create_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/create_form_representer.rb b/lib/api/v3/queries/create_form_representer.rb index 96797f771836..65bb5d0e4c11 100644 --- a/lib/api/v3/queries/create_form_representer.rb +++ b/lib/api/v3/queries/create_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/filters/query_filter_decorator.rb b/lib/api/v3/queries/filters/query_filter_decorator.rb index fcb9acea6962..9f6a9cce9f93 100644 --- a/lib/api/v3/queries/filters/query_filter_decorator.rb +++ b/lib/api/v3/queries/filters/query_filter_decorator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/filters/query_filter_instance_payload_representer.rb b/lib/api/v3/queries/filters/query_filter_instance_payload_representer.rb index 6be311eebb69..d4461c7fd579 100644 --- a/lib/api/v3/queries/filters/query_filter_instance_payload_representer.rb +++ b/lib/api/v3/queries/filters/query_filter_instance_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/filters/query_filter_instance_representer.rb b/lib/api/v3/queries/filters/query_filter_instance_representer.rb index e0ce2565b09a..6a12cab37998 100644 --- a/lib/api/v3/queries/filters/query_filter_instance_representer.rb +++ b/lib/api/v3/queries/filters/query_filter_instance_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/filters/query_filter_representer.rb b/lib/api/v3/queries/filters/query_filter_representer.rb index 3deaeb4a1409..d804946bfccb 100644 --- a/lib/api/v3/queries/filters/query_filter_representer.rb +++ b/lib/api/v3/queries/filters/query_filter_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/filters/query_filters_api.rb b/lib/api/v3/queries/filters/query_filters_api.rb index 4cde3952a82a..6dfbf76d7e29 100644 --- a/lib/api/v3/queries/filters/query_filters_api.rb +++ b/lib/api/v3/queries/filters/query_filters_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/form_representer.rb b/lib/api/v3/queries/form_representer.rb index b92c520aa294..eaf1c1899903 100644 --- a/lib/api/v3/queries/form_representer.rb +++ b/lib/api/v3/queries/form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/group_bys/query_group_by_representer.rb b/lib/api/v3/queries/group_bys/query_group_by_representer.rb index def35f3b83fc..2bb0960086e4 100644 --- a/lib/api/v3/queries/group_bys/query_group_by_representer.rb +++ b/lib/api/v3/queries/group_bys/query_group_by_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/group_bys/query_group_bys_api.rb b/lib/api/v3/queries/group_bys/query_group_bys_api.rb index 4ac2ed833bbb..f2f25f036dc8 100644 --- a/lib/api/v3/queries/group_bys/query_group_bys_api.rb +++ b/lib/api/v3/queries/group_bys/query_group_bys_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/helpers/query_representer_response.rb b/lib/api/v3/queries/helpers/query_representer_response.rb index 787da2728711..fae5f86c8215 100644 --- a/lib/api/v3/queries/helpers/query_representer_response.rb +++ b/lib/api/v3/queries/helpers/query_representer_response.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/ical_url/query_ical_url_api.rb b/lib/api/v3/queries/ical_url/query_ical_url_api.rb index 7c99d9a36cfe..b418b280ea00 100644 --- a/lib/api/v3/queries/ical_url/query_ical_url_api.rb +++ b/lib/api/v3/queries/ical_url/query_ical_url_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/ical_url/query_ical_url_representer.rb b/lib/api/v3/queries/ical_url/query_ical_url_representer.rb index e2a54c41e898..f48d6e0c030b 100644 --- a/lib/api/v3/queries/ical_url/query_ical_url_representer.rb +++ b/lib/api/v3/queries/ical_url/query_ical_url_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/operators/query_operator_representer.rb b/lib/api/v3/queries/operators/query_operator_representer.rb index 3e1fe5e181b9..af257847ad3d 100644 --- a/lib/api/v3/queries/operators/query_operator_representer.rb +++ b/lib/api/v3/queries/operators/query_operator_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/operators/query_operators_api.rb b/lib/api/v3/queries/operators/query_operators_api.rb index f8214a4e6a11..94ad3a55ad5c 100644 --- a/lib/api/v3/queries/operators/query_operators_api.rb +++ b/lib/api/v3/queries/operators/query_operators_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/order/query_order_api.rb b/lib/api/v3/queries/order/query_order_api.rb index 9525f311a5ea..5e9f811c8f50 100644 --- a/lib/api/v3/queries/order/query_order_api.rb +++ b/lib/api/v3/queries/order/query_order_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/projections/query_projection_representer.rb b/lib/api/v3/queries/projections/query_projection_representer.rb index 824f7c6dc7ae..88538c70e2f4 100644 --- a/lib/api/v3/queries/projections/query_projection_representer.rb +++ b/lib/api/v3/queries/projections/query_projection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/queries_api.rb b/lib/api/v3/queries/queries_api.rb index df0e5022fa31..de3cf226a506 100644 --- a/lib/api/v3/queries/queries_api.rb +++ b/lib/api/v3/queries/queries_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/queries_by_project_api.rb b/lib/api/v3/queries/queries_by_project_api.rb index cfd6f7c8759d..c1a1e027c54c 100644 --- a/lib/api/v3/queries/queries_by_project_api.rb +++ b/lib/api/v3/queries/queries_by_project_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/query_collection_representer.rb b/lib/api/v3/queries/query_collection_representer.rb index f3c555612810..cd27f1a952cc 100644 --- a/lib/api/v3/queries/query_collection_representer.rb +++ b/lib/api/v3/queries/query_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/query_helper.rb b/lib/api/v3/queries/query_helper.rb index 86c8e7f822c8..67778f7072df 100644 --- a/lib/api/v3/queries/query_helper.rb +++ b/lib/api/v3/queries/query_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/query_params_representer.rb b/lib/api/v3/queries/query_params_representer.rb index 9b37b15f5d95..ccbcce6b1d3c 100644 --- a/lib/api/v3/queries/query_params_representer.rb +++ b/lib/api/v3/queries/query_params_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/query_payload_representer.rb b/lib/api/v3/queries/query_payload_representer.rb index efe2bb6beb10..c2d5e73aae00 100644 --- a/lib/api/v3/queries/query_payload_representer.rb +++ b/lib/api/v3/queries/query_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/query_representer.rb b/lib/api/v3/queries/query_representer.rb index fb25839ba3db..589430fb07f0 100644 --- a/lib/api/v3/queries/query_representer.rb +++ b/lib/api/v3/queries/query_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/access_to_project_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/access_to_project_filter_dependency_representer.rb index 005ea5009ac3..9222ab390cd7 100644 --- a/lib/api/v3/queries/schemas/access_to_project_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/access_to_project_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/assignee_or_group_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/assignee_or_group_filter_dependency_representer.rb index 924b209d98cf..63fdf78de340 100644 --- a/lib/api/v3/queries/schemas/assignee_or_group_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/assignee_or_group_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/blocked_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/blocked_filter_dependency_representer.rb index b6e3cfb39344..cfe097eb00f6 100644 --- a/lib/api/v3/queries/schemas/blocked_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/blocked_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/blocks_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/blocks_filter_dependency_representer.rb index 9406cefb9feb..4b320d8d829f 100644 --- a/lib/api/v3/queries/schemas/blocks_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/blocks_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/boolean_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/boolean_filter_dependency_representer.rb index bf8e52a1107a..ab7dfafe7817 100644 --- a/lib/api/v3/queries/schemas/boolean_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/boolean_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/by_work_package_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/by_work_package_filter_dependency_representer.rb index 6a67c8acaadb..1d295b2c7d7e 100644 --- a/lib/api/v3/queries/schemas/by_work_package_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/by_work_package_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/category_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/category_filter_dependency_representer.rb index f4964828f51d..5aefbad436d7 100644 --- a/lib/api/v3/queries/schemas/category_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/category_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/custom_field_json_cache_key_mixin.rb b/lib/api/v3/queries/schemas/custom_field_json_cache_key_mixin.rb index 7f76d29c41ed..af624591a0b5 100644 --- a/lib/api/v3/queries/schemas/custom_field_json_cache_key_mixin.rb +++ b/lib/api/v3/queries/schemas/custom_field_json_cache_key_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/custom_option_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/custom_option_filter_dependency_representer.rb index 9003f6aae72b..2c99643dcce9 100644 --- a/lib/api/v3/queries/schemas/custom_option_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/custom_option_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/date_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/date_filter_dependency_representer.rb index b57cf72b20dd..3acaee8e02be 100644 --- a/lib/api/v3/queries/schemas/date_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/date_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/date_time_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/date_time_filter_dependency_representer.rb index 1986e957a457..5d3ec9380f47 100644 --- a/lib/api/v3/queries/schemas/date_time_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/date_time_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/duplicated_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/duplicated_filter_dependency_representer.rb index 5aed808b9c17..6dae96c8b250 100644 --- a/lib/api/v3/queries/schemas/duplicated_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/duplicated_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/duplicates_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/duplicates_filter_dependency_representer.rb index 3c8ed47df134..f214a991e3dc 100644 --- a/lib/api/v3/queries/schemas/duplicates_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/duplicates_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/filter_dependency_decorator.rb b/lib/api/v3/queries/schemas/filter_dependency_decorator.rb index a51ca32569df..96e99de4d9a6 100644 --- a/lib/api/v3/queries/schemas/filter_dependency_decorator.rb +++ b/lib/api/v3/queries/schemas/filter_dependency_decorator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/filter_dependency_representer.rb b/lib/api/v3/queries/schemas/filter_dependency_representer.rb index fb20e8a728a6..6c49650ea9b4 100644 --- a/lib/api/v3/queries/schemas/filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/filter_dependency_representer_factory.rb b/lib/api/v3/queries/schemas/filter_dependency_representer_factory.rb index 00c807dc3f59..68eb79102f27 100644 --- a/lib/api/v3/queries/schemas/filter_dependency_representer_factory.rb +++ b/lib/api/v3/queries/schemas/filter_dependency_representer_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/float_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/float_filter_dependency_representer.rb index 126e4b3c3870..c040a5734d2d 100644 --- a/lib/api/v3/queries/schemas/float_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/float_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/follows_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/follows_filter_dependency_representer.rb index 505072f8b7a2..3c7793905e57 100644 --- a/lib/api/v3/queries/schemas/follows_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/follows_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/group_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/group_filter_dependency_representer.rb index c37f5e34874c..0dfd364333de 100644 --- a/lib/api/v3/queries/schemas/group_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/group_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/id_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/id_filter_dependency_representer.rb index e7b0f467a747..906311f70c25 100644 --- a/lib/api/v3/queries/schemas/id_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/id_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/includes_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/includes_filter_dependency_representer.rb index 28dcf5c6ce69..ddc45f9a6249 100644 --- a/lib/api/v3/queries/schemas/includes_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/includes_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/integer_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/integer_filter_dependency_representer.rb index 11b394502e22..f14618781b36 100644 --- a/lib/api/v3/queries/schemas/integer_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/integer_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/manual_sort_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/manual_sort_filter_dependency_representer.rb index 529d3b6d3eb2..1c2c4bc78c03 100644 --- a/lib/api/v3/queries/schemas/manual_sort_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/manual_sort_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/only_subproject_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/only_subproject_filter_dependency_representer.rb index 5056d9be7ab5..79501d54ac06 100644 --- a/lib/api/v3/queries/schemas/only_subproject_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/only_subproject_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/parent_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/parent_filter_dependency_representer.rb index d0b742e3a5b0..73a69d79e720 100644 --- a/lib/api/v3/queries/schemas/parent_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/parent_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/partof_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/partof_filter_dependency_representer.rb index a3a8f0639c23..e79fb8202645 100644 --- a/lib/api/v3/queries/schemas/partof_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/partof_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/precedes_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/precedes_filter_dependency_representer.rb index 7d28b4322eb5..f3fe2d4c9ae4 100644 --- a/lib/api/v3/queries/schemas/precedes_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/precedes_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/principal_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/principal_filter_dependency_representer.rb index e5762d7bda24..88ccc1022e57 100644 --- a/lib/api/v3/queries/schemas/principal_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/principal_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/priority_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/priority_filter_dependency_representer.rb index c1ea2d829870..daed58138bd4 100644 --- a/lib/api/v3/queries/schemas/priority_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/priority_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/project_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/project_filter_dependency_representer.rb index 6b009939e217..c24caafc675d 100644 --- a/lib/api/v3/queries/schemas/project_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/project_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/project_members_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/project_members_filter_dependency_representer.rb index c498d4816a68..3ef08437cef3 100644 --- a/lib/api/v3/queries/schemas/project_members_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/project_members_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/query_filter_instance_schema_api.rb b/lib/api/v3/queries/schemas/query_filter_instance_schema_api.rb index 2c7859d19072..a2ac89057881 100644 --- a/lib/api/v3/queries/schemas/query_filter_instance_schema_api.rb +++ b/lib/api/v3/queries/schemas/query_filter_instance_schema_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/query_filter_instance_schema_collection_representer.rb b/lib/api/v3/queries/schemas/query_filter_instance_schema_collection_representer.rb index 2681a41f7579..7939206e379e 100644 --- a/lib/api/v3/queries/schemas/query_filter_instance_schema_collection_representer.rb +++ b/lib/api/v3/queries/schemas/query_filter_instance_schema_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/query_filter_instance_schema_representer.rb b/lib/api/v3/queries/schemas/query_filter_instance_schema_representer.rb index 3b2ff9d91333..bf2883c545bb 100644 --- a/lib/api/v3/queries/schemas/query_filter_instance_schema_representer.rb +++ b/lib/api/v3/queries/schemas/query_filter_instance_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/query_project_filter_instance_schema_api.rb b/lib/api/v3/queries/schemas/query_project_filter_instance_schema_api.rb index 8fefd578be21..206fc37927a2 100644 --- a/lib/api/v3/queries/schemas/query_project_filter_instance_schema_api.rb +++ b/lib/api/v3/queries/schemas/query_project_filter_instance_schema_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/query_project_schema_api.rb b/lib/api/v3/queries/schemas/query_project_schema_api.rb index ed5ef98a1a07..e6792d04f7cf 100644 --- a/lib/api/v3/queries/schemas/query_project_schema_api.rb +++ b/lib/api/v3/queries/schemas/query_project_schema_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/query_schema_api.rb b/lib/api/v3/queries/schemas/query_schema_api.rb index 3d46604e0963..4f8cdd5b6cba 100644 --- a/lib/api/v3/queries/schemas/query_schema_api.rb +++ b/lib/api/v3/queries/schemas/query_schema_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/query_schema_representer.rb b/lib/api/v3/queries/schemas/query_schema_representer.rb index 5bfe00c03884..095443e12587 100644 --- a/lib/api/v3/queries/schemas/query_schema_representer.rb +++ b/lib/api/v3/queries/schemas/query_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/relates_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/relates_filter_dependency_representer.rb index c4b2fe12fe9b..61f585fd112e 100644 --- a/lib/api/v3/queries/schemas/relates_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/relates_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/required_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/required_filter_dependency_representer.rb index d462c9b1de6c..d30549878e77 100644 --- a/lib/api/v3/queries/schemas/required_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/required_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/requires_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/requires_filter_dependency_representer.rb index 2f9d536c5bd2..1f8094fec63e 100644 --- a/lib/api/v3/queries/schemas/requires_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/requires_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/role_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/role_filter_dependency_representer.rb index 68491c368e7a..99aae261f9e6 100644 --- a/lib/api/v3/queries/schemas/role_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/role_filter_dependency_representer.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/search_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/search_filter_dependency_representer.rb index 0a42cb1c4698..bb28358b9e75 100644 --- a/lib/api/v3/queries/schemas/search_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/search_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/status_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/status_filter_dependency_representer.rb index 369a85592434..9dc5c347de2d 100644 --- a/lib/api/v3/queries/schemas/status_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/status_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/subproject_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/subproject_filter_dependency_representer.rb index c547dc2c6565..4b9330c6b635 100644 --- a/lib/api/v3/queries/schemas/subproject_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/subproject_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/text_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/text_filter_dependency_representer.rb index 2d32bea573c6..530372a9d6f1 100644 --- a/lib/api/v3/queries/schemas/text_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/text_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/type_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/type_filter_dependency_representer.rb index b91100fe004f..d103e683c610 100644 --- a/lib/api/v3/queries/schemas/type_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/type_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/user_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/user_filter_dependency_representer.rb index 31139ec7d3ea..0f26a34583ce 100644 --- a/lib/api/v3/queries/schemas/user_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/user_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/schemas/version_filter_dependency_representer.rb b/lib/api/v3/queries/schemas/version_filter_dependency_representer.rb index 7f94dc79c3e4..d32719763712 100644 --- a/lib/api/v3/queries/schemas/version_filter_dependency_representer.rb +++ b/lib/api/v3/queries/schemas/version_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/sort_bys/query_sort_by_representer.rb b/lib/api/v3/queries/sort_bys/query_sort_by_representer.rb index 7240f5e5fd72..53dd4bacbbb6 100644 --- a/lib/api/v3/queries/sort_bys/query_sort_by_representer.rb +++ b/lib/api/v3/queries/sort_bys/query_sort_by_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/sort_bys/query_sort_bys_api.rb b/lib/api/v3/queries/sort_bys/query_sort_bys_api.rb index e8a0031da33a..981527516910 100644 --- a/lib/api/v3/queries/sort_bys/query_sort_bys_api.rb +++ b/lib/api/v3/queries/sort_bys/query_sort_bys_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/sort_bys/sort_by_decorator.rb b/lib/api/v3/queries/sort_bys/sort_by_decorator.rb index c061c6305419..8ce6770c9d05 100644 --- a/lib/api/v3/queries/sort_bys/sort_by_decorator.rb +++ b/lib/api/v3/queries/sort_bys/sort_by_decorator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/update_form_api.rb b/lib/api/v3/queries/update_form_api.rb index 5597021c81ad..ff9c8ef87bb0 100644 --- a/lib/api/v3/queries/update_form_api.rb +++ b/lib/api/v3/queries/update_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/queries/update_form_representer.rb b/lib/api/v3/queries/update_form_representer.rb index 419c59e80b34..3f07652ba193 100644 --- a/lib/api/v3/queries/update_form_representer.rb +++ b/lib/api/v3/queries/update_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/relations/relation_collection_representer.rb b/lib/api/v3/relations/relation_collection_representer.rb index 8ad60d2bff1a..53386a6af1a2 100644 --- a/lib/api/v3/relations/relation_collection_representer.rb +++ b/lib/api/v3/relations/relation_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/relations/relation_paginated_collection_representer.rb b/lib/api/v3/relations/relation_paginated_collection_representer.rb index 2cb98779f614..d8313a96a7c3 100644 --- a/lib/api/v3/relations/relation_paginated_collection_representer.rb +++ b/lib/api/v3/relations/relation_paginated_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/relations/relation_payload_representer.rb b/lib/api/v3/relations/relation_payload_representer.rb index caf8a907f92a..624b0e64c066 100644 --- a/lib/api/v3/relations/relation_payload_representer.rb +++ b/lib/api/v3/relations/relation_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/relations/relation_representer.rb b/lib/api/v3/relations/relation_representer.rb index 6fd90caba81d..0854a5c92717 100644 --- a/lib/api/v3/relations/relation_representer.rb +++ b/lib/api/v3/relations/relation_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/relations/relations_api.rb b/lib/api/v3/relations/relations_api.rb index 7bcb3fe54a33..687b3896399c 100644 --- a/lib/api/v3/relations/relations_api.rb +++ b/lib/api/v3/relations/relations_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/relations/relations_helper.rb b/lib/api/v3/relations/relations_helper.rb index d3dd0c564930..aea73472d1dc 100644 --- a/lib/api/v3/relations/relations_helper.rb +++ b/lib/api/v3/relations/relations_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/render/render_api.rb b/lib/api/v3/render/render_api.rb index bb414309a9ed..1e7f8a7835ef 100644 --- a/lib/api/v3/render/render_api.rb +++ b/lib/api/v3/render/render_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/repositories/revision_collection_representer.rb b/lib/api/v3/repositories/revision_collection_representer.rb index 73f5e7257eae..9e73600aec79 100644 --- a/lib/api/v3/repositories/revision_collection_representer.rb +++ b/lib/api/v3/repositories/revision_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/repositories/revision_representer.rb b/lib/api/v3/repositories/revision_representer.rb index dd7fbba8f5cd..6f4242e7fa78 100644 --- a/lib/api/v3/repositories/revision_representer.rb +++ b/lib/api/v3/repositories/revision_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/repositories/revisions_api.rb b/lib/api/v3/repositories/revisions_api.rb index 6902926b6a16..eac3e3687a5f 100644 --- a/lib/api/v3/repositories/revisions_api.rb +++ b/lib/api/v3/repositories/revisions_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/repositories/revisions_by_work_package_api.rb b/lib/api/v3/repositories/revisions_by_work_package_api.rb index 270e9ef4eb63..34d8a688eda8 100644 --- a/lib/api/v3/repositories/revisions_by_work_package_api.rb +++ b/lib/api/v3/repositories/revisions_by_work_package_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/roles/role_collection_representer.rb b/lib/api/v3/roles/role_collection_representer.rb index a489c3067edb..c735a016af6a 100644 --- a/lib/api/v3/roles/role_collection_representer.rb +++ b/lib/api/v3/roles/role_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/roles/role_representer.rb b/lib/api/v3/roles/role_representer.rb index 5ca51f147ea4..5711cd0c1423 100644 --- a/lib/api/v3/roles/role_representer.rb +++ b/lib/api/v3/roles/role_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/roles/roles_api.rb b/lib/api/v3/roles/roles_api.rb index 8e7d61aad0e2..e7b5405e1bf4 100644 --- a/lib/api/v3/roles/roles_api.rb +++ b/lib/api/v3/roles/roles_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/root.rb b/lib/api/v3/root.rb index de2148681fdd..af22fcd95d06 100644 --- a/lib/api/v3/root.rb +++ b/lib/api/v3/root.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/root_representer.rb b/lib/api/v3/root_representer.rb index 621027b2092f..538b21a306c5 100644 --- a/lib/api/v3/root_representer.rb +++ b/lib/api/v3/root_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/schemas/schema_collection_representer.rb b/lib/api/v3/schemas/schema_collection_representer.rb index ada8efeb8995..aae9845cd2c7 100644 --- a/lib/api/v3/schemas/schema_collection_representer.rb +++ b/lib/api/v3/schemas/schema_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/schemas/schema_dependency_representer.rb b/lib/api/v3/schemas/schema_dependency_representer.rb index 4b592393bcce..9a66f9bc2bbb 100644 --- a/lib/api/v3/schemas/schema_dependency_representer.rb +++ b/lib/api/v3/schemas/schema_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/statuses/status_collection_representer.rb b/lib/api/v3/statuses/status_collection_representer.rb index ab55d88ea050..6e4b49db8567 100644 --- a/lib/api/v3/statuses/status_collection_representer.rb +++ b/lib/api/v3/statuses/status_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/statuses/status_representer.rb b/lib/api/v3/statuses/status_representer.rb index 53bd86228076..6a2917867e19 100644 --- a/lib/api/v3/statuses/status_representer.rb +++ b/lib/api/v3/statuses/status_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/statuses/statuses_api.rb b/lib/api/v3/statuses/statuses_api.rb index 721f5c80ff9d..6070c459379d 100644 --- a/lib/api/v3/statuses/statuses_api.rb +++ b/lib/api/v3/statuses/statuses_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/string_objects/string_objects_api.rb b/lib/api/v3/string_objects/string_objects_api.rb index 535b64499709..fb3538fb7940 100644 --- a/lib/api/v3/string_objects/string_objects_api.rb +++ b/lib/api/v3/string_objects/string_objects_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/types/type_collection_representer.rb b/lib/api/v3/types/type_collection_representer.rb index 2920c3f9584f..6b62cedd2de5 100644 --- a/lib/api/v3/types/type_collection_representer.rb +++ b/lib/api/v3/types/type_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/types/type_representer.rb b/lib/api/v3/types/type_representer.rb index ffb16439b360..68831bd58fb6 100644 --- a/lib/api/v3/types/type_representer.rb +++ b/lib/api/v3/types/type_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/types/types_api.rb b/lib/api/v3/types/types_api.rb index 373f26669c00..c2d1cad5a816 100644 --- a/lib/api/v3/types/types_api.rb +++ b/lib/api/v3/types/types_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/types/types_by_project_api.rb b/lib/api/v3/types/types_by_project_api.rb index 71731ce392e4..940820be40f6 100644 --- a/lib/api/v3/types/types_by_project_api.rb +++ b/lib/api/v3/types/types_by_project_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/user_preferences/notification_setting_representer.rb b/lib/api/v3/user_preferences/notification_setting_representer.rb index 54ee64f8b966..4a28ea664c3b 100644 --- a/lib/api/v3/user_preferences/notification_setting_representer.rb +++ b/lib/api/v3/user_preferences/notification_setting_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/user_preferences/preferences_by_user_api.rb b/lib/api/v3/user_preferences/preferences_by_user_api.rb index c46b0e793ad1..c2a19d158289 100644 --- a/lib/api/v3/user_preferences/preferences_by_user_api.rb +++ b/lib/api/v3/user_preferences/preferences_by_user_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/user_preferences/user_preference_payload_representer.rb b/lib/api/v3/user_preferences/user_preference_payload_representer.rb index 477b7e343380..db4d245c85b4 100644 --- a/lib/api/v3/user_preferences/user_preference_payload_representer.rb +++ b/lib/api/v3/user_preferences/user_preference_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/user_preferences/user_preference_representer.rb b/lib/api/v3/user_preferences/user_preference_representer.rb index 70524f9f408b..802abdf55aea 100644 --- a/lib/api/v3/user_preferences/user_preference_representer.rb +++ b/lib/api/v3/user_preferences/user_preference_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/user_preferences/user_preferences_api.rb b/lib/api/v3/user_preferences/user_preferences_api.rb index 3bc01b576be6..62544bfc9583 100644 --- a/lib/api/v3/user_preferences/user_preferences_api.rb +++ b/lib/api/v3/user_preferences/user_preferences_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/create_form_api.rb b/lib/api/v3/users/create_form_api.rb index 28e53dd96d21..13bc31ea889c 100644 --- a/lib/api/v3/users/create_form_api.rb +++ b/lib/api/v3/users/create_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/create_form_representer.rb b/lib/api/v3/users/create_form_representer.rb index 743489a6c293..d0eeea195529 100644 --- a/lib/api/v3/users/create_form_representer.rb +++ b/lib/api/v3/users/create_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/form_representer.rb b/lib/api/v3/users/form_representer.rb index a5b56b924736..73b0fea0f8ac 100644 --- a/lib/api/v3/users/form_representer.rb +++ b/lib/api/v3/users/form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/schemas/user_schema_api.rb b/lib/api/v3/users/schemas/user_schema_api.rb index 027189006948..17314e0ad490 100644 --- a/lib/api/v3/users/schemas/user_schema_api.rb +++ b/lib/api/v3/users/schemas/user_schema_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/schemas/user_schema_representer.rb b/lib/api/v3/users/schemas/user_schema_representer.rb index 58b0e2aadd85..773a60944d78 100644 --- a/lib/api/v3/users/schemas/user_schema_representer.rb +++ b/lib/api/v3/users/schemas/user_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/unpaginated_user_collection_representer.rb b/lib/api/v3/users/unpaginated_user_collection_representer.rb index 286584c9d78e..ee31e762d296 100644 --- a/lib/api/v3/users/unpaginated_user_collection_representer.rb +++ b/lib/api/v3/users/unpaginated_user_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/update_form_api.rb b/lib/api/v3/users/update_form_api.rb index 5854797d0833..672da3b4e971 100644 --- a/lib/api/v3/users/update_form_api.rb +++ b/lib/api/v3/users/update_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/update_form_representer.rb b/lib/api/v3/users/update_form_representer.rb index 97ad032b4773..97c96b0787db 100644 --- a/lib/api/v3/users/update_form_representer.rb +++ b/lib/api/v3/users/update_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/user_collection_representer.rb b/lib/api/v3/users/user_collection_representer.rb index 55481b59155a..fea3c52df8d8 100644 --- a/lib/api/v3/users/user_collection_representer.rb +++ b/lib/api/v3/users/user_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/user_payload_representer.rb b/lib/api/v3/users/user_payload_representer.rb index c80f9a8a7810..a13188e38719 100644 --- a/lib/api/v3/users/user_payload_representer.rb +++ b/lib/api/v3/users/user_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/user_representer.rb b/lib/api/v3/users/user_representer.rb index 183089165403..f2606b095f62 100644 --- a/lib/api/v3/users/user_representer.rb +++ b/lib/api/v3/users/user_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/users/users_api.rb b/lib/api/v3/users/users_api.rb index 66a05c218f32..a5714af91d18 100644 --- a/lib/api/v3/users/users_api.rb +++ b/lib/api/v3/users/users_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/custom_field_injector.rb b/lib/api/v3/utilities/custom_field_injector.rb index 3c61e8350506..3bfae49269f9 100644 --- a/lib/api/v3/utilities/custom_field_injector.rb +++ b/lib/api/v3/utilities/custom_field_injector.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/custom_field_injector/link_value_getter.rb b/lib/api/v3/utilities/custom_field_injector/link_value_getter.rb index 55cbe69353f8..eb5f5ef030ad 100644 --- a/lib/api/v3/utilities/custom_field_injector/link_value_getter.rb +++ b/lib/api/v3/utilities/custom_field_injector/link_value_getter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/custom_field_sum_injector.rb b/lib/api/v3/utilities/custom_field_sum_injector.rb index 58bb65fdfdf8..a5ade97cdd07 100644 --- a/lib/api/v3/utilities/custom_field_sum_injector.rb +++ b/lib/api/v3/utilities/custom_field_sum_injector.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/date_time_formatter.rb b/lib/api/v3/utilities/date_time_formatter.rb index 7768f7b362ae..ae7cee0532d9 100644 --- a/lib/api/v3/utilities/date_time_formatter.rb +++ b/lib/api/v3/utilities/date_time_formatter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/eager_loading/custom_field_accessor.rb b/lib/api/v3/utilities/eager_loading/custom_field_accessor.rb index ce277eea21a9..cae649d1fe23 100644 --- a/lib/api/v3/utilities/eager_loading/custom_field_accessor.rb +++ b/lib/api/v3/utilities/eager_loading/custom_field_accessor.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/eager_loading/eager_loading_wrapper.rb b/lib/api/v3/utilities/eager_loading/eager_loading_wrapper.rb index 1ed2fee2914b..9de19716cb4a 100644 --- a/lib/api/v3/utilities/eager_loading/eager_loading_wrapper.rb +++ b/lib/api/v3/utilities/eager_loading/eager_loading_wrapper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/create.rb b/lib/api/v3/utilities/endpoints/create.rb index 993e656079bd..980220937526 100644 --- a/lib/api/v3/utilities/endpoints/create.rb +++ b/lib/api/v3/utilities/endpoints/create.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/create_form.rb b/lib/api/v3/utilities/endpoints/create_form.rb index d7c25e5e9ac5..fe961762abb9 100644 --- a/lib/api/v3/utilities/endpoints/create_form.rb +++ b/lib/api/v3/utilities/endpoints/create_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/delayed_modify.rb b/lib/api/v3/utilities/endpoints/delayed_modify.rb index 4b74b98c826d..e1fa4ff0bd51 100644 --- a/lib/api/v3/utilities/endpoints/delayed_modify.rb +++ b/lib/api/v3/utilities/endpoints/delayed_modify.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/delete.rb b/lib/api/v3/utilities/endpoints/delete.rb index 4982ee9e143e..4b353317b8d2 100644 --- a/lib/api/v3/utilities/endpoints/delete.rb +++ b/lib/api/v3/utilities/endpoints/delete.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/form.rb b/lib/api/v3/utilities/endpoints/form.rb index 695bff8c9cc1..4171be090bad 100644 --- a/lib/api/v3/utilities/endpoints/form.rb +++ b/lib/api/v3/utilities/endpoints/form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/index.rb b/lib/api/v3/utilities/endpoints/index.rb index f01e04b1ba7a..032dd0e71ea2 100644 --- a/lib/api/v3/utilities/endpoints/index.rb +++ b/lib/api/v3/utilities/endpoints/index.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/schema.rb b/lib/api/v3/utilities/endpoints/schema.rb index b282fb8ad44d..3e8a1a7b73b6 100644 --- a/lib/api/v3/utilities/endpoints/schema.rb +++ b/lib/api/v3/utilities/endpoints/schema.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/show.rb b/lib/api/v3/utilities/endpoints/show.rb index 5d8e7eaa72c1..50cffa9792a5 100644 --- a/lib/api/v3/utilities/endpoints/show.rb +++ b/lib/api/v3/utilities/endpoints/show.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/sql_index.rb b/lib/api/v3/utilities/endpoints/sql_index.rb index 72d217084b93..550386d66df4 100644 --- a/lib/api/v3/utilities/endpoints/sql_index.rb +++ b/lib/api/v3/utilities/endpoints/sql_index.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/sql_show.rb b/lib/api/v3/utilities/endpoints/sql_show.rb index 877966160178..97700ad3866b 100644 --- a/lib/api/v3/utilities/endpoints/sql_show.rb +++ b/lib/api/v3/utilities/endpoints/sql_show.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/update.rb b/lib/api/v3/utilities/endpoints/update.rb index a1785b0cea2c..6cf63a8844d1 100644 --- a/lib/api/v3/utilities/endpoints/update.rb +++ b/lib/api/v3/utilities/endpoints/update.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/update_form.rb b/lib/api/v3/utilities/endpoints/update_form.rb index 7afde7b9d2b7..f34bde232ca0 100644 --- a/lib/api/v3/utilities/endpoints/update_form.rb +++ b/lib/api/v3/utilities/endpoints/update_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ module Endpoints class UpdateForm < Form def default_instance_generator(model) ->(_params) do - instance_variable_get("@#{model.name.demodulize.underscore}") + instance_variable_get(:"@#{model.name.demodulize.underscore}") end end diff --git a/lib/api/v3/utilities/endpoints/v3_deductions.rb b/lib/api/v3/utilities/endpoints/v3_deductions.rb index 810f832e9158..17d3f507f342 100644 --- a/lib/api/v3/utilities/endpoints/v3_deductions.rb +++ b/lib/api/v3/utilities/endpoints/v3_deductions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/endpoints/v3_present_single.rb b/lib/api/v3/utilities/endpoints/v3_present_single.rb index 6856e05312c6..659602413658 100644 --- a/lib/api/v3/utilities/endpoints/v3_present_single.rb +++ b/lib/api/v3/utilities/endpoints/v3_present_single.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/eprops_conversion.rb b/lib/api/v3/utilities/eprops_conversion.rb index 3bb044440990..34ef6a5fb429 100644 --- a/lib/api/v3/utilities/eprops_conversion.rb +++ b/lib/api/v3/utilities/eprops_conversion.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/params_to_query.rb b/lib/api/v3/utilities/params_to_query.rb index 59194a0f632e..9955e2bb73f7 100644 --- a/lib/api/v3/utilities/params_to_query.rb +++ b/lib/api/v3/utilities/params_to_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/path_helper.rb b/lib/api/v3/utilities/path_helper.rb index ba2eb1fa6c59..a07972a42794 100644 --- a/lib/api/v3/utilities/path_helper.rb +++ b/lib/api/v3/utilities/path_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -144,10 +144,14 @@ def self.attachment_uploaded(attachment_id) "#{root}/attachments/#{attachment_id}/uploaded" end - def self.available_assignees(project_id) + def self.available_assignees_in_project(project_id) "#{project(project_id)}/available_assignees" end + def self.available_assignees_in_work_package(work_package_id) + "#{work_package(work_package_id)}/available_assignees" + end + def self.available_responsibles(project_id) "#{project(project_id)}/available_responsibles" end diff --git a/lib/api/v3/utilities/resource_link_generator.rb b/lib/api/v3/utilities/resource_link_generator.rb index de6b286504c3..863bffa7bf72 100644 --- a/lib/api/v3/utilities/resource_link_generator.rb +++ b/lib/api/v3/utilities/resource_link_generator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/sql_representer_walker.rb b/lib/api/v3/utilities/sql_representer_walker.rb index b6c6d7137019..40a7f6fc0794 100644 --- a/lib/api/v3/utilities/sql_representer_walker.rb +++ b/lib/api/v3/utilities/sql_representer_walker.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/utilities/sql_walker_results.rb b/lib/api/v3/utilities/sql_walker_results.rb index d41d196e4764..9edc26a43bde 100644 --- a/lib/api/v3/utilities/sql_walker_results.rb +++ b/lib/api/v3/utilities/sql_walker_results.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/available_projects_api.rb b/lib/api/v3/versions/available_projects_api.rb index 7463bc0f15d2..2286000489ff 100644 --- a/lib/api/v3/versions/available_projects_api.rb +++ b/lib/api/v3/versions/available_projects_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/create_form_api.rb b/lib/api/v3/versions/create_form_api.rb index e6f05e0e22b8..ebc94966afaf 100644 --- a/lib/api/v3/versions/create_form_api.rb +++ b/lib/api/v3/versions/create_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/create_form_representer.rb b/lib/api/v3/versions/create_form_representer.rb index d005a470576d..5da1ab89fcfe 100644 --- a/lib/api/v3/versions/create_form_representer.rb +++ b/lib/api/v3/versions/create_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/form_representer.rb b/lib/api/v3/versions/form_representer.rb index 62d1f91ef839..6ca4c003ed71 100644 --- a/lib/api/v3/versions/form_representer.rb +++ b/lib/api/v3/versions/form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/projects_by_version_api.rb b/lib/api/v3/versions/projects_by_version_api.rb index 31b01aa04562..4a96f29d9fcc 100644 --- a/lib/api/v3/versions/projects_by_version_api.rb +++ b/lib/api/v3/versions/projects_by_version_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/schemas/version_schema_api.rb b/lib/api/v3/versions/schemas/version_schema_api.rb index 6f8615e5fad6..211a7b29703a 100644 --- a/lib/api/v3/versions/schemas/version_schema_api.rb +++ b/lib/api/v3/versions/schemas/version_schema_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/schemas/version_schema_representer.rb b/lib/api/v3/versions/schemas/version_schema_representer.rb index 29f7c44bedec..3320d1a5457e 100644 --- a/lib/api/v3/versions/schemas/version_schema_representer.rb +++ b/lib/api/v3/versions/schemas/version_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/update_form_api.rb b/lib/api/v3/versions/update_form_api.rb index 9c8391921b6f..080562b965e8 100644 --- a/lib/api/v3/versions/update_form_api.rb +++ b/lib/api/v3/versions/update_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/update_form_representer.rb b/lib/api/v3/versions/update_form_representer.rb index 5abb35c76bb2..90cb66803ecf 100644 --- a/lib/api/v3/versions/update_form_representer.rb +++ b/lib/api/v3/versions/update_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/version_collection_representer.rb b/lib/api/v3/versions/version_collection_representer.rb index 03b860393fe8..031f897aba62 100644 --- a/lib/api/v3/versions/version_collection_representer.rb +++ b/lib/api/v3/versions/version_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/version_payload_representer.rb b/lib/api/v3/versions/version_payload_representer.rb index 4018a67aeb63..5f04f3775a8d 100644 --- a/lib/api/v3/versions/version_payload_representer.rb +++ b/lib/api/v3/versions/version_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/version_representer.rb b/lib/api/v3/versions/version_representer.rb index 23d44e39aea2..50fe2c6c1692 100644 --- a/lib/api/v3/versions/version_representer.rb +++ b/lib/api/v3/versions/version_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/versions_api.rb b/lib/api/v3/versions/versions_api.rb index 6077957bd79f..c885ef6dc1e9 100644 --- a/lib/api/v3/versions/versions_api.rb +++ b/lib/api/v3/versions/versions_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/versions/versions_by_project_api.rb b/lib/api/v3/versions/versions_by_project_api.rb index ed16c5477b31..1b984dfc1cfd 100644 --- a/lib/api/v3/versions/versions_by_project_api.rb +++ b/lib/api/v3/versions/versions_by_project_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/views/view_collection_representer.rb b/lib/api/v3/views/view_collection_representer.rb index bcdca63656e3..befb49a9a3bb 100644 --- a/lib/api/v3/views/view_collection_representer.rb +++ b/lib/api/v3/views/view_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/views/view_payload_representer.rb b/lib/api/v3/views/view_payload_representer.rb index de2343928523..763625952aa0 100644 --- a/lib/api/v3/views/view_payload_representer.rb +++ b/lib/api/v3/views/view_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/views/view_representer.rb b/lib/api/v3/views/view_representer.rb index 95ed27721c39..3fb19e2c0619 100644 --- a/lib/api/v3/views/view_representer.rb +++ b/lib/api/v3/views/view_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/views/views_api.rb b/lib/api/v3/views/views_api.rb index 813d3c8652af..f2cf4934b9fe 100644 --- a/lib/api/v3/views/views_api.rb +++ b/lib/api/v3/views/views_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/watchers/watcher_representer.rb b/lib/api/v3/watchers/watcher_representer.rb index dea407d6a246..e7c346202d10 100644 --- a/lib/api/v3/watchers/watcher_representer.rb +++ b/lib/api/v3/watchers/watcher_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/wiki_pages/wiki_page_representer.rb b/lib/api/v3/wiki_pages/wiki_page_representer.rb index 42803e9a898b..96a3df7c546c 100644 --- a/lib/api/v3/wiki_pages/wiki_page_representer.rb +++ b/lib/api/v3/wiki_pages/wiki_page_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/wiki_pages/wiki_pages_api.rb b/lib/api/v3/wiki_pages/wiki_pages_api.rb index 24971427b08f..940da05777c4 100644 --- a/lib/api/v3/wiki_pages/wiki_pages_api.rb +++ b/lib/api/v3/wiki_pages/wiki_pages_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/update_ancestors_service_patch.rb b/lib/api/v3/work_packages/available_assignees_api.rb similarity index 58% rename from modules/backlogs/lib/open_project/backlogs/patches/update_ancestors_service_patch.rb rename to lib/api/v3/work_packages/available_assignees_api.rb index a8f8eb8effca..09b00c331e16 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/update_ancestors_service_patch.rb +++ b/lib/api/v3/work_packages/available_assignees_api.rb @@ -26,34 +26,25 @@ # See COPYRIGHT and LICENSE files for more details. #++ -module OpenProject::Backlogs::Patches::UpdateAncestorsServicePatch - def self.included(base) - base.prepend InstanceMethods - end - - module InstanceMethods - private - - ## - # Overrides method in original UpdateAncestorsService. - def inherit_attributes(ancestor, loader, attributes) - super - - derive_remaining_hours(ancestor, loader) if inherit?(attributes, :remaining_hours) - end - - def derive_remaining_hours(work_package, loader) - descendants = loader.descendants_of(work_package) - - work_package.derived_remaining_hours = not_zero(all_remaining_hours(descendants).sum.to_f) - end - - def all_remaining_hours(work_packages) - work_packages.map(&:remaining_hours).reject { |hours| hours.to_f.zero? } - end - - def attributes_justify_inheritance?(attributes) - super || attributes.include?(:remaining_hours) +require 'api/v3/users/user_collection_representer' + +module API + module V3 + module WorkPackages + class AvailableAssigneesAPI < ::API::OpenProjectAPI + resource :available_assignees do + after_validation do + authorize_in_work_package(:edit_work_packages, work_package: @work_package) + end + + get &::API::V3::Utilities::Endpoints::Index.new(model: Principal, + scope: -> { + Principal.possible_assignee(@work_package).includes(:preference) + }, + render_representer: Users::UnpaginatedUserCollectionRepresenter) + .mount + end + end end end end diff --git a/lib/api/v3/work_packages/available_projects_on_create_api.rb b/lib/api/v3/work_packages/available_projects_on_create_api.rb index fc0f9b15d5f3..e92f5a0db9c8 100644 --- a/lib/api/v3/work_packages/available_projects_on_create_api.rb +++ b/lib/api/v3/work_packages/available_projects_on_create_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/available_projects_on_edit_api.rb b/lib/api/v3/work_packages/available_projects_on_edit_api.rb index 5bae8f90aa34..2d27b04f9047 100644 --- a/lib/api/v3/work_packages/available_projects_on_edit_api.rb +++ b/lib/api/v3/work_packages/available_projects_on_edit_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/available_relation_candidates_api.rb b/lib/api/v3/work_packages/available_relation_candidates_api.rb index 1509ede334de..3c8410a1f2c9 100644 --- a/lib/api/v3/work_packages/available_relation_candidates_api.rb +++ b/lib/api/v3/work_packages/available_relation_candidates_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/create_form_api.rb b/lib/api/v3/work_packages/create_form_api.rb index b353b345b5a3..1472e9db1842 100644 --- a/lib/api/v3/work_packages/create_form_api.rb +++ b/lib/api/v3/work_packages/create_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/create_form_representer.rb b/lib/api/v3/work_packages/create_form_representer.rb index ff7e05f7a2a0..6428b426c9f6 100644 --- a/lib/api/v3/work_packages/create_form_representer.rb +++ b/lib/api/v3/work_packages/create_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/create_project_form_api.rb b/lib/api/v3/work_packages/create_project_form_api.rb index b9c02287c13b..1b1d1e99c728 100644 --- a/lib/api/v3/work_packages/create_project_form_api.rb +++ b/lib/api/v3/work_packages/create_project_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/create_project_form_representer.rb b/lib/api/v3/work_packages/create_project_form_representer.rb index 1b308839b77e..13946580617c 100644 --- a/lib/api/v3/work_packages/create_project_form_representer.rb +++ b/lib/api/v3/work_packages/create_project_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/eager_loading/ancestor.rb b/lib/api/v3/work_packages/eager_loading/ancestor.rb index 15f1447a32a2..2ca8cd29f0d9 100644 --- a/lib/api/v3/work_packages/eager_loading/ancestor.rb +++ b/lib/api/v3/work_packages/eager_loading/ancestor.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/eager_loading/base.rb b/lib/api/v3/work_packages/eager_loading/base.rb index e04625d044cb..d42bbd9260fb 100644 --- a/lib/api/v3/work_packages/eager_loading/base.rb +++ b/lib/api/v3/work_packages/eager_loading/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,7 +34,7 @@ class Base def initialize(work_packages, **options) self.work_packages = work_packages options.each do |key, value| - send("#{key}=", value) if respond_to?("#{key}=") + send(:"#{key}=", value) if respond_to?(:"#{key}=") end end diff --git a/lib/api/v3/work_packages/eager_loading/checksum.rb b/lib/api/v3/work_packages/eager_loading/checksum.rb index 98bffa43a61b..949be4b4b743 100644 --- a/lib/api/v3/work_packages/eager_loading/checksum.rb +++ b/lib/api/v3/work_packages/eager_loading/checksum.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/eager_loading/custom_action.rb b/lib/api/v3/work_packages/eager_loading/custom_action.rb index 3e4bf3a0c9a8..426f7469507c 100644 --- a/lib/api/v3/work_packages/eager_loading/custom_action.rb +++ b/lib/api/v3/work_packages/eager_loading/custom_action.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/eager_loading/custom_value.rb b/lib/api/v3/work_packages/eager_loading/custom_value.rb index 5fbd55b980f7..64580ce86691 100644 --- a/lib/api/v3/work_packages/eager_loading/custom_value.rb +++ b/lib/api/v3/work_packages/eager_loading/custom_value.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/eager_loading/hierarchy.rb b/lib/api/v3/work_packages/eager_loading/hierarchy.rb index 219957f30a6d..f994f4075dd1 100644 --- a/lib/api/v3/work_packages/eager_loading/hierarchy.rb +++ b/lib/api/v3/work_packages/eager_loading/hierarchy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/eager_loading/historic_attributes.rb b/lib/api/v3/work_packages/eager_loading/historic_attributes.rb index 57aaf4d47cd4..910fec84173d 100644 --- a/lib/api/v3/work_packages/eager_loading/historic_attributes.rb +++ b/lib/api/v3/work_packages/eager_loading/historic_attributes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/eager_loading/neutral_wrapper.rb b/lib/api/v3/work_packages/eager_loading/neutral_wrapper.rb index 80aa55e88d49..8511e315cba6 100644 --- a/lib/api/v3/work_packages/eager_loading/neutral_wrapper.rb +++ b/lib/api/v3/work_packages/eager_loading/neutral_wrapper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/eager_loading/project.rb b/lib/api/v3/work_packages/eager_loading/project.rb index 956e9603cfc0..bfe8dac86f9f 100644 --- a/lib/api/v3/work_packages/eager_loading/project.rb +++ b/lib/api/v3/work_packages/eager_loading/project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/form_representer.rb b/lib/api/v3/work_packages/form_representer.rb index 3c478886871c..59bb4992cdd9 100644 --- a/lib/api/v3/work_packages/form_representer.rb +++ b/lib/api/v3/work_packages/form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/link_to_object_extractor.rb b/lib/api/v3/work_packages/link_to_object_extractor.rb index c776c8e1aced..0576962b17ca 100644 --- a/lib/api/v3/work_packages/link_to_object_extractor.rb +++ b/lib/api/v3/work_packages/link_to_object_extractor.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/parse_params_service.rb b/lib/api/v3/work_packages/parse_params_service.rb index 0a7320f0898d..7897e7c5bb79 100644 --- a/lib/api/v3/work_packages/parse_params_service.rb +++ b/lib/api/v3/work_packages/parse_params_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/schema/base_work_package_schema.rb b/lib/api/v3/work_packages/schema/base_work_package_schema.rb index eb145dbfecd1..7c681ea60fe0 100644 --- a/lib/api/v3/work_packages/schema/base_work_package_schema.rb +++ b/lib/api/v3/work_packages/schema/base_work_package_schema.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/schema/form_configurations/attribute_representer.rb b/lib/api/v3/work_packages/schema/form_configurations/attribute_representer.rb index 79ab2828f393..c1315c3ff013 100644 --- a/lib/api/v3/work_packages/schema/form_configurations/attribute_representer.rb +++ b/lib/api/v3/work_packages/schema/form_configurations/attribute_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/schema/form_configurations/query_representer.rb b/lib/api/v3/work_packages/schema/form_configurations/query_representer.rb index a5e69836c207..b224fe29a717 100644 --- a/lib/api/v3/work_packages/schema/form_configurations/query_representer.rb +++ b/lib/api/v3/work_packages/schema/form_configurations/query_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/schema/specific_work_package_schema.rb b/lib/api/v3/work_packages/schema/specific_work_package_schema.rb index dda95eb95b96..2582589372cf 100644 --- a/lib/api/v3/work_packages/schema/specific_work_package_schema.rb +++ b/lib/api/v3/work_packages/schema/specific_work_package_schema.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/schema/typed_schema_contract.rb b/lib/api/v3/work_packages/schema/typed_schema_contract.rb index 3830be28a6d2..9e3ec507e3e8 100644 --- a/lib/api/v3/work_packages/schema/typed_schema_contract.rb +++ b/lib/api/v3/work_packages/schema/typed_schema_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/schema/typed_work_package_schema.rb b/lib/api/v3/work_packages/schema/typed_work_package_schema.rb index f4d9dac2778e..ec8c2704fc98 100644 --- a/lib/api/v3/work_packages/schema/typed_work_package_schema.rb +++ b/lib/api/v3/work_packages/schema/typed_work_package_schema.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/schema/work_package_schema_collection_representer.rb b/lib/api/v3/work_packages/schema/work_package_schema_collection_representer.rb index f020c3317bef..33da6e9a8e65 100644 --- a/lib/api/v3/work_packages/schema/work_package_schema_collection_representer.rb +++ b/lib/api/v3/work_packages/schema/work_package_schema_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/schema/work_package_schema_representer.rb b/lib/api/v3/work_packages/schema/work_package_schema_representer.rb index fe72aa0c42ca..31afb296b69b 100644 --- a/lib/api/v3/work_packages/schema/work_package_schema_representer.rb +++ b/lib/api/v3/work_packages/schema/work_package_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -164,6 +164,16 @@ def initialize(schema, self_link:, **context) type: 'Duration', required: false + schema :remaining_time, + name_source: :remaining_hours, + type: 'Duration', + required: false + + schema :derived_remaining_time, + name_source: :derived_remaining_hours, + type: 'Duration', + required: false + schema :spent_time, type: 'Duration', required: false, @@ -222,8 +232,12 @@ def initialize(schema, self_link:, **context) type: 'User', required: false, href_callback: ->(*) { - if represented.project - api_v3_paths.available_assignees(represented.project_id) + work_package = represented.work_package + + if work_package&.persisted? + api_v3_paths.available_assignees_in_work_package(represented.id) + elsif work_package&.project + api_v3_paths.available_assignees_in_project(represented.project_id) end } diff --git a/lib/api/v3/work_packages/schema/work_package_schemas_api.rb b/lib/api/v3/work_packages/schema/work_package_schemas_api.rb index e37f24eb72f4..7a5574990f25 100644 --- a/lib/api/v3/work_packages/schema/work_package_schemas_api.rb +++ b/lib/api/v3/work_packages/schema/work_package_schemas_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/schema/work_package_sums_schema.rb b/lib/api/v3/work_packages/schema/work_package_sums_schema.rb index 63b9eb1fca7b..a797613784c7 100644 --- a/lib/api/v3/work_packages/schema/work_package_sums_schema.rb +++ b/lib/api/v3/work_packages/schema/work_package_sums_schema.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/schema/work_package_sums_schema_representer.rb b/lib/api/v3/work_packages/schema/work_package_sums_schema_representer.rb index 626453aa09d5..11c526080155 100644 --- a/lib/api/v3/work_packages/schema/work_package_sums_schema_representer.rb +++ b/lib/api/v3/work_packages/schema/work_package_sums_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/show_end_point.rb b/lib/api/v3/work_packages/show_end_point.rb index 5e252800faed..d86187a16799 100644 --- a/lib/api/v3/work_packages/show_end_point.rb +++ b/lib/api/v3/work_packages/show_end_point.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/update_form_api.rb b/lib/api/v3/work_packages/update_form_api.rb index 549959585716..27545290ee80 100644 --- a/lib/api/v3/work_packages/update_form_api.rb +++ b/lib/api/v3/work_packages/update_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/update_form_representer.rb b/lib/api/v3/work_packages/update_form_representer.rb index 1421bbd9c8c3..b95a2a9d270a 100644 --- a/lib/api/v3/work_packages/update_form_representer.rb +++ b/lib/api/v3/work_packages/update_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/watchers_api.rb b/lib/api/v3/work_packages/watchers_api.rb index 71c9117203e2..be6cfca2aee4 100644 --- a/lib/api/v3/work_packages/watchers_api.rb +++ b/lib/api/v3/work_packages/watchers_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/work_package_aggregation_group.rb b/lib/api/v3/work_packages/work_package_aggregation_group.rb index ea187a7d80a5..711c8d59e66d 100644 --- a/lib/api/v3/work_packages/work_package_aggregation_group.rb +++ b/lib/api/v3/work_packages/work_package_aggregation_group.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/work_package_collection_representer.rb b/lib/api/v3/work_packages/work_package_collection_representer.rb index f60b35636a5f..e318a4e5982e 100644 --- a/lib/api/v3/work_packages/work_package_collection_representer.rb +++ b/lib/api/v3/work_packages/work_package_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -75,7 +75,7 @@ def initialize(models, # and set those to be the represented collection. # A potential ordering is reapplied to the work package collection in ruby. - @represented = ::API::V3::WorkPackages::WorkPackageEagerLoadingWrapper \ + @represented = ::API::V3::WorkPackages::WorkPackageEagerLoadingWrapper .wrap(represented, current_user, timestamps:, query:) end diff --git a/lib/api/v3/work_packages/work_package_eager_loading_wrapper.rb b/lib/api/v3/work_packages/work_package_eager_loading_wrapper.rb index 7207bc0ed026..0770b57598f5 100644 --- a/lib/api/v3/work_packages/work_package_eager_loading_wrapper.rb +++ b/lib/api/v3/work_packages/work_package_eager_loading_wrapper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/work_package_lock_version_payload_representer.rb b/lib/api/v3/work_packages/work_package_lock_version_payload_representer.rb index 464b623e5c16..66f529a3f094 100644 --- a/lib/api/v3/work_packages/work_package_lock_version_payload_representer.rb +++ b/lib/api/v3/work_packages/work_package_lock_version_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/work_package_payload_representer.rb b/lib/api/v3/work_packages/work_package_payload_representer.rb index de053c621440..ce46f51c7b53 100644 --- a/lib/api/v3/work_packages/work_package_payload_representer.rb +++ b/lib/api/v3/work_packages/work_package_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/work_package_relations_api.rb b/lib/api/v3/work_packages/work_package_relations_api.rb index 0f61bd6c8bee..be3f89d9c6a9 100644 --- a/lib/api/v3/work_packages/work_package_relations_api.rb +++ b/lib/api/v3/work_packages/work_package_relations_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/work_package_representer.rb b/lib/api/v3/work_packages/work_package_representer.rb index 24b8e28dd41b..ee80601bd82b 100644 --- a/lib/api/v3/work_packages/work_package_representer.rb +++ b/lib/api/v3/work_packages/work_package_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -403,6 +403,22 @@ def self_v3_path(*) end, render_nil: true + property :remaining_time, + exec_context: :decorator, + getter: ->(*) do + datetime_formatter.format_duration_from_hours(represented.remaining_hours, + allow_nil: true) + end, + render_nil: true + + property :derived_remaining_time, + exec_context: :decorator, + getter: ->(*) do + datetime_formatter.format_duration_from_hours(represented.derived_remaining_hours, + allow_nil: true) + end, + render_nil: true + property :duration, exec_context: :decorator, if: ->(represented:, **) { !represented.milestone? }, @@ -567,6 +583,7 @@ def current_user_watcher? def current_user_update_allowed? @current_user_update_allowed ||= current_user.allowed_in_work_package?(:edit_work_packages, represented) || + current_user.allowed_in_project?(:change_work_package_status, represented.project) || current_user.allowed_in_project?(:assign_versions, represented.project) end @@ -623,14 +640,23 @@ def visible_children delegate :schedule_manually=, to: :represented def estimated_time=(value) - represented.estimated_hours = datetime_formatter.parse_duration_to_hours(value, - 'estimatedTime', - allow_nil: true) + represented.estimated_hours = + datetime_formatter.parse_duration_to_hours(value, 'estimatedTime', allow_nil: true) end def derived_estimated_time=(value) - represented.derived_estimated_hours = datetime_formatter - .parse_duration_to_hours(value, 'derivedEstimatedTime', allow_nil: true) + represented.derived_estimated_hours = + datetime_formatter.parse_duration_to_hours(value, 'derivedEstimatedTime', allow_nil: true) + end + + def remaining_time=(value) + represented.remaining_hours = + datetime_formatter.parse_duration_to_hours(value, 'remainingTime', allow_nil: true) + end + + def derived_remaining_time=(value) + represented.derived_remaining_hours = + datetime_formatter.parse_duration_to_hours(value, 'derivedRemainingTime', allow_nil: true) end def spent_time=(value) diff --git a/lib/api/v3/work_packages/work_packages_api.rb b/lib/api/v3/work_packages/work_packages_api.rb index 3001c6d9bf1b..81caf2a46bc6 100644 --- a/lib/api/v3/work_packages/work_packages_api.rb +++ b/lib/api/v3/work_packages/work_packages_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -94,6 +94,7 @@ class WorkPackagesAPI < ::API::OpenProjectAPI mount ::API::V3::Attachments::AttachmentsByWorkPackageAPI mount ::API::V3::Repositories::RevisionsByWorkPackageAPI mount ::API::V3::WorkPackages::UpdateFormAPI + mount ::API::V3::WorkPackages::AvailableAssigneesAPI mount ::API::V3::WorkPackages::AvailableProjectsOnEditAPI mount ::API::V3::WorkPackages::AvailableRelationCandidatesAPI mount ::API::V3::WorkPackages::WorkPackageRelationsAPI diff --git a/lib/api/v3/work_packages/work_packages_by_project_api.rb b/lib/api/v3/work_packages/work_packages_by_project_api.rb index f723abeda069..79bde7782a00 100644 --- a/lib/api/v3/work_packages/work_packages_by_project_api.rb +++ b/lib/api/v3/work_packages/work_packages_by_project_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/api/v3/work_packages/work_packages_shared_helpers.rb b/lib/api/v3/work_packages/work_packages_shared_helpers.rb index 0f194b336c45..c03e80863b5a 100644 --- a/lib/api/v3/work_packages/work_packages_shared_helpers.rb +++ b/lib/api/v3/work_packages/work_packages_shared_helpers.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/ar_condition.rb b/lib/ar_condition.rb index 120f73d10598..1705f21babaf 100644 --- a/lib/ar_condition.rb +++ b/lib/ar_condition.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/constraints/enterprise.rb b/lib/constraints/enterprise.rb index 6f217337c26f..ff7a856fe0c8 100644 --- a/lib/constraints/enterprise.rb +++ b/lib/constraints/enterprise.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/core_extensions.rb b/lib/core_extensions.rb index 32bdd3c4b1be..2317bfd0d537 100644 --- a/lib/core_extensions.rb +++ b/lib/core_extensions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/core_extensions/squish_sql.rb b/lib/core_extensions/squish_sql.rb index 53581c2bb275..836470277e31 100644 --- a/lib/core_extensions/squish_sql.rb +++ b/lib/core_extensions/squish_sql.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/core_extensions/string.rb b/lib/core_extensions/string.rb index 2fb62fac91e9..73cd60ab8cbc 100644 --- a/lib/core_extensions/string.rb +++ b/lib/core_extensions/string.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/core_extensions/time_with_zone.rb b/lib/core_extensions/time_with_zone.rb index f67e0acdbe6a..2ff109597e48 100644 --- a/lib/core_extensions/time_with_zone.rb +++ b/lib/core_extensions/time_with_zone.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/custom_field_form_builder.rb b/lib/custom_field_form_builder.rb index df9292e6fb26..dd3cc028bf5b 100644 --- a/lib/custom_field_form_builder.rb +++ b/lib/custom_field_form_builder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/deprecated_alias.rb b/lib/deprecated_alias.rb index 07f493288b9f..81e921029a5c 100644 --- a/lib/deprecated_alias.rb +++ b/lib/deprecated_alias.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/generators/open_project/plugin/plugin_generator.rb b/lib/generators/open_project/plugin/plugin_generator.rb index 4e824d26d4a2..832edd19d921 100644 --- a/lib/generators/open_project/plugin/plugin_generator.rb +++ b/lib/generators/open_project/plugin/plugin_generator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/instance_finder.rb b/lib/instance_finder.rb index 716bf18e2434..672e45b83a93 100644 --- a/lib/instance_finder.rb +++ b/lib/instance_finder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project.rb b/lib/open_project.rb index eeaf2feb7c82..21f2371dd657 100644 --- a/lib/open_project.rb +++ b/lib/open_project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/access_control.rb b/lib/open_project/access_control.rb index b1d29cd68191..d791be9e0d65 100644 --- a/lib/open_project/access_control.rb +++ b/lib/open_project/access_control.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/access_control/mapper.rb b/lib/open_project/access_control/mapper.rb index 6bc356ee8919..a175c503b759 100644 --- a/lib/open_project/access_control/mapper.rb +++ b/lib/open_project/access_control/mapper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/access_control/permission.rb b/lib/open_project/access_control/permission.rb index 9380a93de4fa..ea57f336380b 100644 --- a/lib/open_project/access_control/permission.rb +++ b/lib/open_project/access_control/permission.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/access_keys.rb b/lib/open_project/access_keys.rb index 04633e512bc9..e4d54e65e69e 100644 --- a/lib/open_project/access_keys.rb +++ b/lib/open_project/access_keys.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/acts_as_url/adapter/op_active_record.rb b/lib/open_project/acts_as_url/adapter/op_active_record.rb index f3805255d417..7fdbc17d08f4 100644 --- a/lib/open_project/acts_as_url/adapter/op_active_record.rb +++ b/lib/open_project/acts_as_url/adapter/op_active_record.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/assets.rb b/lib/open_project/assets.rb index e6afd54ec977..9bd5c17a186c 100644 --- a/lib/open_project/assets.rb +++ b/lib/open_project/assets.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/cache.rb b/lib/open_project/cache.rb index 9f6259e4350f..8e35a631d50c 100644 --- a/lib/open_project/cache.rb +++ b/lib/open_project/cache.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/cache/cache_key.rb b/lib/open_project/cache/cache_key.rb index 06f974ccaad6..ca8501518781 100644 --- a/lib/open_project/cache/cache_key.rb +++ b/lib/open_project/cache/cache_key.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/changed_by_system.rb b/lib/open_project/changed_by_system.rb index 989d3732bb81..172176b543ed 100644 --- a/lib/open_project/changed_by_system.rb +++ b/lib/open_project/changed_by_system.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/content_type_detector.rb b/lib/open_project/content_type_detector.rb index 962ea7657c4e..6c4d7bf6f0cb 100644 --- a/lib/open_project/content_type_detector.rb +++ b/lib/open_project/content_type_detector.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/custom_field_format.rb b/lib/open_project/custom_field_format.rb index 90fe4f6d02db..732eb5cb88b6 100644 --- a/lib/open_project/custom_field_format.rb +++ b/lib/open_project/custom_field_format.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/custom_styles/color_themes.rb b/lib/open_project/custom_styles/color_themes.rb index 8038a056cc66..c9cda1a724e6 100644 --- a/lib/open_project/custom_styles/color_themes.rb +++ b/lib/open_project/custom_styles/color_themes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/custom_styles/design.rb b/lib/open_project/custom_styles/design.rb index 755c80d244fc..dc1bcc22044c 100644 --- a/lib/open_project/custom_styles/design.rb +++ b/lib/open_project/custom_styles/design.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/default_wp_queries.rb b/lib/open_project/default_wp_queries.rb index 3fcb963a3f94..9f2b5830f512 100644 --- a/lib/open_project/default_wp_queries.rb +++ b/lib/open_project/default_wp_queries.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/deprecation.rb b/lib/open_project/deprecation.rb index 0e92616390f1..8702bc8c8a90 100644 --- a/lib/open_project/deprecation.rb +++ b/lib/open_project/deprecation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/enterprise.rb b/lib/open_project/enterprise.rb index ea42aaa0162b..5fbb9207c26e 100644 --- a/lib/open_project/enterprise.rb +++ b/lib/open_project/enterprise.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/events.rb b/lib/open_project/events.rb index c955a9e13a9f..aae889c22e39 100644 --- a/lib/open_project/events.rb +++ b/lib/open_project/events.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/file_command_content_type_detector.rb b/lib/open_project/file_command_content_type_detector.rb index 114896482403..64f980380033 100644 --- a/lib/open_project/file_command_content_type_detector.rb +++ b/lib/open_project/file_command_content_type_detector.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/files.rb b/lib/open_project/files.rb index c1dd4c98f6d3..6befc4f70b68 100644 --- a/lib/open_project/files.rb +++ b/lib/open_project/files.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/footer.rb b/lib/open_project/footer.rb index 5bd590f2f3d1..0d2fc2fd5df1 100644 --- a/lib/open_project/footer.rb +++ b/lib/open_project/footer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/form_tag_helper.rb b/lib/open_project/form_tag_helper.rb index 6b155b58a294..d5d414c5cdcf 100644 --- a/lib/open_project/form_tag_helper.rb +++ b/lib/open_project/form_tag_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/full_text_search.rb b/lib/open_project/full_text_search.rb index b666b8e4c45e..2f66450db3e0 100644 --- a/lib/open_project/full_text_search.rb +++ b/lib/open_project/full_text_search.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/hook.rb b/lib/open_project/hook.rb index f1e3d4ca8236..100760ffb21b 100644 --- a/lib/open_project/hook.rb +++ b/lib/open_project/hook.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/hooks.rb b/lib/open_project/hooks.rb index 46dc5ce09bd1..79f57991bb72 100644 --- a/lib/open_project/hooks.rb +++ b/lib/open_project/hooks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/hooks/view_account_login_auth_provider.rb b/lib/open_project/hooks/view_account_login_auth_provider.rb index 945342aceccd..23bce0248df8 100644 --- a/lib/open_project/hooks/view_account_login_auth_provider.rb +++ b/lib/open_project/hooks/view_account_login_auth_provider.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/hooks/view_account_login_bottom.rb b/lib/open_project/hooks/view_account_login_bottom.rb index bed1072f2cbc..b91444e7ef90 100644 --- a/lib/open_project/hooks/view_account_login_bottom.rb +++ b/lib/open_project/hooks/view_account_login_bottom.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/info.rb b/lib/open_project/info.rb index 4b62089d46b0..27c761bbbaef 100644 --- a/lib/open_project/info.rb +++ b/lib/open_project/info.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal/attachment_helper.rb b/lib/open_project/journal/attachment_helper.rb index 3149e3acdda0..31e4b214c1fa 100644 --- a/lib/open_project/journal/attachment_helper.rb +++ b/lib/open_project/journal/attachment_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/active_status.rb b/lib/open_project/journal_formatter/active_status.rb index 6da3ed6f44c6..2604f0244aea 100644 --- a/lib/open_project/journal_formatter/active_status.rb +++ b/lib/open_project/journal_formatter/active_status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ def render(_key, values, options = { html: true }) label_text = label('project') label_text = content_tag(:strong, label_text) if options[:html] - value = \ + value = if values.last I18n.t('activerecord.attributes.project.active_value.true') else diff --git a/lib/open_project/journal_formatter/attachment.rb b/lib/open_project/journal_formatter/attachment.rb index d900aec15909..65d1f628ea85 100644 --- a/lib/open_project/journal_formatter/attachment.rb +++ b/lib/open_project/journal_formatter/attachment.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/cause.rb b/lib/open_project/journal_formatter/cause.rb index c6f9893915d9..53eb0d7e32ad 100644 --- a/lib/open_project/journal_formatter/cause.rb +++ b/lib/open_project/journal_formatter/cause.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/custom_field.rb b/lib/open_project/journal_formatter/custom_field.rb index f54c098b52e2..d8d9f8052211 100644 --- a/lib/open_project/journal_formatter/custom_field.rb +++ b/lib/open_project/journal_formatter/custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/diff.rb b/lib/open_project/journal_formatter/diff.rb index ead7e0e19d37..3910e810288e 100644 --- a/lib/open_project/journal_formatter/diff.rb +++ b/lib/open_project/journal_formatter/diff.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/file_link.rb b/lib/open_project/journal_formatter/file_link.rb index 8fa66e4e1f93..8281f5d428f2 100644 --- a/lib/open_project/journal_formatter/file_link.rb +++ b/lib/open_project/journal_formatter/file_link.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/ignore_non_working_days.rb b/lib/open_project/journal_formatter/ignore_non_working_days.rb index 478c59e2bbe2..7fae566bc561 100644 --- a/lib/open_project/journal_formatter/ignore_non_working_days.rb +++ b/lib/open_project/journal_formatter/ignore_non_working_days.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/project_status_code.rb b/lib/open_project/journal_formatter/project_status_code.rb index 2fbe084d9bef..83e1a9f317fc 100644 --- a/lib/open_project/journal_formatter/project_status_code.rb +++ b/lib/open_project/journal_formatter/project_status_code.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/schedule_manually.rb b/lib/open_project/journal_formatter/schedule_manually.rb index 91c353b5c303..141dcc6badcc 100644 --- a/lib/open_project/journal_formatter/schedule_manually.rb +++ b/lib/open_project/journal_formatter/schedule_manually.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/subproject_named_association.rb b/lib/open_project/journal_formatter/subproject_named_association.rb index a033f5b1cc02..0266af9d4f93 100644 --- a/lib/open_project/journal_formatter/subproject_named_association.rb +++ b/lib/open_project/journal_formatter/subproject_named_association.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/template.rb b/lib/open_project/journal_formatter/template.rb index f44a48503c99..e01c33299bf3 100644 --- a/lib/open_project/journal_formatter/template.rb +++ b/lib/open_project/journal_formatter/template.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ def render(_key, values, options = { html: true }) label_text = label('project') label_text = content_tag(:strong, label_text) if options[:html] - value = \ + value = if values.last I18n.t('activerecord.attributes.project.templated_value.true') else diff --git a/lib/open_project/journal_formatter/time_entry_hours.rb b/lib/open_project/journal_formatter/time_entry_hours.rb index 7e2672783cf6..98ff91596bcf 100644 --- a/lib/open_project/journal_formatter/time_entry_hours.rb +++ b/lib/open_project/journal_formatter/time_entry_hours.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/time_entry_named_association.rb b/lib/open_project/journal_formatter/time_entry_named_association.rb index 266fa76294b3..bec101400874 100644 --- a/lib/open_project/journal_formatter/time_entry_named_association.rb +++ b/lib/open_project/journal_formatter/time_entry_named_association.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/journal_formatter/visibility.rb b/lib/open_project/journal_formatter/visibility.rb index 772a7ead764c..72f215e7bedd 100644 --- a/lib/open_project/journal_formatter/visibility.rb +++ b/lib/open_project/journal_formatter/visibility.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ def render(_key, values, options = { html: true }) label_text = I18n.t('activerecord.attributes.project.public_value.title') label_text = content_tag(:strong, label_text) if options[:html] - value = \ + value = if values.last I18n.t('activerecord.attributes.project.public_value.true') else diff --git a/lib/open_project/journal_formatter/wiki_diff.rb b/lib/open_project/journal_formatter/wiki_diff.rb index 4c64cd8fd93a..9f069adef680 100644 --- a/lib/open_project/journal_formatter/wiki_diff.rb +++ b/lib/open_project/journal_formatter/wiki_diff.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/locale_helper.rb b/lib/open_project/locale_helper.rb index 955f2079736b..08843d4eaafb 100644 --- a/lib/open_project/locale_helper.rb +++ b/lib/open_project/locale_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/menu.rb b/lib/open_project/menu.rb new file mode 100644 index 000000000000..693e4517b87e --- /dev/null +++ b/lib/open_project/menu.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2024 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +module OpenProject + module Menu + MenuGroup = Data.define(:header, :children) + MenuItem = Data.define(:title, :href, :selected) + end +end diff --git a/lib/open_project/mime_type.rb b/lib/open_project/mime_type.rb index 695481054347..d7060c2bf1c3 100644 --- a/lib/open_project/mime_type.rb +++ b/lib/open_project/mime_type.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/mutex.rb b/lib/open_project/mutex.rb index 7530ec864023..f708442dfc01 100644 --- a/lib/open_project/mutex.rb +++ b/lib/open_project/mutex.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/nested_set/rebuild_patch.rb b/lib/open_project/nested_set/rebuild_patch.rb index ad35a8460583..0817dc29a67d 100644 --- a/lib/open_project/nested_set/rebuild_patch.rb +++ b/lib/open_project/nested_set/rebuild_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/object_linking.rb b/lib/open_project/object_linking.rb index e16af57663f7..eae69d26898b 100644 --- a/lib/open_project/object_linking.rb +++ b/lib/open_project/object_linking.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -103,7 +103,7 @@ def link_to_message(message, options = {}, html_options = nil) h(truncate(message.subject, length: 60)), topic_path_or_url(options.delete(:no_root) ? message : message.root, { - r: (message.parent_id && message.id), + r: message.parent_id && message.id, anchor: (message.parent_id ? "message-#{message.id}" : nil) }.merge(options)), html_options diff --git a/lib/open_project/omni_auth/authorization.rb b/lib/open_project/omni_auth/authorization.rb index 9320d353eb1f..2176ab7d9158 100644 --- a/lib/open_project/omni_auth/authorization.rb +++ b/lib/open_project/omni_auth/authorization.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -82,10 +82,10 @@ def self.authorize_user(opts = {}, &) end end - def self.authorize_user_for_provider(provider, &block) + def self.authorize_user_for_provider(provider) callback = AuthorizationBlockCallback.new do |dec, auth_hash| if auth_hash.provider.to_sym == provider.to_sym - block.call dec, auth_hash + yield dec, auth_hash else dec.approve end @@ -260,9 +260,9 @@ def reject(error_message) ## # Passes each element to the given block and returns the # result of the block as soon as it's truthy. - def find_map(&block) + def find_map each do |e| - result = block.call e + result = yield e return result if result end diff --git a/lib/open_project/page_hierarchy_helper.rb b/lib/open_project/page_hierarchy_helper.rb index 5fda4055e5d3..4970e9eebe3b 100644 --- a/lib/open_project/page_hierarchy_helper.rb +++ b/lib/open_project/page_hierarchy_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/passwords.rb b/lib/open_project/passwords.rb index 6b725f6c3136..c4d6318509ab 100644 --- a/lib/open_project/passwords.rb +++ b/lib/open_project/passwords.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/patches.rb b/lib/open_project/patches.rb index 89bc660a82dc..50725fcc8825 100644 --- a/lib/open_project/patches.rb +++ b/lib/open_project/patches.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,14 +33,14 @@ module Patches ## # Check against a particular gem version # before patching it - def patch_gem_version(gem, version, &block) + def patch_gem_version(gem, version) found_version = Gem.loaded_specs[gem].version if found_version > Gem::Version.new(version) raise "OpenProject expects to patch gem '#{gem}' at version #{version} " \ "but found version #{found_version}. Please check whether the patch is still valid." end - block.call + yield end end end diff --git a/lib/open_project/patches/action_view_accessible_errors.rb b/lib/open_project/patches/action_view_accessible_errors.rb index 7da68b9c3ccd..965a9bdc83a3 100644 --- a/lib/open_project/patches/action_view_accessible_errors.rb +++ b/lib/open_project/patches/action_view_accessible_errors.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/patches/action_view_helpers_asset_tag_helper.rb b/lib/open_project/patches/action_view_helpers_asset_tag_helper.rb index d9c310990cb8..4a8e99c76363 100644 --- a/lib/open_project/patches/action_view_helpers_asset_tag_helper.rb +++ b/lib/open_project/patches/action_view_helpers_asset_tag_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/patches/active_model_errors.rb b/lib/open_project/patches/active_model_errors.rb index 5cef22860df2..146e38001528 100644 --- a/lib/open_project/patches/active_model_errors.rb +++ b/lib/open_project/patches/active_model_errors.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/patches/active_record_i18n.rb b/lib/open_project/patches/active_record_i18n.rb index 486a6ecf2fd8..e2196cf2822b 100644 --- a/lib/open_project/patches/active_record_i18n.rb +++ b/lib/open_project/patches/active_record_i18n.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/patches/acts_as_list.rb b/lib/open_project/patches/acts_as_list.rb index 26c411f30d50..be0b086df719 100644 --- a/lib/open_project/patches/acts_as_list.rb +++ b/lib/open_project/patches/acts_as_list.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/patches/delayed_job_adapter.rb b/lib/open_project/patches/delayed_job_adapter.rb index 07185ad9e1ed..1a3af2f472b1 100644 --- a/lib/open_project/patches/delayed_job_adapter.rb +++ b/lib/open_project/patches/delayed_job_adapter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/patches/delivery_job.rb b/lib/open_project/patches/delivery_job.rb index 21ae39c7331f..99f29caa0472 100644 --- a/lib/open_project/patches/delivery_job.rb +++ b/lib/open_project/patches/delivery_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/patches/doorkeeper_application.rb b/lib/open_project/patches/doorkeeper_application.rb index 04b2afe3f6d1..adf2810684f5 100644 --- a/lib/open_project/patches/doorkeeper_application.rb +++ b/lib/open_project/patches/doorkeeper_application.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/patches/i18n_reject_empty_string.rb b/lib/open_project/patches/i18n_reject_empty_string.rb index 97423077507c..cf1e896b6df1 100644 --- a/lib/open_project/patches/i18n_reject_empty_string.rb +++ b/lib/open_project/patches/i18n_reject_empty_string.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/patches/lookbook_tree_node_inflector.rb b/lib/open_project/patches/lookbook_tree_node_inflector.rb index f95dbdb37211..2293143dc171 100644 --- a/lib/open_project/patches/lookbook_tree_node_inflector.rb +++ b/lib/open_project/patches/lookbook_tree_node_inflector.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -41,7 +41,7 @@ def label end if Rails.env.development? - OpenProject::Patches.patch_gem_version 'lookbook', '2.1.1' do + OpenProject::Patches.patch_gem_version 'lookbook', '2.2.0' do Lookbook::TreeNode.prepend OpenProject::Patches::LookbookTreeNodeInflector end end diff --git a/lib/open_project/patches/mailer_controller_preview.rb b/lib/open_project/patches/mailer_controller_preview.rb index 468567b9f6a2..ce3f75ba5bd9 100644 --- a/lib/open_project/patches/mailer_controller_preview.rb +++ b/lib/open_project/patches/mailer_controller_preview.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,7 @@ module OpenProject::Patches::MailerControllerCsp def extend_content_security_policy append_content_security_policy_directives( - script_src: %w('unsafe-inline'), + script_src: %w('unsafe-inline') ) end end diff --git a/lib/open_project/patches/representable.rb b/lib/open_project/patches/representable.rb index 1bb6580591f8..e174e7c4fe43 100644 --- a/lib/open_project/patches/representable.rb +++ b/lib/open_project/patches/representable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/patches/string.rb b/lib/open_project/patches/string.rb index 854d558e55a9..6e01c3a3f00e 100644 --- a/lib/open_project/patches/string.rb +++ b/lib/open_project/patches/string.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/plugins.rb b/lib/open_project/plugins.rb index f054ccdc9145..a97c1bc2289c 100644 --- a/lib/open_project/plugins.rb +++ b/lib/open_project/plugins.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/plugins/acts_as_op_engine.rb b/lib/open_project/plugins/acts_as_op_engine.rb index 35321b535eef..b7549c164d37 100644 --- a/lib/open_project/plugins/acts_as_op_engine.rb +++ b/lib/open_project/plugins/acts_as_op_engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -295,9 +295,9 @@ def activity_provider(event_type, options = {}) ## # Register a "cron"-like background job - def add_cron_jobs(&block) + def add_cron_jobs config.to_prepare do - Array(block.call).each do |clz| + Array(yield).each do |clz| ::Cron::CronJob.register!(clz.is_a?(Class) ? clz : clz.to_s.constantize) end end diff --git a/lib/open_project/plugins/frontend_linking.rb b/lib/open_project/plugins/frontend_linking.rb index 022758daa9a0..35eed08c1b99 100644 --- a/lib/open_project/plugins/frontend_linking.rb +++ b/lib/open_project/plugins/frontend_linking.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/plugins/frontend_linking/generator.rb b/lib/open_project/plugins/frontend_linking/generator.rb index 9df8d87004d3..b46fc63c12e9 100644 --- a/lib/open_project/plugins/frontend_linking/generator.rb +++ b/lib/open_project/plugins/frontend_linking/generator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -59,7 +59,7 @@ def regenerate! # For that, search all gems with the group :opf_plugins def regenerate_angular_links all_frontend_plugins.tap do |plugins| - target_dir = Rails.root.join('frontend', 'src', 'app', 'features', 'plugins', 'linked') + target_dir = Rails.root.join("frontend/src/app/features/plugins/linked") puts "Cleaning linked target directory #{target_dir}" # Removing the current linked directory and recreate @@ -103,7 +103,7 @@ def all_plugins_with_global_styles ## # Regenerate the frontend plugin module orchestrating the linked frontends def generate_plugin_module(plugins) - file_register = Rails.root.join('frontend', 'src', 'app', 'features', 'plugins', 'linked-plugins.module.ts') + file_register = Rails.root.join("frontend/src/app/features/plugins/linked-plugins.module.ts") template_file = File.read(File.expand_path('linked-plugins.module.ts.erb', __dir__)) template = ::ERB.new template_file, trim_mode: '-' @@ -116,7 +116,7 @@ def generate_plugin_module(plugins) ## # Regenerate the frontend plugin sass files def generate_plugin_sass(plugins) - file_register = Rails.root.join('frontend', 'src', 'app', 'features', 'plugins', 'linked-plugins.styles.sass') + file_register = Rails.root.join("frontend/src/app/features/plugins/linked-plugins.styles.sass") template_file = File.read(File.expand_path('linked-plugins.styles.sass.erb', __dir__)) template = ::ERB.new template_file, trim_mode: '-' diff --git a/lib/open_project/plugins/frontend_linking/linked-plugins.module.ts.erb b/lib/open_project/plugins/frontend_linking/linked-plugins.module.ts.erb index ee857d0ee3e6..4f13547cc4a9 100644 --- a/lib/open_project/plugins/frontend_linking/linked-plugins.module.ts.erb +++ b/lib/open_project/plugins/frontend_linking/linked-plugins.module.ts.erb @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/plugins/frontend_linking/linked-plugins.styles.sass.erb b/lib/open_project/plugins/frontend_linking/linked-plugins.styles.sass.erb index 865916cb0502..a71986288701 100644 --- a/lib/open_project/plugins/frontend_linking/linked-plugins.styles.sass.erb +++ b/lib/open_project/plugins/frontend_linking/linked-plugins.styles.sass.erb @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/plugins/load_dependency.rb b/lib/open_project/plugins/load_dependency.rb index 9ce585ee841b..d92204b776e7 100644 --- a/lib/open_project/plugins/load_dependency.rb +++ b/lib/open_project/plugins/load_dependency.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/plugins/migration_mapping.rb b/lib/open_project/plugins/migration_mapping.rb index 283d99037583..4517a0380e78 100644 --- a/lib/open_project/plugins/migration_mapping.rb +++ b/lib/open_project/plugins/migration_mapping.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/plugins/module_handler.rb b/lib/open_project/plugins/module_handler.rb index 7dcb0e4f533a..9e12c259d680 100644 --- a/lib/open_project/plugins/module_handler.rb +++ b/lib/open_project/plugins/module_handler.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/plugins/patch_registry.rb b/lib/open_project/plugins/patch_registry.rb index c73f3bbc9284..d03c678b1d99 100644 --- a/lib/open_project/plugins/patch_registry.rb +++ b/lib/open_project/plugins/patch_registry.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/rate_limiting/throttled_api_error.rb b/lib/open_project/rate_limiting/throttled_api_error.rb index 4c8e4bc05d61..e7e47e0b2304 100644 --- a/lib/open_project/rate_limiting/throttled_api_error.rb +++ b/lib/open_project/rate_limiting/throttled_api_error.rb @@ -4,7 +4,7 @@ class ThrottledApiError < ::API::Errors::ErrorBase code 429 def initialize(*) - super 'You have reached the request limit for this resource.' + super('You have reached the request limit for this resource.') end end end diff --git a/lib/open_project/repository_authentication.rb b/lib/open_project/repository_authentication.rb index 9442c689304d..67b9d25498fb 100644 --- a/lib/open_project/repository_authentication.rb +++ b/lib/open_project/repository_authentication.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/safe_params.rb b/lib/open_project/safe_params.rb index fc6ec014120b..85315f96160e 100644 --- a/lib/open_project/safe_params.rb +++ b/lib/open_project/safe_params.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/scm/adapters.rb b/lib/open_project/scm/adapters.rb index e1c606a18390..5c0ba13b9859 100644 --- a/lib/open_project/scm/adapters.rb +++ b/lib/open_project/scm/adapters.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -71,7 +71,7 @@ class Entry def initialize(attributes = {}) %i[name path kind size].each do |attr| - send("#{attr}=", attributes[attr]) + send(:"#{attr}=", attributes[attr]) end self.size = size.to_i if size.present? @@ -105,7 +105,7 @@ class Revision def initialize(attributes = {}) %i[identifier scmid author time paths revision branch].each do |attr| - send("#{attr}=", attributes[attr]) + send(:"#{attr}=", attributes[attr]) end self.name = attributes[:name].presence || identifier diff --git a/lib/open_project/scm/adapters/base.rb b/lib/open_project/scm/adapters/base.rb index fab5ba17b2a4..c1e832845fd5 100644 --- a/lib/open_project/scm/adapters/base.rb +++ b/lib/open_project/scm/adapters/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/scm/adapters/checkout_instructions.rb b/lib/open_project/scm/adapters/checkout_instructions.rb index 79a202d6ecce..62dde88beea1 100644 --- a/lib/open_project/scm/adapters/checkout_instructions.rb +++ b/lib/open_project/scm/adapters/checkout_instructions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/scm/adapters/git.rb b/lib/open_project/scm/adapters/git.rb index 15763d7eb0a1..a1bd782506dd 100644 --- a/lib/open_project/scm/adapters/git.rb +++ b/lib/open_project/scm/adapters/git.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -57,7 +57,7 @@ def client_command end def client_version - @client_version ||= (git_binary_version || []) + @client_version ||= git_binary_version || [] end def scm_version_from_command_line @@ -479,11 +479,11 @@ def capture_git(args, opt = {}) # Builds the full git arguments from the parameters # and calls the given block with in, out, err, thread # from +Open3#popen3+. - def popen3(args, opt = {}, &block) + def popen3(args, opt = {}) opt = opt.merge(chdir: checkout_path) if checkout? cmd = build_git_cmd(args) super(cmd, opt) do |_stdin, stdout, stderr, wait_thr| - block.call(stdout) + yield(stdout) process = wait_thr.value if process.exitstatus != 0 diff --git a/lib/open_project/scm/adapters/local_client.rb b/lib/open_project/scm/adapters/local_client.rb index 1b3c2062f2e2..c30a4435fa79 100644 --- a/lib/open_project/scm/adapters/local_client.rb +++ b/lib/open_project/scm/adapters/local_client.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/scm/adapters/subversion.rb b/lib/open_project/scm/adapters/subversion.rb index d424d78f7367..398d1c36795c 100644 --- a/lib/open_project/scm/adapters/subversion.rb +++ b/lib/open_project/scm/adapters/subversion.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -39,11 +39,11 @@ def client_command end def svnadmin_command - @svnadmin_command ||= (self.class.config[:svnadmin_command] || 'svnadmin') + @svnadmin_command ||= self.class.config[:svnadmin_command] || 'svnadmin' end def client_version - @client_version ||= (svn_binary_version || []) + @client_version ||= svn_binary_version || [] end def svn_binary_version @@ -358,10 +358,10 @@ def target(path = '', peg: nil) # Builds the full git arguments from the parameters # and calls the given block with in, out, err, thread # from +Open3#popen3+. - def popen3(args, &block) + def popen3(args) cmd = build_svn_cmd(args) super(cmd) do |_stdin, stdout, stderr, wait_thr| - block.call(stdout, stderr) + yield(stdout, stderr) process = wait_thr.value return process.exitstatus == 0 diff --git a/lib/open_project/scm/exceptions.rb b/lib/open_project/scm/exceptions.rb index c87e1941bcf8..5ef88fde4636 100644 --- a/lib/open_project/scm/exceptions.rb +++ b/lib/open_project/scm/exceptions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/scm/manageable_repository.rb b/lib/open_project/scm/manageable_repository.rb index 6fc2f76bdabc..91f45a907f4f 100644 --- a/lib/open_project/scm/manageable_repository.rb +++ b/lib/open_project/scm/manageable_repository.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/scm/manager.rb b/lib/open_project/scm/manager.rb index e0b834627bbd..bf600d5ccece 100644 --- a/lib/open_project/scm/manager.rb +++ b/lib/open_project/scm/manager.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/sql_sanitization.rb b/lib/open_project/sql_sanitization.rb index 3de382c6b5c7..adc5d318acee 100644 --- a/lib/open_project/sql_sanitization.rb +++ b/lib/open_project/sql_sanitization.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/static/homescreen.rb b/lib/open_project/static/homescreen.rb index 3fd3fc747dbf..892f1fb38ce2 100644 --- a/lib/open_project/static/homescreen.rb +++ b/lib/open_project/static/homescreen.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/static/links.rb b/lib/open_project/static/links.rb index be4da3680368..79aa7ac59c62 100644 --- a/lib/open_project/static/links.rb +++ b/lib/open_project/static/links.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/static_routing.rb b/lib/open_project/static_routing.rb index 7e46c50753d0..c51b41401581 100644 --- a/lib/open_project/static_routing.rb +++ b/lib/open_project/static_routing.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/storage.rb b/lib/open_project/storage.rb index 77821f652cac..8f78d7f2559f 100644 --- a/lib/open_project/storage.rb +++ b/lib/open_project/storage.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/syntax_highlighting.rb b/lib/open_project/syntax_highlighting.rb index 842bb81a12a7..c21b9985adea 100644 --- a/lib/open_project/syntax_highlighting.rb +++ b/lib/open_project/syntax_highlighting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting.rb b/lib/open_project/text_formatting.rb index d9baa979251d..d86fb34cee2f 100644 --- a/lib/open_project/text_formatting.rb +++ b/lib/open_project/text_formatting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/attachment_filter.rb b/lib/open_project/text_formatting/filters/attachment_filter.rb index acfa264c458a..55cd843a938e 100644 --- a/lib/open_project/text_formatting/filters/attachment_filter.rb +++ b/lib/open_project/text_formatting/filters/attachment_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/autolink_filter.rb b/lib/open_project/text_formatting/filters/autolink_filter.rb index 8470bdcd4364..ee133ac91c0f 100644 --- a/lib/open_project/text_formatting/filters/autolink_filter.rb +++ b/lib/open_project/text_formatting/filters/autolink_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/bem_css_filter.rb b/lib/open_project/text_formatting/filters/bem_css_filter.rb index 863c253fd8c9..1b2742664119 100644 --- a/lib/open_project/text_formatting/filters/bem_css_filter.rb +++ b/lib/open_project/text_formatting/filters/bem_css_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/figure_wrapped_filter.rb b/lib/open_project/text_formatting/filters/figure_wrapped_filter.rb index afb43c57cbea..2a3b9d89ca19 100644 --- a/lib/open_project/text_formatting/filters/figure_wrapped_filter.rb +++ b/lib/open_project/text_formatting/filters/figure_wrapped_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/link_attribute_filter.rb b/lib/open_project/text_formatting/filters/link_attribute_filter.rb index aecf0abbe95b..524b0c574876 100644 --- a/lib/open_project/text_formatting/filters/link_attribute_filter.rb +++ b/lib/open_project/text_formatting/filters/link_attribute_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/macro_filter.rb b/lib/open_project/text_formatting/filters/macro_filter.rb index 39ed22bcd3a9..578eb8d3d1a4 100644 --- a/lib/open_project/text_formatting/filters/macro_filter.rb +++ b/lib/open_project/text_formatting/filters/macro_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/macros/child_pages.rb b/lib/open_project/text_formatting/filters/macros/child_pages.rb index 35ed3d0a6433..a552eeb03e5a 100644 --- a/lib/open_project/text_formatting/filters/macros/child_pages.rb +++ b/lib/open_project/text_formatting/filters/macros/child_pages.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/macros/child_pages/child_pages_context.rb b/lib/open_project/text_formatting/filters/macros/child_pages/child_pages_context.rb index fb3abb384997..de750eaf6705 100644 --- a/lib/open_project/text_formatting/filters/macros/child_pages/child_pages_context.rb +++ b/lib/open_project/text_formatting/filters/macros/child_pages/child_pages_context.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/macros/create_work_package_link.rb b/lib/open_project/text_formatting/filters/macros/create_work_package_link.rb index 3f83e5009710..9303fe32d45c 100644 --- a/lib/open_project/text_formatting/filters/macros/create_work_package_link.rb +++ b/lib/open_project/text_formatting/filters/macros/create_work_package_link.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/macros/embedded_table.rb b/lib/open_project/text_formatting/filters/macros/embedded_table.rb index 8096ff63d25a..bd24d0a37471 100644 --- a/lib/open_project/text_formatting/filters/macros/embedded_table.rb +++ b/lib/open_project/text_formatting/filters/macros/embedded_table.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/macros/include_wiki_page.rb b/lib/open_project/text_formatting/filters/macros/include_wiki_page.rb index e6f6049e4309..7e0f07bc7373 100644 --- a/lib/open_project/text_formatting/filters/macros/include_wiki_page.rb +++ b/lib/open_project/text_formatting/filters/macros/include_wiki_page.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/macros/toc.rb b/lib/open_project/text_formatting/filters/macros/toc.rb index 398ae5b54ea3..f3285c54ff58 100644 --- a/lib/open_project/text_formatting/filters/macros/toc.rb +++ b/lib/open_project/text_formatting/filters/macros/toc.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/markdown_filter.rb b/lib/open_project/text_formatting/filters/markdown_filter.rb index ccfc4342b879..c3b359ba6f7d 100644 --- a/lib/open_project/text_formatting/filters/markdown_filter.rb +++ b/lib/open_project/text_formatting/filters/markdown_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,35 +31,30 @@ module Filters class MarkdownFilter < HTML::Pipeline::MarkdownFilter # Convert Markdown to HTML using CommonMarker def call - render_html parse + Commonmarker.to_html(text, options: commonmarker_options, plugins: commonmarker_plugins) + .tap(&:rstrip!) end private ## - # Get initial CommonMarker AST for further processing - # - def parse - parse_options = %i[LIBERAL_HTML_TAG STRIKETHROUGH_DOUBLE_TILDE UNSAFE] - - # We need liberal html tags thus parsing and rendering are several steps - # Check: We may be able to reuse the ast instead of rendering to html and then parsing with nokogiri again. - CommonMarker.render_doc( - text, - parse_options, - commonmark_extensions - ) + # CommonMarker Options + # https://github.com/gjtorikian/commonmarker#options + def commonmarker_options + { + parse: { smart: false }, + extension: commonmark_extensions.index_with(true), + render: { + unsafe: true, + escape: false, + github_pre_lang: true, + hardbreaks: context[:gfm] != false + } + } end - ## - # Render the transformed AST - def render_html(ast) - render_options = %i[GITHUB_PRE_LANG UNSAFE] - render_options << :HARDBREAKS if context[:gfm] != false - - ast - .to_html(render_options, commonmark_extensions) - .tap(&:rstrip!) + def commonmarker_plugins + { syntax_highlighter: nil } end ## diff --git a/lib/open_project/text_formatting/filters/mention_filter.rb b/lib/open_project/text_formatting/filters/mention_filter.rb index da7f52ace6b1..bed2223d97dc 100644 --- a/lib/open_project/text_formatting/filters/mention_filter.rb +++ b/lib/open_project/text_formatting/filters/mention_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/pattern_matcher_filter.rb b/lib/open_project/text_formatting/filters/pattern_matcher_filter.rb index dc93c66388c9..1bc20b093894 100644 --- a/lib/open_project/text_formatting/filters/pattern_matcher_filter.rb +++ b/lib/open_project/text_formatting/filters/pattern_matcher_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/plain_filter.rb b/lib/open_project/text_formatting/filters/plain_filter.rb index 896694050101..308c68593fcd 100644 --- a/lib/open_project/text_formatting/filters/plain_filter.rb +++ b/lib/open_project/text_formatting/filters/plain_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/relative_link_filter.rb b/lib/open_project/text_formatting/filters/relative_link_filter.rb index 17724602dcbf..171e7a085111 100644 --- a/lib/open_project/text_formatting/filters/relative_link_filter.rb +++ b/lib/open_project/text_formatting/filters/relative_link_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/sanitization_filter.rb b/lib/open_project/text_formatting/filters/sanitization_filter.rb index bfa5460fd20f..730080eb5865 100644 --- a/lib/open_project/text_formatting/filters/sanitization_filter.rb +++ b/lib/open_project/text_formatting/filters/sanitization_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/setting_macros_filter.rb b/lib/open_project/text_formatting/filters/setting_macros_filter.rb index 16bd12afb4a5..6de5724ea397 100644 --- a/lib/open_project/text_formatting/filters/setting_macros_filter.rb +++ b/lib/open_project/text_formatting/filters/setting_macros_filter.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/syntax_highlight_filter.rb b/lib/open_project/text_formatting/filters/syntax_highlight_filter.rb index 996263eeb614..9164d9e5527f 100644 --- a/lib/open_project/text_formatting/filters/syntax_highlight_filter.rb +++ b/lib/open_project/text_formatting/filters/syntax_highlight_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/table_of_contents_filter.rb b/lib/open_project/text_formatting/filters/table_of_contents_filter.rb index 17e2479550d1..eb5b5cb3c04a 100644 --- a/lib/open_project/text_formatting/filters/table_of_contents_filter.rb +++ b/lib/open_project/text_formatting/filters/table_of_contents_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/filters/task_list_filter.rb b/lib/open_project/text_formatting/filters/task_list_filter.rb index 0000383a54b3..8271c7a4ef8d 100644 --- a/lib/open_project/text_formatting/filters/task_list_filter.rb +++ b/lib/open_project/text_formatting/filters/task_list_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -57,7 +57,7 @@ def render_item_checkbox(item) # # Returns nothing. def filter! - list_items(doc).reverse.each do |li| + list_items(doc).reverse_each do |li| next if list_items(li.parent).empty? add_css_class(li.parent, 'op-uc-list_task-list') @@ -68,7 +68,7 @@ def filter! else [li, li.inner_html] end - if match = (inner.chomp =~ ItemPattern && $1) + if match = inner.chomp =~ ItemPattern && $1 item = TaskList::Item.new(match, inner) # prepend because we're iterating in reverse task_list_items.unshift item diff --git a/lib/open_project/text_formatting/formats.rb b/lib/open_project/text_formatting/formats.rb index 247c48d69d5a..fbfc0481ef1d 100644 --- a/lib/open_project/text_formatting/formats.rb +++ b/lib/open_project/text_formatting/formats.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -32,20 +32,20 @@ class << self attr_reader :plain, :rich %i(plain rich).each do |flavor| - define_method("#{flavor}_format") do + define_method(:"#{flavor}_format") do send(flavor).format end - define_method("#{flavor}_formatter") do + define_method(:"#{flavor}_formatter") do send(flavor).formatter end - define_method("#{flavor}_helper") do + define_method(:"#{flavor}_helper") do send(flavor).helper end - define_method("register_#{flavor}!") do |klass| - instance_variable_set("@#{flavor}", klass) + define_method(:"register_#{flavor}!") do |klass| + instance_variable_set(:"@#{flavor}", klass) end end diff --git a/lib/open_project/text_formatting/formats/base_format.rb b/lib/open_project/text_formatting/formats/base_format.rb index 1e476761a0d8..823df59ec811 100644 --- a/lib/open_project/text_formatting/formats/base_format.rb +++ b/lib/open_project/text_formatting/formats/base_format.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/formats/base_formatter.rb b/lib/open_project/text_formatting/formats/base_formatter.rb index c7c06a9b3765..928e2764e229 100644 --- a/lib/open_project/text_formatting/formats/base_formatter.rb +++ b/lib/open_project/text_formatting/formats/base_formatter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/formats/markdown/format.rb b/lib/open_project/text_formatting/formats/markdown/format.rb index 02e52c4e8091..b42b54f6fac5 100644 --- a/lib/open_project/text_formatting/formats/markdown/format.rb +++ b/lib/open_project/text_formatting/formats/markdown/format.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/formats/markdown/formatter.rb b/lib/open_project/text_formatting/formats/markdown/formatter.rb index 120c5e92eb72..f494b0022b17 100644 --- a/lib/open_project/text_formatting/formats/markdown/formatter.rb +++ b/lib/open_project/text_formatting/formats/markdown/formatter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/formats/markdown/helper.rb b/lib/open_project/text_formatting/formats/markdown/helper.rb index b3c12a95357b..096fac1eac8a 100644 --- a/lib/open_project/text_formatting/formats/markdown/helper.rb +++ b/lib/open_project/text_formatting/formats/markdown/helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/formats/plain/format.rb b/lib/open_project/text_formatting/formats/plain/format.rb index 5cba30ff76f8..072310d87bda 100644 --- a/lib/open_project/text_formatting/formats/plain/format.rb +++ b/lib/open_project/text_formatting/formats/plain/format.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/formats/plain/formatter.rb b/lib/open_project/text_formatting/formats/plain/formatter.rb index 4940d00e0c09..2d3f77393582 100644 --- a/lib/open_project/text_formatting/formats/plain/formatter.rb +++ b/lib/open_project/text_formatting/formats/plain/formatter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/formats/plain/helper.rb b/lib/open_project/text_formatting/formats/plain/helper.rb index 806fcbb539e6..54cc212f2808 100644 --- a/lib/open_project/text_formatting/formats/plain/helper.rb +++ b/lib/open_project/text_formatting/formats/plain/helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/helpers/link_rewriter.rb b/lib/open_project/text_formatting/helpers/link_rewriter.rb index d298359dff34..8994e981f6bc 100644 --- a/lib/open_project/text_formatting/helpers/link_rewriter.rb +++ b/lib/open_project/text_formatting/helpers/link_rewriter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/matchers/attribute_macros.rb b/lib/open_project/text_formatting/matchers/attribute_macros.rb index 6481f46f50f1..c232313ca50b 100644 --- a/lib/open_project/text_formatting/matchers/attribute_macros.rb +++ b/lib/open_project/text_formatting/matchers/attribute_macros.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/matchers/link_handlers/base.rb b/lib/open_project/text_formatting/matchers/link_handlers/base.rb index 10856552f57f..152035067bfe 100644 --- a/lib/open_project/text_formatting/matchers/link_handlers/base.rb +++ b/lib/open_project/text_formatting/matchers/link_handlers/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/matchers/link_handlers/colon_separator.rb b/lib/open_project/text_formatting/matchers/link_handlers/colon_separator.rb index 95c0a3bcbd24..8d3b74c16138 100644 --- a/lib/open_project/text_formatting/matchers/link_handlers/colon_separator.rb +++ b/lib/open_project/text_formatting/matchers/link_handlers/colon_separator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/matchers/link_handlers/hash_separator.rb b/lib/open_project/text_formatting/matchers/link_handlers/hash_separator.rb index 45b0566c1742..2e4fc02d2f2f 100644 --- a/lib/open_project/text_formatting/matchers/link_handlers/hash_separator.rb +++ b/lib/open_project/text_formatting/matchers/link_handlers/hash_separator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -47,7 +47,7 @@ def applicable? # message#1218 -> Link to message with id 1218 # def call - send "render_#{matcher.prefix}" + send :"render_#{matcher.prefix}" end def valid_prefix? diff --git a/lib/open_project/text_formatting/matchers/link_handlers/revisions.rb b/lib/open_project/text_formatting/matchers/link_handlers/revisions.rb index 9b0f27075ba8..e9a7a312013e 100644 --- a/lib/open_project/text_formatting/matchers/link_handlers/revisions.rb +++ b/lib/open_project/text_formatting/matchers/link_handlers/revisions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/matchers/link_handlers/work_packages.rb b/lib/open_project/text_formatting/matchers/link_handlers/work_packages.rb index 298df6a8817f..f45fa3668664 100644 --- a/lib/open_project/text_formatting/matchers/link_handlers/work_packages.rb +++ b/lib/open_project/text_formatting/matchers/link_handlers/work_packages.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/matchers/regex_matcher.rb b/lib/open_project/text_formatting/matchers/regex_matcher.rb index eef00fe0c7de..b0c2604265e2 100644 --- a/lib/open_project/text_formatting/matchers/regex_matcher.rb +++ b/lib/open_project/text_formatting/matchers/regex_matcher.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/matchers/resource_links_matcher.rb b/lib/open_project/text_formatting/matchers/resource_links_matcher.rb index beecb4720cc7..be45cde2478d 100644 --- a/lib/open_project/text_formatting/matchers/resource_links_matcher.rb +++ b/lib/open_project/text_formatting/matchers/resource_links_matcher.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -79,7 +79,7 @@ def self.regexp ([[[:space:]](,\-\[>]|^) # Leading string (!)? # Escaped marker (([a-z0-9\-_]+):)? # Project identifier - (#{allowed_prefixes.join("|")})? # prefix + (#{allowed_prefixes.join('|')})? # prefix ( (\#+|r)(\d+) # separator and its identifier | diff --git a/lib/open_project/text_formatting/matchers/wiki_links_matcher.rb b/lib/open_project/text_formatting/matchers/wiki_links_matcher.rb index 3d3171587ceb..fc59e10a8ee9 100644 --- a/lib/open_project/text_formatting/matchers/wiki_links_matcher.rb +++ b/lib/open_project/text_formatting/matchers/wiki_links_matcher.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/renderer.rb b/lib/open_project/text_formatting/renderer.rb index f16cdd8f6749..031df74c7963 100644 --- a/lib/open_project/text_formatting/renderer.rb +++ b/lib/open_project/text_formatting/renderer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/text_formatting/truncation.rb b/lib/open_project/text_formatting/truncation.rb index afdd6ab3ba5a..d4ce0da5037f 100644 --- a/lib/open_project/text_formatting/truncation.rb +++ b/lib/open_project/text_formatting/truncation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,8 +33,8 @@ module Truncation include ActionView::Helpers::TextHelper # Truncates and returns the string as a single line - def truncate_single_line(string, *args) - truncate(string.to_s, *args).gsub(%r{[\r\n]+}m, ' ').html_safe + def truncate_single_line(string, *) + truncate(string.to_s, *).gsub(%r{[\r\n]+}m, ' ').html_safe end end end diff --git a/lib/open_project/ui/extensible_tabs.rb b/lib/open_project/ui/extensible_tabs.rb index 5e1ad85ed628..4beec22535dd 100644 --- a/lib/open_project/ui/extensible_tabs.rb +++ b/lib/open_project/ui/extensible_tabs.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/open_project/version.rb b/lib/open_project/version.rb index 7e6ccf499651..4990f5f6c639 100644 --- a/lib/open_project/version.rb +++ b/lib/open_project/version.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -32,8 +32,8 @@ module OpenProject module VERSION # :nodoc: MAJOR = 13 - MINOR = 1 - PATCH = 2 + MINOR = 2 + PATCH = 0 class << self # Used by semver to define the special version (if any). diff --git a/lib/pagination.rb b/lib/pagination.rb index e33c59586e9d..e09d5cddef6d 100644 --- a/lib/pagination.rb +++ b/lib/pagination.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/ciphering.rb b/lib/redmine/ciphering.rb index ef245bd4ea68..695fe50ee01a 100644 --- a/lib/redmine/ciphering.rb +++ b/lib/redmine/ciphering.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -79,7 +79,7 @@ def encrypt_all(attribute) !!transaction do all.each do |object| clear = object.send(attribute) - object.send "#{attribute}=", clear + object.send :"#{attribute}=", clear raise(ActiveRecord::Rollback) unless object.save(validate: false) end end diff --git a/lib/redmine/codeset_util.rb b/lib/redmine/codeset_util.rb index 66b6cfd19968..2a876f921286 100644 --- a/lib/redmine/codeset_util.rb +++ b/lib/redmine/codeset_util.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/diff_table.rb b/lib/redmine/diff_table.rb index c1a76626923c..a48fac8c0999 100644 --- a/lib/redmine/diff_table.rb +++ b/lib/redmine/diff_table.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/helpers/diff.rb b/lib/redmine/helpers/diff.rb index 8b747e3f8b06..1f4919fcacdf 100644 --- a/lib/redmine/helpers/diff.rb +++ b/lib/redmine/helpers/diff.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/imap.rb b/lib/redmine/imap.rb index 540f1d6ff1a8..c54ff68f0ff1 100644 --- a/lib/redmine/imap.rb +++ b/lib/redmine/imap.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/menu_manager.rb b/lib/redmine/menu_manager.rb index cc1008f699d8..521c2b0ae5ff 100644 --- a/lib/redmine/menu_manager.rb +++ b/lib/redmine/menu_manager.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/menu_manager/mapper.rb b/lib/redmine/menu_manager/mapper.rb index 195e09b67e1d..d96880075e76 100644 --- a/lib/redmine/menu_manager/mapper.rb +++ b/lib/redmine/menu_manager/mapper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/menu_manager/menu_controller.rb b/lib/redmine/menu_manager/menu_controller.rb index 04d6c242e494..af8bb8b06756 100644 --- a/lib/redmine/menu_manager/menu_controller.rb +++ b/lib/redmine/menu_manager/menu_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/menu_manager/menu_error.rb b/lib/redmine/menu_manager/menu_error.rb index 98c4084845bc..fb69c3196f64 100644 --- a/lib/redmine/menu_manager/menu_error.rb +++ b/lib/redmine/menu_manager/menu_error.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/menu_manager/menu_helper.rb b/lib/redmine/menu_manager/menu_helper.rb index 22b737476f10..5767efc8ea02 100644 --- a/lib/redmine/menu_manager/menu_helper.rb +++ b/lib/redmine/menu_manager/menu_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/menu_manager/menu_item.rb b/lib/redmine/menu_manager/menu_item.rb index 024dce2da117..b194744705d0 100644 --- a/lib/redmine/menu_manager/menu_item.rb +++ b/lib/redmine/menu_manager/menu_item.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -72,7 +72,7 @@ def initialize(name, url, options) @engine = options[:engine] @allow_deeplink = options[:allow_deeplink] @skip_permissions_check = !!options[:skip_permissions_check] - super @name.to_sym + super(@name.to_sym) end def caption(project = nil) diff --git a/lib/redmine/menu_manager/top_menu/help_menu.rb b/lib/redmine/menu_manager/top_menu/help_menu.rb index 3a8c4df6ff37..bc3d8ab98a70 100644 --- a/lib/redmine/menu_manager/top_menu/help_menu.rb +++ b/lib/redmine/menu_manager/top_menu/help_menu.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/menu_manager/top_menu/projects_menu.rb b/lib/redmine/menu_manager/top_menu/projects_menu.rb index b1f644864f93..6a4bad3039a3 100644 --- a/lib/redmine/menu_manager/top_menu/projects_menu.rb +++ b/lib/redmine/menu_manager/top_menu/projects_menu.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/menu_manager/top_menu/quick_add_menu.rb b/lib/redmine/menu_manager/top_menu/quick_add_menu.rb index e91020b83f0b..b7ea71177219 100644 --- a/lib/redmine/menu_manager/top_menu/quick_add_menu.rb +++ b/lib/redmine/menu_manager/top_menu/quick_add_menu.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/menu_manager/top_menu_helper.rb b/lib/redmine/menu_manager/top_menu_helper.rb index 7134ab89fa50..60d1b6a4c152 100644 --- a/lib/redmine/menu_manager/top_menu_helper.rb +++ b/lib/redmine/menu_manager/top_menu_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/menu_manager/tree_node.rb b/lib/redmine/menu_manager/tree_node.rb index 09226a4441b1..840ac44edb82 100644 --- a/lib/redmine/menu_manager/tree_node.rb +++ b/lib/redmine/menu_manager/tree_node.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/menu_manager/wiki_menu_helper.rb b/lib/redmine/menu_manager/wiki_menu_helper.rb index 7bc9bfe382a8..7100704410c3 100644 --- a/lib/redmine/menu_manager/wiki_menu_helper.rb +++ b/lib/redmine/menu_manager/wiki_menu_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/platform.rb b/lib/redmine/platform.rb index 4f7de54aa39e..87a54085dae9 100644 --- a/lib/redmine/platform.rb +++ b/lib/redmine/platform.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/plugin.rb b/lib/redmine/plugin.rb index 1e649f52d40b..4769847a8b6b 100644 --- a/lib/redmine/plugin.rb +++ b/lib/redmine/plugin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -89,7 +89,7 @@ def def_field(*names) class_eval do names.each do |name| define_method(name) do |*args| - args.empty? ? instance_variable_get("@#{name}") : instance_variable_set("@#{name}", *args) + args.empty? ? instance_variable_get(:"@#{name}") : instance_variable_set(:"@#{name}", *args) end end end diff --git a/lib/redmine/pop3.rb b/lib/redmine/pop3.rb index 4d4ae1ed8f9c..90a14fb3ed9a 100644 --- a/lib/redmine/pop3.rb +++ b/lib/redmine/pop3.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/search.rb b/lib/redmine/search.rb index b44ee8d58d1e..2573708e0115 100644 --- a/lib/redmine/search.rb +++ b/lib/redmine/search.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/unified_diff.rb b/lib/redmine/unified_diff.rb index 36ddd04b90b0..1f7e66e71297 100644 --- a/lib/redmine/unified_diff.rb +++ b/lib/redmine/unified_diff.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/redmine/views/other_formats_builder.rb b/lib/redmine/views/other_formats_builder.rb index 19b6c6166e67..31a62c6232ac 100644 --- a/lib/redmine/views/other_formats_builder.rb +++ b/lib/redmine/views/other_formats_builder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/services/create_relation.rb b/lib/services/create_relation.rb index 9fd9d1009a59..e9491493363a 100644 --- a/lib/services/create_relation.rb +++ b/lib/services/create_relation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/services/create_watcher.rb b/lib/services/create_watcher.rb index 83b875afe7f0..248b9e2ce4c1 100644 --- a/lib/services/create_watcher.rb +++ b/lib/services/create_watcher.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/services/remove_watcher.rb b/lib/services/remove_watcher.rb index f0dad9d43c5f..3e991eada88e 100644 --- a/lib/services/remove_watcher.rb +++ b/lib/services/remove_watcher.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tabular_form_builder.rb b/lib/tabular_form_builder.rb index 0a2106ca596d..3e5e2d4d6a8b 100644 --- a/lib/tabular_form_builder.rb +++ b/lib/tabular_form_builder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -165,7 +165,7 @@ def collection_check_box(field, text = field.to_s + "_#{checked_value}", options = {}) - label_for = "#{sanitized_object_name}_#{field}_#{checked_value}".to_sym + label_for = :"#{sanitized_object_name}_#{field}_#{checked_value}" unchecked_value = options.delete(:unchecked_value) { '' } input_options = options.reverse_merge(multiple: true, diff --git a/lib/tasks/api.rake b/lib/tasks/api.rake index 32e7e4c801a9..5e55b6cf1356 100644 --- a/lib/tasks/api.rake +++ b/lib/tasks/api.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/assets.rake b/lib/tasks/assets.rake index 01347df43e25..cc86882c6741 100644 --- a/lib/tasks/assets.rake +++ b/lib/tasks/assets.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/attachment_migrations.rake b/lib/tasks/attachment_migrations.rake index e136ec93ee36..caa7f8eaddb9 100644 --- a/lib/tasks/attachment_migrations.rake +++ b/lib/tasks/attachment_migrations.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/attachments.rake b/lib/tasks/attachments.rake index 940d7dded34e..f8624bf46f3e 100644 --- a/lib/tasks/attachments.rake +++ b/lib/tasks/attachments.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/backup.rake b/lib/tasks/backup.rake index dc62f6d4dc6a..b27069bb8d7d 100644 --- a/lib/tasks/backup.rake +++ b/lib/tasks/backup.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/ciphering.rake b/lib/tasks/ciphering.rake index 493f7b62afbc..335dabcdfaec 100644 --- a/lib/tasks/ciphering.rake +++ b/lib/tasks/ciphering.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/code.rake b/lib/tasks/code.rake index efe0b93d5753..d87587a6269f 100644 --- a/lib/tasks/code.rake +++ b/lib/tasks/code.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/copyright.rake b/lib/tasks/copyright.rake index cd118e51efc6..ffa603a4dd89 100644 --- a/lib/tasks/copyright.rake +++ b/lib/tasks/copyright.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/copyright_authors.rake b/lib/tasks/copyright_authors.rake index 3ff0163eb7a2..fd5440a8a6af 100644 --- a/lib/tasks/copyright_authors.rake +++ b/lib/tasks/copyright_authors.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/cron.rake b/lib/tasks/cron.rake index 5a1b90227cc8..8f76dff98809 100644 --- a/lib/tasks/cron.rake +++ b/lib/tasks/cron.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/database.rake b/lib/tasks/database.rake index 3a57f8e937c4..799e9bf25c4f 100644 --- a/lib/tasks/database.rake +++ b/lib/tasks/database.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/delayed_job.rake b/lib/tasks/delayed_job.rake index fe64d07c4891..8ea28800017e 100644 --- a/lib/tasks/delayed_job.rake +++ b/lib/tasks/delayed_job.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/delete_documents.rake b/lib/tasks/delete_documents.rake index a01fa6d80de0..8fc996e51f24 100644 --- a/lib/tasks/delete_documents.rake +++ b/lib/tasks/delete_documents.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/dependencies.rake b/lib/tasks/dependencies.rake index d6c2821a9eb5..123bea60e69b 100644 --- a/lib/tasks/dependencies.rake +++ b/lib/tasks/dependencies.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,12 +34,10 @@ namespace :openproject do task update: %w[openproject:dependencies:update:gems] namespace :update do - def parse_capture(capture, &block) + def parse_capture(capture, &) capture .split("\n") - .filter_map do |line| - block.call(line) - end + .filter_map(&) end desc 'Update gems to the extend the Gemfile allows in individual commits' diff --git a/lib/tasks/deprecated.rake b/lib/tasks/deprecated.rake index ef253baca11e..043385c5d165 100644 --- a/lib/tasks/deprecated.rake +++ b/lib/tasks/deprecated.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/email.rake b/lib/tasks/email.rake index 8958aa4e3f30..f9de94ad4d71 100644 --- a/lib/tasks/email.rake +++ b/lib/tasks/email.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/environment.rake b/lib/tasks/environment.rake index 81cae2686975..80602b621c2c 100644 --- a/lib/tasks/environment.rake +++ b/lib/tasks/environment.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/extract_fixtures.rake b/lib/tasks/extract_fixtures.rake index cb95f1608160..08aac442c5f0 100644 --- a/lib/tasks/extract_fixtures.rake +++ b/lib/tasks/extract_fixtures.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/fetch_changesets.rake b/lib/tasks/fetch_changesets.rake index 538bfade882f..20e6204d0e02 100644 --- a/lib/tasks/fetch_changesets.rake +++ b/lib/tasks/fetch_changesets.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/fix_missing_notification_settings.rake b/lib/tasks/fix_missing_notification_settings.rake index 00474e69bf87..933dfce147fc 100644 --- a/lib/tasks/fix_missing_notification_settings.rake +++ b/lib/tasks/fix_missing_notification_settings.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/git.rake b/lib/tasks/git.rake index 6cbb365642f7..86bb6b8c2d51 100644 --- a/lib/tasks/git.rake +++ b/lib/tasks/git.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/jdbc.rake b/lib/tasks/jdbc.rake index ff1a14778a32..0ad1c904b82e 100644 --- a/lib/tasks/jdbc.rake +++ b/lib/tasks/jdbc.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/ldap.rake b/lib/tasks/ldap.rake index f1028bef5467..b94bd892a2fc 100644 --- a/lib/tasks/ldap.rake +++ b/lib/tasks/ldap.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/load_default_data.rake b/lib/tasks/load_default_data.rake index 73d31b6470b5..2dd21d10ad9b 100644 --- a/lib/tasks/load_default_data.rake +++ b/lib/tasks/load_default_data.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/metrics.rake b/lib/tasks/metrics.rake index 96107e67679e..f2a0fd7afd34 100644 --- a/lib/tasks/metrics.rake +++ b/lib/tasks/metrics.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/packager.rake b/lib/tasks/packager.rake index ef934c820104..5889594920c3 100644 --- a/lib/tasks/packager.rake +++ b/lib/tasks/packager.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/parallel_testing.rake b/lib/tasks/parallel_testing.rake index e11311a5b0d1..35df1506cc7d 100644 --- a/lib/tasks/parallel_testing.rake +++ b/lib/tasks/parallel_testing.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/permissions.rake b/lib/tasks/permissions.rake index 649345b148ea..a1f7bf67c501 100644 --- a/lib/tasks/permissions.rake +++ b/lib/tasks/permissions.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/plugin_specs.rake b/lib/tasks/plugin_specs.rake index 29200c2207fc..48a461ac3a51 100644 --- a/lib/tasks/plugin_specs.rake +++ b/lib/tasks/plugin_specs.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/plugins.rake b/lib/tasks/plugins.rake index 8b309afab330..02eff3cbf6db 100644 --- a/lib/tasks/plugins.rake +++ b/lib/tasks/plugins.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/release.rake b/lib/tasks/release.rake index 0537efbae996..e9d02806a1d2 100644 --- a/lib/tasks/release.rake +++ b/lib/tasks/release.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/reregister_password_migrations.rake b/lib/tasks/reregister_password_migrations.rake index cfaa16614b2b..ec38358031cf 100644 --- a/lib/tasks/reregister_password_migrations.rake +++ b/lib/tasks/reregister_password_migrations.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/scm.rake b/lib/tasks/scm.rake index 16507435adbe..4472dfa4897e 100644 --- a/lib/tasks/scm.rake +++ b/lib/tasks/scm.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/secret_token.rake b/lib/tasks/secret_token.rake index 6a69d4ef64bb..83b578fe757a 100644 --- a/lib/tasks/secret_token.rake +++ b/lib/tasks/secret_token.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/seed.rake b/lib/tasks/seed.rake index 72f8d5cf21c2..0cbe004369f2 100644 --- a/lib/tasks/seed.rake +++ b/lib/tasks/seed.rake @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/setting.rake b/lib/tasks/setting.rake index e5037340d9c0..302b8d1f4dcb 100644 --- a/lib/tasks/setting.rake +++ b/lib/tasks/setting.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/shared/user_feedback.rb b/lib/tasks/shared/user_feedback.rb index b17c2fe253d8..4fe0dbbd4615 100644 --- a/lib/tasks/shared/user_feedback.rb +++ b/lib/tasks/shared/user_feedback.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/testing.rake b/lib/tasks/testing.rake index 4daa23490fe1..75bce82fa003 100644 --- a/lib/tasks/testing.rake +++ b/lib/tasks/testing.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/time_entry_activities.rake b/lib/tasks/time_entry_activities.rake index 7bad51ad0961..b45ab73fb904 100644 --- a/lib/tasks/time_entry_activities.rake +++ b/lib/tasks/time_entry_activities.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/version.rake b/lib/tasks/version.rake index 38cdbc99f6f2..32e8b7d6b373 100644 --- a/lib/tasks/version.rake +++ b/lib/tasks/version.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/watchers.rake b/lib/tasks/watchers.rake index 1bec9754dce2..0d27b2b944f6 100644 --- a/lib/tasks/watchers.rake +++ b/lib/tasks/watchers.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib/tasks/yardoc.rake b/lib/tasks/yardoc.rake index 50c0aea8ab63..fce28a76ca24 100644 --- a/lib/tasks/yardoc.rake +++ b/lib/tasks/yardoc.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/open_project/appsignal.rb b/lib_static/open_project/appsignal.rb index 9b73c59ae4c8..bf4b1b86d3d0 100644 --- a/lib_static/open_project/appsignal.rb +++ b/lib_static/open_project/appsignal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/open_project/authentication.rb b/lib_static/open_project/authentication.rb index ff50ca8f0ccf..b4758ce562fa 100644 --- a/lib_static/open_project/authentication.rb +++ b/lib_static/open_project/authentication.rb @@ -218,7 +218,6 @@ def stages def find_all(identifiers) identifiers .filter_map { |ident| stages.find { |st| st.identifier == ident } } - end def complete_path(identifier, session:, back_url: nil) diff --git a/lib_static/open_project/authentication/manager.rb b/lib_static/open_project/authentication/manager.rb index 35c4f6f841fd..b9d808e64c47 100644 --- a/lib_static/open_project/authentication/manager.rb +++ b/lib_static/open_project/authentication/manager.rb @@ -11,10 +11,10 @@ def initialize(app, options = {}, &configure) block = lambda { |config| self.class.configure_warden config - configure.call config if configure + yield config if configure } - super app, options, &block + super(app, options, &block) end class << self @@ -59,7 +59,7 @@ def initialize def update!(opts, &block) self.store = opts[:store] if opts.include? :store self.realm = opts[:realm] if opts.include? :realm - self.strategies = block.call strategies if block_given? + self.strategies = yield strategies if block end end diff --git a/lib_static/open_project/authentication/strategies/warden/global_basic_auth.rb b/lib_static/open_project/authentication/strategies/warden/global_basic_auth.rb index c23a7fdf0234..9a0916672dd2 100644 --- a/lib_static/open_project/authentication/strategies/warden/global_basic_auth.rb +++ b/lib_static/open_project/authentication/strategies/warden/global_basic_auth.rb @@ -70,12 +70,10 @@ def self.password ## # Only valid if global basic auth is configured and tried. def valid? - ( - OpenProject::Configuration.apiv3_enable_basic_auth? && - self.class.configuration? && - super && - username == self.class.user - ) + OpenProject::Configuration.apiv3_enable_basic_auth? && + self.class.configuration? && + super && + username == self.class.user end def authenticate_user(username, password) diff --git a/lib_static/open_project/authentication/strategies/warden/user_basic_auth.rb b/lib_static/open_project/authentication/strategies/warden/user_basic_auth.rb index e1a0577aa0be..93bf7bc3a66b 100644 --- a/lib_static/open_project/authentication/strategies/warden/user_basic_auth.rb +++ b/lib_static/open_project/authentication/strategies/warden/user_basic_auth.rb @@ -17,11 +17,9 @@ def self.user end def valid? - ( - OpenProject::Configuration.apiv3_enable_basic_auth? && - super && - username == self.class.user - ) + OpenProject::Configuration.apiv3_enable_basic_auth? && + super && + username == self.class.user end def authenticate_user(_, api_key) diff --git a/lib_static/open_project/configuration.rb b/lib_static/open_project/configuration.rb index c725f6dc3567..1ef566bbb8fc 100644 --- a/lib_static/open_project/configuration.rb +++ b/lib_static/open_project/configuration.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -108,7 +108,7 @@ def redis_cache_configuration ] end - def method_missing(name, *args, &) + def method_missing(name, *, &) setting_name = name.to_s.sub(/\?$/, '') definition = Settings::Definition[setting_name] @@ -116,7 +116,7 @@ def method_missing(name, *args, &) if definition define_config_methods(definition) - send(name, *args, &) + send(name, *, &) else super end @@ -131,7 +131,7 @@ def define_config_methods(definition) self[definition.name] end - define_singleton_method "#{definition.name}?" do + define_singleton_method :"#{definition.name}?" do if definition.format != :boolean ActiveSupport::Deprecation.warn "Calling #{self}.#{definition.name}? is deprecated since it is not a boolean", caller end diff --git a/lib_static/open_project/configuration/helpers.rb b/lib_static/open_project/configuration/helpers.rb index f0f466680317..dc8cc35c6ded 100644 --- a/lib_static/open_project/configuration/helpers.rb +++ b/lib_static/open_project/configuration/helpers.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/open_project/database.rb b/lib_static/open_project/database.rb index c32a4678762e..a46437f1f230 100644 --- a/lib_static/open_project/database.rb +++ b/lib_static/open_project/database.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/open_project/feature_decisions.rb b/lib_static/open_project/feature_decisions.rb index 9450c766d696..1a3ca3701015 100644 --- a/lib_static/open_project/feature_decisions.rb +++ b/lib_static/open_project/feature_decisions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -65,7 +65,7 @@ def add(flag_name) end def active - all.filter { |flag_name| send("#{flag_name}_active?") }.map(&:to_s) + all.filter { |flag_name| send(:"#{flag_name}_active?") }.map(&:to_s) end def all @@ -73,8 +73,8 @@ def all end def define_flag_methods(flag_name) - define_singleton_method "#{flag_name}_active?" do - Setting.exists?("feature_#{flag_name}_active") && Setting.send("feature_#{flag_name}_active?") + define_singleton_method :"#{flag_name}_active?" do + Setting.exists?("feature_#{flag_name}_active") && Setting.send(:"feature_#{flag_name}_active?") end end diff --git a/lib_static/open_project/notifications.rb b/lib_static/open_project/notifications.rb index 956c897aa230..1aa73e1caad0 100644 --- a/lib_static/open_project/notifications.rb +++ b/lib_static/open_project/notifications.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -45,7 +45,7 @@ module Notifications # @raises ArgumentError if no block is given. def subscribe(name, clear_subscriptions: false, &block) # if no block is given, raise an error - raise ArgumentError, 'please provide a block as a callback' unless block_given? + raise ArgumentError, 'please provide a block as a callback' unless block if clear_subscriptions subscriptions[name].each do |sub| @@ -54,7 +54,7 @@ def subscribe(name, clear_subscriptions: false, &block) end sub = ActiveSupport::Notifications.subscribe(name.to_s) do |_, _, _, _, data| - block.call(data.fetch(:payload, data)) + yield(data.fetch(:payload, data)) end subs = clear_subscriptions ? [] : Array(subscriptions[name]) diff --git a/lib_static/plugins/acts_as_attachable/init.rb b/lib_static/plugins/acts_as_attachable/init.rb index db4043693248..4f838b82a430 100644 --- a/lib_static/plugins/acts_as_attachable/init.rb +++ b/lib_static/plugins/acts_as_attachable/init.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_attachable/lib/acts_as_attachable.rb b/lib_static/plugins/acts_as_attachable/lib/acts_as_attachable.rb index 42d4ab38ef1d..3998cd927718 100644 --- a/lib_static/plugins/acts_as_attachable/lib/acts_as_attachable.rb +++ b/lib_static/plugins/acts_as_attachable/lib/acts_as_attachable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -122,11 +122,11 @@ def skip_permission_checks_option(options) end def view_permission_default - "view_#{name.pluralize.underscore}".to_sym + :"view_#{name.pluralize.underscore}" end def edit_permission_default - "edit_#{name.pluralize.underscore}".to_sym + :"edit_#{name.pluralize.underscore}" end def attachable_extract_tsv_option(options) diff --git a/lib_static/plugins/acts_as_customizable/init.rb b/lib_static/plugins/acts_as_customizable/init.rb index 0c66bfcea07a..2e49a5a27557 100644 --- a/lib_static/plugins/acts_as_customizable/init.rb +++ b/lib_static/plugins/acts_as_customizable/init.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_customizable/lib/acts_as_customizable.rb b/lib_static/plugins/acts_as_customizable/lib/acts_as_customizable.rb index cfbca63c8932..a775da0dccd4 100644 --- a/lib_static/plugins/acts_as_customizable/lib/acts_as_customizable.rb +++ b/lib_static/plugins/acts_as_customizable/lib/acts_as_customizable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_customizable/lib/human_attribute_name.rb b/lib_static/plugins/acts_as_customizable/lib/human_attribute_name.rb index ac5f909b3cb4..34315d9dce58 100644 --- a/lib_static/plugins/acts_as_customizable/lib/human_attribute_name.rb +++ b/lib_static/plugins/acts_as_customizable/lib/human_attribute_name.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_event/init.rb b/lib_static/plugins/acts_as_event/init.rb index 903deff69744..52f3facdfca0 100644 --- a/lib_static/plugins/acts_as_event/init.rb +++ b/lib_static/plugins/acts_as_event/init.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_event/lib/acts_as_event.rb b/lib_static/plugins/acts_as_event/lib/acts_as_event.rb index a4c47e578ad3..63c80385db50 100644 --- a/lib_static/plugins/acts_as_event/lib/acts_as_event.rb +++ b/lib_static/plugins/acts_as_event/lib/acts_as_event.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/init.rb b/lib_static/plugins/acts_as_journalized/init.rb index 6591b1819b35..f01cea372593 100644 --- a/lib_static/plugins/acts_as_journalized/init.rb +++ b/lib_static/plugins/acts_as_journalized/init.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/creation.rb b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/creation.rb index f511d2b5679d..82213d3e496e 100644 --- a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/creation.rb +++ b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/creation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/file_link_journal_differ.rb b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/file_link_journal_differ.rb index 9b0bbefd20cf..2d9aaaa92600 100644 --- a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/file_link_journal_differ.rb +++ b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/file_link_journal_differ.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/format_hooks.rb b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/format_hooks.rb index 08a67e95cb5e..21f76d6428ac 100644 --- a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/format_hooks.rb +++ b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/format_hooks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/journalized.rb b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/journalized.rb index 6eaf479d7169..d94ca15c11a5 100644 --- a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/journalized.rb +++ b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/journalized.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/options.rb b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/options.rb index 3b3e39d4a554..1b8bd66d793f 100644 --- a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/options.rb +++ b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/options.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/permissions.rb b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/permissions.rb index d4d72093ba55..74b49314ba50 100644 --- a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/permissions.rb +++ b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/permissions.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/reversion.rb b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/reversion.rb index a7204d7586c1..cd9db536dcd2 100644 --- a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/reversion.rb +++ b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/reversion.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/save_hooks.rb b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/save_hooks.rb index 8530d7af6bac..863115e2c16a 100644 --- a/lib_static/plugins/acts_as_journalized/lib/acts/journalized/save_hooks.rb +++ b/lib_static/plugins/acts_as_journalized/lib/acts/journalized/save_hooks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/acts_as_journalized.rb b/lib_static/plugins/acts_as_journalized/lib/acts_as_journalized.rb index a83007655abb..045275ea70ad 100644 --- a/lib_static/plugins/acts_as_journalized/lib/acts_as_journalized.rb +++ b/lib_static/plugins/acts_as_journalized/lib/acts_as_journalized.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_changes.rb b/lib_static/plugins/acts_as_journalized/lib/journal_changes.rb index 10d6e9e78201..565aadab76a3 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_changes.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_changes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_formatter.rb b/lib_static/plugins/acts_as_journalized/lib/journal_formatter.rb index 5ec3402ba746..c9935fe0db70 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_formatter.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_formatter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -49,16 +49,16 @@ # It provides the hooks to apply different formatting to the details # of a specific journal. -require_relative './journal_formatter_cache' -require_relative './journal_formatter/base' -require_relative './journal_formatter/attribute' -require_relative './journal_formatter/datetime' -require_relative './journal_formatter/day_count' -require_relative './journal_formatter/decimal' -require_relative './journal_formatter/fraction' -require_relative './journal_formatter/id' -require_relative './journal_formatter/named_association' -require_relative './journal_formatter/plaintext' +require_relative 'journal_formatter_cache' +require_relative 'journal_formatter/base' +require_relative 'journal_formatter/attribute' +require_relative 'journal_formatter/datetime' +require_relative 'journal_formatter/day_count' +require_relative 'journal_formatter/decimal' +require_relative 'journal_formatter/fraction' +require_relative 'journal_formatter/id' +require_relative 'journal_formatter/named_association' +require_relative 'journal_formatter/plaintext' module JournalFormatter mattr_accessor :formatters, :registered_fields diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/attribute.rb b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/attribute.rb index 1df1764c140e..833ad498d37c 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/attribute.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/attribute.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/base.rb b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/base.rb index d2bc990518f0..dc490eef492f 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/base.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/datetime.rb b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/datetime.rb index aee2f1aefd4c..c36c54388dd0 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/datetime.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/datetime.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/day_count.rb b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/day_count.rb index a8bded2b7ffc..7e6768e5033c 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/day_count.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/day_count.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/decimal.rb b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/decimal.rb index 8949ffa3ab84..03feb4f76931 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/decimal.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/decimal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/fraction.rb b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/fraction.rb index a0e5cc182da2..47c02c2a3a5f 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/fraction.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/fraction.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/id.rb b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/id.rb index 272d2052e5c3..a3a8dcf6040b 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/id.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/named_association.rb b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/named_association.rb index 58026de529b2..c74488aba0f2 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/named_association.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/named_association.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/plaintext.rb b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/plaintext.rb index f09ce0f8aa9b..e5da21e06067 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_formatter/plaintext.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_formatter/plaintext.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_journalized/lib/journal_formatter_cache.rb b/lib_static/plugins/acts_as_journalized/lib/journal_formatter_cache.rb index d32889a153ce..50f4c3421250 100644 --- a/lib_static/plugins/acts_as_journalized/lib/journal_formatter_cache.rb +++ b/lib_static/plugins/acts_as_journalized/lib/journal_formatter_cache.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_searchable/init.rb b/lib_static/plugins/acts_as_searchable/init.rb index 9731a00b863c..1aeff22a2aad 100644 --- a/lib_static/plugins/acts_as_searchable/init.rb +++ b/lib_static/plugins/acts_as_searchable/init.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_searchable/lib/acts_as_searchable.rb b/lib_static/plugins/acts_as_searchable/lib/acts_as_searchable.rb index a01ac75a66f0..24c7bed37ee6 100644 --- a/lib_static/plugins/acts_as_searchable/lib/acts_as_searchable.rb +++ b/lib_static/plugins/acts_as_searchable/lib/acts_as_searchable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -60,7 +60,7 @@ def acts_as_searchable(options = {}) # Permission needed to search this model unless searchable_options.has_key?(:permission) searchable_options[:permission] = - "view_#{name.underscore.pluralize}".to_sym + :"view_#{name.underscore.pluralize}" end # Should we search custom fields on this model ? diff --git a/lib_static/plugins/acts_as_watchable/init.rb b/lib_static/plugins/acts_as_watchable/init.rb index 00995063022d..8f6c4a98b155 100644 --- a/lib_static/plugins/acts_as_watchable/init.rb +++ b/lib_static/plugins/acts_as_watchable/init.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/acts_as_watchable/lib/acts_as_watchable.rb b/lib_static/plugins/acts_as_watchable/lib/acts_as_watchable.rb index 8c2fea219da3..efa6d55a8236 100644 --- a/lib_static/plugins/acts_as_watchable/lib/acts_as_watchable.rb +++ b/lib_static/plugins/acts_as_watchable/lib/acts_as_watchable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -163,7 +163,7 @@ def watched_by?(user) module ClassMethods def acts_as_watchable_permission - acts_as_watchable_options[:permission] || "view_#{name.underscore.pluralize}".to_sym + acts_as_watchable_options[:permission] || :"view_#{name.underscore.pluralize}" end end end diff --git a/lib_static/plugins/acts_as_watchable/lib/acts_as_watchable/routes.rb b/lib_static/plugins/acts_as_watchable/lib/acts_as_watchable/routes.rb index 61323d669941..7874be8c495c 100644 --- a/lib_static/plugins/acts_as_watchable/lib/acts_as_watchable/routes.rb +++ b/lib_static/plugins/acts_as_watchable/lib/acts_as_watchable/routes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/plugins/load_path_helper.rb b/lib_static/plugins/load_path_helper.rb index f2fcb55cd33c..927383e43979 100644 --- a/lib_static/plugins/load_path_helper.rb +++ b/lib_static/plugins/load_path_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/redmine/diff.rb b/lib_static/redmine/diff.rb index 2e475d3c589b..399eb69ea17d 100644 --- a/lib_static/redmine/diff.rb +++ b/lib_static/redmine/diff.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/redmine/i18n.rb b/lib_static/redmine/i18n.rb index 49d7a6c56b6d..354dc007c44d 100644 --- a/lib_static/redmine/i18n.rb +++ b/lib_static/redmine/i18n.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -50,7 +50,7 @@ def self.valid_languages end def l_or_humanize(s, options = {}) - k = "#{options[:prefix]}#{s}".to_sym + k = :"#{options[:prefix]}#{s}" ::I18n.t(k, default: s.to_s.humanize) end diff --git a/lib_static/rubocop/cop/open_project/add_preview_for_view_component.rb b/lib_static/rubocop/cop/open_project/add_preview_for_view_component.rb index 1fa98dc9545d..0fd4f82ff286 100644 --- a/lib_static/rubocop/cop/open_project/add_preview_for_view_component.rb +++ b/lib_static/rubocop/cop/open_project/add_preview_for_view_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/rubocop/cop/open_project/no_do_end_block_with_rspec_capybara_matcher_in_expect.rb b/lib_static/rubocop/cop/open_project/no_do_end_block_with_rspec_capybara_matcher_in_expect.rb index 8e5d55bf4035..908be8973ce8 100644 --- a/lib_static/rubocop/cop/open_project/no_do_end_block_with_rspec_capybara_matcher_in_expect.rb +++ b/lib_static/rubocop/cop/open_project/no_do_end_block_with_rspec_capybara_matcher_in_expect.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lib_static/rubocop/cop/open_project/use_service_result_factory_methods.rb b/lib_static/rubocop/cop/open_project/use_service_result_factory_methods.rb index 752756f6b015..c51f19b8b2d9 100644 --- a/lib_static/rubocop/cop/open_project/use_service_result_factory_methods.rb +++ b/lib_static/rubocop/cop/open_project/use_service_result_factory_methods.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/lookbook/previews/open_project/common/submenu_component_preview.rb b/lookbook/previews/open_project/common/submenu_component_preview.rb new file mode 100644 index 000000000000..6f3fd15e1539 --- /dev/null +++ b/lookbook/previews/open_project/common/submenu_component_preview.rb @@ -0,0 +1,30 @@ +module OpenProject + module Common + # @logical_path OpenProject/Common + class SubmenuComponentPreview < Lookbook::Preview + def default + # Meant to be rendered inside the left-handed sidebar + render OpenProject::Common::SubmenuComponent.new( + sidebar_menu_items: [ + { + header: nil, + children: [ + { title: I18n.t('members.menu.all'), href: '' }, + { title: I18n.t('members.menu.locked'), href: '' }, + { title: I18n.t('members.menu.invited'), href: '' } + ] + }, + { + header: I18n.t('members.menu.project_roles'), + children: [{ title: 'ROLE X', href: '' }] + }, + { + header: I18n.t('members.menu.groups'), + children: [{ title: 'GROUP X', href: '' }] + } + ] + ) + end + end + end +end diff --git a/lookbook/previews/users/avatar_component_preview.rb b/lookbook/previews/users/avatar_component_preview.rb index c951ff85580b..2ebeccc893d8 100644 --- a/lookbook/previews/users/avatar_component_preview.rb +++ b/lookbook/previews/users/avatar_component_preview.rb @@ -3,7 +3,6 @@ module Users # @logical_path OpenProject/Users class AvatarComponentPreview < Lookbook::Preview - # Renders a user avatar using the OpenProject opce-principal web component # @param size select { choices: [default, medium, mini] } # @param link toggle diff --git a/modules/auth_plugins/app/views/hooks/login/_providers.html.erb b/modules/auth_plugins/app/views/hooks/login/_providers.html.erb index e3d141ed832a..2541565b96ec 100644 --- a/modules/auth_plugins/app/views/hooks/login/_providers.html.erb +++ b/modules/auth_plugins/app/views/hooks/login/_providers.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/app/views/hooks/login/_providers_css.html.erb b/modules/auth_plugins/app/views/hooks/login/_providers_css.html.erb index df70e87ac974..b384d9a8b65e 100644 --- a/modules/auth_plugins/app/views/hooks/login/_providers_css.html.erb +++ b/modules/auth_plugins/app/views/hooks/login/_providers_css.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/lib/omni_auth/flexible_builder.rb b/modules/auth_plugins/lib/omni_auth/flexible_builder.rb index 07d39e6f7fbc..4c00ed367383 100644 --- a/modules/auth_plugins/lib/omni_auth/flexible_builder.rb +++ b/modules/auth_plugins/lib/omni_auth/flexible_builder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/lib/omni_auth/flexible_strategy.rb b/modules/auth_plugins/lib/omni_auth/flexible_strategy.rb index ef7f3b8c7847..f48399bcafb9 100644 --- a/modules/auth_plugins/lib/omni_auth/flexible_strategy.rb +++ b/modules/auth_plugins/lib/omni_auth/flexible_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/lib/open_project/auth_plugins.rb b/modules/auth_plugins/lib/open_project/auth_plugins.rb index b602dcf80698..dd0ae4678a2a 100644 --- a/modules/auth_plugins/lib/open_project/auth_plugins.rb +++ b/modules/auth_plugins/lib/open_project/auth_plugins.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/lib/open_project/auth_plugins/engine.rb b/modules/auth_plugins/lib/open_project/auth_plugins/engine.rb index 0af40ed036db..4710fdb474eb 100644 --- a/modules/auth_plugins/lib/open_project/auth_plugins/engine.rb +++ b/modules/auth_plugins/lib/open_project/auth_plugins/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/lib/open_project/auth_plugins/hooks.rb b/modules/auth_plugins/lib/open_project/auth_plugins/hooks.rb index 22238d9c588c..031c3df232a8 100644 --- a/modules/auth_plugins/lib/open_project/auth_plugins/hooks.rb +++ b/modules/auth_plugins/lib/open_project/auth_plugins/hooks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/lib/open_project/auth_plugins/patches.rb b/modules/auth_plugins/lib/open_project/auth_plugins/patches.rb index a96108b21621..4aed413d5813 100644 --- a/modules/auth_plugins/lib/open_project/auth_plugins/patches.rb +++ b/modules/auth_plugins/lib/open_project/auth_plugins/patches.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/lib/open_project/plugins/auth_plugin.rb b/modules/auth_plugins/lib/open_project/plugins/auth_plugin.rb index 12c4d2b49c97..642f7f30aaf5 100644 --- a/modules/auth_plugins/lib/open_project/plugins/auth_plugin.rb +++ b/modules/auth_plugins/lib/open_project/plugins/auth_plugin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/lib/openproject-auth_plugins.rb b/modules/auth_plugins/lib/openproject-auth_plugins.rb index b28dfbd2ff3c..2d1d186cce7c 100644 --- a/modules/auth_plugins/lib/openproject-auth_plugins.rb +++ b/modules/auth_plugins/lib/openproject-auth_plugins.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/spec/features/auth_provider_spec.rb b/modules/auth_plugins/spec/features/auth_provider_spec.rb index 73f001cf4438..d841c69eda78 100644 --- a/modules/auth_plugins/spec/features/auth_provider_spec.rb +++ b/modules/auth_plugins/spec/features/auth_provider_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'rendering the login buttons', js: true do +RSpec.describe 'rendering the login buttons', :js do let(:providers) do [ { name: 'mock_auth' } diff --git a/modules/auth_plugins/spec/requests/auth_plugins_spec.rb b/modules/auth_plugins/spec/requests/auth_plugins_spec.rb index 417245207b9f..2f44ae81ee72 100644 --- a/modules/auth_plugins/spec/requests/auth_plugins_spec.rb +++ b/modules/auth_plugins/spec/requests/auth_plugins_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/spec/requests/flexible_strategy_spec.rb b/modules/auth_plugins/spec/requests/flexible_strategy_spec.rb index c688aa3a22bc..07afc46259bd 100644 --- a/modules/auth_plugins/spec/requests/flexible_strategy_spec.rb +++ b/modules/auth_plugins/spec/requests/flexible_strategy_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/spec/views/base.html.erb_spec.rb b/modules/auth_plugins/spec/views/base.html.erb_spec.rb index d6cf37342ed4..6c8be160c3d6 100644 --- a/modules/auth_plugins/spec/views/base.html.erb_spec.rb +++ b/modules/auth_plugins/spec/views/base.html.erb_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_plugins/spec/views/hooks/login/_providers.html.erb_spec.rb b/modules/auth_plugins/spec/views/hooks/login/_providers.html.erb_spec.rb index 32fad0dd9819..9704a2c5077f 100644 --- a/modules/auth_plugins/spec/views/hooks/login/_providers.html.erb_spec.rb +++ b/modules/auth_plugins/spec/views/hooks/login/_providers.html.erb_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/auth_saml/lib/open_project/auth_saml/engine.rb b/modules/auth_saml/lib/open_project/auth_saml/engine.rb index 895fb5efbc63..0222a4ab7261 100644 --- a/modules/auth_saml/lib/open_project/auth_saml/engine.rb +++ b/modules/auth_saml/lib/open_project/auth_saml/engine.rb @@ -34,7 +34,7 @@ def self.settings_from_config end def self.settings_from_yaml - if (settings = Rails.root.join('config', 'plugins', 'auth_saml', 'settings.yml')).exist? + if (settings = Rails.root.join("config/plugins/auth_saml/settings.yml")).exist? Rails.logger.info("[auth_saml] Registering saml integration from settings file") YAML::load(File.open(settings)).symbolize_keys diff --git a/modules/auth_saml/spec/requests/saml_provider_callback_spec.rb b/modules/auth_saml/spec/requests/saml_provider_callback_spec.rb index 7e9a61b447ab..9cecd9a5a43b 100644 --- a/modules/auth_saml/spec/requests/saml_provider_callback_spec.rb +++ b/modules/auth_saml/spec/requests/saml_provider_callback_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/avatars/app/helpers/avatar_helper.rb b/modules/avatars/app/helpers/avatar_helper.rb index 1bcbc12a973d..6f0e192c1d57 100644 --- a/modules/avatars/app/helpers/avatar_helper.rb +++ b/modules/avatars/app/helpers/avatar_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -45,8 +45,8 @@ module AvatarHelper # Returns the avatar image tag for the given +user+ if avatars are enabled # +user+ can be a User or a string that will be scanned for an email address (eg. 'joe ') - def avatar(principal, size: 'default', hide_name: true, name_classes: '', **options) - build_principal_avatar_tag principal, size:, hide_name:, name_classes:, **options + def avatar(principal, size: 'default', hide_name: true, name_classes: '', **) + build_principal_avatar_tag(principal, size:, hide_name:, name_classes:, **) rescue StandardError => e Rails.logger.error "Failed to create avatar for #{principal}: #{e}" ''.html_safe @@ -89,8 +89,8 @@ def build_gravatar_image_url(user, options = {}) gravatar_image_url(mail, opts) end - def build_principal_avatar_tag(user, **options) - tag_options = merge_default_avatar_options(user, **options) + def build_principal_avatar_tag(user, **) + tag_options = merge_default_avatar_options(user, **) principal_type = API::V3::Principals::PrincipalType.for(user) principal = { diff --git a/modules/avatars/config/locales/crowdin/ka.yml b/modules/avatars/config/locales/crowdin/ka.yml index 9c8900c86fb3..0a6af5358cc2 100644 --- a/modules/avatars/config/locales/crowdin/ka.yml +++ b/modules/avatars/config/locales/crowdin/ka.yml @@ -11,7 +11,7 @@ ka: message_avatar_uploaded: "Avatar changed successfully." error_image_upload: "Error saving the image." error_image_size: "The image is too large." - button_change_avatar: "Change avatar" + button_change_avatar: "ავატარის შეცვლა" are_you_sure_delete_avatar: "Are you sure you want to delete your avatar?" avatar_deleted: "Avatar deleted successfully." unable_to_delete_avatar: "Avatar could not be deleted." @@ -20,8 +20,8 @@ ka: avatars: label_avatar: "ავატარი" label_gravatar: 'გრავატარი' - label_current_avatar: 'Current avatar' - label_local_avatar: 'Custom avatar' + label_current_avatar: 'მიმდინარე ავატარი' + label_local_avatar: 'პერსონალური ავატარი' text_current_avatar: | The following image shows the current avatar. text_upload_instructions: | diff --git a/modules/avatars/frontend/module/avatar-upload-form/avatar-upload-form.component.ts b/modules/avatars/frontend/module/avatar-upload-form/avatar-upload-form.component.ts index bbeb36e5cf8a..00640f14cffc 100644 --- a/modules/avatars/frontend/module/avatar-upload-form/avatar-upload-form.component.ts +++ b/modules/avatars/frontend/module/avatar-upload-form/avatar-upload-form.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/avatars/frontend/module/avatar-upload.service.ts b/modules/avatars/frontend/module/avatar-upload.service.ts index 38071731bd56..3c2e17a6c3ec 100644 --- a/modules/avatars/frontend/module/avatar-upload.service.ts +++ b/modules/avatars/frontend/module/avatar-upload.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/avatars/frontend/module/main.ts b/modules/avatars/frontend/module/main.ts index 78e20f2390b9..04c66c07898e 100644 --- a/modules/avatars/frontend/module/main.ts +++ b/modules/avatars/frontend/module/main.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/avatars/lib/api/v3/users/user_avatar_api.rb b/modules/avatars/lib/api/v3/users/user_avatar_api.rb index fe5c2cb3647f..ae8804c6b7f1 100644 --- a/modules/avatars/lib/api/v3/users/user_avatar_api.rb +++ b/modules/avatars/lib/api/v3/users/user_avatar_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/avatars/spec/features/my_avatar_spec.rb b/modules/avatars/spec/features/my_avatar_spec.rb index d8d204709e29..ebd46183184f 100644 --- a/modules/avatars/spec/features/my_avatar_spec.rb +++ b/modules/avatars/spec/features/my_avatar_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' -require_relative './shared_avatar_examples' +require_relative 'shared_avatar_examples' -RSpec.describe 'My avatar management', js: true do +RSpec.describe 'My avatar management', :js do include Rails.application.routes.url_helpers let(:user) { create(:user) } @@ -26,7 +26,7 @@ expect(page).to have_text '[Error 404]' visit my_account_path - expect(page).not_to have_selector '.avatar-menu-item' + expect(page).to have_no_css '.avatar-menu-item' end end end diff --git a/modules/avatars/spec/features/shared_avatar_examples.rb b/modules/avatars/spec/features/shared_avatar_examples.rb index a3aabbb92e53..5fccae30fa89 100644 --- a/modules/avatars/spec/features/shared_avatar_examples.rb +++ b/modules/avatars/spec/features/shared_avatar_examples.rb @@ -24,12 +24,12 @@ it 'shows the gravatar avatar' do visit avatar_management_path - expect(page).to have_selector('.form--fieldset-legend', text: 'GRAVATAR') - expect(page).to have_selector('.avatars--current-gravatar') + expect(page).to have_css('.form--fieldset-legend', text: 'GRAVATAR') + expect(page).to have_css('.avatars--current-gravatar') # Local not rendered - expect(page).not_to have_selector('.form--fieldset-legend', text: 'CUSTOM AVATAR') - expect(page).not_to have_selector('.avatars--current-local-avatar', text: 'none') + expect(page).to have_no_css('.form--fieldset-legend', text: 'CUSTOM AVATAR') + expect(page).to have_no_css('.avatars--current-local-avatar', text: 'none') end end @@ -38,36 +38,36 @@ it 'can upload a new image' do visit avatar_management_path - expect(page).to have_selector('.form--fieldset-legend', text: 'CUSTOM AVATAR') - expect(page).to have_selector('.avatars--current-local-avatar', text: 'none') + expect(page).to have_css('.form--fieldset-legend', text: 'CUSTOM AVATAR') + expect(page).to have_css('.avatars--current-local-avatar', text: 'none') # Gravatars not rendered - expect(page).not_to have_selector('.form--fieldset-legend', text: 'GRAVATAR') + expect(page).to have_no_css('.form--fieldset-legend', text: 'GRAVATAR') # Attach a new invalid image find_by_id('avatar_file_input').set UploadedFile.load_from(File.join(image_base_path, 'invalid.txt')).path # Expect error - expect(page).to have_selector('.form--label.-error') - expect(page).to have_selector('.avatars--error-pane', text: 'Allowed formats are jpg, png, gif') + expect(page).to have_css('.form--label.-error') + expect(page).to have_css('.avatars--error-pane', text: 'Allowed formats are jpg, png, gif') # Attach new image visit avatar_management_path - expect(page).to have_selector('.avatars--current-local-avatar', text: 'none') + expect(page).to have_css('.avatars--current-local-avatar', text: 'none') find_by_id('avatar_file_input').set UploadedFile.load_from(File.join(image_base_path, 'too_big.jpg')).path # Expect not error, since ng-file-upload resizes the image - expect(page).not_to have_selector('.form--label.-error') - expect(page).not_to have_selector('.avatars--error-pane span') + expect(page).to have_no_css('.form--label.-error') + expect(page).to have_no_css('.avatars--error-pane span') # Expect preview - expect(page).to have_selector('.preview img') + expect(page).to have_css('.preview img') # Click button click_on 'Update' # Expect avatar rendered - expect(page).to have_selector('.form--fieldset-legend', text: 'CUSTOM AVATAR') + expect(page).to have_css('.form--fieldset-legend', text: 'CUSTOM AVATAR') avatar_tag = find('.avatars--current-local-avatar img') expect(avatar_tag[:src]).to include user_avatar_path(target_user) @@ -82,7 +82,7 @@ find('.avatars--local-avatar-delete-link').click end - expect(page).to have_selector('.avatars--current-local-avatar', text: 'none', wait: 20) + expect(page).to have_css('.avatars--current-local-avatar', text: 'none', wait: 20) end end @@ -94,12 +94,12 @@ visit avatar_management_path # Gravatar - expect(page).to have_selector('.form--fieldset-legend', text: 'GRAVATAR') - expect(page).to have_selector('.avatars--current-gravatar') + expect(page).to have_css('.form--fieldset-legend', text: 'GRAVATAR') + expect(page).to have_css('.avatars--current-gravatar') # Local - expect(page).to have_selector('.form--fieldset-legend', text: 'CUSTOM AVATAR') - expect(page).to have_selector('.avatars--current-local-avatar', text: 'none') + expect(page).to have_css('.form--fieldset-legend', text: 'CUSTOM AVATAR') + expect(page).to have_css('.avatars--current-local-avatar', text: 'none') end end end diff --git a/modules/avatars/spec/features/user_avatar_spec.rb b/modules/avatars/spec/features/user_avatar_spec.rb index fe84abfe5203..4f8ba9fbcfbc 100644 --- a/modules/avatars/spec/features/user_avatar_spec.rb +++ b/modules/avatars/spec/features/user_avatar_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' -require_relative './shared_avatar_examples' +require_relative 'shared_avatar_examples' -RSpec.describe 'User avatar management', js: true do +RSpec.describe 'User avatar management', :js do include Rails.application.routes.url_helpers let(:user) { create(:admin) } @@ -48,7 +48,7 @@ it 'does not render the user edit tab' do visit edit_user_path(user) - expect(page).not_to have_selector '#tab-avatar' + expect(page).to have_no_css '#tab-avatar' end end end diff --git a/modules/avatars/spec/lib/api/v3/users/user_representer_spec.rb b/modules/avatars/spec/lib/api/v3/users/user_representer_spec.rb index 5d10fe41387c..7e7897dde6e5 100644 --- a/modules/avatars/spec/lib/api/v3/users/user_representer_spec.rb +++ b/modules/avatars/spec/lib/api/v3/users/user_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/avatars/spec/requests/user_avatar_api_spec.rb b/modules/avatars/spec/requests/user_avatar_api_spec.rb index bc0100691f25..0bf052b37da7 100644 --- a/modules/avatars/spec/requests/user_avatar_api_spec.rb +++ b/modules/avatars/spec/requests/user_avatar_api_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/avatars/spec/shared_examples.rb b/modules/avatars/spec/shared_examples.rb index 1f69d9255f3a..7b90b3106492 100644 --- a/modules/avatars/spec/shared_examples.rb +++ b/modules/avatars/spec/shared_examples.rb @@ -89,6 +89,7 @@ end end end + RSpec.shared_context "there are users with and without avatars" do let(:base_path) { File.expand_path 'fixtures', __dir__ } let(:user_without_avatar) { create(:user) } @@ -117,6 +118,7 @@ testfile end end + RSpec.shared_examples_for "an action with an invalid user" do it do do_action @@ -131,6 +133,7 @@ allow(User).to receive(:find) { |id, _args| id.to_s == "0" ? nil : user } end end + RSpec.shared_examples_for "an action that deletes the user's avatar" do it do expect_any_instance_of(Attachment).to receive(:destroy).and_call_original diff --git a/modules/backlogs/app/controllers/backlogs_settings_controller.rb b/modules/backlogs/app/controllers/backlogs_settings_controller.rb index 18dfd52c94a4..2e323868e7a7 100644 --- a/modules/backlogs/app/controllers/backlogs_settings_controller.rb +++ b/modules/backlogs/app/controllers/backlogs_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/controllers/projects/settings/backlogs_controller.rb b/modules/backlogs/app/controllers/projects/settings/backlogs_controller.rb index a2090fb4a373..fb7ae526d69d 100644 --- a/modules/backlogs/app/controllers/projects/settings/backlogs_controller.rb +++ b/modules/backlogs/app/controllers/projects/settings/backlogs_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/controllers/rb_application_controller.rb b/modules/backlogs/app/controllers/rb_application_controller.rb index adfd136d5007..8bd3bd894350 100644 --- a/modules/backlogs/app/controllers/rb_application_controller.rb +++ b/modules/backlogs/app/controllers/rb_application_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/controllers/rb_burndown_charts_controller.rb b/modules/backlogs/app/controllers/rb_burndown_charts_controller.rb index abdd43e4b715..a7e2d1c7840c 100644 --- a/modules/backlogs/app/controllers/rb_burndown_charts_controller.rb +++ b/modules/backlogs/app/controllers/rb_burndown_charts_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/controllers/rb_impediments_controller.rb b/modules/backlogs/app/controllers/rb_impediments_controller.rb index 9daa7053cb76..fefc5c5328cb 100644 --- a/modules/backlogs/app/controllers/rb_impediments_controller.rb +++ b/modules/backlogs/app/controllers/rb_impediments_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/controllers/rb_master_backlogs_controller.rb b/modules/backlogs/app/controllers/rb_master_backlogs_controller.rb index 24eb4b8990b9..d811390a05f7 100644 --- a/modules/backlogs/app/controllers/rb_master_backlogs_controller.rb +++ b/modules/backlogs/app/controllers/rb_master_backlogs_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/controllers/rb_queries_controller.rb b/modules/backlogs/app/controllers/rb_queries_controller.rb index 6bddf44c0514..64e688e7d2c0 100644 --- a/modules/backlogs/app/controllers/rb_queries_controller.rb +++ b/modules/backlogs/app/controllers/rb_queries_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/controllers/rb_sprints_controller.rb b/modules/backlogs/app/controllers/rb_sprints_controller.rb index d697e72c745a..f5d06eec108a 100644 --- a/modules/backlogs/app/controllers/rb_sprints_controller.rb +++ b/modules/backlogs/app/controllers/rb_sprints_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/controllers/rb_stories_controller.rb b/modules/backlogs/app/controllers/rb_stories_controller.rb index 773968c26567..97f702ebddc1 100644 --- a/modules/backlogs/app/controllers/rb_stories_controller.rb +++ b/modules/backlogs/app/controllers/rb_stories_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/controllers/rb_taskboards_controller.rb b/modules/backlogs/app/controllers/rb_taskboards_controller.rb index b9c67de844e8..f59629643157 100644 --- a/modules/backlogs/app/controllers/rb_taskboards_controller.rb +++ b/modules/backlogs/app/controllers/rb_taskboards_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/controllers/rb_tasks_controller.rb b/modules/backlogs/app/controllers/rb_tasks_controller.rb index a42357c00b5d..3ecfb17e5594 100644 --- a/modules/backlogs/app/controllers/rb_tasks_controller.rb +++ b/modules/backlogs/app/controllers/rb_tasks_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,7 +34,7 @@ class RbTasksController < RbApplicationController "estimated_hours", "status_id", "sprint_id"] def create - call = Tasks::CreateService + call = ::Tasks::CreateService .new(user: current_user) .call(attributes: task_params.merge(project: @project), prev: params[:prev]) @@ -44,7 +44,7 @@ def create def update task = Task.find(task_params[:id]) - call = Tasks::UpdateService + call = ::Tasks::UpdateService .new(user: current_user, task:) .call(attributes: task_params, prev: params[:prev]) diff --git a/modules/backlogs/app/controllers/rb_wikis_controller.rb b/modules/backlogs/app/controllers/rb_wikis_controller.rb index e0cc2cd5d066..7e9b9b958550 100644 --- a/modules/backlogs/app/controllers/rb_wikis_controller.rb +++ b/modules/backlogs/app/controllers/rb_wikis_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/controllers/version_settings_controller.rb b/modules/backlogs/app/controllers/version_settings_controller.rb index 6289f0c094cf..57e3a48de612 100644 --- a/modules/backlogs/app/controllers/version_settings_controller.rb +++ b/modules/backlogs/app/controllers/version_settings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,6 +36,6 @@ def edit def authorize # Everyone with the right to edit versions has the right to edit version # settings - super 'versions', 'edit' + super('versions', 'edit') end end diff --git a/modules/backlogs/app/controllers/work_package_boxes_controller.rb b/modules/backlogs/app/controllers/work_package_boxes_controller.rb index 070c089d477f..df86563a0c1e 100644 --- a/modules/backlogs/app/controllers/work_package_boxes_controller.rb +++ b/modules/backlogs/app/controllers/work_package_boxes_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/helpers/burndown_charts_helper.rb b/modules/backlogs/app/helpers/burndown_charts_helper.rb index fb4671ff6501..ebfcd9f63375 100644 --- a/modules/backlogs/app/helpers/burndown_charts_helper.rb +++ b/modules/backlogs/app/helpers/burndown_charts_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/helpers/rb_common_helper.rb b/modules/backlogs/app/helpers/rb_common_helper.rb index 0779994d4e7b..45e770190f71 100644 --- a/modules/backlogs/app/helpers/rb_common_helper.rb +++ b/modules/backlogs/app/helpers/rb_common_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -95,7 +95,7 @@ def is_assigned_task?(task) def background_color_hex(task) background_color = get_backlogs_preference(task.assigned_to, :task_color) - background_color_hex = background_color.sub(/\#/, '0x').hex + background_color_hex = background_color.sub("#", '0x').hex end def id_or_empty(item) diff --git a/modules/backlogs/app/helpers/rb_master_backlogs_helper.rb b/modules/backlogs/app/helpers/rb_master_backlogs_helper.rb index 247197585270..081cb8e7eae7 100644 --- a/modules/backlogs/app/helpers/rb_master_backlogs_helper.rb +++ b/modules/backlogs/app/helpers/rb_master_backlogs_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -61,10 +61,12 @@ def backlog_menu_items_for(backlog) def common_backlog_menu_items_for(backlog) items = {} - items[:new_story] = content_tag(:a, - I18n.t('backlogs.add_new_story'), - href: '#', - class: 'add_new_story') + if current_user.allowed_in_project?(:add_work_packages, @project) + items[:new_story] = content_tag(:a, + I18n.t('backlogs.add_new_story'), + href: '#', + class: 'add_new_story') + end items[:stories_tasks] = link_to(I18n.t(:label_stories_tasks), controller: '/rb_queries', diff --git a/modules/backlogs/app/helpers/taskboards_helper.rb b/modules/backlogs/app/helpers/taskboards_helper.rb index a0dd469923ff..456d4012ab6c 100644 --- a/modules/backlogs/app/helpers/taskboards_helper.rb +++ b/modules/backlogs/app/helpers/taskboards_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/helpers/version_settings_helper.rb b/modules/backlogs/app/helpers/version_settings_helper.rb index c3eb82d787bb..439672e11c71 100644 --- a/modules/backlogs/app/helpers/version_settings_helper.rb +++ b/modules/backlogs/app/helpers/version_settings_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/models/backlog.rb b/modules/backlogs/app/models/backlog.rb index df846b74f28c..b27aa221f9a5 100644 --- a/modules/backlogs/app/models/backlog.rb +++ b/modules/backlogs/app/models/backlog.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/models/burndown.rb b/modules/backlogs/app/models/burndown.rb index 47c80f25b146..e33b7af1c7ed 100644 --- a/modules/backlogs/app/models/burndown.rb +++ b/modules/backlogs/app/models/burndown.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -86,7 +86,7 @@ def make_series(name, units, data) @available_series ||= {} s = OpenProject::Backlogs::Burndown::Series.new(data, name, units) @available_series[name] = s - instance_variable_set("@#{name}", s) + instance_variable_set(:"@#{name}", s) end def determine_max diff --git a/modules/backlogs/app/models/impediment.rb b/modules/backlogs/app/models/impediment.rb index 94fe1d3cee02..7ae2f4c9b2c9 100644 --- a/modules/backlogs/app/models/impediment.rb +++ b/modules/backlogs/app/models/impediment.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/models/sprint.rb b/modules/backlogs/app/models/sprint.rb index 30db44af4e2d..be7a2eba06ef 100644 --- a/modules/backlogs/app/models/sprint.rb +++ b/modules/backlogs/app/models/sprint.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/models/story.rb b/modules/backlogs/app/models/story.rb index 5fb8c9e311bf..be1688399edf 100644 --- a/modules/backlogs/app/models/story.rb +++ b/modules/backlogs/app/models/story.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/models/task.rb b/modules/backlogs/app/models/task.rb index f589796a0d29..0dc5331f7dc3 100644 --- a/modules/backlogs/app/models/task.rb +++ b/modules/backlogs/app/models/task.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/models/version_setting.rb b/modules/backlogs/app/models/version_setting.rb index 2c0bcd61d50c..532f1fbbc570 100644 --- a/modules/backlogs/app/models/version_setting.rb +++ b/modules/backlogs/app/models/version_setting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/seeders/basic_data/backlogs/setting_seeder.rb b/modules/backlogs/app/seeders/basic_data/backlogs/setting_seeder.rb index 87d9d1174bbc..970b64e20b63 100644 --- a/modules/backlogs/app/seeders/basic_data/backlogs/setting_seeder.rb +++ b/modules/backlogs/app/seeders/basic_data/backlogs/setting_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/seeders/common.yml b/modules/backlogs/app/seeders/common.yml index 4454afd6e9ce..0219ea07243c 100644 --- a/modules/backlogs/app/seeders/common.yml +++ b/modules/backlogs/app/seeders/common.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/services/impediments/create_service.rb b/modules/backlogs/app/services/impediments/create_service.rb index c728191d60d0..baaeb688b549 100644 --- a/modules/backlogs/app/services/impediments/create_service.rb +++ b/modules/backlogs/app/services/impediments/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/services/impediments/update_service.rb b/modules/backlogs/app/services/impediments/update_service.rb index 0cc00ed372a0..ff1747ec5fd1 100644 --- a/modules/backlogs/app/services/impediments/update_service.rb +++ b/modules/backlogs/app/services/impediments/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/services/stories/create_service.rb b/modules/backlogs/app/services/stories/create_service.rb index 6109cddd5fc2..c7678b17e0d5 100644 --- a/modules/backlogs/app/services/stories/create_service.rb +++ b/modules/backlogs/app/services/stories/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/services/stories/update_service.rb b/modules/backlogs/app/services/stories/update_service.rb index bb595bc3530d..52dc2059f2e2 100644 --- a/modules/backlogs/app/services/stories/update_service.rb +++ b/modules/backlogs/app/services/stories/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/services/tasks/create_service.rb b/modules/backlogs/app/services/tasks/create_service.rb index c20a25da38a0..bacda2758475 100644 --- a/modules/backlogs/app/services/tasks/create_service.rb +++ b/modules/backlogs/app/services/tasks/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/services/tasks/update_service.rb b/modules/backlogs/app/services/tasks/update_service.rb index 9b4e60888d52..e3e814c6cb43 100644 --- a/modules/backlogs/app/services/tasks/update_service.rb +++ b/modules/backlogs/app/services/tasks/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/views/backlogs_settings/show.html.erb b/modules/backlogs/app/views/backlogs_settings/show.html.erb index f0a33c88202e..2de2234a2872 100644 --- a/modules/backlogs/app/views/backlogs_settings/show.html.erb +++ b/modules/backlogs/app/views/backlogs_settings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -34,34 +34,34 @@ See COPYRIGHT and LICENSE files for more details. <%= styled_label_tag("settings[story_types]", t(:backlogs_story_type)) %>
    <%= styled_select_tag("settings[story_types]", - options_from_collection_for_select(Type.all, :id, :name, Story.types), - :multiple => true, - container_class: '-slim') %> + options_from_collection_for_select(Type.all, :id, :name, Story.types), + multiple: true, + container_class: '-slim') %>
    <%= styled_label_tag("settings[task_type]", t(:backlogs_task_type)) %>
    <%= styled_select_tag("settings[task_type]", - options_from_collection_for_select(Type.all, :id, :name, Task.type), - container_class: '-slim') %> + options_from_collection_for_select(Type.all, :id, :name, Task.type), + container_class: '-slim') %>
    <%= styled_label_tag("settings[points_burn_direction]", t(:backlogs_points_burn_direction)) %>
    <%= styled_select_tag("settings[points_burn_direction]", - options_for_select([[t(:label_points_burn_up), 'up'], [t(:label_points_burn_down), 'down']], - Setting.plugin_openproject_backlogs["points_burn_direction"]), - container_class: '-slim') %> + options_for_select([[t(:label_points_burn_up), 'up'], [t(:label_points_burn_down), 'down']], + Setting.plugin_openproject_backlogs["points_burn_direction"]), + container_class: '-slim') %>
    <%= styled_label_tag("settings[wiki_template]", t(:backlogs_wiki_template)) %>
    <%= styled_text_field_tag("settings[wiki_template]", - Setting.plugin_openproject_backlogs["wiki_template"], - container_class: '-slim') %> + Setting.plugin_openproject_backlogs["wiki_template"], + container_class: '-slim') %>
    diff --git a/modules/backlogs/app/views/layouts/backlogs.html.erb b/modules/backlogs/app/views/layouts/backlogs.html.erb index 4e7f8425d26d..7bd1b63c5ff5 100644 --- a/modules/backlogs/app/views/layouts/backlogs.html.erb +++ b/modules/backlogs/app/views/layouts/backlogs.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,6 @@ See COPYRIGHT and LICENSE files for more details. ++#%> - <% content_for :header_tags do %> <%= nonced_javascript_tag do %> <%= render(partial: 'shared/server_variables', formats: [:js]) %> diff --git a/modules/backlogs/app/views/projects/settings/backlogs/show.html.erb b/modules/backlogs/app/views/projects/settings/backlogs/show.html.erb index c28dac22089f..620a4ab9267f 100644 --- a/modules/backlogs/app/views/projects/settings/backlogs/show.html.erb +++ b/modules/backlogs/app/views/projects/settings/backlogs/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -57,7 +57,7 @@ See COPYRIGHT and LICENSE files for more details.
    - <%=t('backlogs.work_package_is_closed')%> + <%= t('backlogs.work_package_is_closed') %>
    @@ -87,7 +87,7 @@ See COPYRIGHT and LICENSE files for more details. <% end %> -

    <%=t('backlogs.rebuild_positions')%>

    +

    <%= t('backlogs.rebuild_positions') %>

    <%= styled_form_tag(controller: '/projects/settings/backlogs', action: "rebuild_positions", id: @project) do %>

    <%= styled_button_tag t('backlogs.rebuild'), class: '-highlight' %>

    diff --git a/modules/backlogs/app/views/rb_burndown_charts/_burndown.html.erb b/modules/backlogs/app/views/rb_burndown_charts/_burndown.html.erb index 9a32dbfa3e70..6abc0223aee8 100644 --- a/modules/backlogs/app/views/rb_burndown_charts/_burndown.html.erb +++ b/modules/backlogs/app/views/rb_burndown_charts/_burndown.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/views/rb_burndown_charts/show.html.erb b/modules/backlogs/app/views/rb_burndown_charts/show.html.erb index 6448b755f4f8..7f1cfcb060ec 100644 --- a/modules/backlogs/app/views/rb_burndown_charts/show.html.erb +++ b/modules/backlogs/app/views/rb_burndown_charts/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -32,14 +32,14 @@ See COPYRIGHT and LICENSE files for more details. <% if @burndown %> - <%= render :partial => 'burndown', :locals => {:div => 'burndown_', :burndown => @burndown } %> + <%= render partial: 'burndown', locals: { div: 'burndown_', burndown: @burndown } %> -
    <%=t('backlogs.generating_chart')%>
    +
    <%= t('backlogs.generating_chart') %>
    <%= t('backlogs.chart_options') %> <%= burndown_series_checkboxes(@burndown) %>
    <% else %> - <%= t('backlogs.no_burndown_data')%> + <%= t('backlogs.no_burndown_data') %> <% end %> diff --git a/modules/backlogs/app/views/rb_impediments/_impediment.html.erb b/modules/backlogs/app/views/rb_impediments/_impediment.html.erb index 655e00857bff..fd38dc60f9f9 100644 --- a/modules/backlogs/app/views/rb_impediments/_impediment.html.erb +++ b/modules/backlogs/app/views/rb_impediments/_impediment.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -27,23 +27,46 @@ See COPYRIGHT and LICENSE files for more details. ++#%> -<% prevent_edit = User.current.allowed_in_project?(:edit_work_packages, defined?(project) ? project : impediment.project) ? '' : 'prevent_edit'%> -
    > +<% + project ||= impediment.project + prevent_edit = if User.current.allowed_in_project?(:edit_work_packages, project) + '' + else + 'prevent_edit' + end +%> +
    >
    <%= work_package_link_or_empty(impediment) %>
    <%= id_or_empty(impediment) %>
    -
    ><%= impediment.subject %>
    -
    ><%= blocks_ids(impediment.blocks_ids) %>
    -
    > +
    <%= impediment.subject %>
    +
    <%= blocks_ids(impediment.blocks_ids) %>
    +
    <%= assignee_name_or_empty(impediment) %>
    <%= assignee_id_or_empty(impediment) %>
    -
    ><%= remaining_hours(impediment) %>
    +
    <%= remaining_hours(impediment) %>
    <%= impediment.parent_id %>
    <%= impediment.status_id %>
    - <%= render(:partial => "shared/model_errors", :object => errors) if defined?(errors) && errors.size > 0 %> + <%= render(partial: "shared/model_errors", object: errors) if defined?(errors) && !errors.empty? %>
    diff --git a/modules/backlogs/app/views/rb_master_backlogs/_backlog.html.erb b/modules/backlogs/app/views/rb_master_backlogs/_backlog.html.erb index d2197efaa6a1..136c92327b23 100644 --- a/modules/backlogs/app/views/rb_master_backlogs/_backlog.html.erb +++ b/modules/backlogs/app/views/rb_master_backlogs/_backlog.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -27,24 +27,25 @@ See COPYRIGHT and LICENSE files for more details. ++#%> -<% folded = current_user.backlogs_preference(:versions_default_fold_state) == "closed" %> +<% + folded = current_user.backlogs_preference(:versions_default_fold_state) == "closed" + editable = User.current.allowed_in_project?(:edit_work_packages, @project) +%>
    <% icon = folded ? 'icon-arrow-down1' : 'icon-arrow-up1' %>
    - <%= render :partial => "rb_sprints/sprint", :object => backlog.sprint %> + <%= render partial: "rb_sprints/sprint", object: backlog.sprint %>
    <%= render_backlog_menu backlog %>
    -
      +
        <% reset_cycle 'stories' %> <% backlog.stories.each_with_index do |story, index| %> - <% higher_item = index == 0 ? nil : - backlog.stories[index - 1] %> + <% higher_item = index == 0 ? nil : backlog.stories[index - 1] %> - <%= render :partial => "rb_stories/story", - :locals => { :story => story, - :higher_item => higher_item } %> + <%= render partial: "rb_stories/story", + locals: { story:, higher_item: } %> <% end %>
    diff --git a/modules/backlogs/app/views/rb_master_backlogs/index.html.erb b/modules/backlogs/app/views/rb_master_backlogs/index.html.erb index 4794bdde1971..dd2d3e7aada6 100644 --- a/modules/backlogs/app/views/rb_master_backlogs/index.html.erb +++ b/modules/backlogs/app/views/rb_master_backlogs/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -46,23 +46,21 @@ See COPYRIGHT and LICENSE files for more details. <%= no_results_box action_url: new_project_version_path(@project), display_action: authorize_for('versions', 'new'), custom_title: t(:backlogs_empty_title), - custom_action_text: t(:backlogs_empty_action_text) - - %> + custom_action_text: t(:backlogs_empty_action_text) %> <% end %>
    - <%= render :partial => 'backlog', :collection => @owner_backlogs %> + <%= render partial: 'backlog', collection: @owner_backlogs %>
    - <%= render :partial => 'backlog', :collection => @sprint_backlogs %> + <%= render partial: 'backlog', collection: @sprint_backlogs %>
    - <%= render :partial => "rb_stories/helpers" %> + <%= render partial: "rb_stories/helpers" %>
    <%= date_string_with_milliseconds(@last_update, 0.001) %>
    diff --git a/modules/backlogs/app/views/rb_sprints/_sprint.html.erb b/modules/backlogs/app/views/rb_sprints/_sprint.html.erb index 846647f38d80..759c12b05e77 100644 --- a/modules/backlogs/app/views/rb_sprints/_sprint.html.erb +++ b/modules/backlogs/app/views/rb_sprints/_sprint.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -33,34 +33,39 @@ See COPYRIGHT and LICENSE files for more details.
    <%= id_or_empty(sprint) %>
    - <% User.current.allowed_in_project?(:update_sprints, @project) ? editable = "editable" : editable = "" %> + <% editable = User.current.allowed_in_project?(:update_sprints, @project) ? "editable" : "" %>
    -
    > - <%= sprint.effective_date %> -
    -
    > - <%= sprint.start_date %> -
    -
    <%= sprint.name %>
    +
    <%= sprint.effective_date %>
    +
    <%= sprint.start_date %>
    +
    <%= sprint.name %>
    <% if User.current.allowed_in_project?(:update_sprints, @project) %>
    <%= angular_component_tag "op-basic-single-date-picker", - inputs: { - value: sprint.effective_date, - inputClassNames: 'effective_date editor', - id: "effective_date_#{sprint.id}", - name: :effective_date - } %> + inputs: { + value: sprint.effective_date, + inputClassNames: 'effective_date editor', + id: "effective_date_#{sprint.id}", + name: :effective_date + } %> <%= angular_component_tag "op-basic-single-date-picker", - inputs: { - value: sprint.start_date, - inputClassNames: 'start_date editor', - id: "start_date_#{sprint.id}", - name: :start_date - } %> + inputs: { + value: sprint.start_date, + inputClassNames: 'start_date editor', + id: "start_date_#{sprint.id}", + name: :start_date + } %> <%= text_field_tag :name, sprint.name, class: 'name editor' %> @@ -68,6 +73,6 @@ See COPYRIGHT and LICENSE files for more details. <% end %>
    - <%= render :partial => "shared/model_errors", :object => sprint.errors %> + <%= render partial: "shared/model_errors", object: sprint.errors %>
    diff --git a/modules/backlogs/app/views/rb_stories/_helpers.html.erb b/modules/backlogs/app/views/rb_stories/_helpers.html.erb index 02b1b6482d66..7906ccaaf122 100644 --- a/modules/backlogs/app/views/rb_stories/_helpers.html.erb +++ b/modules/backlogs/app/views/rb_stories/_helpers.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -32,7 +32,7 @@ See COPYRIGHT and LICENSE files for more details. <% statuses.each do |old_status, allowed_statuses| %> <% if old_status != default_work_package_status %> - <% else %> - <% end %> @@ -56,7 +56,7 @@ See COPYRIGHT and LICENSE files for more details.
    - <%= render :partial => 'rb_stories/story', :object => template_story %> + <%= render partial: 'rb_stories/story', object: template_story, locals: { project: @project, permission: :add_work_packages } %>
    diff --git a/modules/backlogs/app/views/rb_stories/_story.html.erb b/modules/backlogs/app/views/rb_stories/_story.html.erb index 11f73e034a47..1bec32292397 100644 --- a/modules/backlogs/app/views/rb_stories/_story.html.erb +++ b/modules/backlogs/app/views/rb_stories/_story.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -27,24 +27,53 @@ See COPYRIGHT and LICENSE files for more details. ++#%> -
  • " id="<%= story_html_id_or_empty(story) %>"> +<% + project ||= story.project + permission ||= :edit_work_packages + other_fields_editable = User.current.allowed_in_project?(permission, project) + status_field_editable = other_fields_editable || User.current.allowed_in_project?(:change_work_package_status, project) +%> +
  • " id="<%= story_html_id_or_empty(story) %>">
    <%= work_package_link_or_empty(story) %>
    <%= id_or_empty(story) %>
    -
    ><%= story_points_or_empty(story) %>
    -
    > +
    <%= story_points_or_empty(story) %>
    +
    <%= status_label_or_default(story) %>
    <%= status_id_or_default(story) %>
    -
    > +
    <%= type_name_or_empty(story) %>:
    <%= type_id_or_empty(story) %>
    -
    ><%=h story.subject %>
    +
    <%= story.subject %>
    <%= story.version_id %>
    <%= !defined?(higher_item) || higher_item.nil? ? '' : higher_item.id %>
    - <%= render(:partial => "shared/model_errors", :object => errors) if defined?(errors) && errors.size > 0 %> + <%= render(partial: "shared/model_errors", object: errors) if defined?(errors) && !errors.empty? %>
  • diff --git a/modules/backlogs/app/views/rb_taskboards/show.html.erb b/modules/backlogs/app/views/rb_taskboards/show.html.erb index 67ec1c4b6cb7..d38467a3104e 100644 --- a/modules/backlogs/app/views/rb_taskboards/show.html.erb +++ b/modules/backlogs/app/views/rb_taskboards/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -59,14 +59,14 @@ See COPYRIGHT and LICENSE files for more details.
    <%= t(:label_sprint_impediments) %>
    <% if User.current.allowed_in_project?(:add_work_packages, @project) %> - + + + <% else %> - + <% end %> <% @statuses.each do |status| %> - <%= render :partial => "rb_impediments/impediment", - :collection => impediments_by_position_for_status(@sprint, @project, status) %> + <%= render partial: "rb_impediments/impediment", + collection: impediments_by_position_for_status(@sprint, @project, status) %> <% end %> @@ -103,14 +103,14 @@ See COPYRIGHT and LICENSE files for more details.
    <% if User.current.allowed_in_project?(:add_work_packages, @project) %> - + + + <% else %> - + <% end %> <% @statuses.each do |status| %> - <%= render :partial => "rb_tasks/task", - :collection => tasks_by_status_id[status.id] %> + <%= render partial: "rb_tasks/task", + collection: tasks_by_status_id[status.id] %> <% end %> @@ -128,14 +128,14 @@ See COPYRIGHT and LICENSE files for more details. <% end %>
    - <%= render :partial => "rb_tasks/task", :object => Task.new, :locals => {:project => @project} %> + <%= render partial: "rb_tasks/task", object: Task.new, locals: { project: @project } %>
    - <%= render :partial => "rb_impediments/impediment", :object => Impediment.new, :locals => {:project => @project} %> + <%= render partial: "rb_impediments/impediment", object: Impediment.new, locals: { project: @project } %>
    -
    <%= date_string_with_milliseconds( (@last_updated.blank? ? Time.now : @last_updated.updated_at) ) %>
    +
    <%= date_string_with_milliseconds((@last_updated.blank? ? Time.zone.now : @last_updated.updated_at)) %>
    diff --git a/modules/backlogs/app/views/rb_tasks/_task.html.erb b/modules/backlogs/app/views/rb_tasks/_task.html.erb index cc6a54ba979c..a580a03c6cd1 100644 --- a/modules/backlogs/app/views/rb_tasks/_task.html.erb +++ b/modules/backlogs/app/views/rb_tasks/_task.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -27,22 +27,39 @@ See COPYRIGHT and LICENSE files for more details. ++#%> -<% prevent_edit = User.current.allowed_in_project?(:edit_work_packages, defined?(project) ? project : task.project) ? '' : 'prevent_edit'%> +<% + project ||= task.project + prevent_edit = if User.current.allowed_in_project?(:edit_work_packages, project) + '' + else + 'prevent_edit' + end +%>
    >
    <%= work_package_link_or_empty(task) %>
    <%= id_or_empty(task) %>
    -
    ><%= task.subject %>
    -
    > +
    <%= task.subject %>
    +
    <%= assignee_name_or_empty(task) %>
    <%= assignee_id_or_empty(task) %>
    -
    <%= remaining_hours(task) %>
    +
    <%= remaining_hours(task) %>
    <%= task.parent_id %>
    <%= task.status_id %>
    - <%= render(:partial => "shared/model_errors", :object => errors) if defined?(errors) && errors.size > 0 %> + <%= render(partial: "shared/model_errors", object: errors) if defined?(errors) && !errors.empty? %>
    diff --git a/modules/backlogs/app/views/rb_tasks/index.html.erb b/modules/backlogs/app/views/rb_tasks/index.html.erb index 5d437c1fbf46..d3d09688652b 100644 --- a/modules/backlogs/app/views/rb_tasks/index.html.erb +++ b/modules/backlogs/app/views/rb_tasks/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -28,9 +28,9 @@ See COPYRIGHT and LICENSE files for more details. ++#%>
    -
    <%= date_string_with_milliseconds( (@last_updated.blank? ? Time.parse(params[:after]) : @last_updated.updated_at), 0.001 ) %>
    - <%= render :partial => "task", :collection => @tasks, :locals => { :include_meta => @include_meta } %> +
    <%= date_string_with_milliseconds((@last_updated.blank? ? Time.zone.parse(params[:after]) : @last_updated.updated_at), 0.001) %>
    + <%= render partial: "task", collection: @tasks, locals: { include_meta: @include_meta } %> <%- if @impediments %> - <%= render :partial => "impediment", :collection => @impediments, :locals => { :include_meta => @include_meta }%> + <%= render partial: "impediment", collection: @impediments, locals: { include_meta: @include_meta } %> <%- end %>
    diff --git a/modules/backlogs/app/views/shared/_model_errors.html.erb b/modules/backlogs/app/views/shared/_model_errors.html.erb index f3322d7b6248..3fefa1c4bdbc 100644 --- a/modules/backlogs/app/views/shared/_model_errors.html.erb +++ b/modules/backlogs/app/views/shared/_model_errors.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/views/shared/_server_variables.js.erb b/modules/backlogs/app/views/shared/_server_variables.js.erb index e6a4d607140e..925a9896efe6 100644 --- a/modules/backlogs/app/views/shared/_server_variables.js.erb +++ b/modules/backlogs/app/views/shared/_server_variables.js.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,6 @@ if (window.RB === null || window.RB === undefined) { window.RB = {}; } - RB.constants = { project_id: <%= @project.id %>, sprint_id: <%= @sprint ? @sprint.id : "null" %> @@ -44,18 +43,18 @@ RB.i18n = { RB.urlFor = (function () { var routes = { - update_sprint: '<%= backlogs_project_sprint_path(:project_id => @project.identifier, :id => ":id") %>', + update_sprint: '<%= backlogs_project_sprint_path(project_id: @project.identifier, id: ":id") %>', - create_story: '<%= backlogs_project_sprint_stories_path(:project_id => @project.identifier, :sprint_id => ":sprint_id") %>', - update_story: '<%= backlogs_project_sprint_story_path(:project_id => @project.identifier, :sprint_id => ":sprint_id", :id => ":id") %>', + create_story: '<%= backlogs_project_sprint_stories_path(project_id: @project.identifier, sprint_id: ":sprint_id") %>', + update_story: '<%= backlogs_project_sprint_story_path(project_id: @project.identifier, sprint_id: ":sprint_id", id: ":id") %>', - create_task: '<%= backlogs_project_sprint_tasks_path(:project_id => @project.identifier, :sprint_id => ":sprint_id") %>', - update_task: '<%= backlogs_project_sprint_task_path(:project_id => @project.identifier, :sprint_id => ":sprint_id", :id => ":id") %>', + create_task: '<%= backlogs_project_sprint_tasks_path(project_id: @project.identifier, sprint_id: ":sprint_id") %>', + update_task: '<%= backlogs_project_sprint_task_path(project_id: @project.identifier, sprint_id: ":sprint_id", id: ":id") %>', - create_impediment: '<%= backlogs_project_sprint_impediments_path(:project_id => @project.identifier, :sprint_id => ":sprint_id") %>', - update_impediment: '<%= backlogs_project_sprint_impediment_path(:project_id => @project.identifier, :sprint_id => ":sprint_id", :id => ":id") %>', + create_impediment: '<%= backlogs_project_sprint_impediments_path(project_id: @project.identifier, sprint_id: ":sprint_id") %>', + update_impediment: '<%= backlogs_project_sprint_impediment_path(project_id: @project.identifier, sprint_id: ":sprint_id", id: ":id") %>', - show_burndown_chart: '<%= backlogs_project_sprint_burndown_chart_path(:project_id => @project.identifier, :sprint_id => ":sprint_id") %>' + show_burndown_chart: '<%= backlogs_project_sprint_burndown_chart_path(project_id: @project.identifier, sprint_id: ":sprint_id") %>' }; return function (routeName, options) { diff --git a/modules/backlogs/app/views/shared/_validation_errors.html.erb b/modules/backlogs/app/views/shared/_validation_errors.html.erb index a0cf7ac476e9..fcc074225833 100644 --- a/modules/backlogs/app/views/shared/_validation_errors.html.erb +++ b/modules/backlogs/app/views/shared/_validation_errors.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -33,4 +33,4 @@ See COPYRIGHT and LICENSE files for more details.
  • <%= msg %>
  • <%- end %> -<%= t(:error_outro ) %> +<%= t(:error_outro) %> diff --git a/modules/backlogs/app/views/shared/_view_my_settings.html.erb b/modules/backlogs/app/views/shared/_view_my_settings.html.erb index 33f4e68bc80e..4e023820b3b3 100644 --- a/modules/backlogs/app/views/shared/_view_my_settings.html.erb +++ b/modules/backlogs/app/views/shared/_view_my_settings.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -28,13 +28,13 @@ See COPYRIGHT and LICENSE files for more details. ++#%>
    - <%=t(:label_backlogs)%> + <%= t(:label_backlogs) %>
    <%= styled_label_tag :backlogs_task_color, t(:'backlogs.task_color') %> <%= styled_text_field_tag :'backlogs[task_color]', color, container_class: '-middle' %>
    <%= styled_label_tag :backlogs_versions_default_fold_state, I18n.t('backlogs.label_versions_default_fold_state') %> - <%= styled_check_box_tag :"backlogs[versions_default_fold_state]", "closed", versions_default_fold_state == "closed" %> + <%= styled_check_box_tag :'backlogs[versions_default_fold_state]', "closed", versions_default_fold_state == "closed" %>
    diff --git a/modules/backlogs/app/views/shared/not_configured.html.erb b/modules/backlogs/app/views/shared/not_configured.html.erb index 262c5fe47d6e..34786851ec09 100644 --- a/modules/backlogs/app/views/shared/not_configured.html.erb +++ b/modules/backlogs/app/views/shared/not_configured.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -29,8 +29,7 @@ See COPYRIGHT and LICENSE files for more details.
    <%= t(:label_backlogs_unconfigured, - administration: t(:label_administration), - plugins: t(:label_plugins), - configure: t(:button_configure)) - %> + administration: t(:label_administration), + plugins: t(:label_plugins), + configure: t(:button_configure)) %>
    diff --git a/modules/backlogs/app/views/version_settings/_form.html.erb b/modules/backlogs/app/views/version_settings/_form.html.erb index 47d7d7e3dc63..4eabc4fae665 100644 --- a/modules/backlogs/app/views/version_settings/_form.html.erb +++ b/modules/backlogs/app/views/version_settings/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/app/views/version_settings/edit.html.erb b/modules/backlogs/app/views/version_settings/edit.html.erb index d6ab3d98391d..f9828c12068c 100644 --- a/modules/backlogs/app/views/version_settings/edit.html.erb +++ b/modules/backlogs/app/views/version_settings/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -26,9 +26,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. See COPYRIGHT and LICENSE files for more details. ++#%> -<%= toolbar title: t(:label_version) %> + +<%= toolbar title: t(:label_version) %> <% html_title t(:label_version) %> -<% labelled_tabular_form_for :version, @version, :url => project_version_path(@project, @version), :html => {:method => :put} do |f| %> -<%= render :partial => 'form', :locals => { :f => f } %> +<% labelled_tabular_form_for :version, @version, url: project_version_path(@project, @version), html: { method: :put } do |f| %> +<%= render partial: 'form', locals: { f: } %> <%= styled_button_tag t(:button_save), class: '-highlight -with-icon icon-checkmark' %> <% end %> diff --git a/modules/backlogs/config/locales/crowdin/af.yml b/modules/backlogs/config/locales/crowdin/af.yml index 8a0b512cd9bb..6b23423d9ece 100644 --- a/modules/backlogs/config/locales/crowdin/af.yml +++ b/modules/backlogs/config/locales/crowdin/af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ af: attributes: work_package: position: "Posisie" - remaining_hours: "Remaining hours" - remaining_time: "Remaining hours" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ af: properties: "Properties" rebuild: "Herbou" rebuild_positions: "Rebuild positions" - remaining_hours: "Remaining hours" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -151,7 +147,7 @@ af: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/ar.yml b/modules/backlogs/config/locales/crowdin/ar.yml index 0926126f6702..d5d053e755d6 100644 --- a/modules/backlogs/config/locales/crowdin/ar.yml +++ b/modules/backlogs/config/locales/crowdin/ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ ar: attributes: work_package: position: "الموقع" - remaining_hours: "الساعات المتبقية" - remaining_time: "الساعات المتبقية" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "نقاط القصة" backlogs_work_package_type: "نوع الأعمال المتراكمة غير المنجزة" errors: @@ -68,8 +64,8 @@ ar: properties: "الخصائص" rebuild: "إعِدْ بناء" rebuild_positions: "أعِد بناء المواقع" - remaining_hours: "الساعات المتبقية" - remaining_hours_ideal: "الساعات المتبقية (المثالية)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "الرسم البياني للعمل المتبقي" story: "القصة" story_points: "نقاط القصة" @@ -151,7 +147,7 @@ ar: rb_label_copy_tasks_none: "لا شيء" rb_label_copy_tasks_open: "مفتوح" rb_label_link_to_original: "ضمّن الرابط للقصة الأصلية" - remaining_hours: "الساعات المتبقية" + remaining_hours: "remaining work" required_burn_rate_hours: "معدّل الاستهلاك المطلوب (الساعات)" required_burn_rate_points: "معدّل الاستهلاك المطلوب (النقاط)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/az.yml b/modules/backlogs/config/locales/crowdin/az.yml index b32653479215..0e51d88276cc 100644 --- a/modules/backlogs/config/locales/crowdin/az.yml +++ b/modules/backlogs/config/locales/crowdin/az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ az: attributes: work_package: position: "Vəzifə" - remaining_hours: "Qalan vaxt %d saat" - remaining_time: "Qalan vaxt %d saat" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ az: properties: "Properties" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Qalan vaxt %d saat" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -151,7 +147,7 @@ az: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/be.yml b/modules/backlogs/config/locales/crowdin/be.yml index 2c56f6b6a04e..d72717e9235f 100644 --- a/modules/backlogs/config/locales/crowdin/be.yml +++ b/modules/backlogs/config/locales/crowdin/be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ be: attributes: work_package: position: "Пазіцыя" - remaining_hours: "Засталося гадзін" - remaining_time: "Засталося гадзін" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Тып бэклогу" errors: @@ -68,8 +64,8 @@ be: properties: "Properties" rebuild: "Перабудаваць" rebuild_positions: "Rebuild positions" - remaining_hours: "Засталося гадзін" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Гісторыя" story_points: "Story Points" @@ -151,7 +147,7 @@ be: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/bg.yml b/modules/backlogs/config/locales/crowdin/bg.yml index 7ef0b827c8dc..f5cf6838c93d 100644 --- a/modules/backlogs/config/locales/crowdin/bg.yml +++ b/modules/backlogs/config/locales/crowdin/bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ bg: attributes: work_package: position: "Position" - remaining_hours: "Оставащи часове" - remaining_time: "Remaining hours" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Точки на история" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ bg: properties: "Свойства" rebuild: "Възстанови" rebuild_positions: "Възстановете позициите" - remaining_hours: "Оставащи часове" - remaining_hours_ideal: "Оставащи часове (идеално)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Графика на изгаряне" story: "История" story_points: "Точки на история" @@ -151,7 +147,7 @@ bg: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Включете връзка към оригиналната история" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/ca.yml b/modules/backlogs/config/locales/crowdin/ca.yml index efc122a07634..146d8bf381bc 100644 --- a/modules/backlogs/config/locales/crowdin/ca.yml +++ b/modules/backlogs/config/locales/crowdin/ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ ca: attributes: work_package: position: "Posició" - remaining_hours: "Hores restants" - remaining_time: "Hores restants" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Punts d'història" backlogs_work_package_type: "Tipus de backlog" errors: @@ -68,8 +64,8 @@ ca: properties: "Propietats" rebuild: "Reconstruir" rebuild_positions: "Reconstruir posicions" - remaining_hours: "Hores restants" - remaining_hours_ideal: "Hores restants (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Diagrama de progrés" story: "Història" story_points: "Punts d'història" @@ -151,7 +147,7 @@ ca: rb_label_copy_tasks_none: "Cap" rb_label_copy_tasks_open: "Obre" rb_label_link_to_original: "Incloure l'enllaç a la història original" - remaining_hours: "hores restants" + remaining_hours: "remaining work" required_burn_rate_hours: "ritme de progrés necessari (hores)" required_burn_rate_points: "ritme de progrés necessari (punts)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/ckb-IR.yml b/modules/backlogs/config/locales/crowdin/ckb-IR.yml index 86fba2e5839d..31e21364c5f7 100644 --- a/modules/backlogs/config/locales/crowdin/ckb-IR.yml +++ b/modules/backlogs/config/locales/crowdin/ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ ckb-IR: attributes: work_package: position: "پێگە" - remaining_hours: "کاتژمێری ماوە" - remaining_time: "کاتژمێری ماوە" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "جۆری Backlog" errors: @@ -68,8 +64,8 @@ ckb-IR: properties: "Properties" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "کاتژمێری ماوە" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -151,7 +147,7 @@ ckb-IR: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/cs.yml b/modules/backlogs/config/locales/crowdin/cs.yml index fa863922c577..d4693c0df4ff 100644 --- a/modules/backlogs/config/locales/crowdin/cs.yml +++ b/modules/backlogs/config/locales/crowdin/cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ cs: attributes: work_package: position: "Pozice" - remaining_hours: "Zbývající hodiny" - remaining_time: "Zbývající hodiny" - derived_remaining_hours: "Odvozené zbývající hodiny" - derived_remaining_time: "Odvozené zbývající hodiny" story_points: "Body příběhu" backlogs_work_package_type: "Typ nevyřízené položky" errors: @@ -68,8 +64,8 @@ cs: properties: "Vlastnosti" rebuild: "Znovu vytvořit" rebuild_positions: "Znovu sestavit pozice" - remaining_hours: "Zbývající hodiny" - remaining_hours_ideal: "Zbývající hodiny (ideální)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Spálovací graf" story: "Příběh" story_points: "Body příběhu" @@ -151,7 +147,7 @@ cs: rb_label_copy_tasks_none: "Žádný" rb_label_copy_tasks_open: "Otevřít" rb_label_link_to_original: "Zahrnout odkaz na původní příběh" - remaining_hours: "zbývající hodiny" + remaining_hours: "remaining work" required_burn_rate_hours: "požadovaná rychlost hoření (v hodinách)" required_burn_rate_points: "požadovaná rychlost hoření (body)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/da.yml b/modules/backlogs/config/locales/crowdin/da.yml index d0f095de0ecb..4a2958c48a6e 100644 --- a/modules/backlogs/config/locales/crowdin/da.yml +++ b/modules/backlogs/config/locales/crowdin/da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ da: attributes: work_package: position: "Position" - remaining_hours: "Resterende timer" - remaining_time: "Resterende timer" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Historiepunkter" backlogs_work_package_type: "Backlog-type" errors: @@ -68,8 +64,8 @@ da: properties: "Egenskaber" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Resterende timer" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Historiepunkter" @@ -151,7 +147,7 @@ da: rb_label_copy_tasks_none: "Ingen" rb_label_copy_tasks_open: "Åbn" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/de.yml b/modules/backlogs/config/locales/crowdin/de.yml index b659de6ed765..01ea42d5d6ab 100644 --- a/modules/backlogs/config/locales/crowdin/de.yml +++ b/modules/backlogs/config/locales/crowdin/de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ de: attributes: work_package: position: "Position" - remaining_hours: "Verbleibende Stunden" - remaining_time: "Verbleibende Stunden" - derived_remaining_hours: "Abgeleitete verbleibende Stunden" - derived_remaining_time: "Abgeleitete verbleibende Stunden" story_points: "Story-Punkte" backlogs_work_package_type: "Backlog Typ" errors: @@ -68,8 +64,8 @@ de: properties: "Eigenschaften" rebuild: "Neu berechnen" rebuild_positions: "Positionen neu berechnen" - remaining_hours: "Verbleibende Stunden" - remaining_hours_ideal: "Verbleibende Stunden (ideal)" + remaining_hours: "Verbleibender Aufwand" + remaining_hours_ideal: "Verbleibender Aufwand (ideal)" show_burndown_chart: "Burndown-Chart" story: "Story" story_points: "Story Punkte" @@ -151,7 +147,7 @@ de: rb_label_copy_tasks_none: "Keine" rb_label_copy_tasks_open: "Öffnen" rb_label_link_to_original: "Link zur Original-Story einfügen" - remaining_hours: "Verbleibende Stunden" + remaining_hours: "verbleibender Aufwand" required_burn_rate_hours: "benötigte Burn-Rate (Stunden)" required_burn_rate_points: "benötigte Burn-Rate (Punkte)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/el.yml b/modules/backlogs/config/locales/crowdin/el.yml index 7bec743e88ff..e91a839606e4 100644 --- a/modules/backlogs/config/locales/crowdin/el.yml +++ b/modules/backlogs/config/locales/crowdin/el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ el: attributes: work_package: position: "Θέση" - remaining_hours: "Υπολειπόμενες ώρες" - remaining_time: "Υπολειπόμενες ώρες" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Πόντοι Ιστορίας" backlogs_work_package_type: "Τύπος backlog" errors: @@ -68,8 +64,8 @@ el: properties: "Ιδιότητες" rebuild: "Ανοικοδόμηση" rebuild_positions: "Ανοικοδόμηση θέσεων" - remaining_hours: "Υπολειπόμενες ώρες" - remaining_hours_ideal: "Υπολειπόμενες ώρες (ιδανικά)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Διάγραμμα Burndown" story: "Ιστορία" story_points: "Πόντοι Ιστορίας" @@ -151,7 +147,7 @@ el: rb_label_copy_tasks_none: "Κανένα" rb_label_copy_tasks_open: "Ανοιχτό" rb_label_link_to_original: "Συμπερίληψη συνδέσμου για την αρχική ιστορία" - remaining_hours: "υπολειπόμενες ώρες" + remaining_hours: "remaining work" required_burn_rate_hours: "απαιτούμενο burn rate (ώρες)" required_burn_rate_points: "απαιτούμενο burn rate (πόντοι)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/eo.yml b/modules/backlogs/config/locales/crowdin/eo.yml index 7301d00da2dc..9a086513a94a 100644 --- a/modules/backlogs/config/locales/crowdin/eo.yml +++ b/modules/backlogs/config/locales/crowdin/eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ eo: attributes: work_package: position: "Posicio" - remaining_hours: "Restantaj horoj" - remaining_time: "Restantaj horoj" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Historiaj poentoj" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ eo: properties: "Properties" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Restantaj horoj" - remaining_hours_ideal: "Restantaj horoj (ideala)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Historio" story_points: "Historiaj poentoj" @@ -151,7 +147,7 @@ eo: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Malfermi" rb_label_link_to_original: "Include link to original story" - remaining_hours: "restantaj horoj" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/es.yml b/modules/backlogs/config/locales/crowdin/es.yml index 5c40d4d82b13..79629c5247ee 100644 --- a/modules/backlogs/config/locales/crowdin/es.yml +++ b/modules/backlogs/config/locales/crowdin/es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ es: attributes: work_package: position: "Posición" - remaining_hours: "Horas restantes" - remaining_time: "Horas restantes" - derived_remaining_hours: "Horas restantes derivadas" - derived_remaining_time: "Horas restantes derivadas" story_points: "Puntos de Historia" backlogs_work_package_type: "Tipo de Backlog" errors: @@ -68,8 +64,8 @@ es: properties: "Propiedades" rebuild: "Reconstruir" rebuild_positions: "Reconstruir posiciones" - remaining_hours: "Horas restantes" - remaining_hours_ideal: "Horas restantes (ideal)" + remaining_hours: "Trabajo restante" + remaining_hours_ideal: "Trabajo restante (ideal)" show_burndown_chart: "Diagrama de Quemado" story: "Historia" story_points: "Puntos de Historia" @@ -151,7 +147,7 @@ es: rb_label_copy_tasks_none: "Ninguno" rb_label_copy_tasks_open: "Abrir" rb_label_link_to_original: "Incluir enlace a la historia original" - remaining_hours: "horas restantes" + remaining_hours: "trabajo restante" required_burn_rate_hours: "tasa de gasto necesaria (horas)" required_burn_rate_points: "tasa de gasto necesaria (puntos)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/et.yml b/modules/backlogs/config/locales/crowdin/et.yml index d532b30008d0..7c65b87878ab 100644 --- a/modules/backlogs/config/locales/crowdin/et.yml +++ b/modules/backlogs/config/locales/crowdin/et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ et: attributes: work_package: position: "Asukoht" - remaining_hours: "Remaining hours" - remaining_time: "Remaining hours" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ et: properties: "Omadused" rebuild: "Taasta" rebuild_positions: "Rebuild positions" - remaining_hours: "Remaining hours" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -151,7 +147,7 @@ et: rb_label_copy_tasks_none: "Pole" rb_label_copy_tasks_open: "Avatud" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/eu.yml b/modules/backlogs/config/locales/crowdin/eu.yml index 1d8b80ab59be..cbc58bc75c60 100644 --- a/modules/backlogs/config/locales/crowdin/eu.yml +++ b/modules/backlogs/config/locales/crowdin/eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ eu: attributes: work_package: position: "Kokapena" - remaining_hours: "Geratzen diren orduak" - remaining_time: "Geratzen diren orduak" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ eu: properties: "Ezaugarriak" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Geratzen diren orduak" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -151,7 +147,7 @@ eu: rb_label_copy_tasks_none: "Bat ere ez" rb_label_copy_tasks_open: "Ireki" rb_label_link_to_original: "Include link to original story" - remaining_hours: "geratzen diren orduak" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/fa.yml b/modules/backlogs/config/locales/crowdin/fa.yml index 0f262b4d4c3c..6ec5a2c10920 100644 --- a/modules/backlogs/config/locales/crowdin/fa.yml +++ b/modules/backlogs/config/locales/crowdin/fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ fa: attributes: work_package: position: "Position" - remaining_hours: "Remaining hours" - remaining_time: "Remaining hours" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ fa: properties: "Properties" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Remaining hours" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -151,7 +147,7 @@ fa: rb_label_copy_tasks_none: "هیچ‌کدام" rb_label_copy_tasks_open: "باز" rb_label_link_to_original: "پیوند داخلی به داستان اصلی" - remaining_hours: "ساعات باقیمانده" + remaining_hours: "remaining work" required_burn_rate_hours: "میزان هزینه کرد لازم (ساعت)" required_burn_rate_points: "میزان هزینه کرد لازم (امتیاز)" todo_work_package_description: "%{summary}: %{url} %{description}" diff --git a/modules/backlogs/config/locales/crowdin/fi.yml b/modules/backlogs/config/locales/crowdin/fi.yml index 414b069ec56b..20d2417ddda0 100644 --- a/modules/backlogs/config/locales/crowdin/fi.yml +++ b/modules/backlogs/config/locales/crowdin/fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ fi: attributes: work_package: position: "Sijainti" - remaining_hours: "Jäljellä olevat tunnit" - remaining_time: "Jäljellä olevat tunnit" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Tarinapisteet" backlogs_work_package_type: "Työjonon tyyppi" errors: @@ -68,8 +64,8 @@ fi: properties: "Ominaisuudet" rebuild: "Luo uudelleen" rebuild_positions: "Luo paikat uudellee" - remaining_hours: "Jäljellä olevat tunnit" - remaining_hours_ideal: "Jäljellläolevat tunnit (ihanteellinen)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Edistymiskuvaaja" story: "Tarina" story_points: "Tarinapisteet" @@ -151,7 +147,7 @@ fi: rb_label_copy_tasks_none: "Ei mitään" rb_label_copy_tasks_open: "Avoin" rb_label_link_to_original: "Sisällytä linkki alkuperäiseen tarinaan" - remaining_hours: "jäljellä olevat tunnit" + remaining_hours: "remaining work" required_burn_rate_hours: "tarvittava eistymisnopeus (tuntia)" required_burn_rate_points: "tarvittava eistymisnopeus (pistettä)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/fil.yml b/modules/backlogs/config/locales/crowdin/fil.yml index 9c7fc9adbc6b..96848314009b 100644 --- a/modules/backlogs/config/locales/crowdin/fil.yml +++ b/modules/backlogs/config/locales/crowdin/fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ fil: attributes: work_package: position: "Posisyon" - remaining_hours: "Remaining hours" - remaining_time: "Remaining hours" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ fil: properties: "Mga property" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Remaining hours" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -151,7 +147,7 @@ fil: rb_label_copy_tasks_none: "Wala" rb_label_copy_tasks_open: "Bukas" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/fr.yml b/modules/backlogs/config/locales/crowdin/fr.yml index c46dc9d3dbf0..7cdf76fe1da5 100644 --- a/modules/backlogs/config/locales/crowdin/fr.yml +++ b/modules/backlogs/config/locales/crowdin/fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ fr: attributes: work_package: position: "Position" - remaining_hours: "Heures restantes" - remaining_time: "Heures restantes" - derived_remaining_hours: "Heures restantes dérivées" - derived_remaining_time: "Heures restantes dérivées" story_points: "Points d'histoire" backlogs_work_package_type: "Type de backlog" errors: @@ -68,8 +64,8 @@ fr: properties: "Propriétés" rebuild: "Reconstruire" rebuild_positions: "Reconstruire les positions" - remaining_hours: "Heures restantes" - remaining_hours_ideal: "Heures restantes (idéal)" + remaining_hours: "Travail restant" + remaining_hours_ideal: "Travail restant (idéal)" show_burndown_chart: "Graphique d'avancement" story: "Histoire" story_points: "Points d'histoire" @@ -151,7 +147,7 @@ fr: rb_label_copy_tasks_none: "Aucune" rb_label_copy_tasks_open: "Ouvertes" rb_label_link_to_original: "Inclure le lien vers l'histoire originale" - remaining_hours: "heures restantes" + remaining_hours: "travail restant" required_burn_rate_hours: "rythme nécessaire (heures)" required_burn_rate_points: "rythme nécessaire (points)" todo_work_package_description: "%{summary} : %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/he.yml b/modules/backlogs/config/locales/crowdin/he.yml index 4538fa22f3ec..81c9299da6bf 100644 --- a/modules/backlogs/config/locales/crowdin/he.yml +++ b/modules/backlogs/config/locales/crowdin/he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ he: attributes: work_package: position: "מיקום" - remaining_hours: "שעות שנותרו" - remaining_time: "שעות שנותרו" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ he: properties: "Properties" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "שעות שנותרו" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "סטורי" story_points: "Story Points" @@ -151,7 +147,7 @@ he: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "פתיחה" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/hi.yml b/modules/backlogs/config/locales/crowdin/hi.yml index 86745b4b95be..04b1d4ecdf99 100644 --- a/modules/backlogs/config/locales/crowdin/hi.yml +++ b/modules/backlogs/config/locales/crowdin/hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ hi: attributes: work_package: position: "स्थिति" - remaining_hours: "बाकी बचे घंटे" - remaining_time: "बाकी बचे घंटे" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "कहानी अंक" backlogs_work_package_type: "बैकलॉग प्रकार" errors: @@ -68,8 +64,8 @@ hi: properties: "गुण" rebuild: "फिर से बनाना" rebuild_positions: "पदों का पुनर्निर्माण करें" - remaining_hours: "बाकी बचे घंटे" - remaining_hours_ideal: "शेष घंटे (आदर्श)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "कार्य समय चार्ट" story: "कहानी" story_points: "कहानी अंक" @@ -151,7 +147,7 @@ hi: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/hr.yml b/modules/backlogs/config/locales/crowdin/hr.yml index b945ae251e78..d592daa74ed0 100644 --- a/modules/backlogs/config/locales/crowdin/hr.yml +++ b/modules/backlogs/config/locales/crowdin/hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ hr: attributes: work_package: position: "Pozicija" - remaining_hours: "Preostalo vrijeme" - remaining_time: "Preostalo vrijeme" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Točke priče" backlogs_work_package_type: "Backlog tip" errors: @@ -68,8 +64,8 @@ hr: properties: "Postavke" rebuild: "Obnovi" rebuild_positions: "Obnovi pozicije" - remaining_hours: "Preostalo vrijeme" - remaining_hours_ideal: "Preostali vrijeme (idealno)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown graf" story: "Scenarij" story_points: "Točke priče" @@ -151,7 +147,7 @@ hr: rb_label_copy_tasks_none: "Nijedan" rb_label_copy_tasks_open: "Otvoren" rb_label_link_to_original: "Uključi poveznicu u orginalni scenarij" - remaining_hours: "preostali sati" + remaining_hours: "remaining work" required_burn_rate_hours: "potrebni burn omjer (sati)" required_burn_rate_points: "potrebni burn omjer (točke)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/hu.yml b/modules/backlogs/config/locales/crowdin/hu.yml index d30590f928a4..813001e3e781 100644 --- a/modules/backlogs/config/locales/crowdin/hu.yml +++ b/modules/backlogs/config/locales/crowdin/hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ hu: attributes: work_package: position: "Pozició" - remaining_hours: "Fennmaradó órák" - remaining_time: "Fennmaradó órák" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story pontok" backlogs_work_package_type: "Backlog típus" errors: @@ -68,8 +64,8 @@ hu: properties: "Tulajdonságok" rebuild: "Újraépítés" rebuild_positions: "Pozíciók újraépítése" - remaining_hours: "Fennmaradó órák" - remaining_hours_ideal: "Fennmaradó órák (ideális)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Napi teendő ábra" story: "Sztori" story_points: "Story pontok" @@ -151,7 +147,7 @@ hu: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/id.yml b/modules/backlogs/config/locales/crowdin/id.yml index 0f20575104cb..50c8788aeeff 100644 --- a/modules/backlogs/config/locales/crowdin/id.yml +++ b/modules/backlogs/config/locales/crowdin/id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ id: attributes: work_package: position: "Posisi" - remaining_hours: "Jam yang tersisa" - remaining_time: "Jam yang tersisa" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Cerita poin" backlogs_work_package_type: "Jenis jaminan tersimpan" errors: @@ -68,8 +64,8 @@ id: properties: "Properti" rebuild: "Membangun kembali" rebuild_positions: "Membangun posisi kembali" - remaining_hours: "Jam yang tersisa" - remaining_hours_ideal: "Sisa jam (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown grafik" story: "Cerita" story_points: "Cerita point" @@ -151,7 +147,7 @@ id: rb_label_copy_tasks_none: "Tidak ada" rb_label_copy_tasks_open: "Buka" rb_label_link_to_original: "Sertakan link ke cerita asli" - remaining_hours: "jam yang tersisa" + remaining_hours: "remaining work" required_burn_rate_hours: "tingkat pembakaran yang dibutuhkan (jam)" required_burn_rate_points: "tingkat pembakaran yang dibutuhkan (poin)" todo_work_package_description: "%{total}: %{url}\n%{keterangan}" diff --git a/modules/backlogs/config/locales/crowdin/it.yml b/modules/backlogs/config/locales/crowdin/it.yml index 6416b5c1d9a3..89a08dea403d 100644 --- a/modules/backlogs/config/locales/crowdin/it.yml +++ b/modules/backlogs/config/locales/crowdin/it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ it: attributes: work_package: position: "Posizione" - remaining_hours: "Ore rimanenti" - remaining_time: "Ore rimanenti" - derived_remaining_hours: "Ore rimanenti derivate" - derived_remaining_time: "Ore rimanenti derivate" story_points: "Punti della storia" backlogs_work_package_type: "Tipo di backlog" errors: @@ -68,8 +64,8 @@ it: properties: "Proprietà" rebuild: "Ricostruisci" rebuild_positions: "Ricostruisce le posizioni" - remaining_hours: "Ore rimanenti" - remaining_hours_ideal: "Ore rimanenti (ideale)" + remaining_hours: "Lavoro residuo" + remaining_hours_ideal: "Lavoro residuo (ideale)" show_burndown_chart: "Grafico Burndown" story: "Storia" story_points: "Punti della storia" @@ -151,7 +147,7 @@ it: rb_label_copy_tasks_none: "Nessuno" rb_label_copy_tasks_open: "Aperti" rb_label_link_to_original: "Include il link alla storia originale" - remaining_hours: "ore rimanenti" + remaining_hours: "lavoro residuo" required_burn_rate_hours: "burn rate richiesto (ore)" required_burn_rate_points: "burn rate richiesto (punti)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/ja.yml b/modules/backlogs/config/locales/crowdin/ja.yml index 3fba6031d8f3..883a6d1a5abb 100644 --- a/modules/backlogs/config/locales/crowdin/ja.yml +++ b/modules/backlogs/config/locales/crowdin/ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ ja: attributes: work_package: position: "位置" - remaining_hours: "残り時間" - remaining_time: "残り時間" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "ストーリーポイント" backlogs_work_package_type: "バックログの種類" errors: @@ -68,8 +64,8 @@ ja: properties: "プロパティ" rebuild: "再構築" rebuild_positions: "位置情報を再構築" - remaining_hours: "残り時間" - remaining_hours_ideal: "残り時間 (理想)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "バーンダウングラフ" story: "ストーリー" story_points: "ストーリーポイント" @@ -151,7 +147,7 @@ ja: rb_label_copy_tasks_none: "なし" rb_label_copy_tasks_open: "開く" rb_label_link_to_original: "元のストーリーへのリンクを含める" - remaining_hours: "残り時間" + remaining_hours: "remaining work" required_burn_rate_hours: "必要なバーンレート(時間)" required_burn_rate_points: "必要なバーンレート(ポイント)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/js-af.yml b/modules/backlogs/config/locales/crowdin/js-af.yml index 4607f661163e..5e399859a777 100644 --- a/modules/backlogs/config/locales/crowdin/js-af.yml +++ b/modules/backlogs/config/locales/crowdin/js-af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ af: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Remaining hours" diff --git a/modules/backlogs/config/locales/crowdin/js-ar.yml b/modules/backlogs/config/locales/crowdin/js-ar.yml index 0e07d56a1f34..d20fe19777f7 100644 --- a/modules/backlogs/config/locales/crowdin/js-ar.yml +++ b/modules/backlogs/config/locales/crowdin/js-ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ ar: work_packages: properties: storyPoints: "نقاط القصة" - remainingTime: "الساعات المتبقية" diff --git a/modules/backlogs/config/locales/crowdin/js-az.yml b/modules/backlogs/config/locales/crowdin/js-az.yml index c453d080b2d4..394b099407d6 100644 --- a/modules/backlogs/config/locales/crowdin/js-az.yml +++ b/modules/backlogs/config/locales/crowdin/js-az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ az: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Qalan vaxt %d saat" diff --git a/modules/backlogs/config/locales/crowdin/js-be.yml b/modules/backlogs/config/locales/crowdin/js-be.yml index 8b45c84fcf20..2e3df8a45dd1 100644 --- a/modules/backlogs/config/locales/crowdin/js-be.yml +++ b/modules/backlogs/config/locales/crowdin/js-be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ be: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Засталося гадзін" diff --git a/modules/backlogs/config/locales/crowdin/js-bg.yml b/modules/backlogs/config/locales/crowdin/js-bg.yml index 87b90d2dae55..cabd6ed38f0b 100644 --- a/modules/backlogs/config/locales/crowdin/js-bg.yml +++ b/modules/backlogs/config/locales/crowdin/js-bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ bg: work_packages: properties: storyPoints: "Точки на история" - remainingTime: "Remaining hours" diff --git a/modules/backlogs/config/locales/crowdin/js-ca.yml b/modules/backlogs/config/locales/crowdin/js-ca.yml index bc6a3e22d464..ae0a47253c5d 100644 --- a/modules/backlogs/config/locales/crowdin/js-ca.yml +++ b/modules/backlogs/config/locales/crowdin/js-ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ ca: work_packages: properties: storyPoints: "Punts d'història" - remainingTime: "Hores restants" diff --git a/modules/backlogs/config/locales/crowdin/js-ckb-IR.yml b/modules/backlogs/config/locales/crowdin/js-ckb-IR.yml index 9f75e3dd6880..ffce969dcf65 100644 --- a/modules/backlogs/config/locales/crowdin/js-ckb-IR.yml +++ b/modules/backlogs/config/locales/crowdin/js-ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ ckb-IR: work_packages: properties: storyPoints: "Story Points" - remainingTime: "کاتژمێری ماوە" diff --git a/modules/backlogs/config/locales/crowdin/js-cs.yml b/modules/backlogs/config/locales/crowdin/js-cs.yml index 65a2fbc97a0f..a2cc3ae94085 100644 --- a/modules/backlogs/config/locales/crowdin/js-cs.yml +++ b/modules/backlogs/config/locales/crowdin/js-cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ cs: work_packages: properties: storyPoints: "Body příběhu" - remainingTime: "Zbývající hodiny" diff --git a/modules/backlogs/config/locales/crowdin/js-da.yml b/modules/backlogs/config/locales/crowdin/js-da.yml index 783adca5ba33..f2f62d7e6ea1 100644 --- a/modules/backlogs/config/locales/crowdin/js-da.yml +++ b/modules/backlogs/config/locales/crowdin/js-da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ da: work_packages: properties: storyPoints: "Historiepunkter" - remainingTime: "Resterende timer" diff --git a/modules/backlogs/config/locales/crowdin/js-de.yml b/modules/backlogs/config/locales/crowdin/js-de.yml index 9840eed3b85f..3a6ec41e323b 100644 --- a/modules/backlogs/config/locales/crowdin/js-de.yml +++ b/modules/backlogs/config/locales/crowdin/js-de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ de: work_packages: properties: storyPoints: "Story Punkte" - remainingTime: "Verbleibende Stunden" diff --git a/modules/backlogs/config/locales/crowdin/js-el.yml b/modules/backlogs/config/locales/crowdin/js-el.yml index dee8cda11b86..82070692570a 100644 --- a/modules/backlogs/config/locales/crowdin/js-el.yml +++ b/modules/backlogs/config/locales/crowdin/js-el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ el: work_packages: properties: storyPoints: "Πόντοι Ιστορίας" - remainingTime: "Υπολειπόμενες ώρες" diff --git a/modules/backlogs/config/locales/crowdin/js-eo.yml b/modules/backlogs/config/locales/crowdin/js-eo.yml index 6b7766c859bf..ebeb763b665f 100644 --- a/modules/backlogs/config/locales/crowdin/js-eo.yml +++ b/modules/backlogs/config/locales/crowdin/js-eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ eo: work_packages: properties: storyPoints: "Historiaj poentoj" - remainingTime: "Restantaj horoj" diff --git a/modules/backlogs/config/locales/crowdin/js-es.yml b/modules/backlogs/config/locales/crowdin/js-es.yml index d669604f1fc3..9336a6ff7690 100644 --- a/modules/backlogs/config/locales/crowdin/js-es.yml +++ b/modules/backlogs/config/locales/crowdin/js-es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ es: work_packages: properties: storyPoints: "Puntos de Historia" - remainingTime: "Horas restantes" diff --git a/modules/backlogs/config/locales/crowdin/js-et.yml b/modules/backlogs/config/locales/crowdin/js-et.yml index 4e0f86afd921..220de2b42c14 100644 --- a/modules/backlogs/config/locales/crowdin/js-et.yml +++ b/modules/backlogs/config/locales/crowdin/js-et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ et: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Remaining hours" diff --git a/modules/backlogs/config/locales/crowdin/js-eu.yml b/modules/backlogs/config/locales/crowdin/js-eu.yml index a637334ec984..fd6f7a3c3f9e 100644 --- a/modules/backlogs/config/locales/crowdin/js-eu.yml +++ b/modules/backlogs/config/locales/crowdin/js-eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ eu: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Geratzen diren orduak" diff --git a/modules/backlogs/config/locales/crowdin/js-fa.yml b/modules/backlogs/config/locales/crowdin/js-fa.yml index 89125d086b63..5759059ee5d6 100644 --- a/modules/backlogs/config/locales/crowdin/js-fa.yml +++ b/modules/backlogs/config/locales/crowdin/js-fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ fa: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Remaining hours" diff --git a/modules/backlogs/config/locales/crowdin/js-fi.yml b/modules/backlogs/config/locales/crowdin/js-fi.yml index eaaed968b6bc..1cbdebee45a9 100644 --- a/modules/backlogs/config/locales/crowdin/js-fi.yml +++ b/modules/backlogs/config/locales/crowdin/js-fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ fi: work_packages: properties: storyPoints: "Tarinapisteet" - remainingTime: "Jäljellä olevat tunnit" diff --git a/modules/backlogs/config/locales/crowdin/js-fil.yml b/modules/backlogs/config/locales/crowdin/js-fil.yml index 12a406645895..79fc11eb8656 100644 --- a/modules/backlogs/config/locales/crowdin/js-fil.yml +++ b/modules/backlogs/config/locales/crowdin/js-fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ fil: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Remaining hours" diff --git a/modules/backlogs/config/locales/crowdin/js-fr.yml b/modules/backlogs/config/locales/crowdin/js-fr.yml index 5124a1dd19da..d2764e07b8e5 100644 --- a/modules/backlogs/config/locales/crowdin/js-fr.yml +++ b/modules/backlogs/config/locales/crowdin/js-fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ fr: work_packages: properties: storyPoints: "Points d'histoire" - remainingTime: "Heures restantes" diff --git a/modules/backlogs/config/locales/crowdin/js-he.yml b/modules/backlogs/config/locales/crowdin/js-he.yml index 5d3a82c91e0b..8fc2d64fe82f 100644 --- a/modules/backlogs/config/locales/crowdin/js-he.yml +++ b/modules/backlogs/config/locales/crowdin/js-he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ he: work_packages: properties: storyPoints: "Story Points" - remainingTime: "שעות שנותרו" diff --git a/modules/backlogs/config/locales/crowdin/js-hi.yml b/modules/backlogs/config/locales/crowdin/js-hi.yml index 118815dd7bd3..1945a9c9f86c 100644 --- a/modules/backlogs/config/locales/crowdin/js-hi.yml +++ b/modules/backlogs/config/locales/crowdin/js-hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ hi: work_packages: properties: storyPoints: "कहानी अंक" - remainingTime: "बाकी बचे घंटे" diff --git a/modules/backlogs/config/locales/crowdin/js-hr.yml b/modules/backlogs/config/locales/crowdin/js-hr.yml index d44ebe6c7da6..6026f74a8075 100644 --- a/modules/backlogs/config/locales/crowdin/js-hr.yml +++ b/modules/backlogs/config/locales/crowdin/js-hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ hr: work_packages: properties: storyPoints: "Točke priče" - remainingTime: "Preostalo vrijeme" diff --git a/modules/backlogs/config/locales/crowdin/js-hu.yml b/modules/backlogs/config/locales/crowdin/js-hu.yml index 40a680d3be40..e6ffd442d3c7 100644 --- a/modules/backlogs/config/locales/crowdin/js-hu.yml +++ b/modules/backlogs/config/locales/crowdin/js-hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ hu: work_packages: properties: storyPoints: "Story pontok" - remainingTime: "Fennmaradó órák" diff --git a/modules/backlogs/config/locales/crowdin/js-id.yml b/modules/backlogs/config/locales/crowdin/js-id.yml index 81ed1ccb927b..6f516a03676b 100644 --- a/modules/backlogs/config/locales/crowdin/js-id.yml +++ b/modules/backlogs/config/locales/crowdin/js-id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ id: work_packages: properties: storyPoints: "Cerita poin" - remainingTime: "Jam yang tersisa" diff --git a/modules/backlogs/config/locales/crowdin/js-it.yml b/modules/backlogs/config/locales/crowdin/js-it.yml index 98792ce29bed..356090368e95 100644 --- a/modules/backlogs/config/locales/crowdin/js-it.yml +++ b/modules/backlogs/config/locales/crowdin/js-it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ it: work_packages: properties: storyPoints: "Punti della storia" - remainingTime: "Ore rimanenti" diff --git a/modules/backlogs/config/locales/crowdin/js-ja.yml b/modules/backlogs/config/locales/crowdin/js-ja.yml index 12afa3e4303f..c5f42f65f112 100644 --- a/modules/backlogs/config/locales/crowdin/js-ja.yml +++ b/modules/backlogs/config/locales/crowdin/js-ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ ja: work_packages: properties: storyPoints: "ストーリーポイント" - remainingTime: "残り時間" diff --git a/modules/backlogs/config/locales/crowdin/js-ka.yml b/modules/backlogs/config/locales/crowdin/js-ka.yml index e2a3bcd451e3..7579d2e74f12 100644 --- a/modules/backlogs/config/locales/crowdin/js-ka.yml +++ b/modules/backlogs/config/locales/crowdin/js-ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ ka: work_packages: properties: storyPoints: "ისტორიული წერტილები" - remainingTime: "დარჩენილია საათები" diff --git a/modules/backlogs/config/locales/crowdin/js-ko.yml b/modules/backlogs/config/locales/crowdin/js-ko.yml index a905449982b1..cad8cb83dbd5 100644 --- a/modules/backlogs/config/locales/crowdin/js-ko.yml +++ b/modules/backlogs/config/locales/crowdin/js-ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ ko: work_packages: properties: storyPoints: "스토리 포인트" - remainingTime: "남은 시간" diff --git a/modules/backlogs/config/locales/crowdin/js-lt.yml b/modules/backlogs/config/locales/crowdin/js-lt.yml index 0640adc4f9cf..65b39d531ce8 100644 --- a/modules/backlogs/config/locales/crowdin/js-lt.yml +++ b/modules/backlogs/config/locales/crowdin/js-lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ lt: work_packages: properties: storyPoints: "Istorijos taškai" - remainingTime: "Liko valandų" diff --git a/modules/backlogs/config/locales/crowdin/js-lv.yml b/modules/backlogs/config/locales/crowdin/js-lv.yml index cd652c5cca17..46e4c26f89fd 100644 --- a/modules/backlogs/config/locales/crowdin/js-lv.yml +++ b/modules/backlogs/config/locales/crowdin/js-lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ lv: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Remaining hours" diff --git a/modules/backlogs/config/locales/crowdin/js-mn.yml b/modules/backlogs/config/locales/crowdin/js-mn.yml index 64bc3bfa574f..9e9b577fc9fd 100644 --- a/modules/backlogs/config/locales/crowdin/js-mn.yml +++ b/modules/backlogs/config/locales/crowdin/js-mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ mn: work_packages: properties: storyPoints: "Гүйцэтгэлийн оноо" - remainingTime: "Хүлээгдэж буй хугацаа" diff --git a/modules/backlogs/config/locales/crowdin/js-ne.yml b/modules/backlogs/config/locales/crowdin/js-ne.yml index 7f6dbdee3339..a060e0c98f3e 100644 --- a/modules/backlogs/config/locales/crowdin/js-ne.yml +++ b/modules/backlogs/config/locales/crowdin/js-ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ ne: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Remaining hours" diff --git a/modules/backlogs/config/locales/crowdin/js-nl.yml b/modules/backlogs/config/locales/crowdin/js-nl.yml index bf372a374264..0314b99e1b81 100644 --- a/modules/backlogs/config/locales/crowdin/js-nl.yml +++ b/modules/backlogs/config/locales/crowdin/js-nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ nl: work_packages: properties: storyPoints: "Verhaal punten" - remainingTime: "Resterende uren" diff --git a/modules/backlogs/config/locales/crowdin/js-no.yml b/modules/backlogs/config/locales/crowdin/js-no.yml index 13689c495eea..a87c6becae3c 100644 --- a/modules/backlogs/config/locales/crowdin/js-no.yml +++ b/modules/backlogs/config/locales/crowdin/js-no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ work_packages: properties: storyPoints: "Historiepoeng" - remainingTime: "Gjenstående timer" diff --git a/modules/backlogs/config/locales/crowdin/js-pl.yml b/modules/backlogs/config/locales/crowdin/js-pl.yml index 105b476ab3f3..4c5c08df1e43 100644 --- a/modules/backlogs/config/locales/crowdin/js-pl.yml +++ b/modules/backlogs/config/locales/crowdin/js-pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ pl: work_packages: properties: storyPoints: "Historia Punktów" - remainingTime: "Pozostałe godziny" diff --git a/modules/backlogs/config/locales/crowdin/js-pt.yml b/modules/backlogs/config/locales/crowdin/js-pt.yml index 36ac318386da..003815df6623 100644 --- a/modules/backlogs/config/locales/crowdin/js-pt.yml +++ b/modules/backlogs/config/locales/crowdin/js-pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ pt: work_packages: properties: storyPoints: "Pontos de História" - remainingTime: "Horas restantes" diff --git a/modules/backlogs/config/locales/crowdin/js-ro.yml b/modules/backlogs/config/locales/crowdin/js-ro.yml index c541ee45b285..bd379de46804 100644 --- a/modules/backlogs/config/locales/crowdin/js-ro.yml +++ b/modules/backlogs/config/locales/crowdin/js-ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ ro: work_packages: properties: storyPoints: "Puncte" - remainingTime: "Ore" diff --git a/modules/backlogs/config/locales/crowdin/js-ru.yml b/modules/backlogs/config/locales/crowdin/js-ru.yml index e34a01ae4965..caa1185bf368 100644 --- a/modules/backlogs/config/locales/crowdin/js-ru.yml +++ b/modules/backlogs/config/locales/crowdin/js-ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ ru: work_packages: properties: storyPoints: "Исторические точки" - remainingTime: "Оставшиеся часы" diff --git a/modules/backlogs/config/locales/crowdin/js-rw.yml b/modules/backlogs/config/locales/crowdin/js-rw.yml index 2f8ad801f096..861fefb938bb 100644 --- a/modules/backlogs/config/locales/crowdin/js-rw.yml +++ b/modules/backlogs/config/locales/crowdin/js-rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ rw: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Remaining hours" diff --git a/modules/backlogs/config/locales/crowdin/js-si.yml b/modules/backlogs/config/locales/crowdin/js-si.yml index 51cbb4980d2a..62ead7bc6e7d 100644 --- a/modules/backlogs/config/locales/crowdin/js-si.yml +++ b/modules/backlogs/config/locales/crowdin/js-si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ si: work_packages: properties: storyPoints: "කතන්දර කරුණු" - remainingTime: "ඉතිරි පැය" diff --git a/modules/backlogs/config/locales/crowdin/js-sk.yml b/modules/backlogs/config/locales/crowdin/js-sk.yml index f3a8eed94646..a058e12bbdee 100644 --- a/modules/backlogs/config/locales/crowdin/js-sk.yml +++ b/modules/backlogs/config/locales/crowdin/js-sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ sk: work_packages: properties: storyPoints: "História bodov" - remainingTime: "Zvyšné hodiny" diff --git a/modules/backlogs/config/locales/crowdin/js-sl.yml b/modules/backlogs/config/locales/crowdin/js-sl.yml index 81968c98389d..33ac1400dade 100644 --- a/modules/backlogs/config/locales/crowdin/js-sl.yml +++ b/modules/backlogs/config/locales/crowdin/js-sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ sl: work_packages: properties: storyPoints: "Točke v zgodbi" - remainingTime: "Preostale ure" diff --git a/modules/backlogs/config/locales/crowdin/js-sr.yml b/modules/backlogs/config/locales/crowdin/js-sr.yml index 5c8758342da5..75edaf647e24 100644 --- a/modules/backlogs/config/locales/crowdin/js-sr.yml +++ b/modules/backlogs/config/locales/crowdin/js-sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ sr: work_packages: properties: storyPoints: "Poeni Priče" - remainingTime: "Preostalo časova" diff --git a/modules/backlogs/config/locales/crowdin/js-sv.yml b/modules/backlogs/config/locales/crowdin/js-sv.yml index d44cb540a09b..42e47e8e3efd 100644 --- a/modules/backlogs/config/locales/crowdin/js-sv.yml +++ b/modules/backlogs/config/locales/crowdin/js-sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ sv: work_packages: properties: storyPoints: "Berättelsepoäng" - remainingTime: "Återstående timmar" diff --git a/modules/backlogs/config/locales/crowdin/js-th.yml b/modules/backlogs/config/locales/crowdin/js-th.yml index 95bea7bf94ec..eb4ae7f5d7a9 100644 --- a/modules/backlogs/config/locales/crowdin/js-th.yml +++ b/modules/backlogs/config/locales/crowdin/js-th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ th: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Remaining hours" diff --git a/modules/backlogs/config/locales/crowdin/js-tr.yml b/modules/backlogs/config/locales/crowdin/js-tr.yml index 27981d3faf6e..a5061d248d3d 100644 --- a/modules/backlogs/config/locales/crowdin/js-tr.yml +++ b/modules/backlogs/config/locales/crowdin/js-tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ tr: work_packages: properties: storyPoints: "Hikaye Puanları" - remainingTime: "Kalan saat" diff --git a/modules/backlogs/config/locales/crowdin/js-uk.yml b/modules/backlogs/config/locales/crowdin/js-uk.yml index 114195b0ab79..5f62ace7e428 100644 --- a/modules/backlogs/config/locales/crowdin/js-uk.yml +++ b/modules/backlogs/config/locales/crowdin/js-uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ uk: work_packages: properties: storyPoints: "Точки історії" - remainingTime: "Залишилися години" diff --git a/modules/backlogs/config/locales/crowdin/js-vi.yml b/modules/backlogs/config/locales/crowdin/js-vi.yml index 403ea0c0e2a4..257956876577 100644 --- a/modules/backlogs/config/locales/crowdin/js-vi.yml +++ b/modules/backlogs/config/locales/crowdin/js-vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ vi: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Số giờ còn lại" diff --git a/modules/backlogs/config/locales/crowdin/js-zh-CN.yml b/modules/backlogs/config/locales/crowdin/js-zh-CN.yml index fad1faa17ad0..40d2db823d43 100644 --- a/modules/backlogs/config/locales/crowdin/js-zh-CN.yml +++ b/modules/backlogs/config/locales/crowdin/js-zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ zh-CN: work_packages: properties: storyPoints: "故事点" - remainingTime: "剩余工时" diff --git a/modules/backlogs/config/locales/crowdin/js-zh-TW.yml b/modules/backlogs/config/locales/crowdin/js-zh-TW.yml index 8849176fbbb9..e4aad239a0fd 100644 --- a/modules/backlogs/config/locales/crowdin/js-zh-TW.yml +++ b/modules/backlogs/config/locales/crowdin/js-zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,3 @@ zh-TW: work_packages: properties: storyPoints: "需求重要性" - remainingTime: "剩餘時數" diff --git a/modules/backlogs/config/locales/crowdin/ka.yml b/modules/backlogs/config/locales/crowdin/ka.yml index 101505301a1d..09ba84107457 100644 --- a/modules/backlogs/config/locales/crowdin/ka.yml +++ b/modules/backlogs/config/locales/crowdin/ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,12 +27,8 @@ ka: attributes: work_package: position: "მდებარეობა" - remaining_hours: "დარჩენილია საათი" - remaining_time: "დარჩენილია საათი" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "ისტორიული წერტილები" - backlogs_work_package_type: "Backlog type" + backlogs_work_package_type: "ჩამორჩენის ტიპი" errors: models: work_package: @@ -48,7 +44,7 @@ ka: add_new_story: "ახალი ისტორია" any: "ნებისმიერი" backlog_settings: "Backlogs settings" - burndown_graph: "Burndown Graph" + burndown_graph: "გამოწვის გრაფიკი" card_paper_size: "Paper size for card printing" chart_options: "გრაფიკის მორგება" close: "დახურვა" @@ -68,9 +64,9 @@ ka: properties: "თვისებები" rebuild: "თავიდან აგება" rebuild_positions: "Rebuild positions" - remaining_hours: "დარჩენილია საათები" - remaining_hours_ideal: "Remaining hours (ideal)" - show_burndown_chart: "Burndown Chart" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" + show_burndown_chart: "გამოწვის გრაფიკი" story: "ამბავი" story_points: "ისტორიული წერტილები" story_points_ideal: "Story Points (ideal)" @@ -117,14 +113,14 @@ ka: label_column_in_backlog: "Column in backlog" label_hours: "საათი" label_work_package_hierarchy: "Work package Hierarchy" - label_master_backlog: "Master Backlog" + label_master_backlog: "ძირითადი ჩამორჩენა" label_not_prioritized: "not prioritized" label_points: "წერტილი" label_points_burn_down: "ქვემოთ" label_points_burn_up: "ზემოთ" label_product_backlog: "product backlog" label_select_all: "ყველას მონიშვნა" - label_sprint_backlog: "sprint backlog" + label_sprint_backlog: "სპრინტის ჩამორჩენა" label_sprint_cards: "ბარათების გატანა" label_sprint_impediments: "Sprint Impediments" label_sprint_name: "Sprint \"%{name}\"" @@ -134,12 +130,12 @@ ka: label_task_board: "ამოცანების დაფა" label_version_setting: "ვერსიები" label_version: 'ვერსია' - label_webcal: "Webcal Feed" + label_webcal: "Webcal ლენტა" label_wiki: "ვიკი" permission_view_master_backlog: "View master backlog" permission_view_taskboards: "View taskboards" permission_select_done_statuses: "აირჩიეთ დასრულების სტატუსები" - permission_update_sprints: "Update sprints" + permission_update_sprints: "სპრინტების განახლება" points_accepted: "points accepted" points_committed: "points committed" points_resolved: "points resolved" @@ -151,7 +147,7 @@ ka: rb_label_copy_tasks_none: "არაფერი" rb_label_copy_tasks_open: "გახსნა" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/ko.yml b/modules/backlogs/config/locales/crowdin/ko.yml index e63005ba5527..6a11c952f29c 100644 --- a/modules/backlogs/config/locales/crowdin/ko.yml +++ b/modules/backlogs/config/locales/crowdin/ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ ko: attributes: work_package: position: "위치" - remaining_hours: "남은 시간" - remaining_time: "남은 시간" - derived_remaining_hours: "파생된 남은 시간" - derived_remaining_time: "파생된 남은 시간" story_points: "스토리 포인트" backlogs_work_package_type: "백로그 유형" errors: @@ -68,8 +64,8 @@ ko: properties: "속성" rebuild: "다시 빌드" rebuild_positions: "위치 다시 빌드" - remaining_hours: "남은 시간" - remaining_hours_ideal: "남은 시간(적합함)" + remaining_hours: "남은 작업" + remaining_hours_ideal: "남은 작업(적합함)" show_burndown_chart: "번다운 차트" story: "스토리" story_points: "스토리 포인트" @@ -151,7 +147,7 @@ ko: rb_label_copy_tasks_none: "없음" rb_label_copy_tasks_open: "열기" rb_label_link_to_original: "원래 스토리의 링크 포함" - remaining_hours: "남은 시간" + remaining_hours: "남은 작업" required_burn_rate_hours: "필요한 진행 속도(시간)" required_burn_rate_points: "필요한 진행 속도(포인트)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/lt.yml b/modules/backlogs/config/locales/crowdin/lt.yml index 8e45bb4bdc6b..99db1c10eece 100644 --- a/modules/backlogs/config/locales/crowdin/lt.yml +++ b/modules/backlogs/config/locales/crowdin/lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ lt: attributes: work_package: position: "Vieta" - remaining_hours: "Liko valandų" - remaining_time: "Liko valandų" - derived_remaining_hours: "Išvestos likusios valandos" - derived_remaining_time: "Išvestos likusios valandos" story_points: "Istorijos taškai" backlogs_work_package_type: "Darbų sąrašo tipas" errors: @@ -68,8 +64,8 @@ lt: properties: "Ypatybės" rebuild: "Perkurti" rebuild_positions: "Perkurti pozicijas" - remaining_hours: "Liko valandų" - remaining_hours_ideal: "Liko valandų (idealiai)" + remaining_hours: "Liko darbo" + remaining_hours_ideal: "Liko darbo (idealiai)" show_burndown_chart: "Perdegimo lentelė" story: "Istorija" story_points: "Istorijos taškai" @@ -151,7 +147,7 @@ lt: rb_label_copy_tasks_none: "Joks" rb_label_copy_tasks_open: "Atidaryti" rb_label_link_to_original: "Įtraukti nuorodą į originalią istoriją" - remaining_hours: "likusios valandos" + remaining_hours: "liko darbo" required_burn_rate_hours: "reikalingas degimo tempas (valandos)" required_burn_rate_points: "reikalingas degimo tempas (taškai)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/lv.yml b/modules/backlogs/config/locales/crowdin/lv.yml index 6b795a0204ce..2c381d09fee6 100644 --- a/modules/backlogs/config/locales/crowdin/lv.yml +++ b/modules/backlogs/config/locales/crowdin/lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ lv: attributes: work_package: position: "Position" - remaining_hours: "Remaining hours" - remaining_time: "Remaining hours" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ lv: properties: "Properties" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Remaining hours" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -151,7 +147,7 @@ lv: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/mn.yml b/modules/backlogs/config/locales/crowdin/mn.yml index e52cc5a9d689..db5fd278ebbd 100644 --- a/modules/backlogs/config/locales/crowdin/mn.yml +++ b/modules/backlogs/config/locales/crowdin/mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ mn: attributes: work_package: position: "албан тушаал" - remaining_hours: "хүлээгдэж буй хугацаа" - remaining_time: "Хүлээгдэж буй хугацаа" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Гүйцэтгэлийн оноо" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ mn: properties: "Properties" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Хүлээгдэж буй хугацаа" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Гүйцэтгэлийн оноо" @@ -151,7 +147,7 @@ mn: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/ne.yml b/modules/backlogs/config/locales/crowdin/ne.yml index 99fde67e9d97..a183d667d303 100644 --- a/modules/backlogs/config/locales/crowdin/ne.yml +++ b/modules/backlogs/config/locales/crowdin/ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ ne: attributes: work_package: position: "स्थान" - remaining_hours: "Remaining hours" - remaining_time: "Remaining hours" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ ne: properties: "Properties" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Remaining hours" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -151,7 +147,7 @@ ne: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/nl.yml b/modules/backlogs/config/locales/crowdin/nl.yml index ded2c08a968f..95b3ad6788fa 100644 --- a/modules/backlogs/config/locales/crowdin/nl.yml +++ b/modules/backlogs/config/locales/crowdin/nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ nl: attributes: work_package: position: "Positie" - remaining_hours: "Resterende uren" - remaining_time: "Resterende uren" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Verhaal punten" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ nl: properties: "Eigenschappen" rebuild: "Opnieuw opbouwen" rebuild_positions: "Posities van opnieuw opbouwen" - remaining_hours: "Resterende uren" - remaining_hours_ideal: "Resterende uren (ideaal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Verbrandingstabel" story: "Verhaal" story_points: "Verhaal punten" @@ -151,7 +147,7 @@ nl: rb_label_copy_tasks_none: "Geen" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Link toevoegen aan het originele verhaal" - remaining_hours: "resterende uren" + remaining_hours: "remaining work" required_burn_rate_hours: "vereiste burn rate (uren)" required_burn_rate_points: "vereiste burn rate (punten)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/no.yml b/modules/backlogs/config/locales/crowdin/no.yml index 47fdae6ebbc7..e6177abf2ead 100644 --- a/modules/backlogs/config/locales/crowdin/no.yml +++ b/modules/backlogs/config/locales/crowdin/no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ attributes: work_package: position: "Plassering" - remaining_hours: "Gjenstående timer" - remaining_time: "Gjenstående timer" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Historiepoeng" backlogs_work_package_type: "Backlog-type" errors: @@ -68,8 +64,8 @@ properties: "Egenskaper" rebuild: "Gjenoppbygg" rebuild_positions: "Gjenoppbygg posisjoner" - remaining_hours: "Gjenstående timer" - remaining_hours_ideal: "Gjenstående timer (ideell)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown-graf" story: "Historie" story_points: "Historiepoeng" @@ -151,7 +147,7 @@ rb_label_copy_tasks_none: "Ingen" rb_label_copy_tasks_open: "Åpne" rb_label_link_to_original: "Inkluder lenke til den originale historien" - remaining_hours: "Gjenstående timer" + remaining_hours: "remaining work" required_burn_rate_hours: "Nødvendig brennetid (timer)" required_burn_rate_points: "Nødvendig brennetid (poeng)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/pl.yml b/modules/backlogs/config/locales/crowdin/pl.yml index f4f863a7658a..f470f09fb07e 100644 --- a/modules/backlogs/config/locales/crowdin/pl.yml +++ b/modules/backlogs/config/locales/crowdin/pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ pl: attributes: work_package: position: "Pozycja" - remaining_hours: "Pozostałe godziny" - remaining_time: "Pozostałe godziny" - derived_remaining_hours: "Wyprowadzone pozostałe godziny" - derived_remaining_time: "Wyprowadzone pozostałe godziny" story_points: "Historia Punktów" backlogs_work_package_type: "Typ backlogu" errors: @@ -68,8 +64,8 @@ pl: properties: "Właściwości" rebuild: "Przebuduj" rebuild_positions: "Przebuduj pozycje" - remaining_hours: "Pozostałe godziny" - remaining_hours_ideal: "Czas pozostały (idealny)" + remaining_hours: "Pozostała praca" + remaining_hours_ideal: "Pozostałe prace (idealnie)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Historia Punktów" @@ -151,7 +147,7 @@ pl: rb_label_copy_tasks_none: "Żaden" rb_label_copy_tasks_open: "Otwórz" rb_label_link_to_original: "Podepnij łącze do oryginalnego wątku" - remaining_hours: "pozostałe godziny" + remaining_hours: "pozostała praca" required_burn_rate_hours: "wskaźnik wymaganego czasu nagrywania (godziny)" required_burn_rate_points: "wskaźnik wymaganego czasu nagrywania (punkty)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/pt.yml b/modules/backlogs/config/locales/crowdin/pt.yml index eb80c3d66b83..b8c6e3776b33 100644 --- a/modules/backlogs/config/locales/crowdin/pt.yml +++ b/modules/backlogs/config/locales/crowdin/pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ pt: attributes: work_package: position: "Posição" - remaining_hours: "Horas restantes" - remaining_time: "Horas restantes" - derived_remaining_hours: "Horas restantes derivadas" - derived_remaining_time: "Horas restantes derivadas" story_points: "Pontos de história" backlogs_work_package_type: "Tipo de backlog" errors: @@ -68,8 +64,8 @@ pt: properties: "Propriedades" rebuild: "Reconstruir" rebuild_positions: "Reconstruir posições" - remaining_hours: "Horas restantes" - remaining_hours_ideal: "Horas restantes (ideal)" + remaining_hours: "Trabalho restante" + remaining_hours_ideal: "Trabalho restante (ideal)" show_burndown_chart: "Gráfico de Burndown" story: "História" story_points: "Pontos de História" @@ -151,7 +147,7 @@ pt: rb_label_copy_tasks_none: "Nenhum" rb_label_copy_tasks_open: "Aberto" rb_label_link_to_original: "Incluir link para a história original" - remaining_hours: "horas restantes" + remaining_hours: "trabalho restante" required_burn_rate_hours: "burn rate necessário (horas)" required_burn_rate_points: "burn rate necessário (pontos)" todo_work_package_description: "%{summary}: %{url}%{description}" diff --git a/modules/backlogs/config/locales/crowdin/ro.yml b/modules/backlogs/config/locales/crowdin/ro.yml index 5a8464931ae7..7a0f4c5d82e8 100644 --- a/modules/backlogs/config/locales/crowdin/ro.yml +++ b/modules/backlogs/config/locales/crowdin/ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ ro: attributes: work_package: position: "Poziţie" - remaining_hours: "Ore" - remaining_time: "Ore" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Puncte" backlogs_work_package_type: "Activare tip %{type}" errors: @@ -68,8 +64,8 @@ ro: properties: "Proprietăţi" rebuild: "Reconstruiți" rebuild_positions: "Reconstruiți" - remaining_hours: "Ore" - remaining_hours_ideal: "Spațiu pe disc rămas" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Size Chart" story: "Articol" story_points: "Puncte" @@ -151,7 +147,7 @@ ro: rb_label_copy_tasks_none: "Nimic" rb_label_copy_tasks_open: "Deschis" rb_label_link_to_original: "Includeți un link către povestea originală" - remaining_hours: "Ore rămase" + remaining_hours: "remaining work" required_burn_rate_hours: "rata de ardere necesară (ore)" required_burn_rate_points: "rata de ardere necesară (puncte)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/ru.yml b/modules/backlogs/config/locales/crowdin/ru.yml index a186f3bafee9..f91a6b950a71 100644 --- a/modules/backlogs/config/locales/crowdin/ru.yml +++ b/modules/backlogs/config/locales/crowdin/ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ ru: attributes: work_package: position: "Позиция" - remaining_hours: "Оставшиеся часы" - remaining_time: "Оставшиеся часы" - derived_remaining_hours: "Запланированное время" - derived_remaining_time: "Запланированное время" story_points: "Исторические точки" backlogs_work_package_type: "Тип невыполненной работы" errors: @@ -68,8 +64,8 @@ ru: properties: "Свойства" rebuild: "Восстановить" rebuild_positions: "Восстановить позиции" - remaining_hours: "Оставшиеся часы" - remaining_hours_ideal: "Оставшиеся часы (идеал)" + remaining_hours: "Остальная работа" + remaining_hours_ideal: "Остальная работа (идеальная)" show_burndown_chart: "Диаграмма выгорания задач" story: "История" story_points: "Исторические точки" @@ -151,7 +147,7 @@ ru: rb_label_copy_tasks_none: "Нет" rb_label_copy_tasks_open: "Открыть" rb_label_link_to_original: "Включить ссылку на первоначальную историю" - remaining_hours: "оставшиеся часы" + remaining_hours: "остальная работа" required_burn_rate_hours: "требуемая скорость сгорания (часы)" required_burn_rate_points: "требуемая скорость сгорания (точки)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/rw.yml b/modules/backlogs/config/locales/crowdin/rw.yml index 0f56a3fba995..950efc375bcd 100644 --- a/modules/backlogs/config/locales/crowdin/rw.yml +++ b/modules/backlogs/config/locales/crowdin/rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ rw: attributes: work_package: position: "Position" - remaining_hours: "Remaining hours" - remaining_time: "Remaining hours" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ rw: properties: "Properties" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Remaining hours" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -151,7 +147,7 @@ rw: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/si.yml b/modules/backlogs/config/locales/crowdin/si.yml index e05789c534c4..d2a5f9dee2e8 100644 --- a/modules/backlogs/config/locales/crowdin/si.yml +++ b/modules/backlogs/config/locales/crowdin/si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ si: attributes: work_package: position: "තත්ත්වය" - remaining_hours: "ඉතිරි පැය" - remaining_time: "ඉතිරි පැය" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "කතන්දර කරුණු" backlogs_work_package_type: "බැක්ලොග් වර්ගය" errors: @@ -68,8 +64,8 @@ si: properties: "ගුණාංග" rebuild: "නැවත" rebuild_positions: "තනතුරු නැවත" - remaining_hours: "ඉතිරි පැය" - remaining_hours_ideal: "ඉතිරි පැය (කදිම)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "බර්න්ඩවුන් සටහන" story: "කතාව" story_points: "කතන්දර කරුණු" @@ -151,7 +147,7 @@ si: rb_label_copy_tasks_none: "කිසිවක් නැත" rb_label_copy_tasks_open: "විවෘත" rb_label_link_to_original: "මුල් කතාවට සබැඳිය ඇතුළත් කරන්න" - remaining_hours: "ඉතිරි පැය" + remaining_hours: "remaining work" required_burn_rate_hours: "අවශ්ය පිළිස්සීම් අනුපාතය (පැය)" required_burn_rate_points: "අවශ්ය පිළිස්සීම් අනුපාතය (ලකුණු)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/sk.yml b/modules/backlogs/config/locales/crowdin/sk.yml index c82215ab3d60..7a771c3d8d26 100644 --- a/modules/backlogs/config/locales/crowdin/sk.yml +++ b/modules/backlogs/config/locales/crowdin/sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ sk: attributes: work_package: position: "Pozícia" - remaining_hours: "Zvyšné hodiny" - remaining_time: "Zvyšné hodiny" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "História bodov" backlogs_work_package_type: "Typ oneskorenia" errors: @@ -68,8 +64,8 @@ sk: properties: "Vlastnosti" rebuild: "Obnoviť" rebuild_positions: "Obnoviť pozície" - remaining_hours: "Zvyšné hodiny" - remaining_hours_ideal: "Zvyšné hodiny (ideálne)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Graf" story: "Príbeh" story_points: "História bodov" @@ -151,7 +147,7 @@ sk: rb_label_copy_tasks_none: "Žiadne" rb_label_copy_tasks_open: "Otvorené" rb_label_link_to_original: "Obsahuje odkaz na pôvodný príbeh" - remaining_hours: "zvyšné hodiny" + remaining_hours: "remaining work" required_burn_rate_hours: "potrebné napáliť hodnotiť (hodiny)" required_burn_rate_points: "požadované horenia (body)" todo_work_package_description: "%{summary}: %{url}%{description}" diff --git a/modules/backlogs/config/locales/crowdin/sl.yml b/modules/backlogs/config/locales/crowdin/sl.yml index 1d9113172df0..455abd4a040b 100644 --- a/modules/backlogs/config/locales/crowdin/sl.yml +++ b/modules/backlogs/config/locales/crowdin/sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ sl: attributes: work_package: position: "Položaj" - remaining_hours: "Preostale ure" - remaining_time: "Preostale ure" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Točke v zgodbi" backlogs_work_package_type: "Tip opravila na čakanju" errors: @@ -68,8 +64,8 @@ sl: properties: "Lastnosti" rebuild: "Obnovi" rebuild_positions: "Obnovi položaj" - remaining_hours: "Preostale ure" - remaining_hours_ideal: "Preostale ure (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Graf burndown" story: "Zgodba" story_points: "Točke v zgodbi" @@ -151,7 +147,7 @@ sl: rb_label_copy_tasks_none: "Brez" rb_label_copy_tasks_open: "Odpri" rb_label_link_to_original: "Vključi povezavo do izvirne zgodbe" - remaining_hours: "Preostale ure" + remaining_hours: "remaining work" required_burn_rate_hours: "potrebna hitrost porabe (ure)" required_burn_rate_points: "potrebna hitrost porabe (točke)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/sr.yml b/modules/backlogs/config/locales/crowdin/sr.yml index 515053fd997f..73feedc9cf75 100644 --- a/modules/backlogs/config/locales/crowdin/sr.yml +++ b/modules/backlogs/config/locales/crowdin/sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ sr: attributes: work_package: position: "Pozicija" - remaining_hours: "Preostalo časova" - remaining_time: "Preostalo časova" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Poeni Priče" backlogs_work_package_type: "Tip backlog-a" errors: @@ -68,8 +64,8 @@ sr: properties: "Svojstva" rebuild: "Rekonstrukcija" rebuild_positions: "Rekonstruiši pozicije" - remaining_hours: "Preostalo časova" - remaining_hours_ideal: "Preostalo časova (idealno)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown grafik" story: "Priča" story_points: "Poeni Priče" @@ -151,7 +147,7 @@ sr: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/sv.yml b/modules/backlogs/config/locales/crowdin/sv.yml index d5e6e230b2d6..b4d932742ea7 100644 --- a/modules/backlogs/config/locales/crowdin/sv.yml +++ b/modules/backlogs/config/locales/crowdin/sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ sv: attributes: work_package: position: "Position" - remaining_hours: "Återstående timmar" - remaining_time: "Återstående timmar" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Berättelsepoäng" backlogs_work_package_type: "Typ av backlogg" errors: @@ -68,8 +64,8 @@ sv: properties: "Egenskaper" rebuild: "Rekonstruera" rebuild_positions: "Rekonstruera positioner" - remaining_hours: "Återstående timmar" - remaining_hours_ideal: "Återstående timmar (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown-diagram" story: "Berättelse" story_points: "Berättelsepoäng" @@ -151,7 +147,7 @@ sv: rb_label_copy_tasks_none: "Inga" rb_label_copy_tasks_open: "Öppna" rb_label_link_to_original: "Inkludera länk till originalberättelsen" - remaining_hours: "återstående timmar" + remaining_hours: "remaining work" required_burn_rate_hours: "tempo som krävs (timmar)" required_burn_rate_points: "tempo som krävs (poäng)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/th.yml b/modules/backlogs/config/locales/crowdin/th.yml index 00dfb63e8152..99782d990c13 100644 --- a/modules/backlogs/config/locales/crowdin/th.yml +++ b/modules/backlogs/config/locales/crowdin/th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ th: attributes: work_package: position: "ตำแหน่ง" - remaining_hours: "Remaining hours" - remaining_time: "Remaining hours" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" errors: @@ -68,8 +64,8 @@ th: properties: "คุณสมบัติ" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Remaining hours" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -151,7 +147,7 @@ th: rb_label_copy_tasks_none: "ไม่มี" rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/tr.yml b/modules/backlogs/config/locales/crowdin/tr.yml index 03022d466d03..ab5c2f95e797 100644 --- a/modules/backlogs/config/locales/crowdin/tr.yml +++ b/modules/backlogs/config/locales/crowdin/tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ tr: attributes: work_package: position: "Konum" - remaining_hours: "Kalan saat" - remaining_time: "Kalan saat" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Hikaye Puanları" backlogs_work_package_type: "Bekleme listesi türü" errors: @@ -68,8 +64,8 @@ tr: properties: "Özellikleri" rebuild: "Yeniden inşa etmek" rebuild_positions: "Pozisyonu yeniden inşa et" - remaining_hours: "Kalan saat" - remaining_hours_ideal: "Kalan saat (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Açılış tablosu" story: "Hikaye" story_points: "Hikaye Puanları" @@ -151,7 +147,7 @@ tr: rb_label_copy_tasks_none: "Hiçbiri" rb_label_copy_tasks_open: "Aç" rb_label_link_to_original: "Orijinal hikayeye bağlantı ekle" - remaining_hours: "kalan saatler" + remaining_hours: "remaining work" required_burn_rate_hours: "gerekli yanma oranı (saat)" required_burn_rate_points: "gerekli yanma oranı (puan)" todo_work_package_description: "%{summary}:%{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/uk.yml b/modules/backlogs/config/locales/crowdin/uk.yml index bfd55b979733..f2ad9b8ae97c 100644 --- a/modules/backlogs/config/locales/crowdin/uk.yml +++ b/modules/backlogs/config/locales/crowdin/uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ uk: attributes: work_package: position: "Позиція" - remaining_hours: "Залишилися години" - remaining_time: "Залишилися години" - derived_remaining_hours: "Отриманий залишок годин" - derived_remaining_time: "Отриманий залишок годин" story_points: "Точки історії" backlogs_work_package_type: "Тип Backlog-у" errors: @@ -68,8 +64,8 @@ uk: properties: "Властивості" rebuild: "Перебудувати" rebuild_positions: "Перебудувати позиції" - remaining_hours: "Залишилися години" - remaining_hours_ideal: "Решта годин (ідеально)" + remaining_hours: "Залишок роботи" + remaining_hours_ideal: "Залишок роботи (ідеальний)" show_burndown_chart: "Графік Burndown" story: "Історія" story_points: "Точки історії" @@ -151,7 +147,7 @@ uk: rb_label_copy_tasks_none: "Нічого" rb_label_copy_tasks_open: "Відкрити" rb_label_link_to_original: "Включіть посилання на оригінальну історію" - remaining_hours: "залишилися години" + remaining_hours: "залишок роботи" required_burn_rate_hours: "необхідна швидкість запису (години)" required_burn_rate_points: "необхідна швидкість запису (пункти)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/vi.yml b/modules/backlogs/config/locales/crowdin/vi.yml index 664d843ec987..c9f055fe8288 100644 --- a/modules/backlogs/config/locales/crowdin/vi.yml +++ b/modules/backlogs/config/locales/crowdin/vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ vi: attributes: work_package: position: "Vị trí" - remaining_hours: "Số giờ còn lại" - remaining_time: "Số giờ còn lại" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Điểm câu chuyện" backlogs_work_package_type: "Loại Backlog" errors: @@ -68,8 +64,8 @@ vi: properties: "Thuộc tính" rebuild: "Dựng lại" rebuild_positions: "Xây dựng lại vị trí" - remaining_hours: "Số giờ còn lại" - remaining_hours_ideal: "Số giờ còn lại (lý tưởng)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Biểu đồ Burndown" story: "Câu chuyện" story_points: "Story Points" @@ -151,7 +147,7 @@ vi: rb_label_copy_tasks_none: "None" rb_label_copy_tasks_open: "Mở" rb_label_link_to_original: "Bao gồm liên kết đến câu chuyện gốc" - remaining_hours: "giờ còn lại" + remaining_hours: "remaining work" required_burn_rate_hours: "tốc độ ghi yêu cầu (giờ)" required_burn_rate_points: "tốc độ ghi yêu cầu (điểm)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/zh-CN.yml b/modules/backlogs/config/locales/crowdin/zh-CN.yml index 8c5fd3a1d73d..26aea5ec7eff 100644 --- a/modules/backlogs/config/locales/crowdin/zh-CN.yml +++ b/modules/backlogs/config/locales/crowdin/zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ zh-CN: attributes: work_package: position: "位置" - remaining_hours: "剩余工时" - remaining_time: "剩余工时" - derived_remaining_hours: "派生的剩余工时" - derived_remaining_time: "派生的剩余工时" story_points: "故事点" backlogs_work_package_type: "待办清单类型" errors: @@ -68,8 +64,8 @@ zh-CN: properties: "属性" rebuild: "重建" rebuild_positions: "重建顺序" - remaining_hours: "剩余工时" - remaining_hours_ideal: "剩余工时(理想)" + remaining_hours: "剩余工作" + remaining_hours_ideal: "剩余工作(理想)" show_burndown_chart: "燃尽图" story: "故事" story_points: "故事点" @@ -151,7 +147,7 @@ zh-CN: rb_label_copy_tasks_none: "无" rb_label_copy_tasks_open: "打开" rb_label_link_to_original: "包括原始故事的链接" - remaining_hours: "剩余工时" + remaining_hours: "剩余工作" required_burn_rate_hours: "所需燃尽率(小时)" required_burn_rate_points: "所需燃尽率(点数)" todo_work_package_description: "%{summary}:%{url}\n%{description}" diff --git a/modules/backlogs/config/locales/crowdin/zh-TW.yml b/modules/backlogs/config/locales/crowdin/zh-TW.yml index bc11e65cf272..342eb34e83b9 100644 --- a/modules/backlogs/config/locales/crowdin/zh-TW.yml +++ b/modules/backlogs/config/locales/crowdin/zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -27,10 +27,6 @@ zh-TW: attributes: work_package: position: "位置" - remaining_hours: "剩餘時數" - remaining_time: "剩餘時數" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "需求重要性" backlogs_work_package_type: "待辦項目類型" errors: @@ -68,8 +64,8 @@ zh-TW: properties: "屬性" rebuild: "重建" rebuild_positions: "重建位置" - remaining_hours: "剩餘時數" - remaining_hours_ideal: "(理想) 剩餘時數" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "未完成圖" story: "使用者需求" story_points: "需求重要性" @@ -151,7 +147,7 @@ zh-TW: rb_label_copy_tasks_none: "無" rb_label_copy_tasks_open: "開啟" rb_label_link_to_original: "包含連結到原本的使用者需求" - remaining_hours: "剩餘時數" + remaining_hours: "remaining work" required_burn_rate_hours: "必須的完成率 (小時)" required_burn_rate_points: "必須的完成率 (點數)" todo_work_package_description: "%{summary}: %{url}\n%{description}" diff --git a/modules/backlogs/config/locales/en.yml b/modules/backlogs/config/locales/en.yml index bc1346869e42..1b339a8aee93 100644 --- a/modules/backlogs/config/locales/en.yml +++ b/modules/backlogs/config/locales/en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,10 +36,6 @@ en: attributes: work_package: position: "Position" - remaining_hours: "Remaining hours" - remaining_time: "Remaining hours" - derived_remaining_hours: "Derived remaining hours" - derived_remaining_time: "Derived remaining hours" story_points: "Story Points" backlogs_work_package_type: "Backlog type" @@ -79,8 +75,8 @@ en: properties: "Properties" rebuild: "Rebuild" rebuild_positions: "Rebuild positions" - remaining_hours: "Remaining hours" - remaining_hours_ideal: "Remaining hours (ideal)" + remaining_hours: "Remaining work" + remaining_hours_ideal: "Remaining work (ideal)" show_burndown_chart: "Burndown Chart" story: "Story" story_points: "Story Points" @@ -175,7 +171,7 @@ en: rb_label_copy_tasks_open: "Open" rb_label_link_to_original: "Include link to original story" - remaining_hours: "remaining hours" + remaining_hours: "remaining work" required_burn_rate_hours: "required burn rate (hours)" required_burn_rate_points: "required burn rate (points)" diff --git a/modules/backlogs/config/locales/js-en.yml b/modules/backlogs/config/locales/js-en.yml index b246bc3204c1..bff5514462eb 100644 --- a/modules/backlogs/config/locales/js-en.yml +++ b/modules/backlogs/config/locales/js-en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,4 +31,3 @@ en: work_packages: properties: storyPoints: "Story Points" - remainingTime: "Remaining hours" diff --git a/modules/backlogs/config/routes.rb b/modules/backlogs/config/routes.rb index cce169ec4106..4472488a0c54 100644 --- a/modules/backlogs/config/routes.rb +++ b/modules/backlogs/config/routes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/db/migrate/20180323151208_to_v710_aggregated_backlogs_migrations.rb b/modules/backlogs/db/migrate/20180323151208_to_v710_aggregated_backlogs_migrations.rb index d7f6451bbec6..6da8c2cfc3db 100644 --- a/modules/backlogs/db/migrate/20180323151208_to_v710_aggregated_backlogs_migrations.rb +++ b/modules/backlogs/db/migrate/20180323151208_to_v710_aggregated_backlogs_migrations.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require Rails.root.join("db", "migrate", "migration_utils", "migration_squasher").to_s +require Rails.root.join("db/migrate/migration_utils/migration_squasher").to_s # This migration aggregates the migrations detailed in MIGRATION_FILES class ToV710AggregatedBacklogsMigrations < ActiveRecord::Migration[5.1] MIGRATION_FILES = <<-MIGRATIONS diff --git a/modules/backlogs/lib/api/v3/backlogs_types/backlogs_type_representer.rb b/modules/backlogs/lib/api/v3/backlogs_types/backlogs_type_representer.rb index ad07f185cef9..1bf41138f774 100644 --- a/modules/backlogs/lib/api/v3/backlogs_types/backlogs_type_representer.rb +++ b/modules/backlogs/lib/api/v3/backlogs_types/backlogs_type_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/api/v3/queries/schemas/backlogs_type_dependency_representer.rb b/modules/backlogs/lib/api/v3/queries/schemas/backlogs_type_dependency_representer.rb index ef80c597374e..177a4e418218 100644 --- a/modules/backlogs/lib/api/v3/queries/schemas/backlogs_type_dependency_representer.rb +++ b/modules/backlogs/lib/api/v3/queries/schemas/backlogs_type_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs.rb b/modules/backlogs/lib/open_project/backlogs.rb index 108923bbca31..a7aba6385876 100644 --- a/modules/backlogs/lib/open_project/backlogs.rb +++ b/modules/backlogs/lib/open_project/backlogs.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/burndown/series.rb b/modules/backlogs/lib/open_project/backlogs/burndown/series.rb index 618f16932fcb..1266f8527337 100644 --- a/modules/backlogs/lib/open_project/backlogs/burndown/series.rb +++ b/modules/backlogs/lib/open_project/backlogs/burndown/series.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/burndown/series_raw_data.rb b/modules/backlogs/lib/open_project/backlogs/burndown/series_raw_data.rb index 3957320cc78e..53139ab9b87b 100644 --- a/modules/backlogs/lib/open_project/backlogs/burndown/series_raw_data.rb +++ b/modules/backlogs/lib/open_project/backlogs/burndown/series_raw_data.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -42,7 +42,7 @@ def collect_names end def unit_for(name) - return :points if @collect[:points].include? name + :points if @collect[:points].include? name end def collect_data @@ -50,7 +50,7 @@ def collect_data data_for_dates(collected_days).each do |day_data| date = day_data['date'] - date = date.is_a?(Date) ? date : Date.parse(date) + date = Date.parse(date) unless date.is_a?(Date) day_data.each do |key, value| next if key == 'date' diff --git a/modules/backlogs/lib/open_project/backlogs/compatibility.rb b/modules/backlogs/lib/open_project/backlogs/compatibility.rb index 9d2492384ff2..d5f2a229bd34 100644 --- a/modules/backlogs/lib/open_project/backlogs/compatibility.rb +++ b/modules/backlogs/lib/open_project/backlogs/compatibility.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/engine.rb b/modules/backlogs/lib/open_project/backlogs/engine.rb index 74210dbd8407..1e85a1db84d8 100644 --- a/modules/backlogs/lib/open_project/backlogs/engine.rb +++ b/modules/backlogs/lib/open_project/backlogs/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,8 +27,8 @@ #++ require 'open_project/plugins' -require_relative './patches/api/work_package_representer' -require_relative './patches/api/work_package_schema_representer' +require_relative 'patches/api/work_package_representer' +require_relative 'patches/api/work_package_schema_representer' module OpenProject::Backlogs class Engine < ::Rails::Engine @@ -64,6 +64,10 @@ def self.settings edit.controller_actions << 'rb_tasks/update' edit.controller_actions << 'rb_impediments/update' end + + OpenProject::AccessControl.permission(:change_work_package_status).tap do |edit| + edit.controller_actions << 'rb_stories/update' + end end project_module :backlogs, dependencies: :work_package_tracking do @@ -120,9 +124,6 @@ def self.settings before: :settings_storage end - # We still override version and project settings views from the core! URH - override_core_views! - patches %i[PermittedParams WorkPackage Status @@ -132,11 +133,8 @@ def self.settings VersionsController Version] - patch_with_namespace :API, :V3, :WorkPackages, :Schema, :SpecificWorkPackageSchema - patch_with_namespace :WorkPackages, :UpdateAncestors, :Loader patch_with_namespace :BasicData, :SettingSeeder patch_with_namespace :DemoData, :ProjectSeeder - patch_with_namespace :WorkPackages, :UpdateAncestorsService patch_with_namespace :WorkPackages, :UpdateService patch_with_namespace :WorkPackages, :SetAttributesService patch_with_namespace :WorkPackages, :BaseContract @@ -172,7 +170,6 @@ def self.settings &::OpenProject::Backlogs::Patches::API::WorkPackageSchemaRepresenter.extension) add_api_attribute on: :work_package, ar_name: :story_points - add_api_attribute on: :work_package, ar_name: :remaining_hours, writable: ->(*) { model.leaf? } add_api_path :backlogs_type do |id| # There is no api endpoint for this url @@ -203,11 +200,7 @@ def self.settings end end - ::Type.add_constraint :remaining_time, ->(_type, project: nil) do - project.nil? || project.backlogs_enabled? - end - - ::Type.add_default_mapping(:estimates_and_time, :story_points, :remaining_time) + ::Type.add_default_mapping(:estimates_and_time, :story_points) ::Type.add_default_mapping(:other, :position) ::Queries::Register.register(::Query) do diff --git a/modules/backlogs/lib/open_project/backlogs/hooks/layout_hook.rb b/modules/backlogs/lib/open_project/backlogs/hooks/layout_hook.rb index 41a67472d189..7b32d83e5e23 100644 --- a/modules/backlogs/lib/open_project/backlogs/hooks/layout_hook.rb +++ b/modules/backlogs/lib/open_project/backlogs/hooks/layout_hook.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/hooks/user_settings_hook.rb b/modules/backlogs/lib/open_project/backlogs/hooks/user_settings_hook.rb index 5e4d218c32e8..5b42eb85fb4f 100644 --- a/modules/backlogs/lib/open_project/backlogs/hooks/user_settings_hook.rb +++ b/modules/backlogs/lib/open_project/backlogs/hooks/user_settings_hook.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/list.rb b/modules/backlogs/lib/open_project/backlogs/list.rb index 5ddabb6de28a..33056fbae73a 100644 --- a/modules/backlogs/lib/open_project/backlogs/list.rb +++ b/modules/backlogs/lib/open_project/backlogs/list.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/mixins/prevent_issue_sti.rb b/modules/backlogs/lib/open_project/backlogs/mixins/prevent_issue_sti.rb index 50d60c311724..657da7830f33 100644 --- a/modules/backlogs/lib/open_project/backlogs/mixins/prevent_issue_sti.rb +++ b/modules/backlogs/lib/open_project/backlogs/mixins/prevent_issue_sti.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches.rb b/modules/backlogs/lib/open_project/backlogs/patches.rb index b7f6ecac9eee..ece421ae14ab 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/api/work_package_representer.rb b/modules/backlogs/lib/open_project/backlogs/patches/api/work_package_representer.rb index 799b98fc41b7..60c677c117a5 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/api/work_package_representer.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/api/work_package_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -32,7 +32,6 @@ module API module WorkPackageRepresenter module_function - # rubocop:disable Metrics/AbcSize def extension ->(*) do property :position, @@ -46,36 +45,8 @@ def extension skip_render: ->(*) do !(backlogs_enabled? && type && type.passes_attribute_constraint?(:story_points)) end - - property :remaining_time, - exec_context: :decorator, - render_nil: true, - skip_render: ->(represented:, **) { !represented.backlogs_enabled? }, - getter: ->(*) do - datetime_formatter.format_duration_from_hours(represented.remaining_hours, allow_nil: true) - end - - property :derived_remaining_time, - exec_context: :decorator, - render_nil: true, - skip_render: ->(represented:, **) { !represented.backlogs_enabled? }, - getter: ->(*) do - datetime_formatter.format_duration_from_hours(represented.derived_remaining_hours, allow_nil: true) - end - - # cannot use def here as it wouldn't define the method on the representer - define_method :remaining_time= do |value| - represented.remaining_hours = datetime_formatter - .parse_duration_to_hours(value, 'remainingTime', allow_nil: true) - end - - define_method :derived_remaining_time= do |value| - represented.derived_remaining_hours = datetime_formatter - .parse_duration_to_hours(value, 'derivedRemainingTime', allow_nil: true) - end end end - # rubocop:enable Metrics/AbcSize end end end diff --git a/modules/backlogs/lib/open_project/backlogs/patches/api/work_package_schema_representer.rb b/modules/backlogs/lib/open_project/backlogs/patches/api/work_package_schema_representer.rb index 02f1b3885167..44f39c86f0a8 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/api/work_package_schema_representer.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/api/work_package_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -50,18 +50,6 @@ def extension backlogs_constraint_passed?(:story_points) } - schema :remaining_time, - type: 'Duration', - name_source: :remaining_hours, - required: false, - show_if: ->(*) { represented.project && represented.project.backlogs_enabled? } - - schema :derived_remaining_time, - type: 'Duration', - name_source: :derived_remaining_hours, - required: false, - show_if: ->(*) { represented.project && represented.project.backlogs_enabled? } - define_method :backlogs_constraint_passed? do |attribute| represented.project&.backlogs_enabled? && (!represented.type || represented.type.passes_attribute_constraint?(attribute)) diff --git a/modules/backlogs/lib/open_project/backlogs/patches/base_contract_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/base_contract_patch.rb index 2c54c227a1f8..4f336c2bfbd4 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/base_contract_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/base_contract_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,19 +30,6 @@ module OpenProject::Backlogs::Patches::BaseContractPatch extend ActiveSupport::Concern included do - attribute :remaining_hours attribute :story_points - - validate :validate_has_parents_version - - private - - def validate_has_parents_version - if model.is_task? && - model.parent && model.parent.in_backlogs_type? && - model.version_id != model.parent.version_id - errors.add :version_id, :task_version_must_be_the_same_as_story_version - end - end end end diff --git a/modules/backlogs/lib/open_project/backlogs/patches/permitted_params_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/permitted_params_patch.rb index 041b29512ef2..d64e0e327182 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/permitted_params_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/permitted_params_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,7 @@ module InstanceMethods def update_work_package(args = {}) permitted_params = super(args) - backlogs_params = params.require(:work_package).permit(:story_points, :remaining_hours) + backlogs_params = params.require(:work_package).permit(:story_points) permitted_params.merge!(backlogs_params) permitted_params diff --git a/modules/backlogs/lib/open_project/backlogs/patches/project_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/project_patch.rb index 9866635982de..ee795fe687cf 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/project_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/project_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/project_seeder_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/project_seeder_patch.rb index 83d3f285e729..34a33c6dc2d3 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/project_seeder_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/project_seeder_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -40,7 +40,6 @@ def seed_versions versions = version_data .filter_map { |data| Version.find_by(name: data['name']) } - versions.each do |version| display = version_settings_display_map[version.name] || VersionSetting::DISPLAY_NONE diff --git a/modules/backlogs/lib/open_project/backlogs/patches/set_attributes_service_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/set_attributes_service_patch.rb index 119fdcea5163..b34115f6e32d 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/set_attributes_service_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/set_attributes_service_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/setting_seeder_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/setting_seeder_patch.rb index ebadd082499c..f1d01da5b3a5 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/setting_seeder_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/setting_seeder_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/status_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/status_patch.rb index 550ac950b4ef..e8d0c9f91e72 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/status_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/status_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/type_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/type_patch.rb index b3fa23de1855..ca8e8c25cd53 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/type_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/type_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/update_service_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/update_service_patch.rb index 2bdcc91d16a3..0951b77da48d 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/update_service_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/update_service_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/user_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/user_patch.rb index c71e8eac1ce0..293885a9e9ee 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/user_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/user_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/version_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/version_patch.rb index d76b8f0f99d3..6c989697471e 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/version_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/version_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/versions/base_contract_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/versions/base_contract_patch.rb index b62077f91665..0c84225838fd 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/versions/base_contract_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/versions/base_contract_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/versions/row_component_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/versions/row_component_patch.rb index 3c4d4ca57786..33a74b108e8d 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/versions/row_component_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/versions/row_component_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/versions_controller_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/versions_controller_patch.rb index 9a23a10a7b03..0c881c69b5ca 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/versions_controller_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/versions_controller_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/open_project/backlogs/patches/work_package_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/work_package_patch.rb index 77e28aaa4703..c7ec5ad1451c 100644 --- a/modules/backlogs/lib/open_project/backlogs/patches/work_package_patch.rb +++ b/modules/backlogs/lib/open_project/backlogs/patches/work_package_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,10 +33,6 @@ module OpenProject::Backlogs::Patches::WorkPackagePatch prepend InstanceMethods extend ClassMethods - before_validation :backlogs_before_validation, if: -> { backlogs_enabled? } - - register_journal_formatted_fields(:fraction, 'remaining_hours') - register_journal_formatted_fields(:fraction, 'derived_remaining_hours') register_journal_formatted_fields(:decimal, 'story_points') register_journal_formatted_fields(:decimal, 'position') @@ -46,16 +42,6 @@ module OpenProject::Backlogs::Patches::WorkPackagePatch less_than: 10_000, if: -> { backlogs_enabled? } - validates_numericality_of :remaining_hours, only_integer: false, - allow_nil: true, - greater_than_or_equal_to: 0, - if: -> { backlogs_enabled? } - - validates_numericality_of :derived_remaining_hours, only_integer: false, - allow_nil: true, - greater_than_or_equal_to: 0, - if: -> { backlogs_enabled? } - include OpenProject::Backlogs::List end @@ -130,15 +116,6 @@ def backlogs_enabled? def in_backlogs_type? backlogs_enabled? && WorkPackage.backlogs_types.include?(type.try(:id)) end - - private - - def backlogs_before_validation - if type_id == Task.type - self.estimated_hours = remaining_hours if estimated_hours.blank? && remaining_hours.present? - self.remaining_hours = estimated_hours if remaining_hours.blank? && estimated_hours.present? - end - end end end diff --git a/modules/backlogs/lib/open_project/backlogs/patches/work_packages/update_ancestors/loader_patch.rb b/modules/backlogs/lib/open_project/backlogs/patches/work_packages/update_ancestors/loader_patch.rb deleted file mode 100644 index 989c27d9c9c3..000000000000 --- a/modules/backlogs/lib/open_project/backlogs/patches/work_packages/update_ancestors/loader_patch.rb +++ /dev/null @@ -1,43 +0,0 @@ -# OpenProject is an open source project management software. -# Copyright (C) 2010-2022 the OpenProject GmbH -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version 3. -# -# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: -# Copyright (C) 2006-2013 Jean-Philippe Lang -# Copyright (C) 2010-2013 the ChiliProject Team -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# See COPYRIGHT and LICENSE files for more details. - -module OpenProject::Backlogs::Patches::WorkPackages::UpdateAncestors::LoaderPatch - def self.included(base) - base.prepend InstanceMethods - end - - module InstanceMethods - private - - def selected_descendants_attributes - super + %i(remaining_hours) - end - - def selected_leaves_attributes - super + %i[remaining_hours derived_remaining_hours] - end - end -end diff --git a/modules/backlogs/lib/open_project/backlogs/query_backlogs_column.rb b/modules/backlogs/lib/open_project/backlogs/query_backlogs_column.rb index 5d98facb92cf..ad2fe928c41e 100644 --- a/modules/backlogs/lib/open_project/backlogs/query_backlogs_column.rb +++ b/modules/backlogs/lib/open_project/backlogs/query_backlogs_column.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,10 +35,6 @@ class QueryBacklogsColumn < Queries::WorkPackages::Columns::WorkPackageColumn sortable: "#{WorkPackage.table_name}.story_points", summable: true }, - remaining_hours: { - sortable: "#{WorkPackage.table_name}.remaining_hours", - summable: true - }, position: { default_order: 'asc', # Sort by position only, always show work_packages without a position at the end diff --git a/modules/backlogs/lib/open_project/backlogs/work_package_filter.rb b/modules/backlogs/lib/open_project/backlogs/work_package_filter.rb index 2653901945a4..e2c662d33ae5 100644 --- a/modules/backlogs/lib/open_project/backlogs/work_package_filter.rb +++ b/modules/backlogs/lib/open_project/backlogs/work_package_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/lib/openproject-backlogs.rb b/modules/backlogs/lib/openproject-backlogs.rb index 3a1679e4d5ba..04918798b753 100644 --- a/modules/backlogs/lib/openproject-backlogs.rb +++ b/modules/backlogs/lib/openproject-backlogs.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/api/work_package_resource_spec.rb b/modules/backlogs/spec/api/work_package_resource_spec.rb index 70d77e7ebf5b..f52ae22faf3a 100644 --- a/modules/backlogs/spec/api/work_package_resource_spec.rb +++ b/modules/backlogs/spec/api/work_package_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -61,10 +61,6 @@ include_context 'query work package' it { is_expected.to be_json_eql(work_package.story_points.to_json).at_path('storyPoints') } - - it { is_expected.to be_json_eql('PT5H'.to_json).at_path('remainingTime') } - - it { is_expected.to be_json_eql(nil.to_json).at_path('derivedRemainingTime') } end context 'backlogs deactivated' do @@ -77,10 +73,6 @@ it { expect(last_response.status).to be 200 } it { is_expected.not_to have_json_path('storyPoints') } - - it { is_expected.not_to have_json_path('remainingTime') } - - it { is_expected.not_to have_json_path('derivedRemainingTime') } end end @@ -105,12 +97,5 @@ it { expect(subject.status).to eq(200) } it { expect(subject.body).to be_json_eql(12.to_json).at_path('storyPoints') } end - - describe 'remainingTime' do - let(:params) { valid_params.merge(remainingTime: 'PT12H30M') } - - it { expect(subject.status).to eq(200) } - it { expect(subject.body).to be_json_eql('PT12H30M'.to_json).at_path('remainingTime') } - end end end diff --git a/modules/backlogs/spec/api/work_packages/form_resource_spec.rb b/modules/backlogs/spec/api/work_packages/form_resource_spec.rb index f8d1799dd08b..7ece81d2fee8 100644 --- a/modules/backlogs/spec/api/work_packages/form_resource_spec.rb +++ b/modules/backlogs/spec/api/work_packages/form_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -136,32 +136,5 @@ it_behaves_like 'having an error', 'storyPoints' end end - - describe 'remainingTime' do - include_context 'post request' - - context 'valid remainingTime' do - let(:params) { valid_params.merge(remainingTime: 'PT2H45M') } - - it_behaves_like 'valid payload' - - it_behaves_like 'having no errors' - - it 'responds with updated story points' do - expect(subject.body).to be_json_eql('PT2H45M'.to_json) - .at_path('_embedded/payload/remainingTime') - end - end - - context 'invalid remainingTime' do - let(:params) { valid_params.merge(remainingTime: 3) } - - it_behaves_like 'format error', - I18n.t('api_v3.errors.invalid_format', - property: 'remainingTime', - expected_format: 'ISO 8601 duration', - actual: '3') - end - end end end diff --git a/modules/backlogs/spec/api/work_packages/schema/specific_work_package_schema_spec.rb b/modules/backlogs/spec/api/work_packages/schema/specific_work_package_schema_spec.rb deleted file mode 100644 index 797b1137a284..000000000000 --- a/modules/backlogs/spec/api/work_packages/schema/specific_work_package_schema_spec.rb +++ /dev/null @@ -1,130 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version 3. -# -# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: -# Copyright (C) 2006-2013 Jean-Philippe Lang -# Copyright (C) 2010-2013 the ChiliProject Team -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# See COPYRIGHT and LICENSE files for more details. -#++ - -require 'spec_helper' - -RSpec.describe API::V3::WorkPackages::Schema::SpecificWorkPackageSchema do - let(:project) { build(:project) } - let(:type) { build(:type) } - let(:work_package) { build(:work_package, project:, type:) } - let(:current_user) { build_stubbed(:user) } - - before do - mock_permissions_for(current_user, &:allow_everything) - - login_as(current_user) - end - - shared_examples_for 'with parent which is a BACKLOGS type' do |writable| - let(:parent) { create(:work_package, type: type_task) } - - before do - work_package.parent_id = parent.id - work_package.save! - end - - it "is #{'not' unless writable} writable" do - if writable - expect(subject).to be_writable(:version) - else - expect(subject).not_to be_writable(:version) - end - end - end - - shared_examples_for 'with parent which is not a BACKLOGS type' do - let(:parent) { create(:work_package, type: type_feature) } - - before do - work_package.parent_id = parent.id - work_package.save! - end - - it "is writable" do - expect(subject).to be_writable(:version) - end - end - - describe '#writable? for remaining_hours' do - subject { described_class.new(work_package:) } - - context 'work_package is a leaf' do - before do - allow(work_package).to receive(:leaf?).and_return(true) - end - - it 'is writable' do - expect(subject).to be_writable(:remaining_hours) - end - end - - context 'work_package is no leaf' do - before do - allow(work_package).to receive(:leaf?).and_return(false) - end - - it 'is not writable' do - expect(subject).not_to be_writable(:remaining_hours) - end - end - end - - describe '#version_writable?' do - subject { described_class.new(work_package:) } - - let(:type_task) { create(:type_task) } - let(:type_feature) { create(:type_feature) } - - before do - allow(WorkPackage).to receive(:backlogs_types).and_return([type_task.id]) - allow(work_package).to receive(:backlogs_enabled?).and_return(true) - end - - describe 'work_package is a task' do - before do - allow(work_package) - .to receive(:is_task?) - .and_return(true) - end - - it_behaves_like 'with parent which is a BACKLOGS type', false - it_behaves_like 'with parent which is not a BACKLOGS type' - end - - describe 'work_package is no task' do - before do - allow(work_package) - .to receive(:is_task?) - .and_return(false) - end - - it_behaves_like 'with parent which is a BACKLOGS type', true - it_behaves_like 'with parent which is not a BACKLOGS type' - end - end -end diff --git a/modules/backlogs/spec/api/work_packages/work_package_schema_representer_spec.rb b/modules/backlogs/spec/api/work_packages/work_package_schema_representer_spec.rb index 193306e8678e..dec0f1099f97 100644 --- a/modules/backlogs/spec/api/work_packages/work_package_schema_representer_spec.rb +++ b/modules/backlogs/spec/api/work_packages/work_package_schema_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -61,7 +61,7 @@ let(:writable) { true } end - context 'backlogs disabled' do + context 'when backlogs module is disabled' do before do allow(schema.project).to receive(:backlogs_enabled?).and_return(false) end @@ -81,69 +81,4 @@ end end end - - describe 'remainingTime & derivedRemainingtime' do - subject { representer.to_json } - - shared_examples_for 'has schema for remainingTime' do - it_behaves_like 'has basic schema properties' do - let(:path) { 'remainingTime' } - let(:type) { 'Duration' } - let(:name) { I18n.t('activerecord.attributes.work_package.remaining_hours') } - let(:required) { false } - let(:writable) { true } - end - end - - shared_examples_for 'has schema for derivedRemainingTime' do - it_behaves_like 'has basic schema properties' do - let(:path) { 'derivedRemainingTime' } - let(:type) { 'Duration' } - let(:name) { I18n.t('activerecord.attributes.work_package.derived_remaining_hours') } - let(:required) { false } - let(:writable) { false } - end - end - - it_behaves_like 'has schema for remainingTime' - it_behaves_like 'has schema for derivedRemainingTime' - - context 'backlogs disabled' do - before do - allow(schema.project).to receive(:backlogs_enabled?).and_return(false) - end - - it 'has no schema for remaining time' do - expect(subject).not_to have_json_path('remainingTime') - end - - it 'has no schema for derivedRemaining time' do - expect(subject).not_to have_json_path('derivedRemainingTime') - end - end - - context 'not a story' do - before do - allow(schema.type).to receive(:story?).and_return(false) - end - - it_behaves_like 'has schema for remainingTime' - it_behaves_like 'has schema for derivedRemainingTime' - end - - context 'remainingTime not writable' do - before do - allow(schema).to receive(:writable?).and_call_original - allow(schema).to receive(:writable?).with('remaining_hours').and_return(false) - end - - it_behaves_like 'has basic schema properties' do - let(:path) { 'remainingTime' } - let(:type) { 'Duration' } - let(:name) { I18n.t('activerecord.attributes.work_package.remaining_hours') } - let(:required) { false } - let(:writable) { false } - end - end - end end diff --git a/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb b/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb index f9f61e7d63ec..d2cde5da4e5e 100644 --- a/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb +++ b/modules/backlogs/spec/contracts/work_packages/base_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,48 +29,28 @@ require 'spec_helper' RSpec.describe WorkPackages::BaseContract, type: :model do + shared_let(:type_feature) { create(:type_feature) } + shared_let(:type_task) { create(:type_task) } + shared_let(:type_bug) { create(:type_bug) } + shared_let(:backlogs_types) { [type_feature, type_task, type_bug] } + shared_let(:project) do + create(:project, types: backlogs_types) + end + shared_let(:other_project) do + create(:project, types: backlogs_types) + end + shared_let(:user) do + create(:admin, member_with_roles: { project => create(:project_role), + other_project => create(:project_role) }) + end + let(:instance) { described_class.new(work_package, user) } - let(:type_feature) { build(:type_feature) } - let(:type_task) { build(:type_task) } - let(:type_bug) { build(:type_bug) } let(:version1) { build_stubbed(:version, name: 'Version1', project: p) } let(:version2) { build_stubbed(:version, name: 'Version2', project: p) } - let(:role) { build(:project_role) } - let(:user) { build(:admin) } + let(:issue_priority) { build(:priority) } let(:status) { build_stubbed(:status, name: 'status 1', is_default: true) } - let(:project) do - p = build(:project, members: [build(:member, - principal: user, - roles: [role])], - types: [type_feature, type_task, type_bug]) - - allow(p) - .to receive(:assignable_versions) - .and_return([version1, - version2]) - - p.enabled_module_names += ['backlogs'] - - p - end - - let(:other_project) do - p = build(:project, members: [build(:member, - principal: user, - roles: [role])], - types: [type_feature, type_task, type_bug]) - - allow(p) - .to receive(:assignable_versions) - .and_return([version1, - version2]) - p.enabled_module_names += ['backlogs'] - - p - end - let(:story) do build_stubbed(:work_package, subject: 'Story', @@ -141,12 +121,8 @@ scope = instance_double(ActiveRecord::Relation) allow(scope) - .to receive(:where) - .and_return(scope) - - allow(scope) - .to receive(:empty?) - .and_return(false) + .to receive_messages(where: scope, + empty?: false) scope end @@ -154,7 +130,12 @@ subject(:valid) { instance.validate } before do - project.save! + allow(project) + .to receive(:assignable_versions) + .and_return([version1, version2]) + allow(other_project) + .to receive(:assignable_versions) + .and_return([version1, version2]) allow(WorkPackage) .to receive(:relatable) @@ -166,6 +147,15 @@ 'task_type' => type_task.id.to_s }) end + describe 'story_points' do + let(:work_package) { task } + + it 'is writable' do + work_package.story_points = 5 + expect(subject).to be_truthy + end + end + shared_examples_for 'is valid' do it 'is valid' do expect(subject).to be_truthy @@ -173,68 +163,9 @@ end describe 'version being restricted' do - shared_examples_for 'is invalid and notes the error' do - it 'is invalid and notes the error' do - expect(subject).to be_falsey - expect(instance.errors.symbols_for(:version_id)) - .to match_array([:task_version_must_be_the_same_as_story_version]) - end - end - - shared_examples_for 'version being restricted by the parent' do - before do - work_package.parent = parent if work_package.parent.blank? - end - - describe 'WITHOUT a version and the parent also having no version' do - before do - parent.version = nil - work_package.version = nil - end - - it_behaves_like 'is valid' - end - - describe 'WITHOUT a version and the parent having a version' do - before do - parent.version = version1 - work_package.version = nil - end - - it_behaves_like 'is invalid and notes the error' - end - - describe 'WITH a version and the parent having a different version' do - before do - parent.version = version1 - work_package.version = version2 - end - - it_behaves_like 'is invalid and notes the error' - end - - describe 'WITH a version and the parent having the same version' do - before do - parent.version = version1 - work_package.version = version1 - end - - it_behaves_like 'is valid' - end - - describe 'WITH a version and the parent having no version' do - before do - parent.version = nil - work_package.version = version1 - end - - it_behaves_like 'is invalid and notes the error' - end - end - shared_examples_for 'version not being restricted by the parent' do before do - work_package.parent = parent if work_package.parent.blank? + work_package.parent ||= parent end describe 'WITHOUT a version and the parent also having no version' do @@ -243,7 +174,7 @@ work_package.version = nil end - it_behaves_like 'is valid' + include_examples 'is valid' end describe 'WITHOUT a version and the parent having a version' do @@ -252,7 +183,7 @@ work_package.version = nil end - it_behaves_like 'is valid' + include_examples 'is valid' end describe 'WITH a version and the parent having a different version' do @@ -261,7 +192,7 @@ work_package.version = version2 end - it_behaves_like 'is valid' + include_examples 'is valid' end describe 'WITH a version and the parent having the same version' do @@ -270,7 +201,7 @@ work_package.version = version1 end - it_behaves_like 'is valid' + include_examples 'is valid' end describe 'WITH a version and the parent having no version' do @@ -279,7 +210,7 @@ work_package.version = version1 end - it_behaves_like 'is valid' + include_examples 'is valid' end end @@ -289,7 +220,7 @@ work_package.version = nil end - it_behaves_like 'is valid' + include_examples 'is valid' end describe 'WITH a version' do @@ -297,7 +228,7 @@ work_package.version = version1 end - it_behaves_like 'is valid' + include_examples 'is valid' end end @@ -335,13 +266,13 @@ let(:parent) { task2 } - it_behaves_like 'version being restricted by the parent' + it_behaves_like 'version not being restricted by the parent' end describe "WITH a story as its parent" do let(:parent) { story } - it_behaves_like 'version being restricted by the parent' + it_behaves_like 'version not being restricted by the parent' end describe "WITH a non backlogs tracked work_package as its parent" do @@ -386,7 +317,7 @@ work_package.parent = parent end - it_behaves_like 'is valid' + include_examples 'is valid' end describe 'WITH the work_package having a different project' do @@ -395,7 +326,7 @@ work_package.project = other_project end - it_behaves_like 'is valid' + include_examples 'is valid' end end @@ -405,13 +336,13 @@ describe 'WITH a story as its parent' do let(:parent) { story } - it_behaves_like 'project id unrestricted by parent' + include_examples 'project id unrestricted by parent' end describe 'WITH a non backlogs work package as its parent' do let(:parent) { bug } - it_behaves_like 'project id unrestricted by parent' + include_examples 'project id unrestricted by parent' end end @@ -421,13 +352,13 @@ describe 'WITH a story as its parent' do let(:parent) { story2 } - it_behaves_like 'project id unrestricted by parent' + include_examples 'project id unrestricted by parent' end describe 'WITH a non backlogs work package as its parent' do let(:parent) { bug } - it_behaves_like 'project id unrestricted by parent' + include_examples 'project id unrestricted by parent' end end @@ -437,13 +368,13 @@ describe 'WITH a story as its parent' do let(:parent) { story } - it_behaves_like 'project id unrestricted by parent' + include_examples 'project id unrestricted by parent' end describe 'WITH a non backlogs work package as its parent' do let(:parent) { bug2 } - it_behaves_like 'project id unrestricted by parent' + include_examples 'project id unrestricted by parent' end end end diff --git a/modules/backlogs/spec/contracts/work_packages/create_contract_spec.rb b/modules/backlogs/spec/contracts/work_packages/create_contract_spec.rb index f86200eb904b..e9d275655783 100644 --- a/modules/backlogs/spec/contracts/work_packages/create_contract_spec.rb +++ b/modules/backlogs/spec/contracts/work_packages/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -67,20 +67,4 @@ it('is valid') { expect(contract.errors.symbols_for(:story_points)).to be_empty } end end - - describe 'remaining hours' do - before do - contract.validate - end - - context 'when not changed' do - it('is valid') { expect(contract.errors.symbols_for(:remaining_hours)).to be_empty } - end - - context 'when changed' do - let(:changed_values) { ['remaining_hours'] } - - it('is valid') { expect(contract.errors.symbols_for(:remaining_hours)).to be_empty } - end - end end diff --git a/modules/backlogs/spec/contracts/work_packages/update_contract_spec.rb b/modules/backlogs/spec/contracts/work_packages/update_contract_spec.rb index 05d0cbaac164..318c2752a47c 100644 --- a/modules/backlogs/spec/contracts/work_packages/update_contract_spec.rb +++ b/modules/backlogs/spec/contracts/work_packages/update_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -69,46 +69,4 @@ it('is valid') { expect(contract.errors.empty?).to be true } end end - - describe 'remaining hours' do - context 'is no parent' do - before do - contract.validate - end - - context 'has not changed' do - it('is valid') { expect(contract.errors.empty?).to be true } - end - - context 'has changed' do - let(:changed_values) { ['remaining_hours'] } - - it('is valid') { expect(contract.errors.empty?).to be true } - end - end - - context 'is a parent' do - before do - child - work_package.reload - contract.validate - end - - let(:child) do - create(:work_package, parent_id: work_package.id, project:) - end - - context 'has not changed' do - it('is valid') { expect(contract.errors.empty?).to be true } - end - - context 'has changed' do - let(:changed_values) { ['remaining_hours'] } - - it('is invalid') do - expect(contract.errors.symbols_for(:remaining_hours)).to match_array([:error_readonly]) - end - end - end - end end diff --git a/modules/backlogs/spec/controllers/backlogs_settings_controller_spec.rb b/modules/backlogs/spec/controllers/backlogs_settings_controller_spec.rb index 5d409a448a4e..e69f92e34c72 100644 --- a/modules/backlogs/spec/controllers/backlogs_settings_controller_spec.rb +++ b/modules/backlogs/spec/controllers/backlogs_settings_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/controllers/versions_controller_spec.rb b/modules/backlogs/spec/controllers/versions_controller_spec.rb index 04cb13935cd5..d3b21652a47b 100644 --- a/modules/backlogs/spec/controllers/versions_controller_spec.rb +++ b/modules/backlogs/spec/controllers/versions_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -57,9 +57,6 @@ @params = {} @params[:id] = version.id @params[:version] = { name: @newVersionName } - end - - before do login_as current_user end diff --git a/modules/backlogs/spec/factories/impediment_factory.rb b/modules/backlogs/spec/factories/impediment_factory.rb index bd26c431a381..56bdcd3d7fc8 100644 --- a/modules/backlogs/spec/factories/impediment_factory.rb +++ b/modules/backlogs/spec/factories/impediment_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ association :type, factory: :type_task subject { 'Impeding progress' } description { 'Unable to print recipes' } - association :priority, factory: :priority + association :priority association :author, factory: :user end end diff --git a/modules/backlogs/spec/factories/sprint_factory.rb b/modules/backlogs/spec/factories/sprint_factory.rb index 3211fb573a7d..01736ae033d4 100644 --- a/modules/backlogs/spec/factories/sprint_factory.rb +++ b/modules/backlogs/spec/factories/sprint_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/factories/story_factory.rb b/modules/backlogs/spec/factories/story_factory.rb index 3bcdc27c53f6..1e67a1a083ca 100644 --- a/modules/backlogs/spec/factories/story_factory.rb +++ b/modules/backlogs/spec/factories/story_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,10 +28,10 @@ FactoryBot.define do factory :story do - association :priority, factory: :priority + priority factory: :priority sequence(:subject) { |n| "story#{n}" } description { 'story story story' } - association :type, factory: :type_feature - association :author, factory: :user + type factory: :type_feature + author factory: :user end end diff --git a/modules/backlogs/spec/factories/task_factory.rb b/modules/backlogs/spec/factories/task_factory.rb index 63f30b3e259a..99056543ee5d 100644 --- a/modules/backlogs/spec/factories/task_factory.rb +++ b/modules/backlogs/spec/factories/task_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ association :type, factory: :type_task subject { 'Printing Recipes' } description { 'Just printing recipes' } - association :priority, factory: :priority + association :priority association :author, factory: :user end end diff --git a/modules/backlogs/spec/factories/version_setting_factory.rb b/modules/backlogs/spec/factories/version_setting_factory.rb index 7f3807f49d8c..aa0714c510dd 100644 --- a/modules/backlogs/spec/factories/version_setting_factory.rb +++ b/modules/backlogs/spec/factories/version_setting_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/features/backlogs/create_story_spec.rb b/modules/backlogs/spec/features/backlogs/create_story_spec.rb index bbfa3719ba5f..61f1b7d206b2 100644 --- a/modules/backlogs/spec/features/backlogs/create_story_spec.rb +++ b/modules/backlogs/spec/features/backlogs/create_story_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -106,15 +106,15 @@ menu = find('.backlog-menu') menu.click click_link 'New Story' - fill_in 'subject', with: "The new story" - fill_in 'story points', with: "5" + fill_in 'Subject', with: "The new story" + fill_in 'Story Points', with: "5" # inactive types should not be selectable # but the user can choose from the active types expect(page) - .not_to have_css('option', text: inactive_story_type.name) + .to have_no_css('option', text: inactive_story_type.name) - select story_type2.name, from: 'type' + select story_type2.name, from: 'Type' # saving the new story find(:css, 'input[name=subject]').native.send_key :return @@ -126,14 +126,14 @@ # this will ensure that the page refresh is through before we check the order menu.click click_link 'New Story' - fill_in 'subject', with: "Another story" + fill_in 'Subject', with: "Another story" end # the order is kept even after a page refresh -> it is persisted in the db page.driver.refresh expect(page) - .not_to have_content 'Another story' + .to have_no_content 'Another story' expect(page) .to have_css '.story:nth-of-type(1)', text: 'The new story' diff --git a/modules/backlogs/spec/features/backlogs_in_backlog_view_spec.rb b/modules/backlogs/spec/features/backlogs_in_backlog_view_spec.rb index 55528a36fa31..bca7a75a26a7 100644 --- a/modules/backlogs/spec/features/backlogs_in_backlog_view_spec.rb +++ b/modules/backlogs/spec/features/backlogs_in_backlog_view_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,8 +29,7 @@ require 'spec_helper' require_relative '../support/pages/backlogs' -RSpec.describe 'Backlogs in backlog view', - js: true, +RSpec.describe 'Backlogs in backlog view', :js, with_cuprite: false do let!(:project) do create(:project, @@ -234,7 +233,7 @@ # the disabled backlog/sprint is no longer visible expect(page) - .not_to have_content(backlog.name) + .to have_no_content(backlog.name) # The others are unchanged backlogs_page @@ -256,13 +255,13 @@ # the disabled backlog/sprint is no longer visible expect(page) - .not_to have_content(other_project_sprint.name) + .to have_no_content(other_project_sprint.name) # The others are unchanged backlogs_page .expect_backlog(sprint) expect(page) - .not_to have_content(backlog.name) + .to have_no_content(backlog.name) end end diff --git a/modules/backlogs/spec/features/empty_backlogs_spec.rb b/modules/backlogs/spec/features/empty_backlogs_spec.rb index 00cffa55b496..ec3124e0af89 100644 --- a/modules/backlogs/spec/features/empty_backlogs_spec.rb +++ b/modules/backlogs/spec/features/empty_backlogs_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -63,7 +63,7 @@ it 'only shows a no results box' do expect(page).to have_css('.generic-table--no-results-container', text: I18n.t(:backlogs_empty_title)) - expect(page).not_to have_css('.generic-table--no-results-description') + expect(page).to have_no_css('.generic-table--no-results-description') end end end diff --git a/modules/backlogs/spec/features/impediments_spec.rb b/modules/backlogs/spec/features/impediments_spec.rb index a23c78f4ab86..b39a86c14d68 100644 --- a/modules/backlogs/spec/features/impediments_spec.rb +++ b/modules/backlogs/spec/features/impediments_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,7 @@ require 'spec_helper' -RSpec.describe 'Impediments on taskboard', - js: true, +RSpec.describe 'Impediments on taskboard', :js, with_cuprite: false do let!(:project) do create(:project, @@ -121,9 +120,9 @@ # Saves successfully expect(page) - .to have_selector('div.impediment', text: 'New impediment') + .to have_css('div.impediment', text: 'New impediment') expect(page) - .not_to have_selector('div.impediment.error', text: 'New impediment') + .to have_no_css('div.impediment.error', text: 'New impediment') # Attempt to create a new impediment with the id of a story from another sprint find('#impediments .add_new').click @@ -134,12 +133,12 @@ # Saves unsuccessfully expect(page) - .to have_selector('div.impediment', text: 'Other sprint impediment') + .to have_css('div.impediment', text: 'Other sprint impediment') expect(page) - .to have_selector('div.impediment.error', text: 'Other sprint impediment') + .to have_css('div.impediment.error', text: 'Other sprint impediment') expect(page) - .to have_selector('#msgBox', - text: "IDs of blocked work packages can only contain IDs of work packages in the current sprint.") + .to have_css('#msgBox', + text: "IDs of blocked work packages can only contain IDs of work packages in the current sprint.") click_on 'OK' @@ -152,12 +151,12 @@ # Saves unsuccessfully expect(page) - .to have_selector('div.impediment', text: 'Invalid id impediment') + .to have_css('div.impediment', text: 'Invalid id impediment') expect(page) - .to have_selector('div.impediment.error', text: 'Invalid id impediment') + .to have_css('div.impediment.error', text: 'Invalid id impediment') expect(page) - .to have_selector('#msgBox', - text: "IDs of blocked work packages can only contain IDs of work packages in the current sprint.") + .to have_css('#msgBox', + text: "IDs of blocked work packages can only contain IDs of work packages in the current sprint.") click_on 'OK' # Attempt to create a new impediment without specifying the blocked story/task @@ -168,11 +167,11 @@ # Saves unsuccessfully expect(page) - .to have_selector('div.impediment', text: 'Unblocking impediment') + .to have_css('div.impediment', text: 'Unblocking impediment') expect(page) - .to have_selector('div.impediment.error', text: 'Unblocking impediment') + .to have_css('div.impediment.error', text: 'Unblocking impediment') expect(page) - .to have_selector('#msgBox', text: "IDs of blocked work packages must contain the ID of at least one ticket") + .to have_css('#msgBox', text: "IDs of blocked work packages must contain the ID of at least one ticket") click_on 'OK' # Updating an impediment @@ -184,8 +183,8 @@ # Saves successfully expect(page) - .to have_selector('div.impediment', text: 'Updated impediment') + .to have_css('div.impediment', text: 'Updated impediment') expect(page) - .not_to have_selector('div.impediment.error', text: 'Updated impediment') + .to have_no_css('div.impediment.error', text: 'Updated impediment') end end diff --git a/modules/backlogs/spec/features/resolved_status_spec.rb b/modules/backlogs/spec/features/resolved_status_spec.rb index 93129f0115b0..3938d14c3028 100644 --- a/modules/backlogs/spec/features/resolved_status_spec.rb +++ b/modules/backlogs/spec/features/resolved_status_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/features/stories_in_backlog_spec.rb b/modules/backlogs/spec/features/stories_in_backlog_spec.rb index adf4eb1258d9..8900c4b216b5 100644 --- a/modules/backlogs/spec/features/stories_in_backlog_spec.rb +++ b/modules/backlogs/spec/features/stories_in_backlog_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,8 +29,7 @@ require 'spec_helper' require_relative '../support/pages/backlogs' -RSpec.describe 'Stories in backlog', - js: true, +RSpec.describe 'Stories in backlog', :js, with_cuprite: false do let!(:project) do create(:project, @@ -191,7 +190,7 @@ # All positions will be unique in the sprint expect(Story.where(version: sprint, type: story, project:).pluck(:position)) - .to match_array([1, 2, 3]) + .to contain_exactly(1, 2, 3) backlogs_page .expect_stories_in_order(sprint, new_story, sprint_story1, sprint_story2) @@ -225,23 +224,27 @@ backlogs_page .drag_in_sprint(sprint_story1, new_story) + # wait for backend to process the reordering + sleep(0.5) + backlogs_page .expect_stories_in_order(sprint, sprint_story1, new_story, sprint_story2) expect(Story.where(version: sprint, type: story, project:).pluck(:position)) - .to match_array([1, 2, 3]) + .to contain_exactly(1, 2, 3) # Moving a story to bottom backlogs_page .drag_in_sprint(sprint_story1, sprint_story2, before: false) + # wait for backend to process the reordering sleep(0.5) backlogs_page .expect_stories_in_order(sprint, new_story, sprint_story2, sprint_story1) expect(Story.where(version: sprint, type: story, project:).pluck(:position)) - .to match_array([1, 2, 3]) + .to contain_exactly(1, 2, 3) # Moving a story to from the backlog to the sprint (3rd position) @@ -249,13 +252,14 @@ backlogs_page .drag_in_sprint(backlog_story1, sprint_story2, before: false) + # wait for backend to process the reordering sleep(0.5) backlogs_page .expect_stories_in_order(sprint, new_story, sprint_story2, backlog_story1, sprint_story1) expect(Story.where(version: sprint, type: story, project:).pluck(:position)) - .to match_array([1, 2, 3, 4]) + .to contain_exactly(1, 2, 3, 4) # Available statuses when editing diff --git a/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb b/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb index 1215c6741afe..3965468c0f5b 100644 --- a/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb +++ b/modules/backlogs/spec/features/tasks_on_taskboard_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,8 +29,7 @@ require 'spec_helper' require_relative '../support/pages/taskboard' -RSpec.describe 'Tasks on taskboard', - js: true, +RSpec.describe 'Tasks on taskboard', :js, with_cuprite: false do let!(:project) do create(:project, @@ -235,8 +234,8 @@ # There is a button to the burndown chart expect(page) - .to have_selector("a[href='#{backlogs_project_sprint_burndown_chart_path(project, sprint)}']", - text: 'Burndown Chart') + .to have_css("a[href='#{backlogs_project_sprint_burndown_chart_path(project, sprint)}']", + text: 'Burndown Chart') # Tasks can get a color per assigned user visit my_settings_path diff --git a/modules/backlogs/spec/features/work_packages/filter_spec.rb b/modules/backlogs/spec/features/work_packages/filter_spec.rb index 09f8bfc05a25..364659094f90 100644 --- a/modules/backlogs/spec/features/work_packages/filter_spec.rb +++ b/modules/backlogs/spec/features/work_packages/filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'Filter by backlog type', js: true do +RSpec.describe 'Filter by backlog type', :js do let(:story_type) do type = create(:type_feature) project.types << type diff --git a/modules/backlogs/spec/features/work_packages/story_points_spec.rb b/modules/backlogs/spec/features/work_packages/story_points_spec.rb index 3429aafa4152..76de80282441 100644 --- a/modules/backlogs/spec/features/work_packages/story_points_spec.rb +++ b/modules/backlogs/spec/features/work_packages/story_points_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/helpers/version_settings_helper_spec.rb b/modules/backlogs/spec/helpers/version_settings_helper_spec.rb index a6c92332a5d3..545ddea42370 100644 --- a/modules/backlogs/spec/helpers/version_settings_helper_spec.rb +++ b/modules/backlogs/spec/helpers/version_settings_helper_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/models/backlog_spec.rb b/modules/backlogs/spec/models/backlog_spec.rb index 3e6ece7a8846..12cf765bd802 100644 --- a/modules/backlogs/spec/models/backlog_spec.rb +++ b/modules/backlogs/spec/models/backlog_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/models/burndown_spec.rb b/modules/backlogs/spec/models/burndown_spec.rb index bb96a40dff56..44072a954dc7 100644 --- a/modules/backlogs/spec/models/burndown_spec.rb +++ b/modules/backlogs/spec/models/burndown_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/models/impediment_spec.rb b/modules/backlogs/spec/models/impediment_spec.rb index 67882f97ea43..a8da3ece88ad 100644 --- a/modules/backlogs/spec/models/impediment_spec.rb +++ b/modules/backlogs/spec/models/impediment_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/models/issue_position_spec.rb b/modules/backlogs/spec/models/issue_position_spec.rb index 9344bf10aa64..d4424f7b4c64 100644 --- a/modules/backlogs/spec/models/issue_position_spec.rb +++ b/modules/backlogs/spec/models/issue_position_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/models/issue_spec.rb b/modules/backlogs/spec/models/issue_spec.rb index 5acec8644933..db0e315e3f75 100644 --- a/modules/backlogs/spec/models/issue_spec.rb +++ b/modules/backlogs/spec/models/issue_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -80,36 +80,6 @@ expect(work_package).not_to be_valid end end - - describe 'remaining hours' do - it 'allows empty values' do - expect(work_package.remaining_hours).to be_nil - expect(work_package).to be_valid - end - - it 'allows values greater than or equal to 0' do - work_package.remaining_hours = '0' - expect(work_package).to be_valid - - work_package.remaining_hours = '1' - expect(work_package).to be_valid - end - - it 'disallows negative values' do - work_package.remaining_hours = '-1' - expect(work_package).not_to be_valid - end - - it 'disallows string values, that are not numbers' do - work_package.remaining_hours = 'abc' - expect(work_package).not_to be_valid - end - - it 'allows non-integers' do - work_package.remaining_hours = '1.3' - expect(work_package).to be_valid - end - end end describe 'definition of done' do diff --git a/modules/backlogs/spec/models/sprint_spec.rb b/modules/backlogs/spec/models/sprint_spec.rb index 01f84ea21aec..438ef995829e 100644 --- a/modules/backlogs/spec/models/sprint_spec.rb +++ b/modules/backlogs/spec/models/sprint_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -43,7 +43,7 @@ end it { - expect(Sprint.displayed_left(project)).to match_array [sprint] + expect(Sprint.displayed_left(project)).to contain_exactly(sprint) } end @@ -58,7 +58,7 @@ sprint.save end - it { expect(Sprint.displayed_left(project)).to match_array [sprint] } + it { expect(Sprint.displayed_left(project)).to contain_exactly(sprint) } end describe 'WITH no version setting defined' do @@ -67,7 +67,7 @@ sprint.save! end - it { expect(Sprint.displayed_left(project)).to match_array [sprint] } + it { expect(Sprint.displayed_left(project)).to contain_exactly(sprint) } end context 'WITH a shared version from another project' do @@ -93,7 +93,7 @@ describe 'WITH no version settings' do it "includes the shared version by default" do - expect(displayed).to match_array [version] + expect(displayed).to contain_exactly(version) end end @@ -103,7 +103,7 @@ end it "includes the shared version" do - expect(displayed).to match_array [version] + expect(displayed).to contain_exactly(version) end end @@ -113,7 +113,7 @@ end it "includes the shared version" do - expect(displayed).to match_array [] + expect(displayed).to be_empty end end @@ -123,7 +123,7 @@ end it "includes the shared version" do - expect(displayed).to match_array [version] + expect(displayed).to contain_exactly(version) end end @@ -133,7 +133,7 @@ end it "does not include the shared version" do - expect(displayed).to match_array [] + expect(displayed).to be_empty end end @@ -144,7 +144,7 @@ end it "includes the shared version" do - expect(displayed).to match_array [version] + expect(displayed).to contain_exactly(version) end end @@ -155,7 +155,7 @@ end it "does not include the shared version" do - expect(displayed).to match_array [] + expect(displayed).to be_empty end end @@ -166,7 +166,7 @@ end it "includes the shared version" do - expect(displayed).to match_array [version] + expect(displayed).to contain_exactly(version) end end @@ -177,7 +177,7 @@ end it "does not include the shared version" do - expect(displayed).to match_array [] + expect(displayed).to be_empty end end end @@ -190,7 +190,7 @@ sprint.save! end - it { expect(Sprint.displayed_right(project)).to match_array [sprint] } + it { expect(Sprint.displayed_right(project)).to contain_exactly(sprint) } end describe '#order_by_date' do diff --git a/modules/backlogs/spec/models/story_spec.rb b/modules/backlogs/spec/models/story_spec.rb index b0d4198bdfd8..9dfdcf892028 100644 --- a/modules/backlogs/spec/models/story_spec.rb +++ b/modules/backlogs/spec/models/story_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -89,7 +89,7 @@ story1 end - it { expect(Story.backlogs(project, [version.id])[version.id]).to match_array([story1]) } + it { expect(Story.backlogs(project, [version.id])[version.id]).to contain_exactly(story1) } end describe "WITH two sprints @@ -103,8 +103,8 @@ story2.save! end - it { expect(Story.backlogs(project, [version.id, version2.id])[version.id]).to match_array([story1]) } - it { expect(Story.backlogs(project, [version.id, version2.id])[version2.id]).to match_array([story2]) } + it { expect(Story.backlogs(project, [version.id, version2.id])[version.id]).to contain_exactly(story1) } + it { expect(Story.backlogs(project, [version.id, version2.id])[version2.id]).to contain_exactly(story2) } end describe "WITH two sprints @@ -119,7 +119,7 @@ story2.save! end - it { expect(Story.backlogs(project, [version.id])[version.id]).to match_array([story1]) } + it { expect(Story.backlogs(project, [version.id])[version.id]).to contain_exactly(story1) } it { expect(Story.backlogs(project, [version.id])[version2.id]).to be_empty } end @@ -141,7 +141,7 @@ story2.save! end - it { expect(Story.backlogs(project, [version.id, version2.id])[version.id]).to match_array([story1]) } + it { expect(Story.backlogs(project, [version.id, version2.id])[version.id]).to contain_exactly(story1) } it { expect(Story.backlogs(project, [version.id, version2.id])[version2.id]).to be_empty } end @@ -158,7 +158,7 @@ story2.save! end - it { expect(Story.backlogs(project, [version.id])[version.id]).to match_array([story1]) } + it { expect(Story.backlogs(project, [version.id])[version.id]).to contain_exactly(story1) } end describe "WITH one sprint @@ -170,7 +170,7 @@ story1.save end - it { expect(Story.backlogs(project, [version.id])[version.id]).to match_array([story1, story2]) } + it { expect(Story.backlogs(project, [version.id])[version.id]).to contain_exactly(story1, story2) } end describe "WITH one sprint @@ -182,7 +182,7 @@ task.save end - it { expect(Story.backlogs(project, [version.id])[version.id]).to match_array([story1]) } + it { expect(Story.backlogs(project, [version.id])[version.id]).to contain_exactly(story1) } end describe "WITH one sprint @@ -193,7 +193,7 @@ story1 end - it { expect(Story.backlogs(project, [version.id])[version.id]).to match_array([story1]) } + it { expect(Story.backlogs(project, [version.id])[version.id]).to contain_exactly(story1) } end end end diff --git a/modules/backlogs/spec/models/task_spec.rb b/modules/backlogs/spec/models/task_spec.rb index b0316f5175c3..0d64afcf9003 100644 --- a/modules/backlogs/spec/models/task_spec.rb +++ b/modules/backlogs/spec/models/task_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -101,49 +101,4 @@ end end end - - describe 'copying remaining_hours to estimated_hours and vice versa' do - context 'providing only remaining_hours' do - before do - task.remaining_hours = 3 - - task.save! - end - - it 'copies to estimated_hours' do - expect(task.estimated_hours) - .to eql task.remaining_hours - end - end - - context 'providing only estimated_hours' do - before do - task.estimated_hours = 3 - - task.save! - end - - it 'copies to estimated_hours' do - expect(task.remaining_hours) - .to eql task.estimated_hours - end - end - - context 'providing estimated_hours and remaining_hours' do - before do - task.estimated_hours = 3 - task.remaining_hours = 5 - - task.save! - end - - it 'leaves the values unchanged' do - expect(task.remaining_hours) - .to be 5.0 - - expect(task.estimated_hours) - .to be 3.0 - end - end - end end diff --git a/modules/backlogs/spec/models/user_spec.rb b/modules/backlogs/spec/models/user_spec.rb index 51fb080bbdad..ef77d12a029b 100644 --- a/modules/backlogs/spec/models/user_spec.rb +++ b/modules/backlogs/spec/models/user_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/models/version_setting_spec.rb b/modules/backlogs/spec/models/version_setting_spec.rb index 704808791441..c507b7a717ea 100644 --- a/modules/backlogs/spec/models/version_setting_spec.rb +++ b/modules/backlogs/spec/models/version_setting_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/models/version_spec.rb b/modules/backlogs/spec/models/version_spec.rb index f98f7e94d5d1..2902b8779e5b 100644 --- a/modules/backlogs/spec/models/version_spec.rb +++ b/modules/backlogs/spec/models/version_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/models/work_package_spec.rb b/modules/backlogs/spec/models/work_package_spec.rb index 4ee9e0a95395..948bf9b8e25a 100644 --- a/modules/backlogs/spec/models/work_package_spec.rb +++ b/modules/backlogs/spec/models/work_package_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ it 'returns all the ids of types that are configures to be considered backlogs types' do allow(Setting).to receive(:plugin_openproject_backlogs).and_return({ 'story_types' => [1], 'task_type' => 2 }) - expect(described_class.backlogs_types).to match_array([1, 2]) + expect(described_class.backlogs_types).to contain_exactly(1, 2) end it 'returns an empty array if nothing is defined' do @@ -44,10 +44,10 @@ it 'reflects changes to the configuration' do allow(Setting).to receive(:plugin_openproject_backlogs).and_return({ 'story_types' => [1], 'task_type' => 2 }) - expect(described_class.backlogs_types).to match_array([1, 2]) + expect(described_class.backlogs_types).to contain_exactly(1, 2) allow(Setting).to receive(:plugin_openproject_backlogs).and_return({ 'story_types' => [3], 'task_type' => 4 }) - expect(described_class.backlogs_types).to match_array([3, 4]) + expect(described_class.backlogs_types).to contain_exactly(3, 4) end end diff --git a/modules/backlogs/spec/routing/rb_burndown_charts_routing_spec.rb b/modules/backlogs/spec/routing/rb_burndown_charts_routing_spec.rb index ec46437ba28d..684bb8c8f29d 100644 --- a/modules/backlogs/spec/routing/rb_burndown_charts_routing_spec.rb +++ b/modules/backlogs/spec/routing/rb_burndown_charts_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/routing/rb_impediments_routing_spec.rb b/modules/backlogs/spec/routing/rb_impediments_routing_spec.rb index 376bcf295415..34d22f569a9a 100644 --- a/modules/backlogs/spec/routing/rb_impediments_routing_spec.rb +++ b/modules/backlogs/spec/routing/rb_impediments_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/routing/rb_master_backlogs_routing_spec.rb b/modules/backlogs/spec/routing/rb_master_backlogs_routing_spec.rb index 2e74586ef2f4..4a33b7bd8b0f 100644 --- a/modules/backlogs/spec/routing/rb_master_backlogs_routing_spec.rb +++ b/modules/backlogs/spec/routing/rb_master_backlogs_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/routing/rb_queries_routing_spec.rb b/modules/backlogs/spec/routing/rb_queries_routing_spec.rb index b85d3e9290c8..366051e6fe39 100644 --- a/modules/backlogs/spec/routing/rb_queries_routing_spec.rb +++ b/modules/backlogs/spec/routing/rb_queries_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/routing/rb_sprints_routing_spec.rb b/modules/backlogs/spec/routing/rb_sprints_routing_spec.rb index a2ab1ee5f227..8cab06b4c360 100644 --- a/modules/backlogs/spec/routing/rb_sprints_routing_spec.rb +++ b/modules/backlogs/spec/routing/rb_sprints_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/routing/rb_stories_routing_spec.rb b/modules/backlogs/spec/routing/rb_stories_routing_spec.rb index 54737e38e106..8762e0b0e8bf 100644 --- a/modules/backlogs/spec/routing/rb_stories_routing_spec.rb +++ b/modules/backlogs/spec/routing/rb_stories_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/routing/rb_taskboards_routing_spec.rb b/modules/backlogs/spec/routing/rb_taskboards_routing_spec.rb index 55db91d0e9b6..2921132d50f8 100644 --- a/modules/backlogs/spec/routing/rb_taskboards_routing_spec.rb +++ b/modules/backlogs/spec/routing/rb_taskboards_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/routing/rb_tasks_routing_spec.rb b/modules/backlogs/spec/routing/rb_tasks_routing_spec.rb index b893ceb86ff7..5101f514800c 100644 --- a/modules/backlogs/spec/routing/rb_tasks_routing_spec.rb +++ b/modules/backlogs/spec/routing/rb_tasks_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/routing/rb_wikis_routing_spec.rb b/modules/backlogs/spec/routing/rb_wikis_routing_spec.rb index 219019185f5d..a31d60c10b78 100644 --- a/modules/backlogs/spec/routing/rb_wikis_routing_spec.rb +++ b/modules/backlogs/spec/routing/rb_wikis_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/services/impediments/create_services_spec.rb b/modules/backlogs/spec/services/impediments/create_services_spec.rb index 04c6fe0241b7..17d9f0b2786b 100644 --- a/modules/backlogs/spec/services/impediments/create_services_spec.rb +++ b/modules/backlogs/spec/services/impediments/create_services_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/services/impediments/update_service_spec.rb b/modules/backlogs/spec/services/impediments/update_service_spec.rb index 5faacddbbd77..04c34cde9892 100644 --- a/modules/backlogs/spec/services/impediments/update_service_spec.rb +++ b/modules/backlogs/spec/services/impediments/update_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/services/stories/create_service_spec.rb b/modules/backlogs/spec/services/stories/create_service_spec.rb index 0e00e03727d6..1d9876cf3feb 100644 --- a/modules/backlogs/spec/services/stories/create_service_spec.rb +++ b/modules/backlogs/spec/services/stories/create_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -49,8 +49,7 @@ end let(:instance) do - Stories::CreateService - .new(user:) + described_class.new(user:) end let(:attributes) do diff --git a/modules/backlogs/spec/services/work_packages/update_ancestors_service_spec.rb b/modules/backlogs/spec/services/work_packages/update_ancestors_service_spec.rb deleted file mode 100644 index 38046fe54f6a..000000000000 --- a/modules/backlogs/spec/services/work_packages/update_ancestors_service_spec.rb +++ /dev/null @@ -1,93 +0,0 @@ -#-- copyright -# OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version 3. -# -# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: -# Copyright (C) 2006-2013 Jean-Philippe Lang -# Copyright (C) 2010-2013 the ChiliProject Team -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -# See COPYRIGHT and LICENSE files for more details. -#++ - -require 'spec_helper' - -RSpec.describe WorkPackages::UpdateAncestorsService do - let(:user) { create(:user) } - - let(:sibling_remaining_hours) { 7.0 } - let(:parent_remaining_hours) { 2.0 } - let(:work_package_remaining_hours) { 5.0 } - - let!(:grandparent) { create(:work_package) } - let!(:parent) { create(:work_package, parent: grandparent, remaining_hours: parent_remaining_hours) } - let!(:sibling) { create(:work_package, parent:, remaining_hours: sibling_remaining_hours) } - - context 'for a new ancestors' do - let!(:work_package) { create(:work_package, remaining_hours: work_package_remaining_hours, parent:) } - - before do - described_class.new(user:, work_package:).call(%i(parent)) - end - - it 'recalculates the remaining_hours for new parent and grandparent' do - [grandparent, parent, sibling].each(&:reload) - - expect(grandparent.remaining_hours).to be_nil - expect(grandparent.derived_remaining_hours) - .to eql(sibling_remaining_hours + work_package_remaining_hours + parent_remaining_hours) - - expect(parent.remaining_hours).to eql(parent_remaining_hours) - expect(parent.derived_remaining_hours).to eql(sibling_remaining_hours + work_package_remaining_hours) - - expect(sibling.remaining_hours).to eql(sibling_remaining_hours) - expect(sibling.derived_remaining_hours).to be_nil - - expect(work_package.remaining_hours).to eql(work_package_remaining_hours) - expect(work_package.derived_remaining_hours).to be_nil - end - end - - context 'for the previous ancestors' do - let(:work_package) { create(:work_package, remaining_hours: work_package_remaining_hours, parent:) } - - before do - work_package.parent = nil - work_package.save! - - described_class.new(user:, work_package:).call(%i(parent)) - end - - it 'recalculates the derived_remaining_hours for former parent and grandparent' do - [grandparent, parent, sibling, work_package].each(&:reload) - - expect(grandparent.remaining_hours).to be_nil - expect(grandparent.derived_remaining_hours).to eql sibling_remaining_hours + parent_remaining_hours - - expect(parent.remaining_hours).to eql(parent_remaining_hours) - expect(parent.derived_remaining_hours).to eql sibling_remaining_hours - - expect(sibling.remaining_hours).to eql sibling_remaining_hours - expect(sibling.derived_remaining_hours).to be_nil - - expect(work_package.remaining_hours).to eql work_package_remaining_hours - expect(work_package.derived_remaining_hours).to be_nil - end - end -end diff --git a/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb b/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb index 056f1521527e..c0a131cfe255 100644 --- a/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb +++ b/modules/backlogs/spec/services/work_packages/update_service_version_inheritance_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/support/pages/backlogs.rb b/modules/backlogs/spec/support/pages/backlogs.rb index f9d042ae9dff..721ff4681593 100644 --- a/modules/backlogs/spec/support/pages/backlogs.rb +++ b/modules/backlogs/spec/support/pages/backlogs.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -54,13 +54,13 @@ def alter_attributes_in_edit_story_mode(story, attributes) attributes.each do |key, value| case key when :subject - fill_in 'subject', with: value + fill_in 'Subject', with: value when :story_points - fill_in 'story points', with: value + fill_in 'Story Points', with: value when :status - select value, from: 'status' + select value, from: 'Status' when :type - select value, from: 'type' + select value, from: 'Type' else raise NotImplementedError end @@ -96,7 +96,7 @@ def save_story_from_edit_mode(story) find('input[name=subject]').native.send_key :return expect(page) - .not_to have_selector('input[name=subject]') + .to have_no_css('input[name=subject]') end if story @@ -111,7 +111,7 @@ def save_backlog_from_edit_mode(backlog) find('input[name=name]').native.send_key :return expect(page) - .to have_selector('.start_date.editable') + .to have_css('.start_date.editable') end end @@ -161,12 +161,12 @@ def fold_backlog(backlog) def expect_sprint(sprint) expect(page) - .to have_selector("#sprint_backlogs_container #{backlog_selector(sprint)}") + .to have_css("#sprint_backlogs_container #{backlog_selector(sprint)}") end def expect_backlog(sprint) expect(page) - .to have_selector("#owner_backlogs_container #{backlog_selector(sprint)}") + .to have_css("#owner_backlogs_container #{backlog_selector(sprint)}") end def expect_story_in_sprint(story, sprint) @@ -179,7 +179,7 @@ def expect_story_in_sprint(story, sprint) def expect_story_not_in_sprint(story, sprint) within_backlog(sprint) do expect(page) - .not_to have_selector(story_selector(story).to_s) + .to have_no_selector(story_selector(story).to_s) end end @@ -189,13 +189,13 @@ def expect_for_story(story, attributes) case key when :subject expect(page) - .to have_selector('div.subject', text: value) + .to have_css('div.subject', text: value) when :status expect(page) - .to have_selector('div.status_id', text: value) + .to have_css('div.status_id', text: value) when :type expect(page) - .to have_selector('div.type_id', text: value) + .to have_css('div.type_id', text: value) else raise NotImplementedError end @@ -239,7 +239,7 @@ def expect_in_backlog_menu(backlog, item_name) find('.header .menu-trigger').click expect(page) - .to have_selector('.header .backlog-menu .item', text: item_name) + .to have_css('.header .backlog-menu .item', text: item_name) # Close it again for next test find('.header .menu-trigger').click diff --git a/modules/backlogs/spec/support/pages/taskboard.rb b/modules/backlogs/spec/support/pages/taskboard.rb index 78a13124e56f..37e71332d3f9 100644 --- a/modules/backlogs/spec/support/pages/taskboard.rb +++ b/modules/backlogs/spec/support/pages/taskboard.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -45,13 +45,13 @@ def expect_story(story) def expect_task(task) expect(page) - .to have_selector("#work_package_#{task.id}") + .to have_css("#work_package_#{task.id}") end def expect_task_in_story_column(task, story, column) within ".story_#{story.id} td:nth-of-type(#{column + 2})" do expect(page) - .to have_selector("#work_package_#{task.id}") + .to have_css("#work_package_#{task.id}") end end @@ -62,7 +62,7 @@ def expect_work_package_not_visible(work_package) def expect_color_for_task(hex_color, task) expect(page) - .to have_selector("#work_package_#{task.id}[style='background-color:#{hex_color};']") + .to have_css("#work_package_#{task.id}[style='background-color:#{hex_color};']") end def add_task(story, attributes) @@ -70,8 +70,8 @@ def add_task(story, attributes) change_attributes_in_modal(attributes) - expect(page).not_to have_selector('.ui-dialog') - expect(page).not_to have_selector('#work_package_') + expect(page).to have_no_css('.ui-dialog') + expect(page).to have_no_css('#work_package_') end def update_task(task, attributes) @@ -79,7 +79,7 @@ def update_task(task, attributes) change_attributes_in_modal(attributes) - expect(page).not_to have_selector('.ui-dialog') + expect(page).to have_no_css('.ui-dialog') sleep(0.5) end @@ -116,11 +116,11 @@ def change_attributes_in_modal(attributes) attributes.each do |key, value| case key when :subject - fill_in 'subject', with: value + fill_in 'Subject', with: value when :assignee - select value, from: 'assigned to' + select value, from: 'Assignee' when :remaining_hours - fill_in 'remaining hours', with: value + fill_in 'Remaining work', with: value end end diff --git a/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb b/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb index c56d2e4169b3..3d2492afe9ef 100644 --- a/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb +++ b/modules/backlogs/spec/views/rb_burndown_charts/show_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb b/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb index 5f19a647f300..5397fba52b76 100644 --- a/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb +++ b/modules/backlogs/spec/views/rb_master_backlogs/index.html.erb_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/backlogs/spec/views/rb_taskboards/show_spec.rb b/modules/backlogs/spec/views/rb_taskboards/show_spec.rb index b298108f3814..434f3f11ef44 100644 --- a/modules/backlogs/spec/views/rb_taskboards/show_spec.rb +++ b/modules/backlogs/spec/views/rb_taskboards/show_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -104,7 +104,7 @@ render stories.each do |story| - expect(rendered).to have_selector("#story_#{story.id} .id", text: story.id.to_s) + expect(rendered).to have_css("#story_#{story.id} .id", text: story.id.to_s) end end @@ -112,7 +112,7 @@ render stories.each do |story| - expect(rendered).to have_selector("#story_#{story.id} .subject", text: story.subject) + expect(rendered).to have_css("#story_#{story.id} .subject", text: story.subject) end end @@ -120,7 +120,7 @@ render stories.each do |story| - expect(rendered).to have_selector("#story_#{story.id} .status", text: story.status.name) + expect(rendered).to have_css("#story_#{story.id} .status", text: story.status.name) end end @@ -132,7 +132,7 @@ stories.each do |story| expected_text = story.assigned_to ? story.assigned_to.name : 'Unassigned' - expect(rendered).to have_selector("#story_#{story.id} .assigned_to_id", text: expected_text) + expect(rendered).to have_css("#story_#{story.id} .assigned_to_id", text: expected_text) end end end @@ -160,7 +160,7 @@ stories.each do |story| assert_select "tr.story_#{story.id} td.add_new" do |td| expect(td.count).to eq 1 - expect(td.first).not_to have_content '+' + expect(td.first).to have_no_content '+' expect(td.first[:class]).not_to include 'clickable' end end @@ -188,7 +188,7 @@ stories.each do |_story| assert_select '#impediments td.add_new' do |td| expect(td.count).to eq 1 - expect(td.first).not_to have_content '+' + expect(td.first).to have_no_content '+' expect(td.first[:class]).not_to include 'clickable' end end @@ -204,7 +204,7 @@ assert_select '.model.work_package.task' do |task| expect(task.count).to eq 1 - expect(task.first).not_to have_css '.task.prevent_edit' + expect(task.first).to have_no_css '.task.prevent_edit' end end @@ -230,7 +230,7 @@ assert_select '.model.work_package.impediment' do |impediment| expect(impediment.count).to eq 3 # 2 additional for the task and the invisible form - expect(impediment.first).not_to have_css '.impediment.prevent_edit' + expect(impediment.first).to have_no_css '.impediment.prevent_edit' end end diff --git a/modules/backlogs/spec/views/shared/not_configured_spec.rb b/modules/backlogs/spec/views/shared/not_configured_spec.rb index 5074bccd26b8..8279829222d7 100644 --- a/modules/backlogs/spec/views/shared/not_configured_spec.rb +++ b/modules/backlogs/spec/views/shared/not_configured_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/bcf/comments/base_contract.rb b/modules/bim/app/contracts/bim/bcf/comments/base_contract.rb index 18234c32ee34..c272d63966b7 100644 --- a/modules/bim/app/contracts/bim/bcf/comments/base_contract.rb +++ b/modules/bim/app/contracts/bim/bcf/comments/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/bcf/comments/create_contract.rb b/modules/bim/app/contracts/bim/bcf/comments/create_contract.rb index 00e48977be89..d6cf1ce2810a 100644 --- a/modules/bim/app/contracts/bim/bcf/comments/create_contract.rb +++ b/modules/bim/app/contracts/bim/bcf/comments/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/bcf/comments/update_contract.rb b/modules/bim/app/contracts/bim/bcf/comments/update_contract.rb index 56eea9455969..6f0d2ef4846b 100644 --- a/modules/bim/app/contracts/bim/bcf/comments/update_contract.rb +++ b/modules/bim/app/contracts/bim/bcf/comments/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/bcf/concerns/manage_bcf_guarded.rb b/modules/bim/app/contracts/bim/bcf/concerns/manage_bcf_guarded.rb index c820aea4aac5..840e9faa00e1 100644 --- a/modules/bim/app/contracts/bim/bcf/concerns/manage_bcf_guarded.rb +++ b/modules/bim/app/contracts/bim/bcf/concerns/manage_bcf_guarded.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/bcf/issues/base_contract.rb b/modules/bim/app/contracts/bim/bcf/issues/base_contract.rb index d47ed875ea67..dbd47184d5ee 100644 --- a/modules/bim/app/contracts/bim/bcf/issues/base_contract.rb +++ b/modules/bim/app/contracts/bim/bcf/issues/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/bcf/issues/create_contract.rb b/modules/bim/app/contracts/bim/bcf/issues/create_contract.rb index 83b12035d80d..a84acfeff6d2 100644 --- a/modules/bim/app/contracts/bim/bcf/issues/create_contract.rb +++ b/modules/bim/app/contracts/bim/bcf/issues/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/bcf/issues/delete_contract.rb b/modules/bim/app/contracts/bim/bcf/issues/delete_contract.rb index 43526c32aea2..19067e6cf368 100644 --- a/modules/bim/app/contracts/bim/bcf/issues/delete_contract.rb +++ b/modules/bim/app/contracts/bim/bcf/issues/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/bcf/issues/update_contract.rb b/modules/bim/app/contracts/bim/bcf/issues/update_contract.rb index 7b3f4dedcc31..4a84acd9d064 100644 --- a/modules/bim/app/contracts/bim/bcf/issues/update_contract.rb +++ b/modules/bim/app/contracts/bim/bcf/issues/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/bcf/viewpoints/create_contract.rb b/modules/bim/app/contracts/bim/bcf/viewpoints/create_contract.rb index 0d678b5ff770..40b02c025f59 100644 --- a/modules/bim/app/contracts/bim/bcf/viewpoints/create_contract.rb +++ b/modules/bim/app/contracts/bim/bcf/viewpoints/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/bcf/viewpoints/delete_contract.rb b/modules/bim/app/contracts/bim/bcf/viewpoints/delete_contract.rb index 6706e24605f8..1acb4fdbea67 100644 --- a/modules/bim/app/contracts/bim/bcf/viewpoints/delete_contract.rb +++ b/modules/bim/app/contracts/bim/bcf/viewpoints/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/bcf/work_packages/update_contract.rb b/modules/bim/app/contracts/bim/bcf/work_packages/update_contract.rb index fa05d5c90939..315ce53237ea 100644 --- a/modules/bim/app/contracts/bim/bcf/work_packages/update_contract.rb +++ b/modules/bim/app/contracts/bim/bcf/work_packages/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/ifc_models/base_contract.rb b/modules/bim/app/contracts/bim/ifc_models/base_contract.rb index 499c2c1d26da..5e6ac82b9659 100644 --- a/modules/bim/app/contracts/bim/ifc_models/base_contract.rb +++ b/modules/bim/app/contracts/bim/ifc_models/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/ifc_models/create_contract.rb b/modules/bim/app/contracts/bim/ifc_models/create_contract.rb index dcc828343b31..2cfc627ebdd1 100644 --- a/modules/bim/app/contracts/bim/ifc_models/create_contract.rb +++ b/modules/bim/app/contracts/bim/ifc_models/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/contracts/bim/ifc_models/update_contract.rb b/modules/bim/app/contracts/bim/ifc_models/update_contract.rb index 853a386787e8..8d28bbbbe8e2 100644 --- a/modules/bim/app/contracts/bim/ifc_models/update_contract.rb +++ b/modules/bim/app/contracts/bim/ifc_models/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/root.rb b/modules/bim/app/controllers/bim/bcf/api/root.rb index 5a0102d807fe..d2dfa44703c6 100644 --- a/modules/bim/app/controllers/bim/bcf/api/root.rb +++ b/modules/bim/app/controllers/bim/bcf/api/root.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/auth_api.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/auth_api.rb index 74dd142ad4a5..131f012fdca5 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/auth_api.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/auth_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/comments/api.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/comments/api.rb index b8b1c6aa6b1a..e6899cf3c636 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/comments/api.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/comments/api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/current_user_api.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/current_user_api.rb index 6bfe9b5a59d9..5a6409051c48 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/current_user_api.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/current_user_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/create.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/create.rb index 5c3fa8a8a519..110a4d4e9c9d 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/create.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/create.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/delete.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/delete.rb index 86adb63af217..82738973cf71 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/delete.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/delete.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/index.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/index.rb index 0a660404fb45..7117e8e310ae 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/index.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/index.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/modify_mixin.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/modify_mixin.rb index 1eb2279587e8..52322e087440 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/modify_mixin.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/modify_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/show.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/show.rb index 49c1b7c1150f..87f36ffeb9e3 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/show.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/show.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/update.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/update.rb index 5d28b512831e..ebb43370a649 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/update.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/endpoints/update.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/project_extensions/api.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/project_extensions/api.rb index a57ae7b21e46..581a9b472a8b 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/project_extensions/api.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/project_extensions/api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/projects_api.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/projects_api.rb index acb728039e41..46477890474d 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/projects_api.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/projects_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/topics_api.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/topics_api.rb index 3412556b6ed4..13e53a7299bf 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/topics_api.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/topics_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/api/v2_1/viewpoints/api.rb b/modules/bim/app/controllers/bim/bcf/api/v2_1/viewpoints/api.rb index dfe1e234fe91..098096bdeef4 100644 --- a/modules/bim/app/controllers/bim/bcf/api/v2_1/viewpoints/api.rb +++ b/modules/bim/app/controllers/bim/bcf/api/v2_1/viewpoints/api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/bcf/issues_controller.rb b/modules/bim/app/controllers/bim/bcf/issues_controller.rb index f05fe9fa1d2d..e90753492954 100644 --- a/modules/bim/app/controllers/bim/bcf/issues_controller.rb +++ b/modules/bim/app/controllers/bim/bcf/issues_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/ifc_models/ifc_models_controller.rb b/modules/bim/app/controllers/bim/ifc_models/ifc_models_controller.rb index d592cc8c9f27..c85222270839 100644 --- a/modules/bim/app/controllers/bim/ifc_models/ifc_models_controller.rb +++ b/modules/bim/app/controllers/bim/ifc_models/ifc_models_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/controllers/bim/ifc_models/ifc_viewer_controller.rb b/modules/bim/app/controllers/bim/ifc_models/ifc_viewer_controller.rb index fd67d87b2c43..231a3d438da6 100644 --- a/modules/bim/app/controllers/bim/ifc_models/ifc_viewer_controller.rb +++ b/modules/bim/app/controllers/bim/ifc_models/ifc_viewer_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/formatters/bim/bcf/api/error_formatter/json.rb b/modules/bim/app/formatters/bim/bcf/api/error_formatter/json.rb index 8ed730ff158c..412148244112 100644 --- a/modules/bim/app/formatters/bim/bcf/api/error_formatter/json.rb +++ b/modules/bim/app/formatters/bim/bcf/api/error_formatter/json.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/helpers/bcf_application_helper.rb b/modules/bim/app/helpers/bcf_application_helper.rb index 11f7125cd06f..e76682ecf02f 100644 --- a/modules/bim/app/helpers/bcf_application_helper.rb +++ b/modules/bim/app/helpers/bcf_application_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/models/bim/bcf/comment.rb b/modules/bim/app/models/bim/bcf/comment.rb index 91efda107438..5799888ec6a9 100644 --- a/modules/bim/app/models/bim/bcf/comment.rb +++ b/modules/bim/app/models/bim/bcf/comment.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/models/bim/bcf/viewpoint.rb b/modules/bim/app/models/bim/bcf/viewpoint.rb index 90d854d045dc..ba286c74c823 100644 --- a/modules/bim/app/models/bim/bcf/viewpoint.rb +++ b/modules/bim/app/models/bim/bcf/viewpoint.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/models/bim/ifc_models/ifc_model.rb b/modules/bim/app/models/bim/ifc_models/ifc_model.rb index c72073e8c27c..6669205c231e 100644 --- a/modules/bim/app/models/bim/ifc_models/ifc_model.rb +++ b/modules/bim/app/models/bim/ifc_models/ifc_model.rb @@ -21,11 +21,11 @@ class IfcModel < ApplicationRecord scope :defaults, -> { where(is_default: true) } %i(ifc xkt).each do |name| - define_method "#{name}_attachment" do + define_method :"#{name}_attachment" do get_attached_type(name) end - define_method "#{name}_attachment=" do |file| + define_method :"#{name}_attachment=" do |file| if name == :ifc # Also delete xkt delete_attachment :xkt diff --git a/modules/bim/app/models/bim/queries/work_packages/columns/bcf_thumbnail_column.rb b/modules/bim/app/models/bim/queries/work_packages/columns/bcf_thumbnail_column.rb index 9fe2abc86ee5..5333f27368fd 100644 --- a/modules/bim/app/models/bim/queries/work_packages/columns/bcf_thumbnail_column.rb +++ b/modules/bim/app/models/bim/queries/work_packages/columns/bcf_thumbnail_column.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/models/bim/queries/work_packages/filter/bcf_issue_associated_filter.rb b/modules/bim/app/models/bim/queries/work_packages/filter/bcf_issue_associated_filter.rb index f36d5d50cbdd..4b99bfcbcda4 100644 --- a/modules/bim/app/models/bim/queries/work_packages/filter/bcf_issue_associated_filter.rb +++ b/modules/bim/app/models/bim/queries/work_packages/filter/bcf_issue_associated_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/auth/single_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/auth/single_representer.rb index 7ab5d20683a7..00fc37c82768 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/auth/single_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/auth/single_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/base_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/base_representer.rb index 5ca255f506d8..8eede24a09f0 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/base_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/base_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/comments/authorization_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/comments/authorization_representer.rb index 6bd1b7aae84b..67596e6476a1 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/comments/authorization_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/comments/authorization_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/comments/single_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/comments/single_representer.rb index 186f4861eb52..0282df78adda 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/comments/single_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/comments/single_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/errors/error_mapper.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/errors/error_mapper.rb index b12834da6c2a..9ef8bef60860 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/errors/error_mapper.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/errors/error_mapper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/errors/error_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/errors/error_representer.rb index d198ab3fe48c..5d41c480c70b 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/errors/error_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/errors/error_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/project_extensions/representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/project_extensions/representer.rb index 0dd971eb58f1..a30cefb2e01d 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/project_extensions/representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/project_extensions/representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/projects/single_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/projects/single_representer.rb index ecb6eed99cd8..eb864d8759aa 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/projects/single_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/projects/single_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/topics/authorization_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/topics/authorization_representer.rb index 410878075e71..0b151c563d17 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/topics/authorization_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/topics/authorization_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/topics/single_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/topics/single_representer.rb index 021bf47429e2..7c7cca60cbcf 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/topics/single_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/topics/single_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/users/single_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/users/single_representer.rb index 1cdeea87fdd0..21525be7b206 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/users/single_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/users/single_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/base_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/base_representer.rb index 20ac9ec18ce9..e6cd1f25fad8 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/base_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/base_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/coloring_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/coloring_representer.rb index 4a902582dbdb..9ff060ae3c5a 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/coloring_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/coloring_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/full_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/full_representer.rb index a988fa9bc568..12f683a50073 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/full_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/full_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/selection_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/selection_representer.rb index a0c59682bba2..6f00e5b8ace6 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/selection_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/selection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/single_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/single_representer.rb index be10f887e021..b47a50ce02b1 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/single_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/single_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/visibility_representer.rb b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/visibility_representer.rb index eabd7b47ed75..35d89e0ff988 100644 --- a/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/visibility_representer.rb +++ b/modules/bim/app/representers/bim/bcf/api/v2_1/viewpoints/visibility_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/seeders/bim.yml b/modules/bim/app/seeders/bim.yml index 6c84b389d6e5..26ccb2d54e65 100644 --- a/modules/bim/app/seeders/bim.yml +++ b/modules/bim/app/seeders/bim.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/seeders/bim/basic_data/setting_seeder.rb b/modules/bim/app/seeders/bim/basic_data/setting_seeder.rb index d98f7a598fb4..fe8b80117e5f 100644 --- a/modules/bim/app/seeders/bim/basic_data/setting_seeder.rb +++ b/modules/bim/app/seeders/bim/basic_data/setting_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/seeders/bim/basic_data/theme_seeder.rb b/modules/bim/app/seeders/bim/basic_data/theme_seeder.rb index 4a1358bd060d..9e41b3d189a7 100644 --- a/modules/bim/app/seeders/bim/basic_data/theme_seeder.rb +++ b/modules/bim/app/seeders/bim/basic_data/theme_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/seeders/bim/basic_data_seeder.rb b/modules/bim/app/seeders/bim/basic_data_seeder.rb index a6b1b00171ae..2ddbe3f3187a 100644 --- a/modules/bim/app/seeders/bim/basic_data_seeder.rb +++ b/modules/bim/app/seeders/bim/basic_data_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/seeders/bim/demo_data/bcf_xml_seeder.rb b/modules/bim/app/seeders/bim/demo_data/bcf_xml_seeder.rb index daf6860eda27..038cfbaae20c 100644 --- a/modules/bim/app/seeders/bim/demo_data/bcf_xml_seeder.rb +++ b/modules/bim/app/seeders/bim/demo_data/bcf_xml_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/seeders/bim/demo_data/ifc_model_seeder.rb b/modules/bim/app/seeders/bim/demo_data/ifc_model_seeder.rb index 19a724392b9c..b1170c000453 100644 --- a/modules/bim/app/seeders/bim/demo_data/ifc_model_seeder.rb +++ b/modules/bim/app/seeders/bim/demo_data/ifc_model_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/services/bim/bcf/api/v2_1/parse_resource_params_service.rb b/modules/bim/app/services/bim/bcf/api/v2_1/parse_resource_params_service.rb index febdd526bd08..9f8dca4f6fb2 100644 --- a/modules/bim/app/services/bim/bcf/api/v2_1/parse_resource_params_service.rb +++ b/modules/bim/app/services/bim/bcf/api/v2_1/parse_resource_params_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/services/bim/bcf/comments/create_service.rb b/modules/bim/app/services/bim/bcf/comments/create_service.rb index 195369e9722a..b0937bb38ff4 100644 --- a/modules/bim/app/services/bim/bcf/comments/create_service.rb +++ b/modules/bim/app/services/bim/bcf/comments/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -39,7 +39,7 @@ def before_perform(params, service_result) input = { journal: journal_call.result } .merge(params) .slice(*::Bim::Bcf::Comment::CREATE_ATTRIBUTES) - super input, service_result + super(input, service_result) end def create_journal(work_package, comment) diff --git a/modules/bim/app/services/bim/bcf/comments/set_attributes_service.rb b/modules/bim/app/services/bim/bcf/comments/set_attributes_service.rb index 7de10b68463c..8624fa8a5df0 100644 --- a/modules/bim/app/services/bim/bcf/comments/set_attributes_service.rb +++ b/modules/bim/app/services/bim/bcf/comments/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/services/bim/bcf/comments/update_service.rb b/modules/bim/app/services/bim/bcf/comments/update_service.rb index 7c2da3a8f324..89247ca2efff 100644 --- a/modules/bim/app/services/bim/bcf/comments/update_service.rb +++ b/modules/bim/app/services/bim/bcf/comments/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,7 @@ def before_perform(params, service_result) journal_call = update_journal(params[:original_comment].journal, params[:comment]) return journal_call if journal_call.failure? - super params.slice(*::Bim::Bcf::Comment::UPDATE_ATTRIBUTES), service_result + super(params.slice(*::Bim::Bcf::Comment::UPDATE_ATTRIBUTES), service_result) end def update_journal(journal, comment) diff --git a/modules/bim/app/services/bim/bcf/issues/create_service.rb b/modules/bim/app/services/bim/bcf/issues/create_service.rb index 48f685957966..160c3a35757f 100644 --- a/modules/bim/app/services/bim/bcf/issues/create_service.rb +++ b/modules/bim/app/services/bim/bcf/issues/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,7 @@ def before_perform(params, service_result) wp_call = get_work_package params return wp_call if wp_call.failure? - super issue_params(work_package: wp_call.result, params:), service_result + super(issue_params(work_package: wp_call.result, params:), service_result) end def issue_params(work_package:, params:) diff --git a/modules/bim/app/services/bim/bcf/issues/delete_service.rb b/modules/bim/app/services/bim/bcf/issues/delete_service.rb index 99e234e81f64..8762f6d92c6f 100644 --- a/modules/bim/app/services/bim/bcf/issues/delete_service.rb +++ b/modules/bim/app/services/bim/bcf/issues/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/services/bim/bcf/issues/set_attributes_service.rb b/modules/bim/app/services/bim/bcf/issues/set_attributes_service.rb index d235679ef153..bd70c7034e1e 100644 --- a/modules/bim/app/services/bim/bcf/issues/set_attributes_service.rb +++ b/modules/bim/app/services/bim/bcf/issues/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/services/bim/bcf/issues/transform_attributes_service.rb b/modules/bim/app/services/bim/bcf/issues/transform_attributes_service.rb index bed3204fdb26..a3b771a4e5ea 100644 --- a/modules/bim/app/services/bim/bcf/issues/transform_attributes_service.rb +++ b/modules/bim/app/services/bim/bcf/issues/transform_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/services/bim/bcf/issues/update_service.rb b/modules/bim/app/services/bim/bcf/issues/update_service.rb index f0bb43e31dae..5e07b3830d22 100644 --- a/modules/bim/app/services/bim/bcf/issues/update_service.rb +++ b/modules/bim/app/services/bim/bcf/issues/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/services/bim/bcf/viewpoints/create_service.rb b/modules/bim/app/services/bim/bcf/viewpoints/create_service.rb index 15435e205a36..dac14ab483e0 100644 --- a/modules/bim/app/services/bim/bcf/viewpoints/create_service.rb +++ b/modules/bim/app/services/bim/bcf/viewpoints/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/services/bim/bcf/viewpoints/delete_service.rb b/modules/bim/app/services/bim/bcf/viewpoints/delete_service.rb index 61e077462c3e..bc6d782477a7 100644 --- a/modules/bim/app/services/bim/bcf/viewpoints/delete_service.rb +++ b/modules/bim/app/services/bim/bcf/viewpoints/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/services/bim/bcf/viewpoints/set_attributes_service.rb b/modules/bim/app/services/bim/bcf/viewpoints/set_attributes_service.rb index 0504331a7867..90e7d4676f2f 100644 --- a/modules/bim/app/services/bim/bcf/viewpoints/set_attributes_service.rb +++ b/modules/bim/app/services/bim/bcf/viewpoints/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/services/bim/ifc_models/create_service.rb b/modules/bim/app/services/bim/ifc_models/create_service.rb index 53a2dfebfccb..7e8ae3674476 100644 --- a/modules/bim/app/services/bim/ifc_models/create_service.rb +++ b/modules/bim/app/services/bim/ifc_models/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is a project management system. -# Copyright (C) 2012-2023 the OpenProject Foundation (OPF) +# Copyright (C) 2012-2024 the OpenProject Foundation (OPF) # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -24,7 +24,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # See COPYRIGHT and LICENSE files for more details. -#+ +# + module Bim module IfcModels diff --git a/modules/bim/app/services/bim/ifc_models/set_attributes_service.rb b/modules/bim/app/services/bim/ifc_models/set_attributes_service.rb index 9018522b67c8..4fdf325d0f52 100644 --- a/modules/bim/app/services/bim/ifc_models/set_attributes_service.rb +++ b/modules/bim/app/services/bim/ifc_models/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/services/bim/ifc_models/update_service.rb b/modules/bim/app/services/bim/ifc_models/update_service.rb index 113d42278e66..151c0b84eeb5 100644 --- a/modules/bim/app/services/bim/ifc_models/update_service.rb +++ b/modules/bim/app/services/bim/ifc_models/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is a project management system. -# Copyright (C) 2012-2023 the OpenProject Foundation (OPF) +# Copyright (C) 2012-2024 the OpenProject Foundation (OPF) # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -24,7 +24,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # See COPYRIGHT and LICENSE files for more details. -#+ +# + module Bim module IfcModels diff --git a/modules/bim/app/services/bim/ifc_models/view_converter_service.rb b/modules/bim/app/services/bim/ifc_models/view_converter_service.rb index b39b48e27b75..a632ac0ce093 100644 --- a/modules/bim/app/services/bim/ifc_models/view_converter_service.rb +++ b/modules/bim/app/services/bim/ifc_models/view_converter_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is a project management system. -# Copyright (C) 2012-2023 the OpenProject Foundation (OPF) +# Copyright (C) 2012-2024 the OpenProject Foundation (OPF) # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -24,7 +24,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # See COPYRIGHT and LICENSE files for more details. -#+ +# + require 'open3' module Bim diff --git a/modules/bim/app/views/bim/ifc_models/ifc_models/_form.html.erb b/modules/bim/app/views/bim/ifc_models/ifc_models/_form.html.erb index 752d67498af7..62d8e3464db2 100644 --- a/modules/bim/app/views/bim/ifc_models/ifc_models/_form.html.erb +++ b/modules/bim/app/views/bim/ifc_models/ifc_models/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/views/bim/ifc_models/ifc_models/edit.html.erb b/modules/bim/app/views/bim/ifc_models/ifc_models/edit.html.erb index 764f98578f4e..3365cc51f543 100644 --- a/modules/bim/app/views/bim/ifc_models/ifc_models/edit.html.erb +++ b/modules/bim/app/views/bim/ifc_models/ifc_models/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/views/bim/ifc_models/ifc_models/index.html.erb b/modules/bim/app/views/bim/ifc_models/ifc_models/index.html.erb index 6417a677d8c0..dcde8d48ace2 100644 --- a/modules/bim/app/views/bim/ifc_models/ifc_models/index.html.erb +++ b/modules/bim/app/views/bim/ifc_models/ifc_models/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/views/bim/ifc_models/ifc_models/new.html.erb b/modules/bim/app/views/bim/ifc_models/ifc_models/new.html.erb index a6e2f86457b5..d727929581f0 100644 --- a/modules/bim/app/views/bim/ifc_models/ifc_models/new.html.erb +++ b/modules/bim/app/views/bim/ifc_models/ifc_models/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/app/views/bim/ifc_models/ifc_viewer/show.html.erb b/modules/bim/app/views/bim/ifc_models/ifc_viewer/show.html.erb index ee00764397aa..06c9ab715308 100644 --- a/modules/bim/app/views/bim/ifc_models/ifc_viewer/show.html.erb +++ b/modules/bim/app/views/bim/ifc_models/ifc_viewer/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/config/locales/crowdin/js-ka.yml b/modules/bim/config/locales/crowdin/js-ka.yml index c72c167c29e0..aabceca3d038 100644 --- a/modules/bim/config/locales/crowdin/js-ka.yml +++ b/modules/bim/config/locales/crowdin/js-ka.yml @@ -8,10 +8,10 @@ ka: export: 'გატანა' export_bcf_xml_file: 'Export BCF XML file (BCF version 2.1)' viewpoint: 'ხედის წერტილი' - add_viewpoint: 'Add viewpoint' - show_viewpoint: 'Show viewpoint' + add_viewpoint: 'ხედის წერტილის დამატება' + show_viewpoint: 'ხედის წერტილის ჩვენება' delete_viewpoint: 'Delete viewpoint' - management: 'BCF management' + management: 'BCF-ის მართვა' refresh: 'განახლება' refresh_work_package: 'Refresh work package' ifc_models: @@ -19,11 +19,11 @@ ka: use_this_link_to_manage: "Use this link to upload and manage your IFC models" keyboard_input_disabled: "Viewer does not have keyboard controls. Click on the viewer to give keyboard control to the viewer." models: - ifc_models: 'IFC models' + ifc_models: 'IFC მოდელები' views: viewer: 'მთვალიერებელი' split: 'Viewer and table' split_cards: 'Viewer and cards' revit: - revit_add_in: "Revit Add-In" + revit_add_in: "Revit-ის დამატება" revit_add_in_settings: "Revit Add-In settings" diff --git a/modules/bim/config/locales/crowdin/ka.seeders.yml b/modules/bim/config/locales/crowdin/ka.seeders.yml index c7b2d99d8a77..2f87f4cd472a 100644 --- a/modules/bim/config/locales/crowdin/ka.seeders.yml +++ b/modules/bim/config/locales/crowdin/ka.seeders.yml @@ -301,7 +301,7 @@ ka: * The owner is happy with the results * ... item_1: - subject: Design freeze + subject: დიზაინის გაყინვა description: This type is hierarchically a parent of the types "Clash" and "Request", thus represents a general note. item_5: subject: Construction phase @@ -376,7 +376,7 @@ ka: * Electrical installation * ... item_5: - subject: Final touches + subject: ბოლო შტრიხები description: |- ## Goal diff --git a/modules/bim/config/locales/crowdin/ka.yml b/modules/bim/config/locales/crowdin/ka.yml index ca4c33972b21..bdc43b04e070 100644 --- a/modules/bim/config/locales/crowdin/ka.yml +++ b/modules/bim/config/locales/crowdin/ka.yml @@ -10,18 +10,18 @@ ka: label_imported_failed: 'Failed imports of BCF topics' label_imported_successfully: 'Successfully imported BCF topics' issues: "შენიშვნები" - recommended: 'recommended' + recommended: 'რეკომენდებულია' not_recommended: 'not recommended' - no_viewpoints: 'No viewpoints' + no_viewpoints: 'ხედის წერტილების გარეშე' new_badge: "ახალი" exceptions: file_invalid: "BCF file invalid" x_bcf_issues: - zero: 'No BCF issues' - one: 'One BCF issue' + zero: 'BCF-ის პრობლემების გარეშე' + one: '1 BCF პრობლემა' other: '%{count} BCF issues' bcf_xml: - xml_file: 'BCF XML File' + xml_file: 'BCF XML ფაილი' import_title: 'შემოტანა' export: 'გატანა' import_update_comment: '(Updated in BCF import)' @@ -32,10 +32,10 @@ ka: type_not_active: "The issue type is not activated for this project." import: num_issues_found: '%{x_bcf_issues} are contained in the BCF-XML file, their details are listed below.' - button_prepare: 'Prepare import' - button_perform_import: 'Confirm import' + button_prepare: 'შემოტანის მომზადება' + button_perform_import: 'შემოტანის დადასტურება' button_proceed: 'Proceed with import' - button_back_to_list: 'Back to list' + button_back_to_list: 'სიასთან დაბრუნება' no_permission_to_add_members: 'You do not have sufficient permissions to add them as members to the project.' contact_project_admin: 'Contact your project admin to add them as members and start this import again.' continue_anyways: 'Do you want to proceed and finish the import anyways?' @@ -65,7 +65,7 @@ ka: format: bcf: "BCF-XML" attributes: - bcf_thumbnail: "BCF snapshot" + bcf_thumbnail: "BCF სწრაფი ასლი" project_module_bcf: "BCF" project_module_bim: "BCF" permission_view_linked_issues: "View BCF issues" @@ -81,7 +81,7 @@ ka: attributes: bim/ifc_models/ifc_model: ifc_attachment: "IFC ფაილი" - is_default: "Default model" + is_default: "ნაგულისხმევი მოდელი" attachments: "IFC ფაილი" errors: models: @@ -106,20 +106,20 @@ ka: bim/bcf/issue: uuid_already_taken: "Can't import this BCF issue as there already is another with the same GUID. Could it be that this BCF issue had already been imported into a different project?" ifc_models: - label_ifc_models: 'IFC models' - label_new_ifc_model: 'New IFC model' - label_show_defaults: 'Show defaults' + label_ifc_models: 'IFC მოდელები' + label_new_ifc_model: 'ახალი IFC მოდელი' + label_show_defaults: 'ნაგულისხმევი მნიშვნელობების ჩვენება' label_default_ifc_models: 'Default IFC models' - label_edit_defaults: 'Edit defaults' + label_edit_defaults: 'ნაგულისხმევების ჩასწორება' no_defaults_warning: title: 'No IFC model was set as default for this project.' check_1: 'Check that you have uploaded at least one IFC model.' check_2: 'Check that at least one IFC model is set to "Default".' no_results: "No IFC models have been uploaded in this project." conversion_status: - label: 'Processing?' + label: 'დამუშავება?' pending: 'დარჩენილია' - processing: 'Processing' + processing: 'დამუშავება' completed: 'დასრულებულია' error: 'შეცდომა' processing_notice: @@ -128,7 +128,7 @@ ka: upload_successful: 'Upload succeeded. It will now get processed and will be ready to use in a couple of minutes.' conversion: missing_commands: "The following IFC converter commands are missing on this system: %{names}" - project_module_ifc_models: "IFC models" + project_module_ifc_models: "IFC მოდელები" permission_view_ifc_models: "View IFC models" permission_manage_ifc_models: "Import and manage IFC models" extraction: diff --git a/modules/bim/config/routes.rb b/modules/bim/config/routes.rb index f870fdef8b81..e2d2528c1025 100644 --- a/modules/bim/config/routes.rb +++ b/modules/bim/config/routes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/db/migrate/20181214103300_add_bcf_plugin.rb b/modules/bim/db/migrate/20181214103300_add_bcf_plugin.rb index 4c702910a328..e2529bd4ce9c 100644 --- a/modules/bim/db/migrate/20181214103300_add_bcf_plugin.rb +++ b/modules/bim/db/migrate/20181214103300_add_bcf_plugin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/db/migrate/20190719123448_add_viewpoint_to_bcf_comment.rb b/modules/bim/db/migrate/20190719123448_add_viewpoint_to_bcf_comment.rb index bbdd58c7e9a4..d19d746891d2 100644 --- a/modules/bim/db/migrate/20190719123448_add_viewpoint_to_bcf_comment.rb +++ b/modules/bim/db/migrate/20190719123448_add_viewpoint_to_bcf_comment.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/db/migrate/20190823090211_remove_project_id_from_bcf_issue.rb b/modules/bim/db/migrate/20190823090211_remove_project_id_from_bcf_issue.rb index 972a1987848a..ba6f3a62ade9 100644 --- a/modules/bim/db/migrate/20190823090211_remove_project_id_from_bcf_issue.rb +++ b/modules/bim/db/migrate/20190823090211_remove_project_id_from_bcf_issue.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/db/migrate/20191029155327_add_ifc_models_plugin.rb b/modules/bim/db/migrate/20191029155327_add_ifc_models_plugin.rb index c47fe3c65e12..5e8a718f7cce 100644 --- a/modules/bim/db/migrate/20191029155327_add_ifc_models_plugin.rb +++ b/modules/bim/db/migrate/20191029155327_add_ifc_models_plugin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/db/migrate/20191114090353_add_is_default_to_ifc_models.rb b/modules/bim/db/migrate/20191114090353_add_is_default_to_ifc_models.rb index 2fa55fa1245d..b5f55f28a1f1 100644 --- a/modules/bim/db/migrate/20191114090353_add_is_default_to_ifc_models.rb +++ b/modules/bim/db/migrate/20191114090353_add_is_default_to_ifc_models.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/db/migrate/20191119144123_add_issue_columns.rb b/modules/bim/db/migrate/20191119144123_add_issue_columns.rb index 6bfd8c9b0a90..d75322a6ab7e 100644 --- a/modules/bim/db/migrate/20191119144123_add_issue_columns.rb +++ b/modules/bim/db/migrate/20191119144123_add_issue_columns.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/db/migrate/20191121140202_migrate_xml_viewpoint_to_json.rb b/modules/bim/db/migrate/20191121140202_migrate_xml_viewpoint_to_json.rb index ef0b9a330fa6..3a9fac0fbec2 100644 --- a/modules/bim/db/migrate/20191121140202_migrate_xml_viewpoint_to_json.rb +++ b/modules/bim/db/migrate/20191121140202_migrate_xml_viewpoint_to_json.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/db/migrate/20200123163818_add_on_delete_nullify_to_bcf_comment_foreign_key_to_viewpoint.rb b/modules/bim/db/migrate/20200123163818_add_on_delete_nullify_to_bcf_comment_foreign_key_to_viewpoint.rb index c82ec4079be8..abf4674a7ccf 100644 --- a/modules/bim/db/migrate/20200123163818_add_on_delete_nullify_to_bcf_comment_foreign_key_to_viewpoint.rb +++ b/modules/bim/db/migrate/20200123163818_add_on_delete_nullify_to_bcf_comment_foreign_key_to_viewpoint.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/db/migrate/20200610083854_add_uniqueness_contrain_to_bcf_topic_on_uuid.rb b/modules/bim/db/migrate/20200610083854_add_uniqueness_contrain_to_bcf_topic_on_uuid.rb index 40182087c4f9..f26eda28dd7a 100644 --- a/modules/bim/db/migrate/20200610083854_add_uniqueness_contrain_to_bcf_topic_on_uuid.rb +++ b/modules/bim/db/migrate/20200610083854_add_uniqueness_contrain_to_bcf_topic_on_uuid.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/db/migrate/20201105154216_seed_custom_style_with_bim_theme.rb b/modules/bim/db/migrate/20201105154216_seed_custom_style_with_bim_theme.rb index 22ad0dc5df0a..a116bee6acb4 100644 --- a/modules/bim/db/migrate/20201105154216_seed_custom_style_with_bim_theme.rb +++ b/modules/bim/db/migrate/20201105154216_seed_custom_style_with_bim_theme.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -72,7 +72,7 @@ def set_design_colors end def set_custom_style - custom_style = (CustomStyle.current || CustomStyle.create!) + custom_style = CustomStyle.current || CustomStyle.create! custom_style.attributes = { theme: theme[:theme], theme_logo: theme[:logo] } custom_style.save! custom_style diff --git a/modules/bim/db/migrate/20210521080035_update_xkt_to_version8.rb b/modules/bim/db/migrate/20210521080035_update_xkt_to_version8.rb index 57fa697fd43f..3ea28a0500e0 100644 --- a/modules/bim/db/migrate/20210521080035_update_xkt_to_version8.rb +++ b/modules/bim/db/migrate/20210521080035_update_xkt_to_version8.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/db/migrate/20211011204301_add_column_conversion_status_to_ifc_model.rb b/modules/bim/db/migrate/20211011204301_add_column_conversion_status_to_ifc_model.rb index cf3037a1d3ca..c5dc2887a976 100644 --- a/modules/bim/db/migrate/20211011204301_add_column_conversion_status_to_ifc_model.rb +++ b/modules/bim/db/migrate/20211011204301_add_column_conversion_status_to_ifc_model.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/api/bim/bcf_xml/v1/bcf_xml_api.rb b/modules/bim/lib/api/bim/bcf_xml/v1/bcf_xml_api.rb index 57c659e32a91..3da1b9920e15 100644 --- a/modules/bim/lib/api/bim/bcf_xml/v1/bcf_xml_api.rb +++ b/modules/bim/lib/api/bim/bcf_xml/v1/bcf_xml_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/api/bim/utilities/path_helper.rb b/modules/bim/lib/api/bim/utilities/path_helper.rb index b13576019949..3c3ce66a2da2 100644 --- a/modules/bim/lib/api/bim/utilities/path_helper.rb +++ b/modules/bim/lib/api/bim/utilities/path_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/open_project/bim/bcf_json/faster_converter.rb b/modules/bim/lib/open_project/bim/bcf_json/faster_converter.rb index 8fa8eedd5aac..7395aefdd402 100644 --- a/modules/bim/lib/open_project/bim/bcf_json/faster_converter.rb +++ b/modules/bim/lib/open_project/bim/bcf_json/faster_converter.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/open_project/bim/bcf_json/viewpoint_reader.rb b/modules/bim/lib/open_project/bim/bcf_json/viewpoint_reader.rb index dd764808163f..36e7240f16f4 100644 --- a/modules/bim/lib/open_project/bim/bcf_json/viewpoint_reader.rb +++ b/modules/bim/lib/open_project/bim/bcf_json/viewpoint_reader.rb @@ -5,7 +5,7 @@ module OpenProject::Bim module BcfJson class ViewpointReader - ROOT_NODE ||= 'VisualizationInfo'.freeze + ROOT_NODE ||= 'VisualizationInfo' attr_reader :uuid, :xml diff --git a/modules/bim/lib/open_project/bim/bcf_xml.rb b/modules/bim/lib/open_project/bim/bcf_xml.rb index e482478d12d3..2819f10f9fa3 100644 --- a/modules/bim/lib/open_project/bim/bcf_xml.rb +++ b/modules/bim/lib/open_project/bim/bcf_xml.rb @@ -1,5 +1,5 @@ module OpenProject::Bim module Bcf - require_relative './bcf_xml/importer' + require_relative 'bcf_xml/importer' end end diff --git a/modules/bim/lib/open_project/bim/bcf_xml/issue_writer.rb b/modules/bim/lib/open_project/bim/bcf_xml/issue_writer.rb index 1e6dd6889602..f29441b67cce 100644 --- a/modules/bim/lib/open_project/bim/bcf_xml/issue_writer.rb +++ b/modules/bim/lib/open_project/bim/bcf_xml/issue_writer.rb @@ -101,7 +101,7 @@ def enforce_child_order(parent_node, sequence) .select(&:element?) .group_by(&:name) - sequence.reverse.each do |name| + sequence.reverse_each do |name| if children_with_name = children_by_name[name] children_with_name.each do |child| parent_node.delete child diff --git a/modules/bim/lib/open_project/bim/bcf_xml/viewpoint_writer.rb b/modules/bim/lib/open_project/bim/bcf_xml/viewpoint_writer.rb index ee245d179ca0..5b7c4abc963a 100644 --- a/modules/bim/lib/open_project/bim/bcf_xml/viewpoint_writer.rb +++ b/modules/bim/lib/open_project/bim/bcf_xml/viewpoint_writer.rb @@ -42,8 +42,8 @@ def root_node_attributes { Guid: viewpoint.uuid } end - def dig_json(*args) - viewpoint.json_viewpoint.dig(*args) + def dig_json(*) + viewpoint.json_viewpoint.dig(*) end def components(xml) @@ -165,7 +165,7 @@ def camelized(hash) hash.transform_keys do |key| # `camelize` uses the inflections of ActiveSupport. There we defined inflections for `IFC`. However, here we # don't want that applied here. `ifc_foo` shall be converted to `IfcFoo` and not to `IFCFoo`. - key.camelize.gsub(/IFC/, 'Ifc') + key.camelize.gsub("IFC", 'Ifc') end end diff --git a/modules/bim/lib/open_project/bim/engine.rb b/modules/bim/lib/open_project/bim/engine.rb index b18f8e6d26a7..206703c9639e 100644 --- a/modules/bim/lib/open_project/bim/engine.rb +++ b/modules/bim/lib/open_project/bim/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/open_project/bim/hooks.rb b/modules/bim/lib/open_project/bim/hooks.rb index 0c99bc6062d0..5f01bbb2247d 100644 --- a/modules/bim/lib/open_project/bim/hooks.rb +++ b/modules/bim/lib/open_project/bim/hooks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is a project management system. -# Copyright (C) 2012-2023 the OpenProject Foundation (OPF) +# Copyright (C) 2012-2024 the OpenProject Foundation (OPF) # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -24,7 +24,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # See COPYRIGHT and LICENSE files for more details. -#+ +# + module OpenProject::Bim::Hooks class Hook < OpenProject::Hook::Listener diff --git a/modules/bim/lib/open_project/bim/patches/activity_representer_patch.rb b/modules/bim/lib/open_project/bim/patches/activity_representer_patch.rb index f54dc1136704..e2a3cc682025 100644 --- a/modules/bim/lib/open_project/bim/patches/activity_representer_patch.rb +++ b/modules/bim/lib/open_project/bim/patches/activity_representer_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/open_project/bim/patches/api/v3/work_packages/eager_loading/checksum_patch.rb b/modules/bim/lib/open_project/bim/patches/api/v3/work_packages/eager_loading/checksum_patch.rb index a5e912155d2f..1c66bbdc8de5 100644 --- a/modules/bim/lib/open_project/bim/patches/api/v3/work_packages/eager_loading/checksum_patch.rb +++ b/modules/bim/lib/open_project/bim/patches/api/v3/work_packages/eager_loading/checksum_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/open_project/bim/patches/attachment_patch.rb b/modules/bim/lib/open_project/bim/patches/attachment_patch.rb index a4b95f3e343e..3dcaea8eb112 100644 --- a/modules/bim/lib/open_project/bim/patches/attachment_patch.rb +++ b/modules/bim/lib/open_project/bim/patches/attachment_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/open_project/bim/patches/journal_patch.rb b/modules/bim/lib/open_project/bim/patches/journal_patch.rb index 46605f5c1661..54a6d5f5e986 100644 --- a/modules/bim/lib/open_project/bim/patches/journal_patch.rb +++ b/modules/bim/lib/open_project/bim/patches/journal_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/open_project/bim/patches/project_patch.rb b/modules/bim/lib/open_project/bim/patches/project_patch.rb index 70a333e26228..f9a1419f9219 100644 --- a/modules/bim/lib/open_project/bim/patches/project_patch.rb +++ b/modules/bim/lib/open_project/bim/patches/project_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/open_project/bim/patches/query_builder_patch.rb b/modules/bim/lib/open_project/bim/patches/query_builder_patch.rb index 6430ebdd1dd7..78b95d13f4b7 100644 --- a/modules/bim/lib/open_project/bim/patches/query_builder_patch.rb +++ b/modules/bim/lib/open_project/bim/patches/query_builder_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/open_project/bim/patches/type_patch.rb b/modules/bim/lib/open_project/bim/patches/type_patch.rb index 210fd3fdc229..c55f6069b00d 100644 --- a/modules/bim/lib/open_project/bim/patches/type_patch.rb +++ b/modules/bim/lib/open_project/bim/patches/type_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/open_project/bim/patches/work_package_patch.rb b/modules/bim/lib/open_project/bim/patches/work_package_patch.rb index d3abad10a76b..ac005067fc8e 100644 --- a/modules/bim/lib/open_project/bim/patches/work_package_patch.rb +++ b/modules/bim/lib/open_project/bim/patches/work_package_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/lib/tasks/openproject-bim.rake b/modules/bim/lib/tasks/openproject-bim.rake index c6f25035a863..7a28b393e846 100644 --- a/modules/bim/lib/tasks/openproject-bim.rake +++ b/modules/bim/lib/tasks/openproject-bim.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/api/v3/activities/activity_representer_spec.rb b/modules/bim/spec/api/v3/activities/activity_representer_spec.rb index 169c3fb222ae..c0276c2af013 100644 --- a/modules/bim/spec/api/v3/activities/activity_representer_spec.rb +++ b/modules/bim/spec/api/v3/activities/activity_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/api/v3/queries/filters/query_filter_instance_representer_spec.rb b/modules/bim/spec/api/v3/queries/filters/query_filter_instance_representer_spec.rb index 27a99d3aa2c9..15d96e604815 100644 --- a/modules/bim/spec/api/v3/queries/filters/query_filter_instance_representer_spec.rb +++ b/modules/bim/spec/api/v3/queries/filters/query_filter_instance_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/api/v3/work_packages/work_package_representer_spec.rb b/modules/bim/spec/api/v3/work_packages/work_package_representer_spec.rb index 5f15913bbfba..ef72f59fef2c 100644 --- a/modules/bim/spec/api/v3/work_packages/work_package_representer_spec.rb +++ b/modules/bim/spec/api/v3/work_packages/work_package_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/bcf/bcf_xml/exporter_spec.rb b/modules/bim/spec/bcf/bcf_xml/exporter_spec.rb index c8abc1532b74..0a710b6834ba 100644 --- a/modules/bim/spec/bcf/bcf_xml/exporter_spec.rb +++ b/modules/bim/spec/bcf/bcf_xml/exporter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/bcf/bcf_xml/importer_spec.rb b/modules/bim/spec/bcf/bcf_xml/importer_spec.rb index 492d7a33104c..3b83d63d3609 100644 --- a/modules/bim/spec/bcf/bcf_xml/importer_spec.rb +++ b/modules/bim/spec/bcf/bcf_xml/importer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -32,7 +32,7 @@ let(:filename) { 'MaximumInformation.bcf' } let(:file) do Rack::Test::UploadedFile.new( - File.join(Rails.root, "modules/bim/spec/fixtures/files/#{filename}"), + Rails.root.join("modules/bim/spec/fixtures/files/#{filename}").to_s, 'application/octet-stream' ) end @@ -95,8 +95,8 @@ it 'creates 2 work packages' do subject.import! - expect(Bim::Bcf::Issue.count).to be_eql 2 - expect(WorkPackage.count).to be_eql 2 + expect(Bim::Bcf::Issue.count).to eql 2 + expect(WorkPackage.count).to eql 2 end end diff --git a/modules/bim/spec/bcf/bcf_xml/issue_reader_spec.rb b/modules/bim/spec/bcf/bcf_xml/issue_reader_spec.rb index 22673dd04eff..e4befa91f421 100644 --- a/modules/bim/spec/bcf/bcf_xml/issue_reader_spec.rb +++ b/modules/bim/spec/bcf/bcf_xml/issue_reader_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/bcf/bcf_xml/issue_writer_spec.rb b/modules/bim/spec/bcf/bcf_xml/issue_writer_spec.rb index 6a959fec00d8..9cf3f54c0070 100644 --- a/modules/bim/spec/bcf/bcf_xml/issue_writer_spec.rb +++ b/modules/bim/spec/bcf/bcf_xml/issue_writer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -120,25 +120,25 @@ expect(subject.at('Markup')).to be_present expect(subject.at('Topic')).to be_present - expect(subject.at('Topic/@Guid').content).to be_eql bcf_issue.uuid - expect(subject.at('Topic/@TopicStatus').content).to be_eql work_package.status.name - expect(subject.at('Topic/@TopicType').content).to be_eql 'Issue' - - expect(subject.at('Topic/Title').content).to be_eql work_package.subject - expect(subject.at('Topic/CreationDate').content).to be_eql work_package.created_at.iso8601 - expect(subject.at('Topic/ModifiedDate').content).to be_eql work_package.updated_at.iso8601 - expect(subject.at('Topic/Description').content).to be_eql work_package.description - expect(subject.at('Topic/CreationAuthor').content).to be_eql work_package.author.mail - expect(subject.at('Topic/ReferenceLink').content).to be_eql url_helpers.work_package_url(work_package) - expect(subject.at('Topic/Priority').content).to be_eql work_package.priority.name - expect(subject.at('Topic/ModifiedAuthor').content).to be_eql work_package.journals.last.user.mail - expect(subject.at('Topic/AssignedTo').content).to be_eql work_package.assigned_to.mail - expect(subject.at('Topic/DueDate').content).to be_eql work_package.due_date.to_datetime.iso8601 + expect(subject.at('Topic/@Guid').content).to eql bcf_issue.uuid + expect(subject.at('Topic/@TopicStatus').content).to eql work_package.status.name + expect(subject.at('Topic/@TopicType').content).to eql 'Issue' + + expect(subject.at('Topic/Title').content).to eql work_package.subject + expect(subject.at('Topic/CreationDate').content).to eql work_package.created_at.iso8601 + expect(subject.at('Topic/ModifiedDate').content).to eql work_package.updated_at.iso8601 + expect(subject.at('Topic/Description').content).to eql work_package.description + expect(subject.at('Topic/CreationAuthor').content).to eql work_package.author.mail + expect(subject.at('Topic/ReferenceLink').content).to eql url_helpers.work_package_url(work_package) + expect(subject.at('Topic/Priority').content).to eql work_package.priority.name + expect(subject.at('Topic/ModifiedAuthor').content).to eql work_package.journals.last.user.mail + expect(subject.at('Topic/AssignedTo').content).to eql work_package.assigned_to.mail + expect(subject.at('Topic/DueDate').content).to eql work_package.due_date.to_datetime.iso8601 end end def valid_markup?(doc) - schema = Nokogiri::XML::Schema(File.read(File.join(Rails.root, 'modules/bim/spec/bcf/bcf_xml/markup.xsd'))) + schema = Nokogiri::XML::Schema(File.read(Rails.root.join("modules/bim/spec/bcf/bcf_xml/markup.xsd").to_s)) errors = schema.validate(doc) if errors.empty? true @@ -166,8 +166,8 @@ def valid_markup?(doc) it_behaves_like 'valid markup' it "maintains existing nodes and attributes untouched" do - expect(subject.at('Index').content).to be_eql "0" - expect(subject.at('BimSnippet')['SnippetType']).to be_eql "JSON" + expect(subject.at('Index').content).to eql "0" + expect(subject.at('BimSnippet')['SnippetType']).to eql "JSON" end it 'exports all BCF comments' do diff --git a/modules/bim/spec/bcf/bcf_xml/markup_extractor_spec.rb b/modules/bim/spec/bcf/bcf_xml/markup_extractor_spec.rb index 9fb645e727e6..110f71ce8642 100644 --- a/modules/bim/spec/bcf/bcf_xml/markup_extractor_spec.rb +++ b/modules/bim/spec/bcf/bcf_xml/markup_extractor_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -32,7 +32,7 @@ let(:filename) { 'MaximumInformation.bcf' } let(:file) do Rack::Test::UploadedFile.new( - File.join(Rails.root, "modules/bim/spec/fixtures/files/#{filename}"), + Rails.root.join("modules/bim/spec/fixtures/files/#{filename}").to_s, 'application/octet-stream' ) end @@ -51,35 +51,35 @@ end it '#uuid' do - expect(subject.uuid).to be_eql '63E78882-7C6A-4BF7-8982-FC478AFB9C97' + expect(subject.uuid).to eql '63E78882-7C6A-4BF7-8982-FC478AFB9C97' end it '#title' do - expect(subject.title).to be_eql 'Maximum Content' + expect(subject.title).to eql 'Maximum Content' end it '#priority' do - expect(subject.priority).to be_eql 'High' + expect(subject.priority).to eql 'High' end it '#status' do - expect(subject.status).to be_eql 'Open' + expect(subject.status).to eql 'Open' end it '#description' do - expect(subject.description).to be_eql 'This is a topic with all information present.' + expect(subject.description).to eql 'This is a topic with all information present.' end it '#author' do - expect(subject.author).to be_eql 'mike@example.com' + expect(subject.author).to eql 'mike@example.com' end it '#modified_author' do - expect(subject.modified_author).to be_eql 'mike@example.com' + expect(subject.modified_author).to eql 'mike@example.com' end it '#assignee' do - expect(subject.assignee).to be_eql 'andy@example.com' + expect(subject.assignee).to eql 'andy@example.com' end it '#due_date' do diff --git a/modules/bim/spec/contracts/bcf/issues/create_contract_spec.rb b/modules/bim/spec/contracts/bcf/issues/create_contract_spec.rb index 2d174035c040..4b5a1690a240 100644 --- a/modules/bim/spec/contracts/bcf/issues/create_contract_spec.rb +++ b/modules/bim/spec/contracts/bcf/issues/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './shared_contract_examples' +require_relative 'shared_contract_examples' RSpec.describe Bim::Bcf::Issues::CreateContract do it_behaves_like 'issues contract' do diff --git a/modules/bim/spec/contracts/bcf/issues/shared_contract_examples.rb b/modules/bim/spec/contracts/bcf/issues/shared_contract_examples.rb index 111e3aa8b95b..7ff69baba396 100644 --- a/modules/bim/spec/contracts/bcf/issues/shared_contract_examples.rb +++ b/modules/bim/spec/contracts/bcf/issues/shared_contract_examples.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/contracts/bcf/issues/update_contract_spec.rb b/modules/bim/spec/contracts/bcf/issues/update_contract_spec.rb index 24f2e3620cce..a17020e28501 100644 --- a/modules/bim/spec/contracts/bcf/issues/update_contract_spec.rb +++ b/modules/bim/spec/contracts/bcf/issues/update_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './shared_contract_examples' +require_relative 'shared_contract_examples' RSpec.describe Bim::Bcf::Issues::UpdateContract do it_behaves_like 'issues contract' do diff --git a/modules/bim/spec/contracts/bcf/viewpoints/create_contract_spec.rb b/modules/bim/spec/contracts/bcf/viewpoints/create_contract_spec.rb index aafdf0683634..211f25aeae37 100644 --- a/modules/bim/spec/contracts/bcf/viewpoints/create_contract_spec.rb +++ b/modules/bim/spec/contracts/bcf/viewpoints/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/contracts/ifc_models/create_contract_spec.rb b/modules/bim/spec/contracts/ifc_models/create_contract_spec.rb index 47d1a1c91293..7484466bcb46 100644 --- a/modules/bim/spec/contracts/ifc_models/create_contract_spec.rb +++ b/modules/bim/spec/contracts/ifc_models/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './shared_contract_examples' +require_relative 'shared_contract_examples' RSpec.describe Bim::IfcModels::CreateContract do it_behaves_like 'ifc model contract' do diff --git a/modules/bim/spec/contracts/ifc_models/shared_contract_examples.rb b/modules/bim/spec/contracts/ifc_models/shared_contract_examples.rb index 941f918c08c9..892bcbc2ef36 100644 --- a/modules/bim/spec/contracts/ifc_models/shared_contract_examples.rb +++ b/modules/bim/spec/contracts/ifc_models/shared_contract_examples.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/contracts/ifc_models/update_contract_spec.rb b/modules/bim/spec/contracts/ifc_models/update_contract_spec.rb index 20fe17adc09f..422c0bae85a0 100644 --- a/modules/bim/spec/contracts/ifc_models/update_contract_spec.rb +++ b/modules/bim/spec/contracts/ifc_models/update_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './shared_contract_examples' +require_relative 'shared_contract_examples' RSpec.describe Bim::IfcModels::UpdateContract do it_behaves_like 'ifc model contract' do diff --git a/modules/bim/spec/contracts/views/create_contract_bim_spec.rb b/modules/bim/spec/contracts/views/create_contract_bim_spec.rb index 69702d49f3b5..eae212202e5a 100644 --- a/modules/bim/spec/contracts/views/create_contract_bim_spec.rb +++ b/modules/bim/spec/contracts/views/create_contract_bim_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/controllers/issues_controller_spec.rb b/modules/bim/spec/controllers/issues_controller_spec.rb index a0a7128bbded..f80460faac86 100644 --- a/modules/bim/spec/controllers/issues_controller_spec.rb +++ b/modules/bim/spec/controllers/issues_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -70,7 +70,7 @@ context 'not member of project' do let(:bcf_manager_member) {} - it 'will return "not authorized"' do + it 'returns "not authorized"' do expect(response).not_to be_successful end end @@ -83,7 +83,7 @@ roles: [collaborator_role]) end - it 'will return "not authorized"' do + it 'returns "not authorized"' do expect(response).not_to be_successful end end @@ -105,7 +105,7 @@ let(:filename) { 'MaximumInformation.bcf' } let(:file) do Rack::Test::UploadedFile.new( - File.join(Rails.root, "modules/bim/spec/fixtures/files/#{filename}"), + Rails.root.join("modules/bim/spec/fixtures/files/#{filename}").to_s, 'application/zip' ) end @@ -137,7 +137,7 @@ let(:filename) { 'MaximumInformation.bcf' } let(:file) do Rack::Test::UploadedFile.new( - File.join(Rails.root, "modules/bim/spec/fixtures/files/#{filename}"), + Rails.root.join("modules/bim/spec/fixtures/files/#{filename}").to_s, 'application/octet-stream' ) end @@ -165,7 +165,7 @@ let(:filename) { 'MaximumInformation.bcf' } let(:file) do Rack::Test::UploadedFile.new( - File.join(Rails.root, "modules/bim/spec/fixtures/files/#{filename}"), + Rails.root.join("modules/bim/spec/fixtures/files/#{filename}").to_s, 'application/octet-stream' ) end diff --git a/modules/bim/spec/controllers/work_packages_controller_spec.rb b/modules/bim/spec/controllers/work_packages_controller_spec.rb index 927eb839cf4c..01909e7fc1d6 100644 --- a/modules/bim/spec/controllers/work_packages_controller_spec.rb +++ b/modules/bim/spec/controllers/work_packages_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/factories/bcf_comment_factory.rb b/modules/bim/spec/factories/bcf_comment_factory.rb index 43679dff16e2..5aeb2a08d65e 100644 --- a/modules/bim/spec/factories/bcf_comment_factory.rb +++ b/modules/bim/spec/factories/bcf_comment_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/factories/bcf_issue_factory.rb b/modules/bim/spec/factories/bcf_issue_factory.rb index d75b19bdb871..55c9b2db6f73 100644 --- a/modules/bim/spec/factories/bcf_issue_factory.rb +++ b/modules/bim/spec/factories/bcf_issue_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/factories/bcf_viewpoint_attachment_factory.rb b/modules/bim/spec/factories/bcf_viewpoint_attachment_factory.rb index 1a99fd08161a..bab80b0e1fe2 100644 --- a/modules/bim/spec/factories/bcf_viewpoint_attachment_factory.rb +++ b/modules/bim/spec/factories/bcf_viewpoint_attachment_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/factories/bcf_viewpoint_factory.rb b/modules/bim/spec/factories/bcf_viewpoint_factory.rb index b4814e3b1443..6a4fb633402d 100644 --- a/modules/bim/spec/factories/bcf_viewpoint_factory.rb +++ b/modules/bim/spec/factories/bcf_viewpoint_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/factories/ifc_model_factory.rb b/modules/bim/spec/factories/ifc_model_factory.rb index b3c7d73ae052..cdb4f9a6c88b 100644 --- a/modules/bim/spec/factories/ifc_model_factory.rb +++ b/modules/bim/spec/factories/ifc_model_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,7 @@ transient do ifc_attachment do Rack::Test::UploadedFile.new( - File.join(Rails.root, "modules/bim/spec/fixtures/files/minimal.ifc"), + Rails.root.join("modules/bim/spec/fixtures/files/minimal.ifc").to_s, 'application/binary' ) end @@ -55,7 +55,7 @@ transient do xkt_attachment do Rack::Test::UploadedFile.new( - File.join(Rails.root, "modules/bim/spec/fixtures/files/minimal.xkt"), + Rails.root.join("modules/bim/spec/fixtures/files/minimal.xkt").to_s, 'application/binary' ) end diff --git a/modules/bim/spec/factories/xml_viewpoint_factory.rb b/modules/bim/spec/factories/xml_viewpoint_factory.rb index a0142f01e785..b6a03fb95d8a 100644 --- a/modules/bim/spec/factories/xml_viewpoint_factory.rb +++ b/modules/bim/spec/factories/xml_viewpoint_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/features/bcf/api_authorization_spec.rb b/modules/bim/spec/features/bcf/api_authorization_spec.rb index 5945f0ed4ba6..eeb822dcb723 100644 --- a/modules/bim/spec/features/bcf/api_authorization_spec.rb +++ b/modules/bim/spec/features/bcf/api_authorization_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -118,7 +118,7 @@ def oauth_path(client_id) visit my_account_path click_on 'Access token' - expect(page).to have_selector("#oauth-application-grant-#{app.id}", text: app.name) + expect(page).to have_css("#oauth-application-grant-#{app.id}", text: app.name) expect(page).to have_css('td', text: app.name) # While being logged in, the api can be accessed with the session diff --git a/modules/bim/spec/features/bcf/bcf_snapshot_column_spec.rb b/modules/bim/spec/features/bcf/bcf_snapshot_column_spec.rb index 52ecea4b7d4d..02a41b1a13b4 100644 --- a/modules/bim/spec/features/bcf/bcf_snapshot_column_spec.rb +++ b/modules/bim/spec/features/bcf/bcf_snapshot_column_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' -RSpec.describe 'BCF snapshot column', - js: true, +RSpec.describe 'BCF snapshot column', :js, with_config: { edition: 'bim' } do let(:project) { create(:project, enabled_module_names: %w[bim work_package_tracking]) } let(:wp_table) { Pages::WorkPackagesTable.new(project) } @@ -32,7 +31,7 @@ page.within(".wp-row-#{work_package.id} td.bcfThumbnail") do image_path = "/api/bcf/2.1/projects/#{project.identifier}/topics/#{bcf_issue.uuid}/viewpoints/#{bcf_issue.viewpoints.first.uuid}/snapshot" - expect(page).to have_selector("img[src=\"#{image_path}\"]") + expect(page).to have_css("img[src=\"#{image_path}\"]") end end end diff --git a/modules/bim/spec/features/bcf/export_spec.rb b/modules/bim/spec/features/bcf/export_spec.rb index 02d079b441b0..a18724bd9af7 100644 --- a/modules/bim/spec/features/bcf/export_spec.rb +++ b/modules/bim/spec/features/bcf/export_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,7 @@ require 'spec_helper' require_relative '../../support/pages/ifc_models/show_default' -RSpec.describe 'bcf export', - js: true, +RSpec.describe 'bcf export', :js, with_config: { edition: 'bim' } do let(:status) { create(:status, name: 'New', is_default: true) } let(:closed_status) { create(:closed_status, name: 'Closed') } diff --git a/modules/bim/spec/features/bcf_view_management_spec.rb b/modules/bim/spec/features/bcf_view_management_spec.rb index f959c5d17749..d153b63df102 100644 --- a/modules/bim/spec/features/bcf_view_management_spec.rb +++ b/modules/bim/spec/features/bcf_view_management_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,8 +31,7 @@ require_relative '../support/pages/ifc_models/show_default' require_relative '../../../../spec/features/views/shared_examples' -RSpec.describe 'bcf view management', - js: true, with_config: { edition: 'bim' } do +RSpec.describe 'bcf view management', :js, with_config: { edition: 'bim' } do let(:project) { create(:project, enabled_module_names: %i[bim work_package_tracking]) } let(:bcf_page) { Pages::IfcModels::ShowDefault.new(project) } let(:role) do diff --git a/modules/bim/spec/features/bim_filter_spec.rb b/modules/bim/spec/features/bim_filter_spec.rb index 59c735a7d90a..78fcde873f70 100644 --- a/modules/bim/spec/features/bim_filter_spec.rb +++ b/modules/bim/spec/features/bim_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,8 +31,7 @@ require_relative '../support/pages/ifc_models/show' require_relative '../support/pages/ifc_models/show_default' -RSpec.describe 'BIM filter spec', - js: true, with_config: { edition: 'bim' } do +RSpec.describe 'BIM filter spec', :js, with_config: { edition: 'bim' } do let(:project) { create(:project, enabled_module_names: %w(bim work_package_tracking)) } let(:open_status) { create(:status, is_closed: false) } let(:closed_status) { create(:status, is_closed: true) } diff --git a/modules/bim/spec/features/bim_navigation_spec.rb b/modules/bim/spec/features/bim_navigation_spec.rb index e5dda0ec4c86..8c519796f9cd 100644 --- a/modules/bim/spec/features/bim_navigation_spec.rb +++ b/modules/bim/spec/features/bim_navigation_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,7 @@ require_relative '../spec_helper' -RSpec.describe 'BIM navigation spec', - js: true, with_config: { edition: 'bim' } do +RSpec.describe 'BIM navigation spec', :js, with_config: { edition: 'bim' } do let(:project) { create(:project, enabled_module_names: %i[bim work_package_tracking]) } let!(:work_package) { create(:work_package, project:) } let(:role) do diff --git a/modules/bim/spec/features/ifc_models/direct_ifc_upload_spec.rb b/modules/bim/spec/features/ifc_models/direct_ifc_upload_spec.rb index ae8e57fd5217..e8f9acd7de36 100644 --- a/modules/bim/spec/features/ifc_models/direct_ifc_upload_spec.rb +++ b/modules/bim/spec/features/ifc_models/direct_ifc_upload_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,9 +27,9 @@ #++ require 'spec_helper' -require_relative './ifc_upload_shared_examples' +require_relative 'ifc_upload_shared_examples' -RSpec.describe 'direct IFC upload', js: true, with_config: { edition: 'bim' }, with_direct_uploads: :redirect do +RSpec.describe 'direct IFC upload', :js, with_config: { edition: 'bim' }, with_direct_uploads: :redirect do it_behaves_like 'can upload an IFC file' do # with direct upload, we don't get the model name let(:model_name) { 'model.ifc' } diff --git a/modules/bim/spec/features/ifc_models/regular_ifc_upload_spec.rb b/modules/bim/spec/features/ifc_models/regular_ifc_upload_spec.rb index bb1f89bdbc99..d52fd4f7b9fc 100644 --- a/modules/bim/spec/features/ifc_models/regular_ifc_upload_spec.rb +++ b/modules/bim/spec/features/ifc_models/regular_ifc_upload_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,9 +27,9 @@ #++ require 'spec_helper' -require_relative './ifc_upload_shared_examples' +require_relative 'ifc_upload_shared_examples' -RSpec.describe 'IFC upload', js: true, with_config: { edition: 'bim' } do +RSpec.describe 'IFC upload', :js, with_config: { edition: 'bim' } do it_behaves_like 'can upload an IFC file' do let(:model_name) { 'minimal.ifc' } end diff --git a/modules/bim/spec/features/model_management_spec.rb b/modules/bim/spec/features/model_management_spec.rb index d07970a413b6..427d82c23f3d 100644 --- a/modules/bim/spec/features/model_management_spec.rb +++ b/modules/bim/spec/features/model_management_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,8 +30,7 @@ require_relative '../support/pages/ifc_models/index' -RSpec.describe 'model management', - js: true, with_config: { edition: 'bim' } do +RSpec.describe 'model management', :js, with_config: { edition: 'bim' } do let(:project) { create(:project, enabled_module_names: %i[bim work_package_tracking]) } let(:index_page) { Pages::IfcModels::Index.new(project) } let(:role) { create(:project_role, permissions: %i[view_ifc_models manage_bcf manage_ifc_models view_work_packages]) } @@ -131,7 +130,7 @@ it "I can't see any models and perform no actions" do expected = '[Error 403] You are not authorized to access this page.' - expect(page).to have_selector('.op-toast.-error', text: expected) + expect(page).to have_css('.op-toast.-error', text: expected) index_page.add_model_allowed false end diff --git a/modules/bim/spec/features/model_viewer_spec.rb b/modules/bim/spec/features/model_viewer_spec.rb index 3e6f9ee9048e..5d094cceff77 100644 --- a/modules/bim/spec/features/model_viewer_spec.rb +++ b/modules/bim/spec/features/model_viewer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,7 @@ require_relative '../spec_helper' -RSpec.describe 'model viewer', - js: true, with_config: { edition: 'bim' } do +RSpec.describe 'model viewer', :js, with_config: { edition: 'bim' } do let(:project) { create(:project, enabled_module_names: %i[bim work_package_tracking]) } # TODO: Add empty viewpoint and stub method to load viewpoints once defined let(:work_package) { create(:work_package, project:) } @@ -94,7 +93,7 @@ it 'shows a warning that no IFC models exist yet' do login_as user visit defaults_bcf_project_ifc_models_path(project) - expect(page).to have_selector('.op-toast.-info', text: I18n.t('js.ifc_models.empty_warning')) + expect(page).to have_css('.op-toast.-info', text: I18n.t('js.ifc_models.empty_warning')) end end end @@ -135,7 +134,7 @@ it 'shows no viewer' do expected = '[Error 403] You are not authorized to access this page.' - expect(page).to have_selector('.op-toast.-error', text: expected) + expect(page).to have_css('.op-toast.-error', text: expected) show_model_page.model_viewer_visible false show_model_page.model_viewer_shows_a_toolbar false diff --git a/modules/bim/spec/features/revit_add_in/bim_revit_add_in_navigation_spec.rb b/modules/bim/spec/features/revit_add_in/bim_revit_add_in_navigation_spec.rb index 4538ca949fd0..3f158eb52b47 100644 --- a/modules/bim/spec/features/revit_add_in/bim_revit_add_in_navigation_spec.rb +++ b/modules/bim/spec/features/revit_add_in/bim_revit_add_in_navigation_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,8 @@ require_relative '../../spec_helper' -RSpec.describe 'BIM Revit Add-in navigation spec', - driver: :chrome_revit_add_in, js: true, with_config: { edition: 'bim' } do +RSpec.describe 'BIM Revit Add-in navigation spec', :js, + driver: :chrome_revit_add_in, with_config: { edition: 'bim' } do let(:project) { create(:project, enabled_module_names: %i[bim work_package_tracking]) } let!(:work_package) { create(:work_package, project:) } let(:role) do @@ -71,7 +71,7 @@ within '.op-app-header' do page.find("a[title='#{user.name}']").click - expect(page).to have_selector('li', text: I18n.t('js.revit.revit_add_in_settings')) + expect(page).to have_css('li', text: I18n.t('js.revit.revit_add_in_settings')) end end @@ -81,14 +81,14 @@ find('.menu-item', text: 'NONE', wait: 10).click full_create.edit_field(:subject).expect_active! - expect(page).to have_selector('.work-packages-partitioned-page--content-right', visible: :all) + expect(page).to have_css('.work-packages-partitioned-page--content-right', visible: :all) end it 'shows work package details page in full view on Cards display mode' do model_page.click_info_icon(work_package) - expect(page).to have_selector('.work-packages-partitioned-page--content-left', text: work_package.subject) - expect(page).to have_selector('.work-packages-partitioned-page--content-right', visible: :all) + expect(page).to have_css('.work-packages-partitioned-page--content-left', text: work_package.subject) + expect(page).to have_css('.work-packages-partitioned-page--content-right', visible: :all) end context 'with the table display mode' do @@ -98,12 +98,12 @@ model_page.switch_view 'Table' loading_indicator_saveguard - expect(page).to have_selector('.work-package-table') + expect(page).to have_css('.work-package-table') wp_table.expect_work_package_listed work_package wp_table.open_split_view work_package - expect(page).to have_selector('.work-packages-partitioned-page--content-left', text: work_package.subject) - expect(page).to have_selector('.work-packages-partitioned-page--content-right', visible: false) + expect(page).to have_css('.work-packages-partitioned-page--content-left', text: work_package.subject) + expect(page).to have_css('.work-packages-partitioned-page--content-right', visible: false) end end diff --git a/modules/bim/spec/features/revit_add_in/bim_revit_add_in_refresh_button_spec.rb b/modules/bim/spec/features/revit_add_in/bim_revit_add_in_refresh_button_spec.rb index 03f7e78c8679..758064b33da2 100644 --- a/modules/bim/spec/features/revit_add_in/bim_revit_add_in_refresh_button_spec.rb +++ b/modules/bim/spec/features/revit_add_in/bim_revit_add_in_refresh_button_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,8 @@ require_relative '../../spec_helper' -RSpec.describe 'BIM Revit Add-in navigation spec', - driver: :chrome_revit_add_in, js: true, with_config: { edition: 'bim' } do +RSpec.describe 'BIM Revit Add-in navigation spec', :js, + driver: :chrome_revit_add_in, with_config: { edition: 'bim' } do let(:project) { create(:project, enabled_module_names: %i[bim work_package_tracking]) } let!(:work_package) { create(:work_package, project:) } let(:role) do diff --git a/modules/bim/spec/features/show_default_spec.rb b/modules/bim/spec/features/show_default_spec.rb index 55d57ab1be8c..3163e734062b 100644 --- a/modules/bim/spec/features/show_default_spec.rb +++ b/modules/bim/spec/features/show_default_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,7 @@ require_relative '../spec_helper' -RSpec.describe 'show default model', - js: true, with_config: { edition: 'bim' } do +RSpec.describe 'show default model', :js, with_config: { edition: 'bim' } do let(:project) { create(:project, enabled_module_names: %i[bim work_package_tracking]) } let(:index_page) { Pages::IfcModels::Index.new(project) } let(:show_default_page) { Pages::IfcModels::ShowDefault.new(project) } diff --git a/modules/bim/spec/features/viewer/create_viewpoint_spec.rb b/modules/bim/spec/features/viewer/create_viewpoint_spec.rb index a5a9bb1fc821..10084b3cfbf0 100644 --- a/modules/bim/spec/features/viewer/create_viewpoint_spec.rb +++ b/modules/bim/spec/features/viewer/create_viewpoint_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,7 @@ require_relative '../../spec_helper' -RSpec.describe 'Create viewpoint from BCF details page', - js: true, with_config: { edition: 'bim' } do +RSpec.describe 'Create viewpoint from BCF details page', :js, with_config: { edition: 'bim' } do let(:project) { create(:project, enabled_module_names: %i[bim work_package_tracking]) } let(:user) { create(:admin) } diff --git a/modules/bim/spec/features/viewer/delete_viewpoint_spec.rb b/modules/bim/spec/features/viewer/delete_viewpoint_spec.rb index dc3f48b937b5..e5f9c38800d3 100644 --- a/modules/bim/spec/features/viewer/delete_viewpoint_spec.rb +++ b/modules/bim/spec/features/viewer/delete_viewpoint_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,7 @@ require_relative '../../spec_helper' -RSpec.describe 'Delete viewpoint in model viewer', - js: true, with_config: { edition: 'bim' } do +RSpec.describe 'Delete viewpoint in model viewer', :js, with_config: { edition: 'bim' } do let(:project) { create(:project, enabled_module_names: %i[bim work_package_tracking]) } let(:user) { create(:admin) } diff --git a/modules/bim/spec/features/viewer/show_viewpoint_spec.rb b/modules/bim/spec/features/viewer/show_viewpoint_spec.rb index 6ff853a9ec45..9b0bcf7108de 100644 --- a/modules/bim/spec/features/viewer/show_viewpoint_spec.rb +++ b/modules/bim/spec/features/viewer/show_viewpoint_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,7 @@ require_relative '../../spec_helper' -RSpec.describe 'Show viewpoint in model viewer', - js: true, with_config: { edition: 'bim' } do +RSpec.describe 'Show viewpoint in model viewer', :js, with_config: { edition: 'bim' } do let(:project) do create(:project, enabled_module_names: %i[bim work_package_tracking], @@ -144,7 +143,7 @@ it 'does not show the viewpoint' do wp_details.visit! bcf_details.expect_viewpoint_count(0) - expect(page).not_to have_selector('h3.attributes-group--header-text', text: 'BCF') + expect(page).to have_no_css('h3.attributes-group--header-text', text: 'BCF') end end end diff --git a/modules/bim/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb b/modules/bim/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb index 6132f5d6fd2d..239b6512dc8d 100644 --- a/modules/bim/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb +++ b/modules/bim/spec/lib/api/v3/work_packages/eager_loading/cache_checksum_integration_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/lib/open_project/access_control_spec.rb b/modules/bim/spec/lib/open_project/access_control_spec.rb index 0a44137167f4..6c77bca0e2bc 100644 --- a/modules/bim/spec/lib/open_project/access_control_spec.rb +++ b/modules/bim/spec/lib/open_project/access_control_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/lib/open_project/bcf/bcf_json/faster_converter_spec.rb b/modules/bim/spec/lib/open_project/bcf/bcf_json/faster_converter_spec.rb index 694319db6edf..77522a686dca 100644 --- a/modules/bim/spec/lib/open_project/bcf/bcf_json/faster_converter_spec.rb +++ b/modules/bim/spec/lib/open_project/bcf/bcf_json/faster_converter_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_shared_examples.rb b/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_shared_examples.rb index 334e65dde62d..855b8df54cfd 100644 --- a/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_shared_examples.rb +++ b/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_shared_examples.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_spec.rb b/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_spec.rb index 7fd64af01616..133f9250cc64 100644 --- a/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_spec.rb +++ b/modules/bim/spec/lib/open_project/bcf/bcf_json/viewpoint_reader_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './viewpoint_reader_shared_examples' +require_relative 'viewpoint_reader_shared_examples' RSpec.describe OpenProject::Bim::BcfJson::ViewpointReader do let(:instance) { described_class.new xml_viewpoint.uuid, xml_viewpoint.viewpoint } diff --git a/modules/bim/spec/lib/open_project/bcf/bcf_xml/viewpoint_writer_spec.rb b/modules/bim/spec/lib/open_project/bcf/bcf_xml/viewpoint_writer_spec.rb index 477cbec700c9..1b8294dc91c1 100644 --- a/modules/bim/spec/lib/open_project/bcf/bcf_xml/viewpoint_writer_spec.rb +++ b/modules/bim/spec/lib/open_project/bcf/bcf_xml/viewpoint_writer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/lib/open_project/bim/work_package/exporter/formatters/bcf_thumbnail_spec.rb b/modules/bim/spec/lib/open_project/bim/work_package/exporter/formatters/bcf_thumbnail_spec.rb index c65f9a1d9358..55c9a1df84b6 100644 --- a/modules/bim/spec/lib/open_project/bim/work_package/exporter/formatters/bcf_thumbnail_spec.rb +++ b/modules/bim/spec/lib/open_project/bim/work_package/exporter/formatters/bcf_thumbnail_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/models/bcf/issue_spec.rb b/modules/bim/spec/models/bcf/issue_spec.rb index 5bac7923ebdb..ed3dceada295 100644 --- a/modules/bim/spec/models/bcf/issue_spec.rb +++ b/modules/bim/spec/models/bcf/issue_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -42,14 +42,14 @@ it "caches the document" do first_fetched_doc = subject.markup_doc - expect(subject.markup_doc).to be_eql(first_fetched_doc) + expect(subject.markup_doc).to eql(first_fetched_doc) end it "invalidates the cache after an update of the issue" do first_fetched_doc = subject.markup_doc subject.markup = subject.markup + ' ' subject.save - expect(subject.markup_doc).not_to be_eql(first_fetched_doc) + expect(subject.markup_doc).not_to eql(first_fetched_doc) end end @@ -59,7 +59,7 @@ it 'returns all issues of the provided project' do expect(described_class.of_project(issue.project)) - .to match_array [issue] + .to contain_exactly(issue) end end end diff --git a/modules/bim/spec/models/queries/views/filters/type_filter_spec.rb b/modules/bim/spec/models/queries/views/filters/type_filter_spec.rb index 3b22ba231a86..e01a704ba0c9 100644 --- a/modules/bim/spec/models/queries/views/filters/type_filter_spec.rb +++ b/modules/bim/spec/models/queries/views/filters/type_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/models/queries/work_packages/filter/bcf_issue_associated_filter_spec.rb b/modules/bim/spec/models/queries/work_packages/filter/bcf_issue_associated_filter_spec.rb index 0c4c561c2f78..c6f5af71fe1d 100644 --- a/modules/bim/spec/models/queries/work_packages/filter/bcf_issue_associated_filter_spec.rb +++ b/modules/bim/spec/models/queries/work_packages/filter/bcf_issue_associated_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/models/type_spec.rb b/modules/bim/spec/models/type_spec.rb index b83f7c0415ae..647b222dff92 100644 --- a/modules/bim/spec/models/type_spec.rb +++ b/modules/bim/spec/models/type_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/representers/bcf/api/v2_1/auth/single_representer_rendering_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/auth/single_representer_rendering_spec.rb index 8a95f5531a1b..20361488a6e1 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/auth/single_representer_rendering_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/auth/single_representer_rendering_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/representers/bcf/api/v2_1/project_extensions/representer_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/project_extensions/representer_spec.rb index ed7882f7ef24..65c7c97dcc1f 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/project_extensions/representer_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/project_extensions/representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/representers/bcf/api/v2_1/projects/single_representer_rendering_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/projects/single_representer_rendering_spec.rb index 256cdd7e5769..00a15812a1f0 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/projects/single_representer_rendering_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/projects/single_representer_rendering_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/representers/bcf/api/v2_1/topics/single_representer_rendering_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/topics/single_representer_rendering_spec.rb index 3a6e3bac95bd..49ba96f022fb 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/topics/single_representer_rendering_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/topics/single_representer_rendering_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/representers/bcf/api/v2_1/users/single_representer_rendering_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/users/single_representer_rendering_spec.rb index d7fee6e87b21..4a921c116ea1 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/users/single_representer_rendering_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/users/single_representer_rendering_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representer_rendering_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representer_rendering_spec.rb index 27c2448d270b..cf9670544cf6 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representer_rendering_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representer_rendering_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representers_parsing_spec.rb b/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representers_parsing_spec.rb index b7c84af55283..1b5aec7bcdbd 100644 --- a/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representers_parsing_spec.rb +++ b/modules/bim/spec/representers/bcf/api/v2_1/viewpoints/single_representers_parsing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/requests/api/bcf/v2_1/auth_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/auth_api_spec.rb index 6d8fb8e6948c..a60ec1ddcbfa 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/auth_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/auth_api_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ require 'spec_helper' require 'rack/test' -require_relative './shared_responses' +require_relative 'shared_responses' RSpec.describe 'BCF 2.1 auth resource', content_type: :json do include Rack::Test::Methods diff --git a/modules/bim/spec/requests/api/bcf/v2_1/comments_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/comments_api_spec.rb index ebfb716d8384..5ad57c0ba904 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/comments_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/comments_api_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/requests/api/bcf/v2_1/current_user_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/current_user_api_spec.rb index 4e086ae01cfb..9b226a1a9be4 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/current_user_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/current_user_api_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ require 'spec_helper' require 'rack/test' -require_relative './shared_responses' +require_relative 'shared_responses' RSpec.describe 'BCF 2.1 current-user resource', content_type: :json do include Rack::Test::Methods diff --git a/modules/bim/spec/requests/api/bcf/v2_1/project_extensions_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/project_extensions_api_spec.rb index 159203f0cfa9..34d9a7ac2d37 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/project_extensions_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/project_extensions_api_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ require 'spec_helper' require 'rack/test' -require_relative './shared_responses' +require_relative 'shared_responses' RSpec.describe 'BCF 2.1 project extensions resource', content_type: :json do include Rack::Test::Methods diff --git a/modules/bim/spec/requests/api/bcf/v2_1/projects_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/projects_api_spec.rb index e9405fb0adb5..0ce928e33865 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/projects_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/projects_api_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/requests/api/bcf/v2_1/shared_responses.rb b/modules/bim/spec/requests/api/bcf/v2_1/shared_responses.rb index 3c1be305a864..abbec151a276 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/shared_responses.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/shared_responses.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/requests/api/bcf/v2_1/topics_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/topics_api_spec.rb index 9ff180248acd..bf22e20f7273 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/topics_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/topics_api_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/requests/api/bcf/v2_1/viewpoints_api_spec.rb b/modules/bim/spec/requests/api/bcf/v2_1/viewpoints_api_spec.rb index 09064cab6c9f..8ae31ca303cb 100644 --- a/modules/bim/spec/requests/api/bcf/v2_1/viewpoints_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf/v2_1/viewpoints_api_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ require 'spec_helper' require 'rack/test' -require_relative './shared_responses' +require_relative 'shared_responses' RSpec.describe 'BCF 2.1 viewpoints resource', content_type: :json do include Rack::Test::Methods diff --git a/modules/bim/spec/requests/api/bcf_xml/v1/bcf_xml_api_spec.rb b/modules/bim/spec/requests/api/bcf_xml/v1/bcf_xml_api_spec.rb index 1698cb050114..69cb65849fd9 100644 --- a/modules/bim/spec/requests/api/bcf_xml/v1/bcf_xml_api_spec.rb +++ b/modules/bim/spec/requests/api/bcf_xml/v1/bcf_xml_api_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -47,7 +47,7 @@ let(:filename) { 'MaximumInformation.bcf' } let(:bcf_xml_file) do Rack::Test::UploadedFile.new( - File.join(Rails.root, "modules/bim/spec/fixtures/files/#{filename}"), + Rails.root.join("modules/bim/spec/fixtures/files/#{filename}").to_s, 'application/octet-stream' ) end diff --git a/modules/bim/spec/seeders/root_seeder_bim_edition_spec.rb b/modules/bim/spec/seeders/root_seeder_bim_edition_spec.rb index ab675818b2bc..70d70abfeb3c 100644 --- a/modules/bim/spec/seeders/root_seeder_bim_edition_spec.rb +++ b/modules/bim/spec/seeders/root_seeder_bim_edition_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/services/bcf/issues/create_service_spec.rb b/modules/bim/spec/services/bcf/issues/create_service_spec.rb index 0f6af4ed34bb..79df527c74f0 100644 --- a/modules/bim/spec/services/bcf/issues/create_service_spec.rb +++ b/modules/bim/spec/services/bcf/issues/create_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/services/bcf/viewpoints/create_service_spec.rb b/modules/bim/spec/services/bcf/viewpoints/create_service_spec.rb index 43d9267e8b33..f7d1ec74fe93 100644 --- a/modules/bim/spec/services/bcf/viewpoints/create_service_spec.rb +++ b/modules/bim/spec/services/bcf/viewpoints/create_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/services/bcf/viewpoints/set_attributes_service_spec.rb b/modules/bim/spec/services/bcf/viewpoints/set_attributes_service_spec.rb index c39cd65bd9d4..d01b15b15f15 100644 --- a/modules/bim/spec/services/bcf/viewpoints/set_attributes_service_spec.rb +++ b/modules/bim/spec/services/bcf/viewpoints/set_attributes_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/services/ifc_models/set_attributes_service_spec.rb b/modules/bim/spec/services/ifc_models/set_attributes_service_spec.rb index 078bb0644f87..fbfaa9a51860 100644 --- a/modules/bim/spec/services/ifc_models/set_attributes_service_spec.rb +++ b/modules/bim/spec/services/ifc_models/set_attributes_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/spec_helper.rb b/modules/bim/spec/spec_helper.rb index 7e8f5589241c..6f31639d8784 100644 --- a/modules/bim/spec/spec_helper.rb +++ b/modules/bim/spec/spec_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/support/components/bcf_details_viewpoints.rb b/modules/bim/spec/support/components/bcf_details_viewpoints.rb index da163b9124dc..084f468b0fcd 100644 --- a/modules/bim/spec/support/components/bcf_details_viewpoints.rb +++ b/modules/bim/spec/support/components/bcf_details_viewpoints.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,11 +29,11 @@ module Components module BcfDetailsViewpoints def expect_viewpoint_count(number) - expect(page).to have_selector('a.ngx-gallery-thumbnail', visible: :all, count: number, wait: 20) + expect(page).to have_css('a.ngx-gallery-thumbnail', visible: :all, count: number, wait: 20) end def expect_no_viewpoint_addable - expect(page).not_to have_selector('a.button', text: 'Viewpoint') + expect(page).to have_no_css('a.button', text: 'Viewpoint') end def next_viewpoint diff --git a/modules/bim/spec/support/components/xeokit_model_tree.rb b/modules/bim/spec/support/components/xeokit_model_tree.rb index edc311cbab91..94589268d6b3 100644 --- a/modules/bim/spec/support/components/xeokit_model_tree.rb +++ b/modules/bim/spec/support/components/xeokit_model_tree.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/support/pages/bcf/create_split.rb b/modules/bim/spec/support/pages/bcf/create_split.rb index 88286a9dab9f..4369b543d827 100644 --- a/modules/bim/spec/support/pages/bcf/create_split.rb +++ b/modules/bim/spec/support/pages/bcf/create_split.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/support/pages/ifc_models/bcf_details_page.rb b/modules/bim/spec/support/pages/ifc_models/bcf_details_page.rb index 714ee5a1f02b..45b8e249a63a 100644 --- a/modules/bim/spec/support/pages/ifc_models/bcf_details_page.rb +++ b/modules/bim/spec/support/pages/ifc_models/bcf_details_page.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/support/pages/ifc_models/index.rb b/modules/bim/spec/support/pages/ifc_models/index.rb index dde3dac98890..737013cb593b 100644 --- a/modules/bim/spec/support/pages/ifc_models/index.rb +++ b/modules/bim/spec/support/pages/ifc_models/index.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -57,7 +57,7 @@ def add_model_allowed(allowed) visit! else - expect(page).not_to have_selector('.button.-alt-highlight', text: 'IFC model') + expect(page).to have_no_css('.button.-alt-highlight', text: 'IFC model') end end @@ -69,14 +69,14 @@ def bcf_buttons(allowed) def edit_model_allowed(model_name, allowed) row = find_model_table_row model_name within row do - expect(page).to (allowed ? have_selector('.icon-edit') : have_no_selector('.icon-edit')) + expect(page).to (allowed ? have_css('.icon-edit') : have_no_selector('.icon-edit')) end end def delete_model_allowed(model_name, allowed) row = find_model_table_row model_name within row do - expect(page).to (allowed ? have_selector('.icon-edit') : have_no_selector('.icon-edit')) + expect(page).to (allowed ? have_css('.icon-edit') : have_no_selector('.icon-edit')) end end @@ -153,7 +153,7 @@ def expect_correct_page_loaded(checked_selector) end def change_model_name(model_name, new_name) - expect(page).to have_selector('input[type="file"]') + expect(page).to have_css('input[type="file"]') expect(page).to have_field('bim_ifc_models_ifc_model[title]', with: model_name) fill_in 'bim_ifc_models_ifc_model[title]', with: new_name end diff --git a/modules/bim/spec/support/pages/ifc_models/show.rb b/modules/bim/spec/support/pages/ifc_models/show.rb index 545e9087435e..326db80a0f4d 100644 --- a/modules/bim/spec/support/pages/ifc_models/show.rb +++ b/modules/bim/spec/support/pages/ifc_models/show.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/bim/spec/support/pages/ifc_models/show_default.rb b/modules/bim/spec/support/pages/ifc_models/show_default.rb index c2ea9b859165..0b4fb31ba45f 100644 --- a/modules/bim/spec/support/pages/ifc_models/show_default.rb +++ b/modules/bim/spec/support/pages/ifc_models/show_default.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -58,7 +58,7 @@ def expect_details_path end def finished_loading - expect(page).to have_selector('.xeokit-busy-modal', visible: :all, wait: 30) + expect(page).to have_css('.xeokit-busy-modal', visible: :all, wait: 30) end def model_viewer_visible(visible) @@ -78,8 +78,8 @@ def model_viewer_shows_a_toolbar(visible) expect(page).to have_selector(selector, count: 8) end else - expect(page).not_to have_selector(selector) - expect(page).not_to have_selector('[data-test-selector="op-ifc-viewer--toolbar-container"]') + expect(page).to have_no_selector(selector) + expect(page).to have_no_css('[data-test-selector="op-ifc-viewer--toolbar-container"]') end end @@ -90,7 +90,7 @@ def page_shows_a_toolbar(visible) end def page_has_a_toolbar - expect(page).to have_selector('.toolbar-container') + expect(page).to have_css('.toolbar-container') end def page_shows_a_filter_button(visible) @@ -115,11 +115,11 @@ def switch_view(value) end def expect_view_toggle_at(value) - expect(page).to have_selector('#bcf-view-toggle-button', text: value) + expect(page).to have_css('#bcf-view-toggle-button', text: value) end def has_no_menu_item_with_text?(value) - expect(page).not_to have_selector('.menu-item', text: value) + expect(page).to have_no_css('.menu-item', text: value) end private diff --git a/modules/bim/spec/views/bim/ifc_models/ifc_models/index.html.erb_spec.rb b/modules/bim/spec/views/bim/ifc_models/ifc_models/index.html.erb_spec.rb index 73223b089693..fa71df317e39 100644 --- a/modules/bim/spec/views/bim/ifc_models/ifc_models/index.html.erb_spec.rb +++ b/modules/bim/spec/views/bim/ifc_models/ifc_models/index.html.erb_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -96,7 +96,7 @@ it 'lists the IFC model with all but the download button' do render expect(rendered).to have_text('office.ifc') - expect(rendered).not_to have_link('Download') + expect(rendered).to have_no_link('Download') expect(rendered).to have_link('Delete') expect(rendered).to have_link('Edit') end diff --git a/modules/bim/spec/workers/work_packages/exports/export_job_spec.rb b/modules/bim/spec/workers/work_packages/exports/export_job_spec.rb index 2f39edd9a0ce..5bef01651caa 100644 --- a/modules/bim/spec/workers/work_packages/exports/export_job_spec.rb +++ b/modules/bim/spec/workers/work_packages/exports/export_job_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/app/components/boards/row_component.rb b/modules/boards/app/components/boards/row_component.rb index b81812cb991b..b5c90c82916a 100644 --- a/modules/boards/app/components/boards/row_component.rb +++ b/modules/boards/app/components/boards/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/app/components/boards/table_component.rb b/modules/boards/app/components/boards/table_component.rb index 22736fab9068..ccd8fc3f2c85 100644 --- a/modules/boards/app/components/boards/table_component.rb +++ b/modules/boards/app/components/boards/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/app/models/boards/grid.rb b/modules/boards/app/models/boards/grid.rb index 25e1ec73da9f..9c3cfd2cf698 100644 --- a/modules/boards/app/models/boards/grid.rb +++ b/modules/boards/app/models/boards/grid.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -68,7 +68,6 @@ def delete_queries def contained_query_ids widgets .filter_map { |w| w.options['queryId'] || w.options['query_id'] } - end end end diff --git a/modules/boards/app/representers/api/v3/boards/widgets/board_options_representer.rb b/modules/boards/app/representers/api/v3/boards/widgets/board_options_representer.rb index 57e1d88354b2..11c88ef7eef7 100644 --- a/modules/boards/app/representers/api/v3/boards/widgets/board_options_representer.rb +++ b/modules/boards/app/representers/api/v3/boards/widgets/board_options_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/app/seeders/common.yml b/modules/boards/app/seeders/common.yml index add65367b412..03514c01530d 100644 --- a/modules/boards/app/seeders/common.yml +++ b/modules/boards/app/seeders/common.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/app/services/boards/copy/widgets_dependent_service.rb b/modules/boards/app/services/boards/copy/widgets_dependent_service.rb index 84f19ded1b27..b5d6ae143bc9 100644 --- a/modules/boards/app/services/boards/copy/widgets_dependent_service.rb +++ b/modules/boards/app/services/boards/copy/widgets_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/app/services/boards/copy_service.rb b/modules/boards/app/services/boards/copy_service.rb index 8443cc8d87b8..5ed81d4b9992 100644 --- a/modules/boards/app/services/boards/copy_service.rb +++ b/modules/boards/app/services/boards/copy_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/app/views/boards/boards/_form.html.erb b/modules/boards/app/views/boards/boards/_form.html.erb index 7bd223f45f98..2849d0ba7be1 100644 --- a/modules/boards/app/views/boards/boards/_form.html.erb +++ b/modules/boards/app/views/boards/boards/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/app/views/boards/boards/index.html.erb b/modules/boards/app/views/boards/boards/index.html.erb index 56b59b37eaa2..dc70e7536d19 100644 --- a/modules/boards/app/views/boards/boards/index.html.erb +++ b/modules/boards/app/views/boards/boards/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/app/views/boards/boards/new.html.erb b/modules/boards/app/views/boards/boards/new.html.erb index 9486f40b1cca..f0b780bb2630 100644 --- a/modules/boards/app/views/boards/boards/new.html.erb +++ b/modules/boards/app/views/boards/boards/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/app/views/boards/boards/overview.html.erb b/modules/boards/app/views/boards/boards/overview.html.erb index 9d9a1934869f..27f18e7f717f 100644 --- a/modules/boards/app/views/boards/boards/overview.html.erb +++ b/modules/boards/app/views/boards/boards/overview.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/app/views/boards/boards/show.html.erb b/modules/boards/app/views/boards/boards/show.html.erb index 3655423d0983..30c455e3936f 100644 --- a/modules/boards/app/views/boards/boards/show.html.erb +++ b/modules/boards/app/views/boards/boards/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/config/locales/crowdin/js-ka.yml b/modules/boards/config/locales/crowdin/js-ka.yml index 792a1fa4d0fa..6498ef6244ba 100644 --- a/modules/boards/config/locales/crowdin/js-ka.yml +++ b/modules/boards/config/locales/crowdin/js-ka.yml @@ -3,23 +3,23 @@ ka: js: boards: create_new: 'Create new board' - label_unnamed_board: 'Unnamed board' - label_unnamed_list: 'Unnamed list' - label_board_type: 'Board type' + label_unnamed_board: 'უსახელო დაფა' + label_unnamed_list: 'უსახელო სია' + label_board_type: 'დაფის ტიპი' upsale: teaser_text: 'გნებავთ თქვენი საწარმოო პროცესების ავტომატიზაცია Boards-ით? დამატებითი დაფები საწარმოო ვერსიის მოდულია. გადადით ფასიან ვერსიაზე.' upgrade: 'ახლავე განაახლე' lists: - delete: 'Delete list' + delete: 'სიის წაშლა' version: is_locked: 'Version is locked. No items can be added to this version.' is_closed: 'Version is closed. No items can be added to this version.' - close_version: 'Close version' - open_version: 'Open version' - lock_version: 'Lock version' - unlock_version: 'Unlock version' - edit_version: 'Edit version' - show_version: 'Show version' + close_version: 'ვრსიის დახურვა' + open_version: 'ვერსიის გახსნა' + lock_version: 'ვერსიის ჩაკეტვა' + unlock_version: 'ვერსიის გახსნა' + edit_version: 'ვერსიის ჩასწორება' + show_version: 'ვერსიის ჩვენება' locked: 'ჩაკეტილია' closed: 'დახურვა' new_board: 'ახალი დაფა' @@ -32,12 +32,12 @@ ka: text_hidden_list_warning: "Not all lists are displayed because you lack the permission. Contact your admin for more information." click_to_remove_list: "Click to remove this list" board_type: - text: 'Board type' + text: 'დაფის ტიპი' free: 'ძირითადი' select_board_type: 'Please choose the type of board you need.' free_text: > Start from scratch with a blank board. Manually add cards and columns to this board. - action: 'Action board' + action: 'ქმედებების დაფა' action_by_attribute: 'Action board (%{attribute})' action_text: > A board with filtered lists on %{attribute} attribute. Moving work packages to other lists will update their attribute. @@ -55,8 +55,8 @@ ka: assignee: შემსრულებელი status: სტატუსი version: ვერსია - subproject: subproject - subtasks: parent-child + subproject: ქვეპროექტი + subtasks: მშობელი-შვილი board_type_title: assignee: დასაქმებული status: სტატუსი diff --git a/modules/boards/config/locales/crowdin/js-ru.yml b/modules/boards/config/locales/crowdin/js-ru.yml index c0a3448fb7c0..2f8753d389a3 100644 --- a/modules/boards/config/locales/crowdin/js-ru.yml +++ b/modules/boards/config/locales/crowdin/js-ru.yml @@ -21,7 +21,7 @@ ru: edit_version: 'Изменить версию' show_version: 'Показать спринт' locked: 'Заблокировано' - closed: 'закрыто' + closed: 'Закрыто' new_board: 'Новая доска' add_list: 'Добавить список в форум' add_card: 'Добавить карточку' diff --git a/modules/boards/config/locales/crowdin/ka.yml b/modules/boards/config/locales/crowdin/ka.yml index 9ae4b035ead0..e937a22973fc 100644 --- a/modules/boards/config/locales/crowdin/ka.yml +++ b/modules/boards/config/locales/crowdin/ka.yml @@ -3,14 +3,14 @@ ka: plugin_openproject_boards: name: "OpenProject Boards" description: "Provides board views." - permission_show_board_views: "View boards" - permission_manage_board_views: "Manage boards" + permission_show_board_views: "დაფების ჩვენება" + permission_manage_board_views: "დაფების მართვა" project_module_board_view: "დაფები" boards: label_board: "დაფა" label_boards: "დაფები" label_create_new_board: "Create new board" - label_board_type: "Board type" + label_board_type: "დაფის ტიპი" board_types: free: ძირითადი action: "Action board (%{attribute})" diff --git a/modules/boards/lib/open_project/boards/patches/setting_seeder_patch.rb b/modules/boards/lib/open_project/boards/patches/setting_seeder_patch.rb index 34b84e699121..61f63c826c02 100644 --- a/modules/boards/lib/open_project/boards/patches/setting_seeder_patch.rb +++ b/modules/boards/lib/open_project/boards/patches/setting_seeder_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/contracts/boards/create_contract_spec.rb b/modules/boards/spec/contracts/boards/create_contract_spec.rb index 9096c3841b07..8ec469cabb46 100644 --- a/modules/boards/spec/contracts/boards/create_contract_spec.rb +++ b/modules/boards/spec/contracts/boards/create_contract_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/contracts/grids/create_contract_spec.rb b/modules/boards/spec/contracts/grids/create_contract_spec.rb index 5b67896c128b..c203c5993d3e 100644 --- a/modules/boards/spec/contracts/grids/create_contract_spec.rb +++ b/modules/boards/spec/contracts/grids/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/features/action_boards/assignee_board_spec.rb b/modules/boards/spec/features/action_boards/assignee_board_spec.rb index e6a5bd7a6723..2e052f9c39e5 100644 --- a/modules/boards/spec/features/action_boards/assignee_board_spec.rb +++ b/modules/boards/spec/features/action_boards/assignee_board_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,11 +27,10 @@ #++ require 'spec_helper' -require_relative './../support/board_index_page' -require_relative './../support/board_page' +require_relative '../support/board_index_page' +require_relative '../support/board_page' -RSpec.describe 'Assignee action board', - js: true, +RSpec.describe 'Assignee action board', :js, with_ee: %i[board_view] do let(:bobself_user) do create(:user, @@ -149,7 +148,7 @@ # Expect to have changed the avatar within_test_selector('op-wp-single-card--content-assignee') do - expect(page).to have_selector('.op-avatar_mini', text: 'FB', wait: 10) + expect(page).to have_css('.op-avatar_mini', text: 'FB', wait: 10) end work_package.reload @@ -163,7 +162,7 @@ # Expect to have changed the avatar within_test_selector('op-wp-single-card--content-assignee') do - expect(page).to have_selector('.op-avatar_mini', text: 'GG', wait: 10) + expect(page).to have_css('.op-avatar_mini', text: 'GG', wait: 10) end work_package.reload diff --git a/modules/boards/spec/features/action_boards/custom_field_filters_spec.rb b/modules/boards/spec/features/action_boards/custom_field_filters_spec.rb index 559cbdd71d87..dae5cc3c5f11 100644 --- a/modules/boards/spec/features/action_boards/custom_field_filters_spec.rb +++ b/modules/boards/spec/features/action_boards/custom_field_filters_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,10 +27,10 @@ #++ require 'spec_helper' -require_relative './../support//board_index_page' -require_relative './../support/board_page' +require_relative '../support//board_index_page' +require_relative '../support/board_page' -RSpec.describe 'Custom field filter in boards', js: true, with_ee: %i[board_view] do +RSpec.describe 'Custom field filter in boards', :js, with_ee: %i[board_view] do let(:user) do create(:user, member_with_roles: { project => role }) diff --git a/modules/boards/spec/features/action_boards/status_board_spec.rb b/modules/boards/spec/features/action_boards/status_board_spec.rb index 2c8899085418..6a3b072db892 100644 --- a/modules/boards/spec/features/action_boards/status_board_spec.rb +++ b/modules/boards/spec/features/action_boards/status_board_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,10 +27,10 @@ #++ require 'spec_helper' -require_relative './../support//board_index_page' -require_relative './../support/board_page' +require_relative '../support//board_index_page' +require_relative '../support/board_page' -RSpec.describe 'Status action board', js: true, with_ee: %i[board_view] do +RSpec.describe 'Status action board', :js, with_ee: %i[board_view] do let(:user) do create(:user, member_with_roles: { project => role }) diff --git a/modules/boards/spec/features/action_boards/status_type_moving_board_spec.rb b/modules/boards/spec/features/action_boards/status_type_moving_board_spec.rb index 077704766658..2483a30268dc 100644 --- a/modules/boards/spec/features/action_boards/status_type_moving_board_spec.rb +++ b/modules/boards/spec/features/action_boards/status_type_moving_board_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,10 +27,10 @@ #++ require 'spec_helper' -require_relative './../support//board_index_page' -require_relative './../support/board_page' +require_relative '../support//board_index_page' +require_relative '../support/board_page' -RSpec.describe 'Status action board', js: true, with_ee: %i[board_view] do +RSpec.describe 'Status action board', :js, with_ee: %i[board_view] do let(:user) do create(:user, member_with_roles: { project => role }) diff --git a/modules/boards/spec/features/action_boards/subproject_board_spec.rb b/modules/boards/spec/features/action_boards/subproject_board_spec.rb index 5dd95bbd36b0..0573ab22203c 100644 --- a/modules/boards/spec/features/action_boards/subproject_board_spec.rb +++ b/modules/boards/spec/features/action_boards/subproject_board_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -202,11 +202,11 @@ board_page.expect_card subproject1.name, work_package.subject # No error is to be displayed as erroneous columns are filtered out - expect(page).not_to have_css('.op-toast.-error') + expect(page).to have_no_css('.op-toast.-error') board_page.expect_no_list(subproject2.name) expect(page) - .not_to have_content invisible_work_package.subject + .to have_no_content invisible_work_package.subject end end @@ -236,7 +236,7 @@ board_page.open_and_fill_add_list_modal subproject2.name - expect(page).not_to have_css('.ng-option', text: subproject2.name) + expect(page).to have_no_css('.ng-option', text: subproject2.name) end end end diff --git a/modules/boards/spec/features/action_boards/subtasks_board_spec.rb b/modules/boards/spec/features/action_boards/subtasks_board_spec.rb index 73da9c988730..ca86390bffc6 100644 --- a/modules/boards/spec/features/action_boards/subtasks_board_spec.rb +++ b/modules/boards/spec/features/action_boards/subtasks_board_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support//board_index_page' require_relative '../support/board_page' -RSpec.describe 'Subtasks action board', js: true, with_ee: %i[board_view] do +RSpec.describe 'Subtasks action board', :js, with_ee: %i[board_view] do let(:type) { create(:type_standard) } let(:project) { create(:project, types: [type], enabled_module_names: %i[work_package_tracking board_view]) } let(:role) { create(:project_role, permissions:) } diff --git a/modules/boards/spec/features/action_boards/version_board_spec.rb b/modules/boards/spec/features/action_boards/version_board_spec.rb index 3224f399778d..6c0180afb5e5 100644 --- a/modules/boards/spec/features/action_boards/version_board_spec.rb +++ b/modules/boards/spec/features/action_boards/version_board_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -245,18 +245,18 @@ def create_new_version_board end board_page.expect_list 'Closed version' - expect(page).to have_selector("#{test_selector('op-version-board-header')}.-closed") + expect(page).to have_css("#{test_selector('op-version-board-header')}.-closed") # Can open that version board_page.click_list_dropdown 'Closed version', 'Open version' - expect(page).not_to have_selector("#{test_selector('op-version-board-header')}.-closed") + expect(page).to have_no_css("#{test_selector('op-version-board-header')}.-closed") closed_version.reload expect(closed_version.status).to eq 'open' # Can lock that version board_page.click_list_dropdown 'Closed version', 'Lock version' - expect(page).to have_selector("#{test_selector('op-version-board-header')}.-locked") + expect(page).to have_css("#{test_selector('op-version-board-header')}.-locked") closed_version.reload expect(closed_version.status).to eq 'locked' @@ -323,7 +323,7 @@ def create_new_version_board board_page.expect_editable_board(true) board_page.expect_editable_list(false) - expect(page).not_to have_selector("#{test_selector('op-wp-single-card')}.-draggable") + expect(page).to have_no_css("#{test_selector('op-wp-single-card')}.-draggable") end end @@ -337,7 +337,7 @@ def create_new_version_board board_page.open_and_fill_add_list_modal 'Completely new version' - expect(page).not_to have_css('.ng-option', text: 'Completely new version') + expect(page).to have_no_css('.ng-option', text: 'Completely new version') end end end diff --git a/modules/boards/spec/features/board_conflicts_spec.rb b/modules/boards/spec/features/board_conflicts_spec.rb index 0e12ae95e511..a97d4e391762 100644 --- a/modules/boards/spec/features/board_conflicts_spec.rb +++ b/modules/boards/spec/features/board_conflicts_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,10 +27,10 @@ #++ require 'spec_helper' -require_relative './support/board_index_page' -require_relative './support/board_page' +require_relative 'support/board_index_page' +require_relative 'support/board_page' -RSpec.describe 'Board remote changes resolution', js: true, with_ee: %i[board_view] do +RSpec.describe 'Board remote changes resolution', :js, with_ee: %i[board_view] do let(:user1) do create(:user, member_with_roles: { project => role }) diff --git a/modules/boards/spec/features/board_enterprise_spec.rb b/modules/boards/spec/features/board_enterprise_spec.rb index 590c92c0c3aa..dd8d4b15a80f 100644 --- a/modules/boards/spec/features/board_enterprise_spec.rb +++ b/modules/boards/spec/features/board_enterprise_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -56,8 +56,8 @@ it 'disabled all action boards' do page.find('.toolbar-item a', text: 'Board').click - expect(page).to have_selector("#{test_selector('op-tile-block')}:not(.-disabled)", text: 'Basic') - expect(page).to have_selector("#{test_selector('op-tile-block')}.-disabled", count: 5) + expect(page).to have_css("#{test_selector('op-tile-block')}:not(.-disabled)", text: 'Basic') + expect(page).to have_css("#{test_selector('op-tile-block')}.-disabled", count: 5) end it 'shows a banner on the action board' do @@ -85,7 +85,7 @@ it 'enables all options' do page.find('.toolbar-item a', text: 'Board').click - expect(page).to have_selector("#{test_selector('op-tile-block')}:not(.-disabled)", count: 6) + expect(page).to have_css("#{test_selector('op-tile-block')}:not(.-disabled)", count: 6) end it 'shows the action board' do diff --git a/modules/boards/spec/features/board_highlighting_spec.rb b/modules/boards/spec/features/board_highlighting_spec.rb index 0cc9d08b907f..2c144beb40f8 100644 --- a/modules/boards/spec/features/board_highlighting_spec.rb +++ b/modules/boards/spec/features/board_highlighting_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,10 +27,10 @@ #++ require 'spec_helper' -require_relative './support/board_index_page' -require_relative './support/board_page' +require_relative 'support/board_index_page' +require_relative 'support/board_page' -RSpec.describe 'Work Package boards spec', js: true, with_ee: %i[board_view] do +RSpec.describe 'Work Package boards spec', :js, with_ee: %i[board_view] do let(:user) do create(:user, member_with_roles: { project => role }) @@ -81,26 +81,26 @@ board_page.expect_card 'Open', wp2.subject # Highlight type inline is always active - expect(page).to have_selector(".__hl_inline_type_#{type.id}") - expect(page).to have_selector(".__hl_inline_type_#{type2.id}") + expect(page).to have_css(".__hl_inline_type_#{type.id}") + expect(page).to have_css(".__hl_inline_type_#{type2.id}") # Highlight whole card by priority board_page.change_board_highlighting 'inline', 'Priority' - expect(page).to have_selector(".__hl_background_priority_#{priority.id}") - expect(page).to have_selector(".__hl_background_priority_#{priority2.id}") + expect(page).to have_css(".__hl_background_priority_#{priority.id}") + expect(page).to have_css(".__hl_background_priority_#{priority2.id}") # Highlight whole card by type board_page.change_board_highlighting 'inline', 'Type' - expect(page).to have_selector(".__hl_background_type_#{type.id}") - expect(page).to have_selector(".__hl_background_type_#{type2.id}") + expect(page).to have_css(".__hl_background_type_#{type.id}") + expect(page).to have_css(".__hl_background_type_#{type2.id}") # Disable highlighting board_page.change_board_highlighting 'none' - expect(page).not_to have_selector(".__hl_background_type_#{type.id}") - expect(page).not_to have_selector(".__hl_background_type_#{type2.id}") + expect(page).to have_no_css(".__hl_background_type_#{type.id}") + expect(page).to have_no_css(".__hl_background_type_#{type2.id}") # Type is still shown highlighted - expect(page).to have_selector(".__hl_inline_type_#{type.id}") - expect(page).to have_selector(".__hl_inline_type_#{type2.id}") + expect(page).to have_css(".__hl_inline_type_#{type.id}") + expect(page).to have_css(".__hl_inline_type_#{type2.id}") end end diff --git a/modules/boards/spec/features/board_index_spec.rb b/modules/boards/spec/features/board_index_spec.rb index a4567eb22d91..06edd75b75ac 100644 --- a/modules/boards/spec/features/board_index_spec.rb +++ b/modules/boards/spec/features/board_index_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -67,7 +67,6 @@ shared_let(:priority) { create(:default_priority) } shared_let(:status) { create(:default_status) } - let(:current_user) { user_with_full_permissions } let(:board_index) { Pages::BoardIndex.new(project) } diff --git a/modules/boards/spec/features/board_management_spec.rb b/modules/boards/spec/features/board_management_spec.rb index 73c01bcacae1..cb4604955eef 100644 --- a/modules/boards/spec/features/board_management_spec.rb +++ b/modules/boards/spec/features/board_management_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,10 +27,10 @@ #++ require 'spec_helper' -require_relative './support/board_index_page' -require_relative './support/board_page' +require_relative 'support/board_index_page' +require_relative 'support/board_page' -RSpec.describe 'Board management spec', js: true, with_ee: %i[board_view] do +RSpec.describe 'Board management spec', :js, with_ee: %i[board_view] do let(:user) do create(:user, member_with_roles: { project => role }) @@ -236,7 +236,7 @@ end end - context 'with view boards + edit work package permission' do + context 'with view boards + edit work package and change work package status permissions' do let(:permissions) { %i[show_board_views view_work_packages add_work_packages edit_work_packages] } let(:board_view) { create(:board_grid_with_queries, project:) } @@ -283,7 +283,7 @@ it 'does not allow viewing of boards' do visit project_work_package_board_path(project, board_view) - expect(page).to have_selector('#errorExplanation', text: I18n.t(:notice_not_authorized)) + expect(page).to have_css('#errorExplanation', text: I18n.t(:notice_not_authorized)) board_index.expect_editable false end @@ -294,7 +294,7 @@ it 'does not allow viewing of boards' do board_index.visit! - expect(page).to have_selector('#errorExplanation', text: I18n.t(:notice_not_authorized)) + expect(page).to have_css('#errorExplanation', text: I18n.t(:notice_not_authorized)) end end end diff --git a/modules/boards/spec/features/board_navigation_spec.rb b/modules/boards/spec/features/board_navigation_spec.rb index 82076fbc76af..b636dc75dc62 100644 --- a/modules/boards/spec/features/board_navigation_spec.rb +++ b/modules/boards/spec/features/board_navigation_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,10 +27,10 @@ #++ require 'spec_helper' -require_relative './support/board_index_page' -require_relative './support/board_page' +require_relative 'support/board_index_page' +require_relative 'support/board_page' -RSpec.describe 'Work Package boards spec', js: true, with_ee: %i[board_view] do +RSpec.describe 'Work Package boards spec', :js, with_ee: %i[board_view] do let(:user) do create(:user, member_with_roles: { project => role }) @@ -96,7 +96,12 @@ expect(page).to have_current_path /details\/#{wp.id}\/overview/ end - it 'navigates correctly the path from overview page to the boards page' do + it 'navigates correctly the path from overview page to the boards page', + # The polling interval is only lowered as the sidemenu relies on Angular's change + # detection to be updated. This is a bug. + # In reality, it does not really matter as the user will always move the mouse or do + # a similar action. + with_settings: { notifications_polling_interval: 1_000 } do visit project_path(project) item = page.find('#menu-sidebar li[data-name="boards"]', wait: 10) diff --git a/modules/boards/spec/features/board_overview_spec.rb b/modules/boards/spec/features/board_overview_spec.rb index d66a4f23153a..2fa458568bc8 100644 --- a/modules/boards/spec/features/board_overview_spec.rb +++ b/modules/boards/spec/features/board_overview_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/features/board_reference_work_package_spec.rb b/modules/boards/spec/features/board_reference_work_package_spec.rb index a9337465558a..de469248ac17 100644 --- a/modules/boards/spec/features/board_reference_work_package_spec.rb +++ b/modules/boards/spec/features/board_reference_work_package_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/features/board_update_spec.rb b/modules/boards/spec/features/board_update_spec.rb index 2eb5f1a83ef6..78a6e8d7cf49 100644 --- a/modules/boards/spec/features/board_update_spec.rb +++ b/modules/boards/spec/features/board_update_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,10 +27,10 @@ #++ require 'spec_helper' -require_relative './support/board_index_page' -require_relative './support/board_page' +require_relative 'support/board_index_page' +require_relative 'support/board_page' -RSpec.describe 'Work Package boards updating spec', js: true, with_ee: %i[board_view] do +RSpec.describe 'Work Package boards updating spec', :js, with_ee: %i[board_view] do let(:admin) { create(:admin) } let(:project) { create(:project, enabled_module_names: %i[work_package_tracking board_view]) } diff --git a/modules/boards/spec/features/boards_global_create_spec.rb b/modules/boards/spec/features/boards_global_create_spec.rb index b4a0f528edfb..f2d1cd747f07 100644 --- a/modules/boards/spec/features/boards_global_create_spec.rb +++ b/modules/boards/spec/features/boards_global_create_spec.rb @@ -51,7 +51,7 @@ context 'with a Community Edition', with_ee: %i[] do it 'renders an enterprise banner and disables all restriced board types', :aggregate_failures do - expect(page).to have_selector('op-enterprise-banner') + expect(page).to have_css('op-enterprise-banner') expect(page).to have_selector(:radio_button, 'Basic') %w[Status Assignee Version Subproject Parent-child].each do |restricted_board_type| @@ -96,7 +96,7 @@ expect(page).to have_text(I18n.t(:notice_successful_create)) expect(page).to have_current_path("/projects/#{project.identifier}/boards/#{Boards::Grid.last.id}") expect(page).to have_text "Gotham Renewal Board" - expect(page).to have_selector("[data-query-name='#{status.name}']") + expect(page).to have_css("[data-query-name='#{status.name}']") end end @@ -128,10 +128,10 @@ expect(page).to have_current_path("/projects/#{project.identifier}/boards/#{Boards::Grid.last.id}") expect(page).to have_text "Gotham Renewal Board" versions.each do |version| - expect(page).to have_selector("[data-query-name='#{version.name}'") + expect(page).to have_css("[data-query-name='#{version.name}'") end excluded_versions.each do |version| - expect(page).not_to have_selector("[data-query-name='#{version.name}'") + expect(page).to have_no_css("[data-query-name='#{version.name}'") end end end diff --git a/modules/boards/spec/features/boards_sorting_spec.rb b/modules/boards/spec/features/boards_sorting_spec.rb index 74416b989c22..9ece629182e8 100644 --- a/modules/boards/spec/features/boards_sorting_spec.rb +++ b/modules/boards/spec/features/boards_sorting_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative 'support/board_index_page' require_relative 'support/board_page' -RSpec.describe 'Work Package boards sorting spec', js: true, with_ee: %i[board_view] do +RSpec.describe 'Work Package boards sorting spec', :js, with_ee: %i[board_view] do let(:admin) { create(:admin) } let(:project) { create(:project, enabled_module_names: %i[work_package_tracking board_view]) } let(:board_index) { Pages::BoardIndex.new(project) } diff --git a/modules/boards/spec/features/menu_items/global_menu_item_spec.rb b/modules/boards/spec/features/menu_items/global_menu_item_spec.rb index 3ae8cb57df9e..422333c35bcc 100644 --- a/modules/boards/spec/features/menu_items/global_menu_item_spec.rb +++ b/modules/boards/spec/features/menu_items/global_menu_item_spec.rb @@ -58,7 +58,7 @@ it 'is not rendered' do within '#main-menu' do - expect(page).not_to have_content(boards_label) + expect(page).to have_no_content(boards_label) end end end diff --git a/modules/boards/spec/features/menu_items/top_menu_item_spec.rb b/modules/boards/spec/features/menu_items/top_menu_item_spec.rb index 3910d23094ae..a85b0c38c478 100644 --- a/modules/boards/spec/features/menu_items/top_menu_item_spec.rb +++ b/modules/boards/spec/features/menu_items/top_menu_item_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -73,7 +73,7 @@ it "does not display the menu item" do within '#more-menu', visible: false do - expect(page).not_to have_link boards + expect(page).to have_no_link boards end end end diff --git a/modules/boards/spec/features/onboarding/boards_onboarding_tour_spec.rb b/modules/boards/spec/features/onboarding/boards_onboarding_tour_spec.rb index 307177ffc459..c317aadaa477 100644 --- a/modules/boards/spec/features/onboarding/boards_onboarding_tour_spec.rb +++ b/modules/boards/spec/features/onboarding/boards_onboarding_tour_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/features/support/board_index_page.rb b/modules/boards/spec/features/support/board_index_page.rb index da8db1269bc4..3bc10cbd10f1 100644 --- a/modules/boards/spec/features/support/board_index_page.rb +++ b/modules/boards/spec/features/support/board_index_page.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -73,10 +73,10 @@ def create_board(action: 'Basic', title: "#{action} Board", expect_empty: false, new_board_page.click_on_submit if expect_empty - expect(page).to have_selector('.boards-list--add-item-text', wait: 10) - expect(page).not_to have_selector('.boards-list--item') + expect(page).to have_css('.boards-list--add-item-text', wait: 10) + expect(page).to have_no_css('.boards-list--item') else - expect(page).to have_selector('.boards-list--item', wait: 10) + expect(page).to have_css('.boards-list--item', wait: 10) end ::Pages::Board.new ::Boards::Grid.last diff --git a/modules/boards/spec/features/support/board_list_page.rb b/modules/boards/spec/features/support/board_list_page.rb index 9a02fb9a6dfb..3696969947d9 100644 --- a/modules/boards/spec/features/support/board_list_page.rb +++ b/modules/boards/spec/features/support/board_list_page.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -42,14 +42,14 @@ def expect_create_button def expect_no_create_button within '.toolbar-items' do - expect(page).not_to have_link 'Board' + expect(page).to have_no_link 'Board' end end def expect_delete_buttons(*boards) within '#content-wrapper' do boards.each do |board| - expect(page).to have_selector "[data-test-selector='board-remove-#{board.id}']" + expect(page).to have_css "[data-test-selector='board-remove-#{board.id}']" end end end @@ -57,7 +57,7 @@ def expect_delete_buttons(*boards) def expect_no_delete_buttons(*boards) within '#content-wrapper' do boards.each do |board| - expect(page).not_to have_selector "[data-test-selector='board-remove-#{board.id}']" + expect(page).to have_no_css "[data-test-selector='board-remove-#{board.id}']" end end end @@ -67,7 +67,7 @@ def expect_boards_listed(*boards) within '#content-wrapper' do expected_board_names.each do |board_name| - expect(page).to have_selector("td.name", text: board_name) + expect(page).to have_css("td.name", text: board_name) end end end @@ -86,7 +86,7 @@ def expect_boards_not_listed(*boards) within '#content-wrapper' do unexpected_board_names.each do |board_name| - expect(page).not_to have_selector("td.title", text: board_name) + expect(page).to have_no_css("td.title", text: board_name) end end end @@ -102,7 +102,7 @@ def expect_no_boards_listed end def expect_to_be_on_page(number) - expect(page).to have_selector('.op-pagination--item_current', text: number) + expect(page).to have_css('.op-pagination--item_current', text: number) end def to_page(number) diff --git a/modules/boards/spec/features/support/board_overview_page.rb b/modules/boards/spec/features/support/board_overview_page.rb index cac8cfa9c0ab..7a71af131b98 100644 --- a/modules/boards/spec/features/support/board_overview_page.rb +++ b/modules/boards/spec/features/support/board_overview_page.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -37,7 +37,7 @@ def visit! def expect_global_menu_item_selected within '#main-menu' do - expect(page).to have_selector('.selected', text: 'Boards') + expect(page).to have_css('.selected', text: 'Boards') end end end diff --git a/modules/boards/spec/features/support/board_page.rb b/modules/boards/spec/features/support/board_page.rb index bb395d1b0d63..e5fd3f0ebc36 100644 --- a/modules/boards/spec/features/support/board_page.rb +++ b/modules/boards/spec/features/support/board_page.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,6 @@ #++ require 'support/pages/page' -require_relative './board_page' module Pages class Board < Page @@ -130,7 +129,7 @@ def expect_not_referencable(list_name, work_package) query: work_package.subject, results_selector: '.work-packages-partitioned-query-space--container') - expect(target_dropdown).not_to have_selector('.ui-menu-item', text: work_package.subject) + expect(target_dropdown).to have_no_css('.ui-menu-item', text: work_package.subject) end ## @@ -159,7 +158,7 @@ def expect_cards_in_order(list_name, *card_titles) def expect_movable(list_name, card_title, movable: true) within_list(list_name) do - expect(page).to have_selector('[data-test-selector="op-wp-single-card"]', text: card_title) + expect(page).to have_css('[data-test-selector="op-wp-single-card"]', text: card_title) expect(page).to have_conditional_selector(movable, '[data-test-selector="op-wp-single-card"][data-qa-draggable]', text: card_title) @@ -177,8 +176,8 @@ def wait_for_lists_reload # wait for reload of lists to start and finish # Not sure if that's the most reliable way to do it, but there is nothing visible # about the PATCH request being sent and executed successfully after moving a card. - expect(page).to have_selector('.op-loading-indicator', wait: 5) - expect(page).not_to have_selector('.op-loading-indicator') + expect(page).to have_css('.op-loading-indicator', wait: 5) + expect(page).to have_no_css('.op-loading-indicator') end def add_list(option: nil, query: option) @@ -190,7 +189,7 @@ def add_list(option: nil, query: option) if option.nil? page.find('.boards-list--add-item').click - expect(page).to have_selector('[data-test-selector="op-board-list"]', count: count + 1) + expect(page).to have_css('[data-test-selector="op-board-list"]', count: count + 1) else open_and_fill_add_list_modal query page.find('.ng-option', text: option, wait: 10).click @@ -210,23 +209,23 @@ def save end def expect_changed - expect(page).to have_selector('.editable-toolbar-title--save') + expect(page).to have_css('.editable-toolbar-title--save') end def expect_not_changed - expect(page).not_to have_selector('.editable-toolbar-title--save') + expect(page).to have_no_css('.editable-toolbar-title--save') end def expect_list(name) - expect(page).to have_selector('[data-test-selector="op-board-list--header"]', text: name, wait: 10) + expect(page).to have_css('[data-test-selector="op-board-list--header"]', text: name, wait: 10) end def expect_no_list(name) - expect(page).not_to have_selector('[data-test-selector="op-board-list--header"]', text: name) + expect(page).to have_no_css('[data-test-selector="op-board-list--header"]', text: name) end def expect_empty - expect(page).not_to have_selector('.boards-list--item', wait: 10) + expect(page).to have_no_css('.boards-list--item', wait: 10) end def remove_list(name) @@ -235,7 +234,7 @@ def remove_list(name) accept_alert_dialog! expect_and_dismiss_toaster message: I18n.t('js.notice_successful_update') - expect(page).not_to have_selector list_selector(name) + expect(page).to have_no_selector list_selector(name) end def click_list_dropdown(list_name, action) @@ -255,9 +254,9 @@ def expect_list_option(name, present: true) open_and_fill_add_list_modal name if present - expect(page).to have_selector('.ng-option', text: name) + expect(page).to have_css('.ng-option', text: name) else - expect(page).not_to have_selector('.ng-option', text: name) + expect(page).to have_no_css('.ng-option', text: name) end find('body').send_keys [:escape] end @@ -334,7 +333,7 @@ def expect_query(name, editable: true) if editable expect(page).to have_field('editable-toolbar-title', with: name) else - expect(page).to have_selector('.editable-toolbar-title--fixed', text: name) + expect(page).to have_css('.editable-toolbar-title--fixed', text: name) end end @@ -358,7 +357,7 @@ def open_and_fill_add_list_modal(name) def open_add_list_modal page.find('.boards-list--add-item').click - expect(page).to have_selector('.new-list--action-select input') + expect(page).to have_css('.new-list--action-select input') end def add_list_modal_shows_warning(value, with_link: false) diff --git a/modules/boards/spec/features/support/onboarding_steps.rb b/modules/boards/spec/features/support/onboarding_steps.rb index 4e049e010bb9..206b31b09f2c 100644 --- a/modules/boards/spec/features/support/onboarding_steps.rb +++ b/modules/boards/spec/features/support/onboarding_steps.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/models/boards/grid_spec.rb b/modules/boards/spec/models/boards/grid_spec.rb index 996abd2f7f49..239edc14e09d 100644 --- a/modules/boards/spec/models/boards/grid_spec.rb +++ b/modules/boards/spec/models/boards/grid_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/queries/grids/query_integration_spec.rb b/modules/boards/spec/queries/grids/query_integration_spec.rb index c81321c90322..7c2463d6bb0b 100644 --- a/modules/boards/spec/queries/grids/query_integration_spec.rb +++ b/modules/boards/spec/queries/grids/query_integration_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -56,7 +56,7 @@ context 'without a filter' do describe '#results' do it 'is the same as getting all the boards visible to the user' do - expect(instance.results).to match_array [board_grid] + expect(instance.results).to contain_exactly(board_grid) end end end @@ -69,7 +69,7 @@ describe '#results' do it 'yields boards assigned to the project' do - expect(instance.results).to match_array [board_grid] + expect(instance.results).to contain_exactly(board_grid) end end diff --git a/modules/boards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb b/modules/boards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb index c7d61f0b177a..1afb1a911ba9 100644 --- a/modules/boards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb +++ b/modules/boards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/requests/api/v3/grids/grids_resource_spec.rb b/modules/boards/spec/requests/api/v3/grids/grids_resource_spec.rb index 50f23bf6a4e2..55de32fde4c7 100644 --- a/modules/boards/spec/requests/api/v3/grids/grids_resource_spec.rb +++ b/modules/boards/spec/requests/api/v3/grids/grids_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -259,8 +259,7 @@ expect(subject.status).to eq 422 expect(JSON.parse(subject.body)['_embedded']['errors'].map { |e| e['message'] }) - .to match_array ["Widgets is outside of the grid.", - "Number of rows must be greater than 0."] + .to contain_exactly("Widgets is outside of the grid.", "Number of rows must be greater than 0.") end it 'does not persist the changes to widgets' do @@ -391,9 +390,8 @@ .at_path('_type') expect(JSON.parse(subject.body)['_embedded']['errors'].map { |e| e['message'] }) - .to match_array ["Widgets is outside of the grid.", - "Number of rows must be greater than 0.", - "Number of columns must be greater than 0."] + .to contain_exactly("Widgets is outside of the grid.", "Number of rows must be greater than 0.", + "Number of columns must be greater than 0.") end end diff --git a/modules/boards/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb b/modules/boards/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb index 3705c7b62ac9..da7eb42cfe63 100644 --- a/modules/boards/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb +++ b/modules/boards/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/routing/boards_routing_spec.rb b/modules/boards/spec/routing/boards_routing_spec.rb index 6a83d97dedc3..f38df997003e 100644 --- a/modules/boards/spec/routing/boards_routing_spec.rb +++ b/modules/boards/spec/routing/boards_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/services/assignee_board_create_service_spec.rb b/modules/boards/spec/services/assignee_board_create_service_spec.rb index 0b9d6ef2503c..ab324afa75f7 100644 --- a/modules/boards/spec/services/assignee_board_create_service_spec.rb +++ b/modules/boards/spec/services/assignee_board_create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/services/base_create_service_shared_examples.rb b/modules/boards/spec/services/base_create_service_shared_examples.rb index 6e9b91e57af3..7146101c57b6 100644 --- a/modules/boards/spec/services/base_create_service_shared_examples.rb +++ b/modules/boards/spec/services/base_create_service_shared_examples.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/services/basic_board_create_service_spec.rb b/modules/boards/spec/services/basic_board_create_service_spec.rb index 5666e0a6f45f..723caa11a4cf 100644 --- a/modules/boards/spec/services/basic_board_create_service_spec.rb +++ b/modules/boards/spec/services/basic_board_create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/services/copy_service_integration_spec.rb b/modules/boards/spec/services/copy_service_integration_spec.rb index 66f2e9e35a8d..1213dbe45f32 100644 --- a/modules/boards/spec/services/copy_service_integration_spec.rb +++ b/modules/boards/spec/services/copy_service_integration_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -76,7 +76,7 @@ query.save! end - it 'will succeed to copy, but add an error for the missing subproject column (Regression #34550)' do + it 'succeeds to copy, but add an error for the missing subproject column (Regression #34550)' do # Expect to have created to board, but with error expect(subject).to be_success expect(subject.errors.full_messages).to eq([expected_error]) @@ -101,7 +101,7 @@ end describe 'call' do - it 'will copy the boards with the order correct' do + it 'copies the boards with the order correct' do expect(subject).to be_success expect(board_copies.count).to eq 1 diff --git a/modules/boards/spec/services/status_board_create_service_spec.rb b/modules/boards/spec/services/status_board_create_service_spec.rb index b585eb6dca9a..012a139f4e88 100644 --- a/modules/boards/spec/services/status_board_create_service_spec.rb +++ b/modules/boards/spec/services/status_board_create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/services/subproject_board_create_service_spec.rb b/modules/boards/spec/services/subproject_board_create_service_spec.rb index 0c9837d83f7a..ad5056c6700a 100644 --- a/modules/boards/spec/services/subproject_board_create_service_spec.rb +++ b/modules/boards/spec/services/subproject_board_create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/services/subtasks_board_create_service_spec.rb b/modules/boards/spec/services/subtasks_board_create_service_spec.rb index 0dedb2081388..d78fcf557d3a 100644 --- a/modules/boards/spec/services/subtasks_board_create_service_spec.rb +++ b/modules/boards/spec/services/subtasks_board_create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/boards/spec/services/version_board_create_service_spec.rb b/modules/boards/spec/services/version_board_create_service_spec.rb index 3dd973571403..5566ba36ab96 100644 --- a/modules/boards/spec/services/version_board_create_service_spec.rb +++ b/modules/boards/spec/services/version_board_create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/contracts/budgets/base_contract.rb b/modules/budgets/app/contracts/budgets/base_contract.rb index 43d8764c5360..e3aed4e26841 100644 --- a/modules/budgets/app/contracts/budgets/base_contract.rb +++ b/modules/budgets/app/contracts/budgets/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/contracts/budgets/create_contract.rb b/modules/budgets/app/contracts/budgets/create_contract.rb index cdfec81e8a0c..50d958714b09 100644 --- a/modules/budgets/app/contracts/budgets/create_contract.rb +++ b/modules/budgets/app/contracts/budgets/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/contracts/budgets/update_contract.rb b/modules/budgets/app/contracts/budgets/update_contract.rb index 4dc8da4e1897..9390f2105169 100644 --- a/modules/budgets/app/contracts/budgets/update_contract.rb +++ b/modules/budgets/app/contracts/budgets/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/controllers/budgets_controller.rb b/modules/budgets/app/controllers/budgets_controller.rb index a3fd60361111..83e1ed101479 100644 --- a/modules/budgets/app/controllers/budgets_controller.rb +++ b/modules/budgets/app/controllers/budgets_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/helpers/budgets_helper.rb b/modules/budgets/app/helpers/budgets_helper.rb index 300b72b5583f..044d59185f88 100644 --- a/modules/budgets/app/helpers/budgets_helper.rb +++ b/modules/budgets/app/helpers/budgets_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/models/budget.rb b/modules/budgets/app/models/budget.rb index 3c85f3a80d0e..cc7f457941c0 100644 --- a/modules/budgets/app/models/budget.rb +++ b/modules/budgets/app/models/budget.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -224,13 +224,13 @@ def correct_material_attributes!(attributes) def update_budget_item_attributes(budget_item_attributes, type:) return unless edit_allowed? - budget_items = send("#{type}_budget_items") + budget_items = send(:"#{type}_budget_items") budget_items.reject(&:new_record?).each do |budget_item| attributes = budget_item_attributes[budget_item.id.to_s.to_sym] - send("correct_#{type}_attributes!", attributes) + send(:"correct_#{type}_attributes!", attributes) - if send("valid_#{type}_budget_attributes?", attributes) + if send(:"valid_#{type}_budget_attributes?", attributes) budget_item.attributes = attributes else # This is surprising as it will delete right away compared to the diff --git a/modules/budgets/app/models/journal/budget_journal.rb b/modules/budgets/app/models/journal/budget_journal.rb index c2329bfd6a76..eef5a1015558 100644 --- a/modules/budgets/app/models/journal/budget_journal.rb +++ b/modules/budgets/app/models/journal/budget_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/models/labor_budget_item.rb b/modules/budgets/app/models/labor_budget_item.rb index 49f3b96d2fed..7c53d8bf66cc 100644 --- a/modules/budgets/app/models/labor_budget_item.rb +++ b/modules/budgets/app/models/labor_budget_item.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/models/material_budget_item.rb b/modules/budgets/app/models/material_budget_item.rb index 65a55a057260..65bf79afb7b9 100644 --- a/modules/budgets/app/models/material_budget_item.rb +++ b/modules/budgets/app/models/material_budget_item.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/models/queries/work_packages/filter/budget_filter.rb b/modules/budgets/app/models/queries/work_packages/filter/budget_filter.rb index d89dc6483833..2d68c93a9d9e 100644 --- a/modules/budgets/app/models/queries/work_packages/filter/budget_filter.rb +++ b/modules/budgets/app/models/queries/work_packages/filter/budget_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -58,7 +58,6 @@ def value_objects values .filter_map { |budget_id| available_budgets[budget_id.to_i] } - end def human_name diff --git a/modules/budgets/app/services/budgets/create_service.rb b/modules/budgets/app/services/budgets/create_service.rb index b6058f35999d..d92bea2e8efa 100644 --- a/modules/budgets/app/services/budgets/create_service.rb +++ b/modules/budgets/app/services/budgets/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/services/budgets/set_attributes_service.rb b/modules/budgets/app/services/budgets/set_attributes_service.rb index 219eb6c39a0f..a28ebd7e0cc4 100644 --- a/modules/budgets/app/services/budgets/set_attributes_service.rb +++ b/modules/budgets/app/services/budgets/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/services/budgets/update_service.rb b/modules/budgets/app/services/budgets/update_service.rb index fddcc7e0c337..6103ad05912c 100644 --- a/modules/budgets/app/services/budgets/update_service.rb +++ b/modules/budgets/app/services/budgets/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/_costs.html.erb b/modules/budgets/app/views/budgets/_costs.html.erb index 9d551020ff34..9ca65329730f 100644 --- a/modules/budgets/app/views/budgets/_costs.html.erb +++ b/modules/budgets/app/views/budgets/_costs.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/_edit.html.erb b/modules/budgets/app/views/budgets/_edit.html.erb index 5f39f8ec787a..c28ba52cd200 100644 --- a/modules/budgets/app/views/budgets/_edit.html.erb +++ b/modules/budgets/app/views/budgets/_edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/_form.html.erb b/modules/budgets/app/views/budgets/_form.html.erb index a5623be647ed..506f9c7d76d7 100644 --- a/modules/budgets/app/views/budgets/_form.html.erb +++ b/modules/budgets/app/views/budgets/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/_list.html.erb b/modules/budgets/app/views/budgets/_list.html.erb index 00c0c13bf2cb..42e9cf703c9d 100644 --- a/modules/budgets/app/views/budgets/_list.html.erb +++ b/modules/budgets/app/views/budgets/_list.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/_show.html.erb b/modules/budgets/app/views/budgets/_show.html.erb index b7ac5238cc48..48085eaf6e73 100644 --- a/modules/budgets/app/views/budgets/_show.html.erb +++ b/modules/budgets/app/views/budgets/_show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/destroy_info.html.erb b/modules/budgets/app/views/budgets/destroy_info.html.erb index cfab32719f08..0651bafef015 100644 --- a/modules/budgets/app/views/budgets/destroy_info.html.erb +++ b/modules/budgets/app/views/budgets/destroy_info.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/edit.html.erb b/modules/budgets/app/views/budgets/edit.html.erb index fa008c3c2e25..720768fa9693 100644 --- a/modules/budgets/app/views/budgets/edit.html.erb +++ b/modules/budgets/app/views/budgets/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/index.html.erb b/modules/budgets/app/views/budgets/index.html.erb index a991ff9c6be4..c80db693281d 100644 --- a/modules/budgets/app/views/budgets/index.html.erb +++ b/modules/budgets/app/views/budgets/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/items/_labor_budget_item.html.erb b/modules/budgets/app/views/budgets/items/_labor_budget_item.html.erb index 33ed51c94eaa..3a6e99510bb2 100644 --- a/modules/budgets/app/views/budgets/items/_labor_budget_item.html.erb +++ b/modules/budgets/app/views/budgets/items/_labor_budget_item.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/items/_material_budget_item.html.erb b/modules/budgets/app/views/budgets/items/_material_budget_item.html.erb index c4aa61a58fcc..73c821286477 100644 --- a/modules/budgets/app/views/budgets/items/_material_budget_item.html.erb +++ b/modules/budgets/app/views/budgets/items/_material_budget_item.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/new.html.erb b/modules/budgets/app/views/budgets/new.html.erb index 549655736296..9291cb5e0d2b 100644 --- a/modules/budgets/app/views/budgets/new.html.erb +++ b/modules/budgets/app/views/budgets/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/show.html.erb b/modules/budgets/app/views/budgets/show.html.erb index 5c4a0c5b49c7..b59de3079459 100644 --- a/modules/budgets/app/views/budgets/show.html.erb +++ b/modules/budgets/app/views/budgets/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/subform/_labor_budget_subform.html.erb b/modules/budgets/app/views/budgets/subform/_labor_budget_subform.html.erb index 69640a20ea8b..d78d608b7b41 100644 --- a/modules/budgets/app/views/budgets/subform/_labor_budget_subform.html.erb +++ b/modules/budgets/app/views/budgets/subform/_labor_budget_subform.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/app/views/budgets/subform/_material_budget_subform.html.erb b/modules/budgets/app/views/budgets/subform/_material_budget_subform.html.erb index f9ee47b544d4..12c01c10967a 100644 --- a/modules/budgets/app/views/budgets/subform/_material_budget_subform.html.erb +++ b/modules/budgets/app/views/budgets/subform/_material_budget_subform.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/config/locales/crowdin/af.yml b/modules/budgets/config/locales/crowdin/af.yml index 91bcfc3d9603..dca856a09a36 100644 --- a/modules/budgets/config/locales/crowdin/af.yml +++ b/modules/budgets/config/locales/crowdin/af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/ar.yml b/modules/budgets/config/locales/crowdin/ar.yml index 9fa4a5df662c..d1abc254872a 100644 --- a/modules/budgets/config/locales/crowdin/ar.yml +++ b/modules/budgets/config/locales/crowdin/ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/az.yml b/modules/budgets/config/locales/crowdin/az.yml index 592e1b4ede1b..e18537d25cee 100644 --- a/modules/budgets/config/locales/crowdin/az.yml +++ b/modules/budgets/config/locales/crowdin/az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/be.yml b/modules/budgets/config/locales/crowdin/be.yml index bcfe1af3e645..3d1b3ee2a1e4 100644 --- a/modules/budgets/config/locales/crowdin/be.yml +++ b/modules/budgets/config/locales/crowdin/be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/bg.yml b/modules/budgets/config/locales/crowdin/bg.yml index c92218a88170..408ea3784c21 100644 --- a/modules/budgets/config/locales/crowdin/bg.yml +++ b/modules/budgets/config/locales/crowdin/bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/ca.yml b/modules/budgets/config/locales/crowdin/ca.yml index 5dcb01caa6db..59cf27f08f15 100644 --- a/modules/budgets/config/locales/crowdin/ca.yml +++ b/modules/budgets/config/locales/crowdin/ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/ckb-IR.yml b/modules/budgets/config/locales/crowdin/ckb-IR.yml index 5b326010a488..599bf8435afb 100644 --- a/modules/budgets/config/locales/crowdin/ckb-IR.yml +++ b/modules/budgets/config/locales/crowdin/ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/cs.yml b/modules/budgets/config/locales/crowdin/cs.yml index b12de70d96e2..040db0f85b37 100644 --- a/modules/budgets/config/locales/crowdin/cs.yml +++ b/modules/budgets/config/locales/crowdin/cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/da.yml b/modules/budgets/config/locales/crowdin/da.yml index 7bf2dd8b8f0c..2c000cbf274b 100644 --- a/modules/budgets/config/locales/crowdin/da.yml +++ b/modules/budgets/config/locales/crowdin/da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/de.yml b/modules/budgets/config/locales/crowdin/de.yml index 27f2e3151450..f4021fc3dd15 100644 --- a/modules/budgets/config/locales/crowdin/de.yml +++ b/modules/budgets/config/locales/crowdin/de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/el.yml b/modules/budgets/config/locales/crowdin/el.yml index dc7be11ac11d..07e43b4711fb 100644 --- a/modules/budgets/config/locales/crowdin/el.yml +++ b/modules/budgets/config/locales/crowdin/el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/eo.yml b/modules/budgets/config/locales/crowdin/eo.yml index a93e856ad063..8ea3d068545a 100644 --- a/modules/budgets/config/locales/crowdin/eo.yml +++ b/modules/budgets/config/locales/crowdin/eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/es.yml b/modules/budgets/config/locales/crowdin/es.yml index b6b5a12dbc95..75353e3810fc 100644 --- a/modules/budgets/config/locales/crowdin/es.yml +++ b/modules/budgets/config/locales/crowdin/es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/et.yml b/modules/budgets/config/locales/crowdin/et.yml index d12845ea635b..71b0777c8832 100644 --- a/modules/budgets/config/locales/crowdin/et.yml +++ b/modules/budgets/config/locales/crowdin/et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/eu.yml b/modules/budgets/config/locales/crowdin/eu.yml index 6c28116b7443..f75ad5b92bcc 100644 --- a/modules/budgets/config/locales/crowdin/eu.yml +++ b/modules/budgets/config/locales/crowdin/eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/fa.yml b/modules/budgets/config/locales/crowdin/fa.yml index 31209b09b048..dc8bb5f3c92b 100644 --- a/modules/budgets/config/locales/crowdin/fa.yml +++ b/modules/budgets/config/locales/crowdin/fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/fi.yml b/modules/budgets/config/locales/crowdin/fi.yml index f396af35dcbd..46905f1d27be 100644 --- a/modules/budgets/config/locales/crowdin/fi.yml +++ b/modules/budgets/config/locales/crowdin/fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/fil.yml b/modules/budgets/config/locales/crowdin/fil.yml index 085e3bc08abd..4ab0c2856693 100644 --- a/modules/budgets/config/locales/crowdin/fil.yml +++ b/modules/budgets/config/locales/crowdin/fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/fr.yml b/modules/budgets/config/locales/crowdin/fr.yml index 80e54da4b219..f7fc0d1dc5f4 100644 --- a/modules/budgets/config/locales/crowdin/fr.yml +++ b/modules/budgets/config/locales/crowdin/fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/he.yml b/modules/budgets/config/locales/crowdin/he.yml index f3453361867f..914eacacb881 100644 --- a/modules/budgets/config/locales/crowdin/he.yml +++ b/modules/budgets/config/locales/crowdin/he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/hi.yml b/modules/budgets/config/locales/crowdin/hi.yml index e584fa0dd3b3..e10ed352ccb8 100644 --- a/modules/budgets/config/locales/crowdin/hi.yml +++ b/modules/budgets/config/locales/crowdin/hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/hr.yml b/modules/budgets/config/locales/crowdin/hr.yml index 095ffac15b1b..46d4f1da5b04 100644 --- a/modules/budgets/config/locales/crowdin/hr.yml +++ b/modules/budgets/config/locales/crowdin/hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/hu.yml b/modules/budgets/config/locales/crowdin/hu.yml index 83587e2b588b..06541bbf17ec 100644 --- a/modules/budgets/config/locales/crowdin/hu.yml +++ b/modules/budgets/config/locales/crowdin/hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/id.yml b/modules/budgets/config/locales/crowdin/id.yml index 660f85ef3ecc..b78a936a4616 100644 --- a/modules/budgets/config/locales/crowdin/id.yml +++ b/modules/budgets/config/locales/crowdin/id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/it.yml b/modules/budgets/config/locales/crowdin/it.yml index d470acac6c06..c1cae12c2871 100644 --- a/modules/budgets/config/locales/crowdin/it.yml +++ b/modules/budgets/config/locales/crowdin/it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/ja.yml b/modules/budgets/config/locales/crowdin/ja.yml index 86912150364d..13d5db7e0a46 100644 --- a/modules/budgets/config/locales/crowdin/ja.yml +++ b/modules/budgets/config/locales/crowdin/ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-af.yml b/modules/budgets/config/locales/crowdin/js-af.yml index f520d4552a48..9668a37adc86 100644 --- a/modules/budgets/config/locales/crowdin/js-af.yml +++ b/modules/budgets/config/locales/crowdin/js-af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-ar.yml b/modules/budgets/config/locales/crowdin/js-ar.yml index a54ae6584160..54e6a064d5fe 100644 --- a/modules/budgets/config/locales/crowdin/js-ar.yml +++ b/modules/budgets/config/locales/crowdin/js-ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-az.yml b/modules/budgets/config/locales/crowdin/js-az.yml index 47e0fef313ca..cbf7e2664d39 100644 --- a/modules/budgets/config/locales/crowdin/js-az.yml +++ b/modules/budgets/config/locales/crowdin/js-az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-be.yml b/modules/budgets/config/locales/crowdin/js-be.yml index a2f53fb34cc4..d7d278f09496 100644 --- a/modules/budgets/config/locales/crowdin/js-be.yml +++ b/modules/budgets/config/locales/crowdin/js-be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-bg.yml b/modules/budgets/config/locales/crowdin/js-bg.yml index 61cdc9ef87f6..00b9ecb03ed6 100644 --- a/modules/budgets/config/locales/crowdin/js-bg.yml +++ b/modules/budgets/config/locales/crowdin/js-bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-ca.yml b/modules/budgets/config/locales/crowdin/js-ca.yml index 0726e719dabc..fd314c96de37 100644 --- a/modules/budgets/config/locales/crowdin/js-ca.yml +++ b/modules/budgets/config/locales/crowdin/js-ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-ckb-IR.yml b/modules/budgets/config/locales/crowdin/js-ckb-IR.yml index 432fecab8b86..522cea06db7b 100644 --- a/modules/budgets/config/locales/crowdin/js-ckb-IR.yml +++ b/modules/budgets/config/locales/crowdin/js-ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-cs.yml b/modules/budgets/config/locales/crowdin/js-cs.yml index c3a01616e1d4..4aa618983c02 100644 --- a/modules/budgets/config/locales/crowdin/js-cs.yml +++ b/modules/budgets/config/locales/crowdin/js-cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-da.yml b/modules/budgets/config/locales/crowdin/js-da.yml index d39891533941..c9bc4cf101ea 100644 --- a/modules/budgets/config/locales/crowdin/js-da.yml +++ b/modules/budgets/config/locales/crowdin/js-da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-de.yml b/modules/budgets/config/locales/crowdin/js-de.yml index 2b86f45a2e51..5cdb934d65df 100644 --- a/modules/budgets/config/locales/crowdin/js-de.yml +++ b/modules/budgets/config/locales/crowdin/js-de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-el.yml b/modules/budgets/config/locales/crowdin/js-el.yml index df7d05f2368e..555ad8c70c0e 100644 --- a/modules/budgets/config/locales/crowdin/js-el.yml +++ b/modules/budgets/config/locales/crowdin/js-el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-eo.yml b/modules/budgets/config/locales/crowdin/js-eo.yml index 83ff0a1fb2c9..5221ecc106ca 100644 --- a/modules/budgets/config/locales/crowdin/js-eo.yml +++ b/modules/budgets/config/locales/crowdin/js-eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-es.yml b/modules/budgets/config/locales/crowdin/js-es.yml index e11375aaff64..4bb159c8fc7e 100644 --- a/modules/budgets/config/locales/crowdin/js-es.yml +++ b/modules/budgets/config/locales/crowdin/js-es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-et.yml b/modules/budgets/config/locales/crowdin/js-et.yml index 207248024a8c..779f112fda1e 100644 --- a/modules/budgets/config/locales/crowdin/js-et.yml +++ b/modules/budgets/config/locales/crowdin/js-et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-eu.yml b/modules/budgets/config/locales/crowdin/js-eu.yml index 2001dcf95473..88f7172cf9dd 100644 --- a/modules/budgets/config/locales/crowdin/js-eu.yml +++ b/modules/budgets/config/locales/crowdin/js-eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-fa.yml b/modules/budgets/config/locales/crowdin/js-fa.yml index 5f294d01ad20..738fa5005696 100644 --- a/modules/budgets/config/locales/crowdin/js-fa.yml +++ b/modules/budgets/config/locales/crowdin/js-fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-fi.yml b/modules/budgets/config/locales/crowdin/js-fi.yml index 78e28f72f81e..6f4fca0402d7 100644 --- a/modules/budgets/config/locales/crowdin/js-fi.yml +++ b/modules/budgets/config/locales/crowdin/js-fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-fil.yml b/modules/budgets/config/locales/crowdin/js-fil.yml index bf8d4513af36..ca19e612b630 100644 --- a/modules/budgets/config/locales/crowdin/js-fil.yml +++ b/modules/budgets/config/locales/crowdin/js-fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-fr.yml b/modules/budgets/config/locales/crowdin/js-fr.yml index c3adc91f92b7..25eaec146338 100644 --- a/modules/budgets/config/locales/crowdin/js-fr.yml +++ b/modules/budgets/config/locales/crowdin/js-fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-he.yml b/modules/budgets/config/locales/crowdin/js-he.yml index 997ae93ccdf3..624379d9afcc 100644 --- a/modules/budgets/config/locales/crowdin/js-he.yml +++ b/modules/budgets/config/locales/crowdin/js-he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-hi.yml b/modules/budgets/config/locales/crowdin/js-hi.yml index 651509ac044c..e54931980bda 100644 --- a/modules/budgets/config/locales/crowdin/js-hi.yml +++ b/modules/budgets/config/locales/crowdin/js-hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-hr.yml b/modules/budgets/config/locales/crowdin/js-hr.yml index 883736d70518..b3dfb554165d 100644 --- a/modules/budgets/config/locales/crowdin/js-hr.yml +++ b/modules/budgets/config/locales/crowdin/js-hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-hu.yml b/modules/budgets/config/locales/crowdin/js-hu.yml index 9224fbcd4044..f67d431ab174 100644 --- a/modules/budgets/config/locales/crowdin/js-hu.yml +++ b/modules/budgets/config/locales/crowdin/js-hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-id.yml b/modules/budgets/config/locales/crowdin/js-id.yml index 0d4fe2af1944..7cad7c544190 100644 --- a/modules/budgets/config/locales/crowdin/js-id.yml +++ b/modules/budgets/config/locales/crowdin/js-id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-it.yml b/modules/budgets/config/locales/crowdin/js-it.yml index dab88504cf2e..fe4b3727ba51 100644 --- a/modules/budgets/config/locales/crowdin/js-it.yml +++ b/modules/budgets/config/locales/crowdin/js-it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-ja.yml b/modules/budgets/config/locales/crowdin/js-ja.yml index cb1d67bfba04..6a2b35666796 100644 --- a/modules/budgets/config/locales/crowdin/js-ja.yml +++ b/modules/budgets/config/locales/crowdin/js-ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-ka.yml b/modules/budgets/config/locales/crowdin/js-ka.yml index b0e375cf8b82..09a419f3f701 100644 --- a/modules/budgets/config/locales/crowdin/js-ka.yml +++ b/modules/budgets/config/locales/crowdin/js-ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-ko.yml b/modules/budgets/config/locales/crowdin/js-ko.yml index e546495dc9c4..6503762b03ba 100644 --- a/modules/budgets/config/locales/crowdin/js-ko.yml +++ b/modules/budgets/config/locales/crowdin/js-ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-lt.yml b/modules/budgets/config/locales/crowdin/js-lt.yml index 6f6b2a127cbf..6b528cfda3e2 100644 --- a/modules/budgets/config/locales/crowdin/js-lt.yml +++ b/modules/budgets/config/locales/crowdin/js-lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-lv.yml b/modules/budgets/config/locales/crowdin/js-lv.yml index c922ca6590ee..2e8b6cb003ac 100644 --- a/modules/budgets/config/locales/crowdin/js-lv.yml +++ b/modules/budgets/config/locales/crowdin/js-lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-mn.yml b/modules/budgets/config/locales/crowdin/js-mn.yml index 94524777ae64..4d8a153d0d78 100644 --- a/modules/budgets/config/locales/crowdin/js-mn.yml +++ b/modules/budgets/config/locales/crowdin/js-mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-ne.yml b/modules/budgets/config/locales/crowdin/js-ne.yml index e3f1f332da96..9f67b51cc59c 100644 --- a/modules/budgets/config/locales/crowdin/js-ne.yml +++ b/modules/budgets/config/locales/crowdin/js-ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-nl.yml b/modules/budgets/config/locales/crowdin/js-nl.yml index cff45e7e988c..9542987f1784 100644 --- a/modules/budgets/config/locales/crowdin/js-nl.yml +++ b/modules/budgets/config/locales/crowdin/js-nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-no.yml b/modules/budgets/config/locales/crowdin/js-no.yml index 2e6ed5d9847f..ed33dfe680e8 100644 --- a/modules/budgets/config/locales/crowdin/js-no.yml +++ b/modules/budgets/config/locales/crowdin/js-no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-pl.yml b/modules/budgets/config/locales/crowdin/js-pl.yml index 33ef994e8cd6..b9c79c2d8dae 100644 --- a/modules/budgets/config/locales/crowdin/js-pl.yml +++ b/modules/budgets/config/locales/crowdin/js-pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-pt.yml b/modules/budgets/config/locales/crowdin/js-pt.yml index 56b2b63a6dfd..b61d8f714f35 100644 --- a/modules/budgets/config/locales/crowdin/js-pt.yml +++ b/modules/budgets/config/locales/crowdin/js-pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-ro.yml b/modules/budgets/config/locales/crowdin/js-ro.yml index aa1e36ebfe58..30b9f68ef3d5 100644 --- a/modules/budgets/config/locales/crowdin/js-ro.yml +++ b/modules/budgets/config/locales/crowdin/js-ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-ru.yml b/modules/budgets/config/locales/crowdin/js-ru.yml index ec2cdbf7c9d2..42b83b23a38b 100644 --- a/modules/budgets/config/locales/crowdin/js-ru.yml +++ b/modules/budgets/config/locales/crowdin/js-ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-rw.yml b/modules/budgets/config/locales/crowdin/js-rw.yml index fda5e5ee2bcf..bf97efb4cb1b 100644 --- a/modules/budgets/config/locales/crowdin/js-rw.yml +++ b/modules/budgets/config/locales/crowdin/js-rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-si.yml b/modules/budgets/config/locales/crowdin/js-si.yml index 2db65ef22a38..846febbf0934 100644 --- a/modules/budgets/config/locales/crowdin/js-si.yml +++ b/modules/budgets/config/locales/crowdin/js-si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-sk.yml b/modules/budgets/config/locales/crowdin/js-sk.yml index 1e0fe876021a..ddccc1191c59 100644 --- a/modules/budgets/config/locales/crowdin/js-sk.yml +++ b/modules/budgets/config/locales/crowdin/js-sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-sl.yml b/modules/budgets/config/locales/crowdin/js-sl.yml index 044c4d8f3145..7723f1ae3103 100644 --- a/modules/budgets/config/locales/crowdin/js-sl.yml +++ b/modules/budgets/config/locales/crowdin/js-sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-sr.yml b/modules/budgets/config/locales/crowdin/js-sr.yml index 3f6c61c2f12b..458145fb88be 100644 --- a/modules/budgets/config/locales/crowdin/js-sr.yml +++ b/modules/budgets/config/locales/crowdin/js-sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-sv.yml b/modules/budgets/config/locales/crowdin/js-sv.yml index e2d2da810756..e56836847e1b 100644 --- a/modules/budgets/config/locales/crowdin/js-sv.yml +++ b/modules/budgets/config/locales/crowdin/js-sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-th.yml b/modules/budgets/config/locales/crowdin/js-th.yml index 49f21482885e..49bf3a322dab 100644 --- a/modules/budgets/config/locales/crowdin/js-th.yml +++ b/modules/budgets/config/locales/crowdin/js-th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-tr.yml b/modules/budgets/config/locales/crowdin/js-tr.yml index 68162e852fcd..f16e8fba8adc 100644 --- a/modules/budgets/config/locales/crowdin/js-tr.yml +++ b/modules/budgets/config/locales/crowdin/js-tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-uk.yml b/modules/budgets/config/locales/crowdin/js-uk.yml index 53efbc2e7fc7..9d52caf9d192 100644 --- a/modules/budgets/config/locales/crowdin/js-uk.yml +++ b/modules/budgets/config/locales/crowdin/js-uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-vi.yml b/modules/budgets/config/locales/crowdin/js-vi.yml index 394886ab7f43..f5d220e40a5c 100644 --- a/modules/budgets/config/locales/crowdin/js-vi.yml +++ b/modules/budgets/config/locales/crowdin/js-vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-zh-CN.yml b/modules/budgets/config/locales/crowdin/js-zh-CN.yml index c36fb8f769f0..ec594c1eff8b 100644 --- a/modules/budgets/config/locales/crowdin/js-zh-CN.yml +++ b/modules/budgets/config/locales/crowdin/js-zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/js-zh-TW.yml b/modules/budgets/config/locales/crowdin/js-zh-TW.yml index d8086735f3c2..80f60dd2bc7f 100644 --- a/modules/budgets/config/locales/crowdin/js-zh-TW.yml +++ b/modules/budgets/config/locales/crowdin/js-zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/ka.yml b/modules/budgets/config/locales/crowdin/ka.yml index 79614516e6b8..1dcb1eb11235 100644 --- a/modules/budgets/config/locales/crowdin/ka.yml +++ b/modules/budgets/config/locales/crowdin/ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -28,8 +28,8 @@ ka: author: "ავტორი" available: "ხელმისაწვდომი" budget: "დაგეგმილია" - budget_ratio: "Spent (ratio)" - description: "Description" + budget_ratio: "დახარული (ფარდობა)" + description: "აღწერა" spent: "დახარჯული" status: "სტატუსი" subject: "საგანი" @@ -37,7 +37,7 @@ ka: labor_budget: "Planned labor costs" material_budget: "Planned unit costs" work_package: - budget_subject: "Budget title" + budget_subject: "ბიუჯეტის სათაური" models: budget: "ბიუჯეტი" material_budget_item: "საზომი ერთეული" @@ -47,8 +47,8 @@ ka: attributes: budget: "ბიუჯეტი" button_add_budget_item: "Add planned costs" - button_add_budget: "Add budget" - button_add_cost_type: "Add cost type" + button_add_budget: "ბიუჯეტის დამატება" + button_add_cost_type: "ფასის ტიპის დამატება" button_cancel_edit_budget: "Cancel editing budget" button_cancel_edit_costs: "Cancel editing costs" caption_labor: "სამუშაო" @@ -56,22 +56,22 @@ ka: caption_material_costs: "Actual unit costs" budgets_title: "ბიუჯეტები" events: - budget: "Budget edited" + budget: "ბიუჯეტი ჩასწორდა" help_click_to_edit: "Click here to edit." help_currency_format: "Format of displayed currency values. %n is replaced with the currency value, %u ist replaced with the currency unit." help_override_rate: "Enter a value here to override the default rate." label_budget: "ბიუჯეტი" - label_budget_new: "New budget" + label_budget_new: "ახალი ბიუჯეტი" label_budget_plural: "ბიუჯეტები" - label_budget_id: "Budget #%{id}" + label_budget_id: "ბიუჯეტი #%{id}" label_deliverable: "ბიუჯეტი" label_example_placeholder: 'e.g., %{decimal}' label_view_all_budgets: "View all budgets" label_yes: "დიახ" notice_budget_conflict: "სამუშაო პაკეტები იგივე პროექტიდან უნდა იყოს." notice_no_budgets_available: "No budgets available." - permission_edit_budgets: "Edit budgets" - permission_view_budgets: "View budgets" + permission_edit_budgets: "ბიუჯეტების ჩასწორება" + permission_view_budgets: "ბიუჯეტების ხედი" project_module_budgets: "ბიუჯეტები" text_budget_reassign_to: "Reassign them to this budget:" text_budget_delete: "Delete the budget from all work packages" diff --git a/modules/budgets/config/locales/crowdin/ko.yml b/modules/budgets/config/locales/crowdin/ko.yml index a5b0f7e4cd16..6886b57e3161 100644 --- a/modules/budgets/config/locales/crowdin/ko.yml +++ b/modules/budgets/config/locales/crowdin/ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/lt.yml b/modules/budgets/config/locales/crowdin/lt.yml index 1fef33d6164c..3a50681eb6d9 100644 --- a/modules/budgets/config/locales/crowdin/lt.yml +++ b/modules/budgets/config/locales/crowdin/lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/lv.yml b/modules/budgets/config/locales/crowdin/lv.yml index a7cb04516196..a45acf93bff2 100644 --- a/modules/budgets/config/locales/crowdin/lv.yml +++ b/modules/budgets/config/locales/crowdin/lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/mn.yml b/modules/budgets/config/locales/crowdin/mn.yml index 997a8b911ea1..206b3f763a3d 100644 --- a/modules/budgets/config/locales/crowdin/mn.yml +++ b/modules/budgets/config/locales/crowdin/mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/ne.yml b/modules/budgets/config/locales/crowdin/ne.yml index 7917f248e69b..1cbe16d2b416 100644 --- a/modules/budgets/config/locales/crowdin/ne.yml +++ b/modules/budgets/config/locales/crowdin/ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/nl.yml b/modules/budgets/config/locales/crowdin/nl.yml index 646b4011fd68..ecc619b94c87 100644 --- a/modules/budgets/config/locales/crowdin/nl.yml +++ b/modules/budgets/config/locales/crowdin/nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/no.yml b/modules/budgets/config/locales/crowdin/no.yml index 3a97cbeaa35b..a3df3a42b0f5 100644 --- a/modules/budgets/config/locales/crowdin/no.yml +++ b/modules/budgets/config/locales/crowdin/no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/pl.yml b/modules/budgets/config/locales/crowdin/pl.yml index 11e24f6727a8..ce0578f878c0 100644 --- a/modules/budgets/config/locales/crowdin/pl.yml +++ b/modules/budgets/config/locales/crowdin/pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/pt.yml b/modules/budgets/config/locales/crowdin/pt.yml index 2170342f30da..2ff55be55ffb 100644 --- a/modules/budgets/config/locales/crowdin/pt.yml +++ b/modules/budgets/config/locales/crowdin/pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/ro.yml b/modules/budgets/config/locales/crowdin/ro.yml index 772711a7574c..081064ac4009 100644 --- a/modules/budgets/config/locales/crowdin/ro.yml +++ b/modules/budgets/config/locales/crowdin/ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/ru.yml b/modules/budgets/config/locales/crowdin/ru.yml index 8cb4e630b256..7abb037aadd7 100644 --- a/modules/budgets/config/locales/crowdin/ru.yml +++ b/modules/budgets/config/locales/crowdin/ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/rw.yml b/modules/budgets/config/locales/crowdin/rw.yml index 8fe9c209f3f6..58c631491cfb 100644 --- a/modules/budgets/config/locales/crowdin/rw.yml +++ b/modules/budgets/config/locales/crowdin/rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/si.yml b/modules/budgets/config/locales/crowdin/si.yml index f1645f9439af..80878f87618f 100644 --- a/modules/budgets/config/locales/crowdin/si.yml +++ b/modules/budgets/config/locales/crowdin/si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/sk.yml b/modules/budgets/config/locales/crowdin/sk.yml index f399b39bb23a..bc3151e2470a 100644 --- a/modules/budgets/config/locales/crowdin/sk.yml +++ b/modules/budgets/config/locales/crowdin/sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/sl.yml b/modules/budgets/config/locales/crowdin/sl.yml index 878497d8ecce..edc8ca5f6120 100644 --- a/modules/budgets/config/locales/crowdin/sl.yml +++ b/modules/budgets/config/locales/crowdin/sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/sr.yml b/modules/budgets/config/locales/crowdin/sr.yml index 0f9657edf7eb..c15a11d77328 100644 --- a/modules/budgets/config/locales/crowdin/sr.yml +++ b/modules/budgets/config/locales/crowdin/sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/sv.yml b/modules/budgets/config/locales/crowdin/sv.yml index dd516cbe741a..3c98c9785f58 100644 --- a/modules/budgets/config/locales/crowdin/sv.yml +++ b/modules/budgets/config/locales/crowdin/sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/th.yml b/modules/budgets/config/locales/crowdin/th.yml index 36583c34e339..5e9fb31acd3e 100644 --- a/modules/budgets/config/locales/crowdin/th.yml +++ b/modules/budgets/config/locales/crowdin/th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/tr.yml b/modules/budgets/config/locales/crowdin/tr.yml index 75551ef4c433..404207d66789 100644 --- a/modules/budgets/config/locales/crowdin/tr.yml +++ b/modules/budgets/config/locales/crowdin/tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/uk.yml b/modules/budgets/config/locales/crowdin/uk.yml index bff6d97f3a7b..9fd9d22915a5 100644 --- a/modules/budgets/config/locales/crowdin/uk.yml +++ b/modules/budgets/config/locales/crowdin/uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/vi.yml b/modules/budgets/config/locales/crowdin/vi.yml index bf7b96e6970b..5f41a8c50fe8 100644 --- a/modules/budgets/config/locales/crowdin/vi.yml +++ b/modules/budgets/config/locales/crowdin/vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/zh-CN.yml b/modules/budgets/config/locales/crowdin/zh-CN.yml index 284bb3ff58ef..d0d2b2755e91 100644 --- a/modules/budgets/config/locales/crowdin/zh-CN.yml +++ b/modules/budgets/config/locales/crowdin/zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/crowdin/zh-TW.yml b/modules/budgets/config/locales/crowdin/zh-TW.yml index 6c3ebe9e4b15..eb796960b0b1 100644 --- a/modules/budgets/config/locales/crowdin/zh-TW.yml +++ b/modules/budgets/config/locales/crowdin/zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/budgets/config/locales/en.yml b/modules/budgets/config/locales/en.yml index 6442fe7be3d8..148f03a40992 100644 --- a/modules/budgets/config/locales/en.yml +++ b/modules/budgets/config/locales/en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/config/locales/js-en.yml b/modules/budgets/config/locales/js-en.yml index 3740b523c651..c30cc2b3f90a 100644 --- a/modules/budgets/config/locales/js-en.yml +++ b/modules/budgets/config/locales/js-en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/config/routes.rb b/modules/budgets/config/routes.rb index c70e2f4b4c24..2519e288e4ab 100644 --- a/modules/budgets/config/routes.rb +++ b/modules/budgets/config/routes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/db/migrate/20200807083950_keep_enabled_module.rb b/modules/budgets/db/migrate/20200807083950_keep_enabled_module.rb index b37226939227..4cc2e59210aa 100644 --- a/modules/budgets/db/migrate/20200807083950_keep_enabled_module.rb +++ b/modules/budgets/db/migrate/20200807083950_keep_enabled_module.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/db/migrate/20200810152654_rename_cost_object_to_budget.rb b/modules/budgets/db/migrate/20200810152654_rename_cost_object_to_budget.rb index a43a0af9966d..442510c962fe 100644 --- a/modules/budgets/db/migrate/20200810152654_rename_cost_object_to_budget.rb +++ b/modules/budgets/db/migrate/20200810152654_rename_cost_object_to_budget.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/frontend/module/augment/cost-budget-subform.augment.service.ts b/modules/budgets/frontend/module/augment/cost-budget-subform.augment.service.ts index aa11b45492de..dff3d5b81bfe 100644 --- a/modules/budgets/frontend/module/augment/cost-budget-subform.augment.service.ts +++ b/modules/budgets/frontend/module/augment/cost-budget-subform.augment.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/frontend/module/augment/cost-subform.augment.service.ts b/modules/budgets/frontend/module/augment/cost-subform.augment.service.ts index 31b563d116a5..d90eff13f49e 100644 --- a/modules/budgets/frontend/module/augment/cost-subform.augment.service.ts +++ b/modules/budgets/frontend/module/augment/cost-subform.augment.service.ts @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/frontend/module/augment/planned-costs-form.ts b/modules/budgets/frontend/module/augment/planned-costs-form.ts index ac97c31b9082..43573826fe76 100644 --- a/modules/budgets/frontend/module/augment/planned-costs-form.ts +++ b/modules/budgets/frontend/module/augment/planned-costs-form.ts @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/frontend/module/hal/resources/budget-resource.ts b/modules/budgets/frontend/module/hal/resources/budget-resource.ts index c3934d513c84..e9466f1fcc0b 100644 --- a/modules/budgets/frontend/module/hal/resources/budget-resource.ts +++ b/modules/budgets/frontend/module/hal/resources/budget-resource.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/frontend/module/main.ts b/modules/budgets/frontend/module/main.ts index ae97b9232b4a..6f533d8accf3 100644 --- a/modules/budgets/frontend/module/main.ts +++ b/modules/budgets/frontend/module/main.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/lib/api/v3/attachments/attachments_by_budget_api.rb b/modules/budgets/lib/api/v3/attachments/attachments_by_budget_api.rb index f3f7c3d3c5e8..5949fdebde7e 100644 --- a/modules/budgets/lib/api/v3/attachments/attachments_by_budget_api.rb +++ b/modules/budgets/lib/api/v3/attachments/attachments_by_budget_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/lib/api/v3/budgets/budget_collection_representer.rb b/modules/budgets/lib/api/v3/budgets/budget_collection_representer.rb index f5e41e8c0ff3..e5fd15aa8dbb 100644 --- a/modules/budgets/lib/api/v3/budgets/budget_collection_representer.rb +++ b/modules/budgets/lib/api/v3/budgets/budget_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/lib/api/v3/budgets/budget_representer.rb b/modules/budgets/lib/api/v3/budgets/budget_representer.rb index 755ce426285e..c9d096c4b430 100644 --- a/modules/budgets/lib/api/v3/budgets/budget_representer.rb +++ b/modules/budgets/lib/api/v3/budgets/budget_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/lib/api/v3/budgets/budgets_api.rb b/modules/budgets/lib/api/v3/budgets/budgets_api.rb index 0fbf72101e37..cfb44b6a46ea 100644 --- a/modules/budgets/lib/api/v3/budgets/budgets_api.rb +++ b/modules/budgets/lib/api/v3/budgets/budgets_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/lib/api/v3/budgets/budgets_by_project_api.rb b/modules/budgets/lib/api/v3/budgets/budgets_by_project_api.rb index 5f3f10ba1637..148547b4cf28 100644 --- a/modules/budgets/lib/api/v3/budgets/budgets_by_project_api.rb +++ b/modules/budgets/lib/api/v3/budgets/budgets_by_project_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/lib/api/v3/queries/schemas/budget_filter_dependency_representer.rb b/modules/budgets/lib/api/v3/queries/schemas/budget_filter_dependency_representer.rb index 20513c72b22b..f67aecd2ee12 100644 --- a/modules/budgets/lib/api/v3/queries/schemas/budget_filter_dependency_representer.rb +++ b/modules/budgets/lib/api/v3/queries/schemas/budget_filter_dependency_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/lib/budgets/hooks/work_package_hook.rb b/modules/budgets/lib/budgets/hooks/work_package_hook.rb index d0d2f8daafb6..3adf6b922c36 100644 --- a/modules/budgets/lib/budgets/hooks/work_package_hook.rb +++ b/modules/budgets/lib/budgets/hooks/work_package_hook.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/factories/budget_factory.rb b/modules/budgets/spec/factories/budget_factory.rb index bb05b511265a..5aa495bbc042 100644 --- a/modules/budgets/spec/factories/budget_factory.rb +++ b/modules/budgets/spec/factories/budget_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/factories/labor_budget_item_factory.rb b/modules/budgets/spec/factories/labor_budget_item_factory.rb index 6020425e2378..fc011c636175 100644 --- a/modules/budgets/spec/factories/labor_budget_item_factory.rb +++ b/modules/budgets/spec/factories/labor_budget_item_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,8 @@ FactoryBot.define do factory :labor_budget_item do - association :user, factory: :user - association :budget, factory: :budget + association :user + association :budget hours { 0.0 } end end diff --git a/modules/budgets/spec/factories/material_budget_item_factory.rb b/modules/budgets/spec/factories/material_budget_item_factory.rb index 7ddd53c34214..62965ea6d31c 100644 --- a/modules/budgets/spec/factories/material_budget_item_factory.rb +++ b/modules/budgets/spec/factories/material_budget_item_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,8 @@ FactoryBot.define do factory :material_budget_item do - association :cost_type, factory: :cost_type - association :budget, factory: :budget + association :cost_type + association :budget units { 0.0 } end end diff --git a/modules/budgets/spec/features/budgets/add_budget_spec.rb b/modules/budgets/spec/features/budgets/add_budget_spec.rb index 4c9784aa7d2f..78f68e470ae7 100644 --- a/modules/budgets/spec/features/budgets/add_budget_spec.rb +++ b/modules/budgets/spec/features/budgets/add_budget_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb') -RSpec.describe 'adding a new budget', js: true do +RSpec.describe 'adding a new budget', :js do let(:project) { create(:project_with_types, members: project_members) } let(:user) { create(:admin) } let(:project_members) { {} } @@ -73,8 +73,8 @@ expect(page).to have_content "Successful creation" expect(page).to have_content "My subject" - expect(page).to have_selector('.material_budget_items td.units', text: '15.00') - expect(page).to have_selector('.material_budget_items td', text: 'Foobar') + expect(page).to have_css('.material_budget_items td.units', text: '15.00') + expect(page).to have_css('.material_budget_items td', text: 'Foobar') end end @@ -161,13 +161,13 @@ expect(page).to have_content('Successful creation') new_budget_page.toggle_unit_costs! - expect(page).to have_selector('td.currency', text: '150.00 EUR') + expect(page).to have_css('td.currency', text: '150.00 EUR') expect(new_budget_page.unit_costs_at(1)).to have_content '150.00 EUR' expect(new_budget_page.unit_costs_at(2)).to have_content '100.00 EUR' expect(new_budget_page.overall_unit_costs).to have_content '250.00 EUR' new_budget_page.toggle_labor_costs! - expect(page).to have_selector('td.currency', text: '125.00 EUR') + expect(page).to have_css('td.currency', text: '125.00 EUR') expect(new_budget_page.labor_costs_at(1)).to have_content '125.00 EUR' expect(new_budget_page.labor_costs_at(2)).to have_content '50.00 EUR' expect(new_budget_page.overall_labor_costs).to have_content '175.00 EUR' diff --git a/modules/budgets/spec/features/budgets/attachment_upload_spec.rb b/modules/budgets/spec/features/budgets/attachment_upload_spec.rb index 3ffaab891755..1c53a46b48f8 100644 --- a/modules/budgets/spec/features/budgets/attachment_upload_spec.rb +++ b/modules/budgets/spec/features/budgets/attachment_upload_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ require 'spec_helper' require 'features/page_objects/notification' -RSpec.describe 'Upload attachment to budget', js: true do +RSpec.describe 'Upload attachment to budget', :js do let(:user) do create(:user, member_with_permissions: { project => %i[view_budgets edit_budgets] }) end @@ -59,7 +59,7 @@ click_on 'Create' - expect(page).to have_selector('#content img', count: 1) + expect(page).to have_css('#content img', count: 1) expect(page).to have_content('Image uploaded on creation') attachments_list.expect_attached('image.png') @@ -73,7 +73,7 @@ click_on 'Submit' - expect(page).to have_selector('#content img', count: 2) + expect(page).to have_css('#content img', count: 2) expect(page).to have_content('Image uploaded on creation') expect(page).to have_content('Image uploaded the second time') attachments_list.expect_attached('image.png', count: 2) diff --git a/modules/budgets/spec/features/budgets/copy_budget_spec.rb b/modules/budgets/spec/features/budgets/copy_budget_spec.rb index 70a0d4910a86..98deeba1488d 100644 --- a/modules/budgets/spec/features/budgets/copy_budget_spec.rb +++ b/modules/budgets/spec/features/budgets/copy_budget_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb') -RSpec.describe 'Copying a budget', js: true do +RSpec.describe 'Copying a budget', :js do let(:project) { create(:project, enabled_module_names: %i[budgets costs]) } let(:current_user) do create(:user, @@ -91,6 +91,6 @@ budget_page.expect_toast message: 'Successful creation.' expect(page) - .to have_selector('.author', text: current_user.name) + .to have_css('.author', text: current_user.name) end end diff --git a/modules/budgets/spec/features/budgets/delete_budget_spec.rb b/modules/budgets/spec/features/budgets/delete_budget_spec.rb index 1dce60225536..283f43ee024d 100644 --- a/modules/budgets/spec/features/budgets/delete_budget_spec.rb +++ b/modules/budgets/spec/features/budgets/delete_budget_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper.rb") -RSpec.describe 'Deleting a budget', js: true do +RSpec.describe 'Deleting a budget', :js do let(:project) { create(:project, enabled_module_names: %i[budgets costs]) } let(:user) { create(:admin) } let(:budget_subject) { "A budget subject" } diff --git a/modules/budgets/spec/features/budgets/update_budget_spec.rb b/modules/budgets/spec/features/budgets/update_budget_spec.rb index 9e7f8d7042cc..1260754d9b0f 100644 --- a/modules/budgets/spec/features/budgets/update_budget_spec.rb +++ b/modules/budgets/spec/features/budgets/update_budget_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb') -RSpec.describe 'updating a budget', js: true do +RSpec.describe 'updating a budget', :js do let(:project) do create(:project_with_types, enabled_module_names: %i[budgets costs work_package_tracking], @@ -62,11 +62,11 @@ expect(budget_page).to have_content('Successful update') budget_page.toggle_unit_costs! - expect(page).to have_selector('tbody td.currency', text: '150.00 EUR') + expect(page).to have_css('tbody td.currency', text: '150.00 EUR') expect(budget_page.overall_unit_costs).to have_content '150.00 EUR' budget_page.toggle_labor_costs! - expect(page).to have_selector('tbody td.currency', text: '125.00 EUR') + expect(page).to have_css('tbody td.currency', text: '125.00 EUR') expect(budget_page.labor_costs_at(1)).to have_content '125.00 EUR' expect(budget_page.overall_labor_costs).to have_content '125.00 EUR' end @@ -125,12 +125,12 @@ expect(budget_page).to have_content('Successful update') budget_page.toggle_unit_costs! - expect(page).to have_selector('tbody td.currency', text: '250.00 EUR') + expect(page).to have_css('tbody td.currency', text: '250.00 EUR') expect(budget_page.unit_costs_at(1)).to have_content '250.00 EUR' expect(budget_page.overall_unit_costs).to have_content '250.00 EUR' budget_page.toggle_labor_costs! - expect(page).to have_selector('tbody td.currency', text: '75.00 EUR') + expect(page).to have_css('tbody td.currency', text: '75.00 EUR') expect(budget_page.labor_costs_at(1)).to have_content '75.00 EUR' expect(budget_page.overall_labor_costs).to have_content '75.00 EUR' end @@ -165,9 +165,9 @@ click_on 'OK' expect(budget_page).to have_content(I18n.t(:notice_successful_update, locale: :de)) - expect(page).to have_selector('tbody td.currency', text: '150,00 EUR') - expect(page).to have_selector('tbody td.currency', text: '1.000,00 EUR') - expect(page).to have_selector('tbody td.currency', text: '125,00 EUR') + expect(page).to have_css('tbody td.currency', text: '150,00 EUR') + expect(page).to have_css('tbody td.currency', text: '1.000,00 EUR') + expect(page).to have_css('tbody td.currency', text: '125,00 EUR') end end @@ -186,15 +186,15 @@ # Update first element budget_page.edit_planned_costs! material_budget_item.id, type: :material, costs: 123 expect(budget_page).to have_content('Successful update') - expect(page).to have_selector('tbody td.currency', text: '123.00 EUR') + expect(page).to have_css('tbody td.currency', text: '123.00 EUR') click_on 'Update' # Update second element budget_page.edit_planned_costs! material_budget_item_2.id, type: :material, costs: 543 expect(budget_page).to have_content('Successful update') - expect(page).to have_selector('tbody td.currency', text: '123.00 EUR') - expect(page).to have_selector('tbody td.currency', text: '543.00 EUR') + expect(page).to have_css('tbody td.currency', text: '123.00 EUR') + expect(page).to have_css('tbody td.currency', text: '543.00 EUR') # Expect overridden costs on both material_budget_item.reload @@ -223,15 +223,15 @@ # Update first element budget_page.edit_planned_costs! material_budget_item.id, type: :material, costs: 123 expect(budget_page).to have_content('Successful update') - expect(page).to have_selector('tbody td.currency', text: 'USD 123.00') + expect(page).to have_css('tbody td.currency', text: 'USD 123.00') click_on 'Update' # Update second element budget_page.edit_planned_costs! material_budget_item_2.id, type: :material, costs: 543 expect(budget_page).to have_content('Successful update') - expect(page).to have_selector('tbody td.currency', text: 'USD 123.00') - expect(page).to have_selector('tbody td.currency', text: 'USD 543.00') + expect(page).to have_css('tbody td.currency', text: 'USD 123.00') + expect(page).to have_css('tbody td.currency', text: 'USD 543.00') # Expect overridden costs on both material_budget_item.reload @@ -263,15 +263,15 @@ # Update first element budget_page.edit_planned_costs! labor_budget_item.id, type: :labor, costs: 456 expect(budget_page).to have_content('Successful update') - expect(page).to have_selector('tbody td.currency', text: '456.00 EUR') + expect(page).to have_css('tbody td.currency', text: '456.00 EUR') click_on 'Update' # Update second element budget_page.edit_planned_costs! labor_budget_item_2.id, type: :labor, costs: 987 expect(budget_page).to have_content('Successful update') - expect(page).to have_selector('tbody td.currency', text: '456.00 EUR') - expect(page).to have_selector('tbody td.currency', text: '987.00 EUR') + expect(page).to have_css('tbody td.currency', text: '456.00 EUR') + expect(page).to have_css('tbody td.currency', text: '987.00 EUR') # Expect overridden costs on both labor_budget_item.reload @@ -300,15 +300,15 @@ # Update first element budget_page.edit_planned_costs! labor_budget_item.id, type: :labor, costs: 456 expect(budget_page).to have_content('Successful update') - expect(page).to have_selector('tbody td.currency', text: 'USD 456.00') + expect(page).to have_css('tbody td.currency', text: 'USD 456.00') click_on 'Update' # Update second element budget_page.edit_planned_costs! labor_budget_item_2.id, type: :labor, costs: 987 expect(budget_page).to have_content('Successful update') - expect(page).to have_selector('tbody td.currency', text: 'USD 456.00') - expect(page).to have_selector('tbody td.currency', text: 'USD 987.00') + expect(page).to have_css('tbody td.currency', text: 'USD 456.00') + expect(page).to have_css('tbody td.currency', text: 'USD 987.00') # Expect overridden costs on both labor_budget_item.reload @@ -333,7 +333,7 @@ page.find("#budget_existing_labor_budget_item_attributes_#{labor_budget_item.id} a.delete-budget-item").click click_on 'Submit' - expect(budget_page.labor_costs_at(1)).not_to have_content '125.00 EUR' + expect(budget_page.labor_costs_at(1)).to have_no_content '125.00 EUR' end end end diff --git a/modules/budgets/spec/features/costs_edit_fields_spec.rb b/modules/budgets/spec/features/costs_edit_fields_spec.rb index 240ebcda9a64..0e90b5c23c6c 100644 --- a/modules/budgets/spec/features/costs_edit_fields_spec.rb +++ b/modules/budgets/spec/features/costs_edit_fields_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') -RSpec.describe 'Work Package budget fields', js: true do +RSpec.describe 'Work Package budget fields', :js do let(:type_task) { create(:type_task) } let!(:status) { create(:status, is_default: true) } let!(:priority) { create(:priority, is_default: true) } @@ -46,10 +46,10 @@ it 'does not show read-only fields and allows setting the budget' do create_page.visit! - expect(page).to have_selector('.inline-edit--container.budget') - expect(page).not_to have_selector('.inline-edit--container.laborCosts') - expect(page).not_to have_selector('.inline-edit--container.materialCosts') - expect(page).not_to have_selector('.inline-edit--container.overallCosts') + expect(page).to have_css('.inline-edit--container.budget') + expect(page).to have_no_css('.inline-edit--container.laborCosts') + expect(page).to have_no_css('.inline-edit--container.materialCosts') + expect(page).to have_no_css('.inline-edit--container.overallCosts') field = create_page.edit_field(:budget) field.set_value budget.name diff --git a/modules/budgets/spec/features/work_package_filter_spec.rb b/modules/budgets/spec/features/work_package_filter_spec.rb index f6e6fca8c5c0..b21a5d93a602 100644 --- a/modules/budgets/spec/features/work_package_filter_spec.rb +++ b/modules/budgets/spec/features/work_package_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'Filter by budget', js: true do +RSpec.describe 'Filter by budget', :js do let(:user) { create(:admin) } let(:project) { create(:project) } diff --git a/modules/budgets/spec/helpers/budgets_helper_spec.rb b/modules/budgets/spec/helpers/budgets_helper_spec.rb index 9e3e070cdf8d..476f2ebbfad9 100644 --- a/modules/budgets/spec/helpers/budgets_helper_spec.rb +++ b/modules/budgets/spec/helpers/budgets_helper_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/lib/api/v3/budgets/budget_representer_spec.rb b/modules/budgets/spec/lib/api/v3/budgets/budget_representer_spec.rb index 045727bbb059..ede95378a5fe 100644 --- a/modules/budgets/spec/lib/api/v3/budgets/budget_representer_spec.rb +++ b/modules/budgets/spec/lib/api/v3/budgets/budget_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/lib/api/v3/path_helper_spec.rb b/modules/budgets/spec/lib/api/v3/path_helper_spec.rb index 6119f014c6ee..2278f2c55269 100644 --- a/modules/budgets/spec/lib/api/v3/path_helper_spec.rb +++ b/modules/budgets/spec/lib/api/v3/path_helper_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/lib/api/v3/queries/schemas/cost_object_dependency_representer_spec.rb b/modules/budgets/spec/lib/api/v3/queries/schemas/cost_object_dependency_representer_spec.rb index 2fe863c03aac..97931b26a9a2 100644 --- a/modules/budgets/spec/lib/api/v3/queries/schemas/cost_object_dependency_representer_spec.rb +++ b/modules/budgets/spec/lib/api/v3/queries/schemas/cost_object_dependency_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/models/budget_spec.rb b/modules/budgets/spec/models/budget_spec.rb index d59682c187e7..68707c6d2f49 100644 --- a/modules/budgets/spec/models/budget_spec.rb +++ b/modules/budgets/spec/models/budget_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/models/labor_budget_item_spec.rb b/modules/budgets/spec/models/labor_budget_item_spec.rb index 5c84d1334457..ef7d40670f20 100644 --- a/modules/budgets/spec/models/labor_budget_item_spec.rb +++ b/modules/budgets/spec/models/labor_budget_item_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/models/permitted_params_spec.rb b/modules/budgets/spec/models/permitted_params_spec.rb index f4a1979f1fa7..ad1d8f8aaea5 100644 --- a/modules/budgets/spec/models/permitted_params_spec.rb +++ b/modules/budgets/spec/models/permitted_params_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/requests/api/v3/budgets/budget_resource_spec.rb b/modules/budgets/spec/requests/api/v3/budgets/budget_resource_spec.rb index 4b3ad106ef97..a10ea2ac47f2 100644 --- a/modules/budgets/spec/requests/api/v3/budgets/budget_resource_spec.rb +++ b/modules/budgets/spec/requests/api/v3/budgets/budget_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/services/budgets/create_service_spec.rb b/modules/budgets/spec/services/budgets/create_service_spec.rb index a9981da1da82..8777672870c3 100644 --- a/modules/budgets/spec/services/budgets/create_service_spec.rb +++ b/modules/budgets/spec/services/budgets/create_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/services/budgets/update_service_spec.rb b/modules/budgets/spec/services/budgets/update_service_spec.rb index 8c861ba68b7f..fb36afeab170 100644 --- a/modules/budgets/spec/services/budgets/update_service_spec.rb +++ b/modules/budgets/spec/services/budgets/update_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/spec_helper.rb b/modules/budgets/spec/spec_helper.rb index 93f3e26e8b5b..cb06fc211592 100644 --- a/modules/budgets/spec/spec_helper.rb +++ b/modules/budgets/spec/spec_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/support/pages/budget_form.rb b/modules/budgets/spec/support/pages/budget_form.rb index 68edd2b930db..6d58504710c3 100644 --- a/modules/budgets/spec/support/pages/budget_form.rb +++ b/modules/budgets/spec/support/pages/budget_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/support/pages/destroy_info.rb b/modules/budgets/spec/support/pages/destroy_info.rb index f4fbaea0c1fb..7bfab77bdc06 100644 --- a/modules/budgets/spec/support/pages/destroy_info.rb +++ b/modules/budgets/spec/support/pages/destroy_info.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -48,7 +48,7 @@ def expect_reassign_option def expect_no_reassign_option expect(page) - .not_to have_field('todo_reassign') + .to have_no_field('todo_reassign') end def select_reassign_option(budget_name) diff --git a/modules/budgets/spec/support/pages/edit_budget.rb b/modules/budgets/spec/support/pages/edit_budget.rb index ac9b36adf0ad..831dd3fd8fe4 100644 --- a/modules/budgets/spec/support/pages/edit_budget.rb +++ b/modules/budgets/spec/support/pages/edit_budget.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/budgets/spec/support/pages/index_budget.rb b/modules/budgets/spec/support/pages/index_budget.rb index 8110bd7ad3bd..228e18a37fdc 100644 --- a/modules/budgets/spec/support/pages/index_budget.rb +++ b/modules/budgets/spec/support/pages/index_budget.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -38,7 +38,7 @@ def initialize(project) def expect_budget_not_listed(budget_name) expect(page) - .not_to have_content(budget_name) + .to have_no_content(budget_name) end def path diff --git a/modules/budgets/spec/support/pages/new_budget.rb b/modules/budgets/spec/support/pages/new_budget.rb index b8ef28cb31fc..c256366b3846 100644 --- a/modules/budgets/spec/support/pages/new_budget.rb +++ b/modules/budgets/spec/support/pages/new_budget.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/components/calendar/row_component.rb b/modules/calendar/app/components/calendar/row_component.rb index c29d3810a074..15bb64d2de6c 100644 --- a/modules/calendar/app/components/calendar/row_component.rb +++ b/modules/calendar/app/components/calendar/row_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/components/calendar/table_component.rb b/modules/calendar/app/components/calendar/table_component.rb index a9553381d6a0..558ae563a723 100644 --- a/modules/calendar/app/components/calendar/table_component.rb +++ b/modules/calendar/app/components/calendar/table_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/controllers/calendar/calendars_controller.rb b/modules/calendar/app/controllers/calendar/calendars_controller.rb index 168a6ac4435c..a0d6957a0279 100644 --- a/modules/calendar/app/controllers/calendar/calendars_controller.rb +++ b/modules/calendar/app/controllers/calendar/calendars_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/controllers/calendar/ical_controller.rb b/modules/calendar/app/controllers/calendar/ical_controller.rb index 46dd6f33f0d5..f3284d7c4f5c 100644 --- a/modules/calendar/app/controllers/calendar/ical_controller.rb +++ b/modules/calendar/app/controllers/calendar/ical_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/models/ical_token_query_assignment.rb b/modules/calendar/app/models/ical_token_query_assignment.rb index 3c13c32866ff..6dbbb977037f 100644 --- a/modules/calendar/app/models/ical_token_query_assignment.rb +++ b/modules/calendar/app/models/ical_token_query_assignment.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,11 +29,8 @@ class ICalTokenQueryAssignment < ApplicationRecord self.table_name = 'ical_token_query_assignments' - # rubocop:disable Rails/BelongsTo belongs_to :ical_token, class_name: 'Token::ICal', optional: true belongs_to :query, optional: true - # rubocop:enable Rails/BelongsTo - validates :name, presence: true validate :unique_name_per_user_and_query diff --git a/modules/calendar/app/seeders/common.yml b/modules/calendar/app/seeders/common.yml index 07da3dc9ff08..8193ac1213ad 100644 --- a/modules/calendar/app/seeders/common.yml +++ b/modules/calendar/app/seeders/common.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/services/calendar/create_ical_service.rb b/modules/calendar/app/services/calendar/create_ical_service.rb index 1bb32bfd66c9..d8cbffc0c2ba 100644 --- a/modules/calendar/app/services/calendar/create_ical_service.rb +++ b/modules/calendar/app/services/calendar/create_ical_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -68,7 +68,7 @@ def add_values_to_event(event, work_package) location description ].each do |value| - event.send("#{value}=", send("#{value}_value", work_package)) + event.send(:"#{value}=", send(:"#{value}_value", work_package)) end event @@ -92,7 +92,7 @@ def dtstart_value(work_package) end def start_date(work_package) - (work_package.start_date.presence || work_package.due_date) + work_package.start_date.presence || work_package.due_date end def dtend_value(work_package) diff --git a/modules/calendar/app/services/calendar/generate_ical_url_service.rb b/modules/calendar/app/services/calendar/generate_ical_url_service.rb index 8d82e053a91e..d840f201214e 100644 --- a/modules/calendar/app/services/calendar/generate_ical_url_service.rb +++ b/modules/calendar/app/services/calendar/generate_ical_url_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/services/calendar/ical_response_service.rb b/modules/calendar/app/services/calendar/ical_response_service.rb index 914e6a8c10f2..fe205b4107a6 100644 --- a/modules/calendar/app/services/calendar/ical_response_service.rb +++ b/modules/calendar/app/services/calendar/ical_response_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/services/calendar/resolve_ical_token_service.rb b/modules/calendar/app/services/calendar/resolve_ical_token_service.rb index f54d30b367d2..fdbad75129af 100644 --- a/modules/calendar/app/services/calendar/resolve_ical_token_service.rb +++ b/modules/calendar/app/services/calendar/resolve_ical_token_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/services/calendar/resolve_work_packages_service.rb b/modules/calendar/app/services/calendar/resolve_work_packages_service.rb index 5d162f0efd38..b7293b610a42 100644 --- a/modules/calendar/app/services/calendar/resolve_work_packages_service.rb +++ b/modules/calendar/app/services/calendar/resolve_work_packages_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/services/calendar/views/global_create_service.rb b/modules/calendar/app/services/calendar/views/global_create_service.rb index a4797292b8d3..05d2752d8de1 100644 --- a/modules/calendar/app/services/calendar/views/global_create_service.rb +++ b/modules/calendar/app/services/calendar/views/global_create_service.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/services/calendar/views/set_attributes_service.rb b/modules/calendar/app/services/calendar/views/set_attributes_service.rb index 5c1adb7ebfc7..17ee4b6da512 100644 --- a/modules/calendar/app/services/calendar/views/set_attributes_service.rb +++ b/modules/calendar/app/services/calendar/views/set_attributes_service.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/views/calendar/calendars/_form.html.erb b/modules/calendar/app/views/calendar/calendars/_form.html.erb index b875bada5322..f793e220b27c 100644 --- a/modules/calendar/app/views/calendar/calendars/_form.html.erb +++ b/modules/calendar/app/views/calendar/calendars/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/views/calendar/calendars/index.html.erb b/modules/calendar/app/views/calendar/calendars/index.html.erb index 422d81bf0346..6f7482c6c832 100644 --- a/modules/calendar/app/views/calendar/calendars/index.html.erb +++ b/modules/calendar/app/views/calendar/calendars/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/views/calendar/calendars/new.html.erb b/modules/calendar/app/views/calendar/calendars/new.html.erb index 13ca5bd706a8..6eb6fba852d2 100644 --- a/modules/calendar/app/views/calendar/calendars/new.html.erb +++ b/modules/calendar/app/views/calendar/calendars/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/app/views/calendar/calendars/show.html.erb b/modules/calendar/app/views/calendar/calendars/show.html.erb index 3246ce29f515..0f92c3f915d8 100644 --- a/modules/calendar/app/views/calendar/calendars/show.html.erb +++ b/modules/calendar/app/views/calendar/calendars/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/config/locales/crowdin/ka.yml b/modules/calendar/config/locales/crowdin/ka.yml index df156e90c92a..ce5c7b05b08f 100644 --- a/modules/calendar/config/locales/crowdin/ka.yml +++ b/modules/calendar/config/locales/crowdin/ka.yml @@ -5,7 +5,7 @@ ka: description: "Provides calendar views." label_calendar: "კალენდარი" label_calendar_plural: "კალენდრები" - label_new_calendar: "New calendar" + label_new_calendar: "ახალი კალენდარი" permission_view_calendar: "View calendars" permission_manage_calendars: "Manage calendars" permission_share_calendars: "Subscribe to iCalendars" diff --git a/modules/calendar/lib/open_project/calendar.rb b/modules/calendar/lib/open_project/calendar.rb index 0503dd3bb83e..ac7da727a473 100644 --- a/modules/calendar/lib/open_project/calendar.rb +++ b/modules/calendar/lib/open_project/calendar.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/controllers/calendar_controller_spec.rb b/modules/calendar/spec/controllers/calendar_controller_spec.rb index 251986ffc43b..10bb9754413d 100644 --- a/modules/calendar/spec/controllers/calendar_controller_spec.rb +++ b/modules/calendar/spec/controllers/calendar_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/controllers/ical_controller_spec.rb b/modules/calendar/spec/controllers/ical_controller_spec.rb index 5639b9d27f8c..b351ec176955 100644 --- a/modules/calendar/spec/controllers/ical_controller_spec.rb +++ b/modules/calendar/spec/controllers/ical_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/features/calendar_create_work_package_spec.rb b/modules/calendar/spec/features/calendar_create_work_package_spec.rb index e6371390ec78..2b86b6e033f8 100644 --- a/modules/calendar/spec/features/calendar_create_work_package_spec.rb +++ b/modules/calendar/spec/features/calendar_create_work_package_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,9 +27,9 @@ #++ require 'spec_helper' -require_relative './shared_context' +require_relative 'shared_context' -RSpec.describe 'Calendar create new work package', js: true do +RSpec.describe 'Calendar create new work package', :js do include_context 'with calendar full access' let(:type_task) { create(:type_task) } diff --git a/modules/calendar/spec/features/calendar_dates_spec.rb b/modules/calendar/spec/features/calendar_dates_spec.rb index 95aa59e54af4..662cd88006c2 100644 --- a/modules/calendar/spec/features/calendar_dates_spec.rb +++ b/modules/calendar/spec/features/calendar_dates_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -51,22 +51,22 @@ expect(page).to have_css('.fc-day-sat.fc-non-working-day', minimum: 1, wait: 10) expect(page).to have_css('.fc-day-sun.fc-non-working-day', minimum: 1) - expect(page).not_to have_css('.fc-day-mon.fc-non-working-day') - expect(page).not_to have_css('.fc-day-tue.fc-non-working-day') - expect(page).not_to have_css('.fc-day-wed.fc-non-working-day') - expect(page).not_to have_css('.fc-day-thu.fc-non-working-day') - expect(page).not_to have_css('.fc-day-fri.fc-non-working-day') + expect(page).to have_no_css('.fc-day-mon.fc-non-working-day') + expect(page).to have_no_css('.fc-day-tue.fc-non-working-day') + expect(page).to have_no_css('.fc-day-wed.fc-non-working-day') + expect(page).to have_no_css('.fc-day-thu.fc-non-working-day') + expect(page).to have_no_css('.fc-day-fri.fc-non-working-day') find('.fc-next-button').click expect(page).to have_css('.fc-day-sat.fc-non-working-day', minimum: 1, wait: 10) expect(page).to have_css('.fc-day-sun.fc-non-working-day', minimum: 1) - expect(page).not_to have_css('.fc-day-mon.fc-non-working-day') - expect(page).not_to have_css('.fc-day-tue.fc-non-working-day') - expect(page).not_to have_css('.fc-day-wed.fc-non-working-day') - expect(page).not_to have_css('.fc-day-thu.fc-non-working-day') - expect(page).not_to have_css('.fc-day-fri.fc-non-working-day') + expect(page).to have_no_css('.fc-day-mon.fc-non-working-day') + expect(page).to have_no_css('.fc-day-tue.fc-non-working-day') + expect(page).to have_no_css('.fc-day-wed.fc-non-working-day') + expect(page).to have_no_css('.fc-day-thu.fc-non-working-day') + expect(page).to have_no_css('.fc-day-fri.fc-non-working-day') end end diff --git a/modules/calendar/spec/features/calendar_project_include_spec.rb b/modules/calendar/spec/features/calendar_project_include_spec.rb index 24645ee25ab7..f34008cb72a0 100644 --- a/modules/calendar/spec/features/calendar_project_include_spec.rb +++ b/modules/calendar/spec/features/calendar_project_include_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require 'features/work_packages/project_include/project_include_shared_examples' require_relative '../support/pages/calendar' -RSpec.describe 'Calendar project include', js: true do +RSpec.describe 'Calendar project include', :js do shared_let(:enabled_modules) { %w[work_package_tracking calendar_view] } shared_let(:permissions) do %i[view_work_packages view_calendar edit_work_packages add_work_packages save_queries manage_public_queries] diff --git a/modules/calendar/spec/features/calendar_sharing_spec.rb b/modules/calendar/spec/features/calendar_sharing_spec.rb index 6983a763fa59..d8b93697ad56 100644 --- a/modules/calendar/spec/features/calendar_sharing_spec.rb +++ b/modules/calendar/spec/features/calendar_sharing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -109,7 +109,7 @@ page.click_button("Subscribe to calendar") # modal should not be shown - expect(page).not_to have_css('.spot-modal--header', text: "Subscribe to calendar") + expect(page).to have_no_css('.spot-modal--header', text: "Subscribe to calendar") end end end @@ -155,7 +155,7 @@ page.click_button("Subscribe to calendar") # modal should not be shown - expect(page).not_to have_css('.spot-modal--header', text: "Subscribe to calendar") + expect(page).to have_no_css('.spot-modal--header', text: "Subscribe to calendar") end end end @@ -199,7 +199,7 @@ click_button "Cancel" - expect(page).not_to have_css('.spot-modal--header', text: "Subscribe to calendar") + expect(page).to have_no_css('.spot-modal--header', text: "Subscribe to calendar") end it 'successfully requests a new tokenized iCalendar URL when a unique name is provided' do @@ -210,7 +210,7 @@ click_button "Copy URL" # implicitly testing for success -> modal is closed and fallback message is shown - expect(page).not_to have_css('.spot-modal--header', text: "Subscribe to calendar") + expect(page).to have_no_css('.spot-modal--header', text: "Subscribe to calendar") expect(page).to have_content("/projects/#{saved_query.project.id}/calendars/#{saved_query.id}/ical?ical_token=") # explictly testing for success message is not working in test env, probably @@ -242,7 +242,7 @@ click_button "Copy URL" - expect(page).not_to have_css('.spot-modal--header', text: "Subscribe to calendar") + expect(page).to have_no_css('.spot-modal--header', text: "Subscribe to calendar") expect(page).to have_content("/projects/#{saved_query.project.id}/calendars/#{saved_query.id}/ical?ical_token=") # do the same thing again, now expect validation error @@ -309,7 +309,7 @@ page.click_button("Subscribe to calendar") # modal should not be shown - expect(page).not_to have_css('.spot-modal--header', text: "Subscribe to calendar") + expect(page).to have_no_css('.spot-modal--header', text: "Subscribe to calendar") end end end diff --git a/modules/calendar/spec/features/calendar_user_interaction_spec.rb b/modules/calendar/spec/features/calendar_user_interaction_spec.rb index 12638c59d588..8f11d30f06f6 100644 --- a/modules/calendar/spec/features/calendar_user_interaction_spec.rb +++ b/modules/calendar/spec/features/calendar_user_interaction_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/features/calendar_widget_spec.rb b/modules/calendar/spec/features/calendar_widget_spec.rb index d7b3d2bd8fe3..89e08d07faf0 100644 --- a/modules/calendar/spec/features/calendar_widget_spec.rb +++ b/modules/calendar/spec/features/calendar_widget_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -78,7 +78,7 @@ overview_page.expect_and_dismiss_toaster message: I18n.t('js.notice_successful_update') - expect(page).to have_selector('.fc-event-title', text: work_package.subject) + expect(page).to have_css('.fc-event-title', text: work_package.subject) calendar.resize_date(work_package, work_package.due_date - 1.day) overview_page.expect_and_dismiss_toaster message: I18n.t('js.notice_successful_update') diff --git a/modules/calendar/spec/features/calendars_index_spec.rb b/modules/calendar/spec/features/calendars_index_spec.rb index aca9a636c820..16629d7e9e2e 100644 --- a/modules/calendar/spec/features/calendars_index_spec.rb +++ b/modules/calendar/spec/features/calendars_index_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/features/calendars_spec.rb b/modules/calendar/spec/features/calendars_spec.rb index 631edbf20bc1..7edd7505e2e2 100644 --- a/modules/calendar/spec/features/calendars_spec.rb +++ b/modules/calendar/spec/features/calendars_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'Work package calendars', js: true do +RSpec.describe 'Work package calendars', :js do let(:project) { create(:project) } let(:user) do create(:user, @@ -86,13 +86,13 @@ # should open the calendar with the current month displayed expect(page) - .to have_selector '.fc-event-title', text: current_work_package.subject + .to have_css '.fc-event-title', text: current_work_package.subject expect(page) - .to have_selector '.fc-event-title', text: another_current_work_package.subject + .to have_css '.fc-event-title', text: another_current_work_package.subject expect(page) - .not_to have_selector '.fc-event-title', text: future_work_package.subject + .to have_no_css '.fc-event-title', text: future_work_package.subject expect(page) - .not_to have_selector '.fc-event-title', text: another_future_work_package.subject + .to have_no_css '.fc-event-title', text: another_future_work_package.subject filters.expect_filter_count 1 @@ -105,9 +105,9 @@ # non matching work packages are no longer displayed expect(page) - .not_to have_selector '.fc-event-title', text: current_work_package.subject + .to have_no_css '.fc-event-title', text: current_work_package.subject expect(page) - .to have_selector '.fc-event-title', text: another_current_work_package.subject + .to have_css '.fc-event-title', text: another_current_work_package.subject # The filter for the time frame added implicitly should not be visible filters.expect_filter_count 2 @@ -116,25 +116,25 @@ find('.fc-next-button').click expect(page) - .not_to have_selector '.fc-event-title', text: current_work_package.subject + .to have_no_css '.fc-event-title', text: current_work_package.subject expect(page) - .not_to have_selector '.fc-event-title', text: another_current_work_package.subject + .to have_no_css '.fc-event-title', text: another_current_work_package.subject expect(page) - .not_to have_selector '.fc-event-title', text: future_work_package.subject + .to have_no_css '.fc-event-title', text: future_work_package.subject expect(page) - .to have_selector '.fc-event-title', text: another_future_work_package.subject + .to have_css '.fc-event-title', text: another_future_work_package.subject # removing the filter will show the event again filters.remove_filter 'subject' expect(page) - .not_to have_selector '.fc-event-title', text: current_work_package.subject + .to have_no_css '.fc-event-title', text: current_work_package.subject expect(page) - .not_to have_selector '.fc-event-title', text: another_current_work_package.subject + .to have_no_css '.fc-event-title', text: another_current_work_package.subject expect(page) - .to have_selector '.fc-event-title', text: future_work_package.subject + .to have_css '.fc-event-title', text: future_work_package.subject expect(page) - .to have_selector '.fc-event-title', text: another_future_work_package.subject + .to have_css '.fc-event-title', text: another_future_work_package.subject future_url = current_url @@ -142,37 +142,37 @@ find('.fc-prev-button').click expect(page) - .to have_selector '.fc-event-title', text: current_work_package.subject + .to have_css '.fc-event-title', text: current_work_package.subject expect(page) - .to have_selector '.fc-event-title', text: another_current_work_package.subject + .to have_css '.fc-event-title', text: another_current_work_package.subject expect(page) - .not_to have_selector '.fc-event-title', text: future_work_package.subject + .to have_no_css '.fc-event-title', text: future_work_package.subject expect(page) - .not_to have_selector '.fc-event-title', text: another_future_work_package.subject + .to have_no_css '.fc-event-title', text: another_future_work_package.subject # open the page via the url should show the next month again visit future_url expect(page) - .not_to have_selector '.fc-event-title', text: current_work_package.subject + .to have_no_css '.fc-event-title', text: current_work_package.subject expect(page) - .not_to have_selector '.fc-event-title', text: another_current_work_package.subject + .to have_no_css '.fc-event-title', text: another_current_work_package.subject expect(page) - .to have_selector '.fc-event-title', text: future_work_package.subject + .to have_css '.fc-event-title', text: future_work_package.subject expect(page) - .to have_selector '.fc-event-title', text: another_future_work_package.subject + .to have_css '.fc-event-title', text: another_future_work_package.subject # go back a month by using the browser back functionality page.execute_script('window.history.back()') expect(page) - .to have_selector '.fc-event-title', text: current_work_package.subject + .to have_css '.fc-event-title', text: current_work_package.subject expect(page) - .to have_selector '.fc-event-title', text: another_current_work_package.subject + .to have_css '.fc-event-title', text: another_current_work_package.subject expect(page) - .not_to have_selector '.fc-event-title', text: future_work_package.subject + .to have_no_css '.fc-event-title', text: future_work_package.subject expect(page) - .not_to have_selector '.fc-event-title', text: another_future_work_package.subject + .to have_no_css '.fc-event-title', text: another_future_work_package.subject # click goes to work package split screen page.find('.fc-event-title', text: current_work_package.subject).click @@ -182,7 +182,7 @@ # Regression #29664 page.go_back expect(page) - .to have_selector('.fc-event-title', text: current_work_package.subject, wait: 20) + .to have_css('.fc-event-title', text: current_work_package.subject, wait: 20) current_wp_split_screen.expect_closed # click goes to work package split screen page again @@ -193,7 +193,7 @@ current_wp_split_screen.close expect(page) - .to have_selector '.fc-event-title', text: current_work_package.subject, wait: 20 + .to have_css '.fc-event-title', text: current_work_package.subject, wait: 20 current_wp_split_screen.expect_closed end end diff --git a/modules/calendar/spec/features/query_handling_spec.rb b/modules/calendar/spec/features/query_handling_spec.rb index a80198c3a195..77297e3028c0 100644 --- a/modules/calendar/spec/features/query_handling_spec.rb +++ b/modules/calendar/spec/features/query_handling_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/features/shared_context.rb b/modules/calendar/spec/features/shared_context.rb index 68f975466e54..c2ec5c8687ab 100644 --- a/modules/calendar/spec/features/shared_context.rb +++ b/modules/calendar/spec/features/shared_context.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/routing/calendar_routing_spec.rb b/modules/calendar/spec/routing/calendar_routing_spec.rb index 6a82bac7da2a..602329cb9401 100644 --- a/modules/calendar/spec/routing/calendar_routing_spec.rb +++ b/modules/calendar/spec/routing/calendar_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/routing/ical_routing_spec.rb b/modules/calendar/spec/routing/ical_routing_spec.rb index feaf041684d4..5f77112b4e3d 100644 --- a/modules/calendar/spec/routing/ical_routing_spec.rb +++ b/modules/calendar/spec/routing/ical_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/services/create_ical_service_spec.rb b/modules/calendar/spec/services/create_ical_service_spec.rb index 286665e3b36d..1189b29618ac 100644 --- a/modules/calendar/spec/services/create_ical_service_spec.rb +++ b/modules/calendar/spec/services/create_ical_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/services/global_create_service_spec.rb b/modules/calendar/spec/services/global_create_service_spec.rb index 2c7e26f55672..a24031a9f32d 100644 --- a/modules/calendar/spec/services/global_create_service_spec.rb +++ b/modules/calendar/spec/services/global_create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/services/resolve_ical_token_service_spec.rb b/modules/calendar/spec/services/resolve_ical_token_service_spec.rb index 2133d26fe458..7b48bfb0f607 100644 --- a/modules/calendar/spec/services/resolve_ical_token_service_spec.rb +++ b/modules/calendar/spec/services/resolve_ical_token_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/services/resolve_work_packages_service_spec.rb b/modules/calendar/spec/services/resolve_work_packages_service_spec.rb index ef0730db21a2..0fafae8173c6 100644 --- a/modules/calendar/spec/services/resolve_work_packages_service_spec.rb +++ b/modules/calendar/spec/services/resolve_work_packages_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/calendar/spec/support/pages/calendar.rb b/modules/calendar/spec/support/pages/calendar.rb index 01ef1487643f..7eb67e018524 100644 --- a/modules/calendar/spec/support/pages/calendar.rb +++ b/modules/calendar/spec/support/pages/calendar.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -89,7 +89,7 @@ def date_container(date) end def expect_title(title = 'Unnamed calendar') - expect(page).to have_selector '.editable-toolbar-title--fixed', text: title + expect(page).to have_css '.editable-toolbar-title--fixed', text: title end def expect_event(work_package, present: true) @@ -109,11 +109,11 @@ def event(work_package) end def expect_wp_not_resizable(work_package) - expect(page).to have_selector('.fc-event:not(.fc-event-resizable)', text: work_package.subject) + expect(page).to have_css('.fc-event:not(.fc-event-resizable)', text: work_package.subject) end def expect_wp_not_draggable(work_package) - expect(page).to have_selector('.fc-event:not(.fc-event-draggable)', text: work_package.subject) + expect(page).to have_css('.fc-event:not(.fc-event-draggable)', text: work_package.subject) end def set_title(title) @@ -150,19 +150,19 @@ def click_on_cancel_button end def expect_create_button - expect(page).to have_selector '.button', text: 'Calendar' + expect(page).to have_css '.button', text: 'Calendar' end def expect_no_create_button - expect(page).not_to have_selector '.button', text: 'Calendar' + expect(page).to have_no_css '.button', text: 'Calendar' end def expect_delete_button(query) - expect(page).to have_selector "[data-test-selector='calendar-remove-#{query.id}']" + expect(page).to have_css "[data-test-selector='calendar-remove-#{query.id}']" end def expect_no_delete_button(query) - expect(page).not_to have_selector "[data-test-selector='calendar-remove-#{query.id}']" + expect(page).to have_no_css "[data-test-selector='calendar-remove-#{query.id}']" end def expect_no_views_visible @@ -170,11 +170,11 @@ def expect_no_views_visible end def expect_view_visible(query) - expect(page).to have_selector 'td', text: query.name + expect(page).to have_css 'td', text: query.name end def expect_view_not_visible(query) - expect(page).not_to have_selector 'td', text: query.name + expect(page).to have_no_css 'td', text: query.name end def expect_views_listed_in_order(*queries) diff --git a/modules/costs/app/contracts/time_entries/base_contract.rb b/modules/costs/app/contracts/time_entries/base_contract.rb index 999573a22d1d..b4a02fb5231a 100644 --- a/modules/costs/app/contracts/time_entries/base_contract.rb +++ b/modules/costs/app/contracts/time_entries/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/contracts/time_entries/create_contract.rb b/modules/costs/app/contracts/time_entries/create_contract.rb index fe74503f3e2d..39b643ee4865 100644 --- a/modules/costs/app/contracts/time_entries/create_contract.rb +++ b/modules/costs/app/contracts/time_entries/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/contracts/time_entries/delete_contract.rb b/modules/costs/app/contracts/time_entries/delete_contract.rb index 46835ab205c3..0ba30c008766 100644 --- a/modules/costs/app/contracts/time_entries/delete_contract.rb +++ b/modules/costs/app/contracts/time_entries/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/contracts/time_entries/update_contract.rb b/modules/costs/app/contracts/time_entries/update_contract.rb index 5e447ad1ff1c..d7ba5f2ed262 100644 --- a/modules/costs/app/contracts/time_entries/update_contract.rb +++ b/modules/costs/app/contracts/time_entries/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/controllers/cost_types_controller.rb b/modules/costs/app/controllers/cost_types_controller.rb index 74611911bc74..ffc670710647 100644 --- a/modules/costs/app/controllers/cost_types_controller.rb +++ b/modules/costs/app/controllers/cost_types_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/controllers/costlog_controller.rb b/modules/costs/app/controllers/costlog_controller.rb index ae1f23a605b9..5e4e3abbb7f0 100644 --- a/modules/costs/app/controllers/costlog_controller.rb +++ b/modules/costs/app/controllers/costlog_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/controllers/hourly_rates_controller.rb b/modules/costs/app/controllers/hourly_rates_controller.rb index 2eca3e33f197..ee6679faa1f1 100644 --- a/modules/costs/app/controllers/hourly_rates_controller.rb +++ b/modules/costs/app/controllers/hourly_rates_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/controllers/my/timer_controller.rb b/modules/costs/app/controllers/my/timer_controller.rb index 0aa548dd04ec..74c1d6c7ebe3 100644 --- a/modules/costs/app/controllers/my/timer_controller.rb +++ b/modules/costs/app/controllers/my/timer_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/controllers/projects/settings/time_entry_activities_controller.rb b/modules/costs/app/controllers/projects/settings/time_entry_activities_controller.rb index 892dfee4241a..584e9ed7d70d 100644 --- a/modules/costs/app/controllers/projects/settings/time_entry_activities_controller.rb +++ b/modules/costs/app/controllers/projects/settings/time_entry_activities_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/helpers/cost_types_helper.rb b/modules/costs/app/helpers/cost_types_helper.rb index 88ec39942d97..219183f33d53 100644 --- a/modules/costs/app/helpers/cost_types_helper.rb +++ b/modules/costs/app/helpers/cost_types_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/helpers/costlog_helper.rb b/modules/costs/app/helpers/costlog_helper.rb index f5362fd85953..00916731f327 100644 --- a/modules/costs/app/helpers/costlog_helper.rb +++ b/modules/costs/app/helpers/costlog_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/helpers/costs/number_helper.rb b/modules/costs/app/helpers/costs/number_helper.rb index 8602de95b564..c7c1053a0aa4 100644 --- a/modules/costs/app/helpers/costs/number_helper.rb +++ b/modules/costs/app/helpers/costs/number_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/helpers/hourly_rates_helper.rb b/modules/costs/app/helpers/hourly_rates_helper.rb index 77f06a9e6ae5..abc0866c92c3 100644 --- a/modules/costs/app/helpers/hourly_rates_helper.rb +++ b/modules/costs/app/helpers/hourly_rates_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/activities/time_entry_activity_provider.rb b/modules/costs/app/models/activities/time_entry_activity_provider.rb index 4cb2e99019e5..8a0eb999c288 100644 --- a/modules/costs/app/models/activities/time_entry_activity_provider.rb +++ b/modules/costs/app/models/activities/time_entry_activity_provider.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/cost_entry.rb b/modules/costs/app/models/cost_entry.rb index 6ca1bb9f7df2..6ac25f3467c6 100644 --- a/modules/costs/app/models/cost_entry.rb +++ b/modules/costs/app/models/cost_entry.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/cost_rate.rb b/modules/costs/app/models/cost_rate.rb index 3fdf309391f9..82eb60fdf40d 100644 --- a/modules/costs/app/models/cost_rate.rb +++ b/modules/costs/app/models/cost_rate.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/cost_type.rb b/modules/costs/app/models/cost_type.rb index 8e99c09ec3f7..a7081bd6ca72 100644 --- a/modules/costs/app/models/cost_type.rb +++ b/modules/costs/app/models/cost_type.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/default_hourly_rate.rb b/modules/costs/app/models/default_hourly_rate.rb index 7e7eb406e08e..aa854df9b22a 100644 --- a/modules/costs/app/models/default_hourly_rate.rb +++ b/modules/costs/app/models/default_hourly_rate.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/entry.rb b/modules/costs/app/models/entry.rb index 8c4554eee87e..2e40152e16e0 100644 --- a/modules/costs/app/models/entry.rb +++ b/modules/costs/app/models/entry.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,9 +36,9 @@ def ===(obj) TimeEntry === obj or CostEntry === obj end - def calculate(type, *args) - a = TimeEntry.calculate(type, *args) - b = CostEntry.calculate(type, *args) + def calculate(type, *) + a = TimeEntry.calculate(type, *) + b = CostEntry.calculate(type, *) case type when :sum, :count then a + b when :avg then (a + b) / 2 @@ -69,16 +69,16 @@ def find_every(options) find_many :find_every, options end def find_from_ids(_args, options) find_many :find_from_ids, options end - def find_one(*args) - TimeEntry.send(*args) || CostEntry.send(*args) + def find_one(*) + TimeEntry.send(*) || CostEntry.send(*) end - def find_many(*args) - TimeEntry.send(*args) + CostEntry.send(*args) + def find_many(*) + TimeEntry.send(*) + CostEntry.send(*) end - def send_all(*args) - [TimeEntry.send(*args), CostEntry.send(*args)] + def send_all(*) + [TimeEntry.send(*), CostEntry.send(*)] end end end diff --git a/modules/costs/app/models/entry/costs.rb b/modules/costs/app/models/entry/costs.rb index b9c359a2b786..2a4f8f0ff88a 100644 --- a/modules/costs/app/models/entry/costs.rb +++ b/modules/costs/app/models/entry/costs.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/entry/splashed_dates.rb b/modules/costs/app/models/entry/splashed_dates.rb index 6b1ff2a13875..24876fb89b84 100644 --- a/modules/costs/app/models/entry/splashed_dates.rb +++ b/modules/costs/app/models/entry/splashed_dates.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/hourly_rate.rb b/modules/costs/app/models/hourly_rate.rb index 22fa6bf2f687..974dc05895d5 100644 --- a/modules/costs/app/models/hourly_rate.rb +++ b/modules/costs/app/models/hourly_rate.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/journal/time_entry_journal.rb b/modules/costs/app/models/journal/time_entry_journal.rb index 169ea3fd6537..5f4b97ca0195 100644 --- a/modules/costs/app/models/journal/time_entry_journal.rb +++ b/modules/costs/app/models/journal/time_entry_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/projects/scopes/activated_time_activity.rb b/modules/costs/app/models/projects/scopes/activated_time_activity.rb index 0e460c8a396a..fd0e4872feb5 100644 --- a/modules/costs/app/models/projects/scopes/activated_time_activity.rb +++ b/modules/costs/app/models/projects/scopes/activated_time_activity.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/projects/scopes/visible_with_activated_time_activity.rb b/modules/costs/app/models/projects/scopes/visible_with_activated_time_activity.rb index bc57345f3934..3f72b9276072 100644 --- a/modules/costs/app/models/projects/scopes/visible_with_activated_time_activity.rb +++ b/modules/costs/app/models/projects/scopes/visible_with_activated_time_activity.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries.rb b/modules/costs/app/models/queries/time_entries.rb index e116833db197..14416ccd1f8b 100644 --- a/modules/costs/app/models/queries/time_entries.rb +++ b/modules/costs/app/models/queries/time_entries.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries/filters/activity_filter.rb b/modules/costs/app/models/queries/time_entries/filters/activity_filter.rb index 104665666b53..3c7149c11f14 100644 --- a/modules/costs/app/models/queries/time_entries/filters/activity_filter.rb +++ b/modules/costs/app/models/queries/time_entries/filters/activity_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries/filters/created_at_filter.rb b/modules/costs/app/models/queries/time_entries/filters/created_at_filter.rb index 8d2172db9299..e23bf0a12af6 100644 --- a/modules/costs/app/models/queries/time_entries/filters/created_at_filter.rb +++ b/modules/costs/app/models/queries/time_entries/filters/created_at_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries/filters/ongoing_filter.rb b/modules/costs/app/models/queries/time_entries/filters/ongoing_filter.rb index 03d0a5c94ebc..abdc1e796297 100644 --- a/modules/costs/app/models/queries/time_entries/filters/ongoing_filter.rb +++ b/modules/costs/app/models/queries/time_entries/filters/ongoing_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries/filters/project_filter.rb b/modules/costs/app/models/queries/time_entries/filters/project_filter.rb index 197792b823f5..09f584a61dbf 100644 --- a/modules/costs/app/models/queries/time_entries/filters/project_filter.rb +++ b/modules/costs/app/models/queries/time_entries/filters/project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries/filters/spent_on_filter.rb b/modules/costs/app/models/queries/time_entries/filters/spent_on_filter.rb index 68accaab7809..1d0f6e846520 100644 --- a/modules/costs/app/models/queries/time_entries/filters/spent_on_filter.rb +++ b/modules/costs/app/models/queries/time_entries/filters/spent_on_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries/filters/time_entry_filter.rb b/modules/costs/app/models/queries/time_entries/filters/time_entry_filter.rb index 85f1d8656fe8..351639213742 100644 --- a/modules/costs/app/models/queries/time_entries/filters/time_entry_filter.rb +++ b/modules/costs/app/models/queries/time_entries/filters/time_entry_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries/filters/updated_at_filter.rb b/modules/costs/app/models/queries/time_entries/filters/updated_at_filter.rb index 0ad217386141..fb5906fe340e 100644 --- a/modules/costs/app/models/queries/time_entries/filters/updated_at_filter.rb +++ b/modules/costs/app/models/queries/time_entries/filters/updated_at_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries/filters/user_filter.rb b/modules/costs/app/models/queries/time_entries/filters/user_filter.rb index 700a156e78fa..7deb7b6bfb90 100644 --- a/modules/costs/app/models/queries/time_entries/filters/user_filter.rb +++ b/modules/costs/app/models/queries/time_entries/filters/user_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries/filters/work_package_filter.rb b/modules/costs/app/models/queries/time_entries/filters/work_package_filter.rb index 46a3011b67a2..94dd20b12509 100644 --- a/modules/costs/app/models/queries/time_entries/filters/work_package_filter.rb +++ b/modules/costs/app/models/queries/time_entries/filters/work_package_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries/orders/default_order.rb b/modules/costs/app/models/queries/time_entries/orders/default_order.rb index fd8b2cfaecff..ff5a68be44b3 100644 --- a/modules/costs/app/models/queries/time_entries/orders/default_order.rb +++ b/modules/costs/app/models/queries/time_entries/orders/default_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/queries/time_entries/time_entry_query.rb b/modules/costs/app/models/queries/time_entries/time_entry_query.rb index 1803413bf432..c21b783b8062 100644 --- a/modules/costs/app/models/queries/time_entries/time_entry_query.rb +++ b/modules/costs/app/models/queries/time_entries/time_entry_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/rate.rb b/modules/costs/app/models/rate.rb index d73208f968ce..63bff76b475c 100644 --- a/modules/costs/app/models/rate.rb +++ b/modules/costs/app/models/rate.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/time_entries/scopes/of_user_and_day.rb b/modules/costs/app/models/time_entries/scopes/of_user_and_day.rb index c1abfb9f985e..e62928d75f73 100644 --- a/modules/costs/app/models/time_entries/scopes/of_user_and_day.rb +++ b/modules/costs/app/models/time_entries/scopes/of_user_and_day.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/time_entries/scopes/ongoing.rb b/modules/costs/app/models/time_entries/scopes/ongoing.rb index cd6f422bcc37..4a52c40b0e0c 100644 --- a/modules/costs/app/models/time_entries/scopes/ongoing.rb +++ b/modules/costs/app/models/time_entries/scopes/ongoing.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/time_entry.rb b/modules/costs/app/models/time_entry.rb index e317762078fd..5502092e6fee 100644 --- a/modules/costs/app/models/time_entry.rb +++ b/modules/costs/app/models/time_entry.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/time_entry_activities/scopes/active_in_project.rb b/modules/costs/app/models/time_entry_activities/scopes/active_in_project.rb index 6c8a585d8446..4eeed50f32c7 100644 --- a/modules/costs/app/models/time_entry_activities/scopes/active_in_project.rb +++ b/modules/costs/app/models/time_entry_activities/scopes/active_in_project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/time_entry_activities_project.rb b/modules/costs/app/models/time_entry_activities_project.rb index dda897448445..5fe1060cfa44 100644 --- a/modules/costs/app/models/time_entry_activities_project.rb +++ b/modules/costs/app/models/time_entry_activities_project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/time_entry_activity.rb b/modules/costs/app/models/time_entry_activity.rb index 29fb418a3a4a..76851b5d564b 100644 --- a/modules/costs/app/models/time_entry_activity.rb +++ b/modules/costs/app/models/time_entry_activity.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/models/time_entry_custom_field.rb b/modules/costs/app/models/time_entry_custom_field.rb index 4d79ddbf2fcf..63db073deab9 100644 --- a/modules/costs/app/models/time_entry_custom_field.rb +++ b/modules/costs/app/models/time_entry_custom_field.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/seeders/common.yml b/modules/costs/app/seeders/common.yml index 22be845da779..236d3b2d0267 100644 --- a/modules/costs/app/seeders/common.yml +++ b/modules/costs/app/seeders/common.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/services/time_entries/create_service.rb b/modules/costs/app/services/time_entries/create_service.rb index b20d6367d5b1..541392446ec9 100644 --- a/modules/costs/app/services/time_entries/create_service.rb +++ b/modules/costs/app/services/time_entries/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/services/time_entries/delete_service.rb b/modules/costs/app/services/time_entries/delete_service.rb index 668e523261c1..13baf36d1009 100644 --- a/modules/costs/app/services/time_entries/delete_service.rb +++ b/modules/costs/app/services/time_entries/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/services/time_entries/set_attributes_service.rb b/modules/costs/app/services/time_entries/set_attributes_service.rb index b2930ec9d30c..a42862f7d975 100644 --- a/modules/costs/app/services/time_entries/set_attributes_service.rb +++ b/modules/costs/app/services/time_entries/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ module TimeEntries class SetAttributesService < ::BaseServices::SetAttributes private - def set_attributes(attributes) + def set_attributes(_attributes) model.attributes = params ## diff --git a/modules/costs/app/services/time_entries/update_service.rb b/modules/costs/app/services/time_entries/update_service.rb index 60531ac83992..a0e191d201f5 100644 --- a/modules/costs/app/services/time_entries/update_service.rb +++ b/modules/costs/app/services/time_entries/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/cost_types/_list.html.erb b/modules/costs/app/views/cost_types/_list.html.erb index 0019e73b3a6d..af320663e693 100644 --- a/modules/costs/app/views/cost_types/_list.html.erb +++ b/modules/costs/app/views/cost_types/_list.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/cost_types/_list_deleted.html.erb b/modules/costs/app/views/cost_types/_list_deleted.html.erb index a6158eac8c0e..1a31e3301be4 100644 --- a/modules/costs/app/views/cost_types/_list_deleted.html.erb +++ b/modules/costs/app/views/cost_types/_list_deleted.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/cost_types/_rate.html.erb b/modules/costs/app/views/cost_types/_rate.html.erb index 5b1a8a2faef1..94304c99ed36 100644 --- a/modules/costs/app/views/cost_types/_rate.html.erb +++ b/modules/costs/app/views/cost_types/_rate.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/cost_types/edit.html.erb b/modules/costs/app/views/cost_types/edit.html.erb index 435fe43a3cf1..ccdfcc7cb396 100644 --- a/modules/costs/app/views/cost_types/edit.html.erb +++ b/modules/costs/app/views/cost_types/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/cost_types/index.html.erb b/modules/costs/app/views/cost_types/index.html.erb index 28b17e0575ef..29e557526fea 100644 --- a/modules/costs/app/views/cost_types/index.html.erb +++ b/modules/costs/app/views/cost_types/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/costlog/edit.html.erb b/modules/costs/app/views/costlog/edit.html.erb index 3d90a9525d6c..d6cc998467c0 100644 --- a/modules/costs/app/views/costlog/edit.html.erb +++ b/modules/costs/app/views/costlog/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/hourly_rates/_list.html.erb b/modules/costs/app/views/hourly_rates/_list.html.erb index ff1df3f3f2f1..8975f5823a6a 100644 --- a/modules/costs/app/views/hourly_rates/_list.html.erb +++ b/modules/costs/app/views/hourly_rates/_list.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/hourly_rates/_list_default.html.erb b/modules/costs/app/views/hourly_rates/_list_default.html.erb index 3b2862773e4d..2f509f015fec 100644 --- a/modules/costs/app/views/hourly_rates/_list_default.html.erb +++ b/modules/costs/app/views/hourly_rates/_list_default.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/hourly_rates/_list_project.html.erb b/modules/costs/app/views/hourly_rates/_list_project.html.erb index 583a9e5d9b6d..6e6261f5bad5 100644 --- a/modules/costs/app/views/hourly_rates/_list_project.html.erb +++ b/modules/costs/app/views/hourly_rates/_list_project.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/hourly_rates/_rate.html.erb b/modules/costs/app/views/hourly_rates/_rate.html.erb index d71835082660..eac87b4d9d9f 100644 --- a/modules/costs/app/views/hourly_rates/_rate.html.erb +++ b/modules/costs/app/views/hourly_rates/_rate.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/hourly_rates/edit.html.erb b/modules/costs/app/views/hourly_rates/edit.html.erb index f5478fe9f2be..c83cfa37a428 100644 --- a/modules/costs/app/views/hourly_rates/edit.html.erb +++ b/modules/costs/app/views/hourly_rates/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/hourly_rates/show.html.erb b/modules/costs/app/views/hourly_rates/show.html.erb index 0e8b4e7c3336..00087c2a82da 100644 --- a/modules/costs/app/views/hourly_rates/show.html.erb +++ b/modules/costs/app/views/hourly_rates/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/projects/settings/time_entry_activities/_activities.html.erb b/modules/costs/app/views/projects/settings/time_entry_activities/_activities.html.erb index d0cf39569900..ed21f553fe0d 100644 --- a/modules/costs/app/views/projects/settings/time_entry_activities/_activities.html.erb +++ b/modules/costs/app/views/projects/settings/time_entry_activities/_activities.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/projects/settings/time_entry_activities/show.html.erb b/modules/costs/app/views/projects/settings/time_entry_activities/show.html.erb index 5b2f5ebabdc9..c16c3399a68f 100644 --- a/modules/costs/app/views/projects/settings/time_entry_activities/show.html.erb +++ b/modules/costs/app/views/projects/settings/time_entry_activities/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/settings/_costs.html.erb b/modules/costs/app/views/settings/_costs.html.erb index b7c184a838e0..8426af3b3c2b 100644 --- a/modules/costs/app/views/settings/_costs.html.erb +++ b/modules/costs/app/views/settings/_costs.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/app/views/users/_rates.html.erb b/modules/costs/app/views/users/_rates.html.erb index 27bf7127005f..65ee2ac1581a 100644 --- a/modules/costs/app/views/users/_rates.html.erb +++ b/modules/costs/app/views/users/_rates.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/config/locales/crowdin/af.yml b/modules/costs/config/locales/crowdin/af.yml index 146e6759b753..ba0277b86df2 100644 --- a/modules/costs/config/locales/crowdin/af.yml +++ b/modules/costs/config/locales/crowdin/af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/ar.yml b/modules/costs/config/locales/crowdin/ar.yml index 0e24472ca564..13b0fc070120 100644 --- a/modules/costs/config/locales/crowdin/ar.yml +++ b/modules/costs/config/locales/crowdin/ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/az.yml b/modules/costs/config/locales/crowdin/az.yml index 9b2724644abd..b7c318124de6 100644 --- a/modules/costs/config/locales/crowdin/az.yml +++ b/modules/costs/config/locales/crowdin/az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/be.yml b/modules/costs/config/locales/crowdin/be.yml index 7c40077fc043..4028bdafd3cf 100644 --- a/modules/costs/config/locales/crowdin/be.yml +++ b/modules/costs/config/locales/crowdin/be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/bg.yml b/modules/costs/config/locales/crowdin/bg.yml index 5bfa62425fe6..494076ce930f 100644 --- a/modules/costs/config/locales/crowdin/bg.yml +++ b/modules/costs/config/locales/crowdin/bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/ca.yml b/modules/costs/config/locales/crowdin/ca.yml index fca048046efb..b9f5bf81a25d 100644 --- a/modules/costs/config/locales/crowdin/ca.yml +++ b/modules/costs/config/locales/crowdin/ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/ckb-IR.yml b/modules/costs/config/locales/crowdin/ckb-IR.yml index 55f1cac6d046..eb19c257418d 100644 --- a/modules/costs/config/locales/crowdin/ckb-IR.yml +++ b/modules/costs/config/locales/crowdin/ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/cs.yml b/modules/costs/config/locales/crowdin/cs.yml index 805f174ceefc..8fe5630df300 100644 --- a/modules/costs/config/locales/crowdin/cs.yml +++ b/modules/costs/config/locales/crowdin/cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/da.yml b/modules/costs/config/locales/crowdin/da.yml index b3724bf57bec..240d18e8a89c 100644 --- a/modules/costs/config/locales/crowdin/da.yml +++ b/modules/costs/config/locales/crowdin/da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/de.yml b/modules/costs/config/locales/crowdin/de.yml index e038766a1bf3..1eb79393362c 100644 --- a/modules/costs/config/locales/crowdin/de.yml +++ b/modules/costs/config/locales/crowdin/de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/el.yml b/modules/costs/config/locales/crowdin/el.yml index 90d92fab0f60..3a50f1fbf632 100644 --- a/modules/costs/config/locales/crowdin/el.yml +++ b/modules/costs/config/locales/crowdin/el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/eo.yml b/modules/costs/config/locales/crowdin/eo.yml index 024e7585cb19..7d58b3472f32 100644 --- a/modules/costs/config/locales/crowdin/eo.yml +++ b/modules/costs/config/locales/crowdin/eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/es.yml b/modules/costs/config/locales/crowdin/es.yml index 562b552b4ff3..52f62c82d9b8 100644 --- a/modules/costs/config/locales/crowdin/es.yml +++ b/modules/costs/config/locales/crowdin/es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/et.yml b/modules/costs/config/locales/crowdin/et.yml index 40d77b83e163..6adb2b9f2cb5 100644 --- a/modules/costs/config/locales/crowdin/et.yml +++ b/modules/costs/config/locales/crowdin/et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/eu.yml b/modules/costs/config/locales/crowdin/eu.yml index 048767894fdd..2e6eab40ef44 100644 --- a/modules/costs/config/locales/crowdin/eu.yml +++ b/modules/costs/config/locales/crowdin/eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/fa.yml b/modules/costs/config/locales/crowdin/fa.yml index 102b662c206f..a22b558031b8 100644 --- a/modules/costs/config/locales/crowdin/fa.yml +++ b/modules/costs/config/locales/crowdin/fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/fi.yml b/modules/costs/config/locales/crowdin/fi.yml index 32855bd71564..aaf2168b5361 100644 --- a/modules/costs/config/locales/crowdin/fi.yml +++ b/modules/costs/config/locales/crowdin/fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/fil.yml b/modules/costs/config/locales/crowdin/fil.yml index 2db7f2497fb6..8f7605ee2767 100644 --- a/modules/costs/config/locales/crowdin/fil.yml +++ b/modules/costs/config/locales/crowdin/fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/fr.yml b/modules/costs/config/locales/crowdin/fr.yml index 7439fd43c767..1bc7b716e6bc 100644 --- a/modules/costs/config/locales/crowdin/fr.yml +++ b/modules/costs/config/locales/crowdin/fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/he.yml b/modules/costs/config/locales/crowdin/he.yml index 428015b8e8d5..bff301c6e1eb 100644 --- a/modules/costs/config/locales/crowdin/he.yml +++ b/modules/costs/config/locales/crowdin/he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/hi.yml b/modules/costs/config/locales/crowdin/hi.yml index 46a15c2ebb93..08594067f076 100644 --- a/modules/costs/config/locales/crowdin/hi.yml +++ b/modules/costs/config/locales/crowdin/hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/hr.yml b/modules/costs/config/locales/crowdin/hr.yml index ddb6a6b9ed3a..587aa9656dda 100644 --- a/modules/costs/config/locales/crowdin/hr.yml +++ b/modules/costs/config/locales/crowdin/hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/hu.yml b/modules/costs/config/locales/crowdin/hu.yml index 703d177a4a22..72ac4c3d60be 100644 --- a/modules/costs/config/locales/crowdin/hu.yml +++ b/modules/costs/config/locales/crowdin/hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/id.yml b/modules/costs/config/locales/crowdin/id.yml index 6753253e476a..61d2bede3228 100644 --- a/modules/costs/config/locales/crowdin/id.yml +++ b/modules/costs/config/locales/crowdin/id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/it.yml b/modules/costs/config/locales/crowdin/it.yml index bbc397193434..5515343185fe 100644 --- a/modules/costs/config/locales/crowdin/it.yml +++ b/modules/costs/config/locales/crowdin/it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/ja.yml b/modules/costs/config/locales/crowdin/ja.yml index 9e048ab6a3d1..8736df5bbf1a 100644 --- a/modules/costs/config/locales/crowdin/ja.yml +++ b/modules/costs/config/locales/crowdin/ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-af.yml b/modules/costs/config/locales/crowdin/js-af.yml index db1b2e3a641d..835e116a4ab6 100644 --- a/modules/costs/config/locales/crowdin/js-af.yml +++ b/modules/costs/config/locales/crowdin/js-af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-ar.yml b/modules/costs/config/locales/crowdin/js-ar.yml index e7422c98ff8c..e6933d138e7b 100644 --- a/modules/costs/config/locales/crowdin/js-ar.yml +++ b/modules/costs/config/locales/crowdin/js-ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-az.yml b/modules/costs/config/locales/crowdin/js-az.yml index 5fab333ffdf6..718e28f3088c 100644 --- a/modules/costs/config/locales/crowdin/js-az.yml +++ b/modules/costs/config/locales/crowdin/js-az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-be.yml b/modules/costs/config/locales/crowdin/js-be.yml index 2b9d087cb394..0d9e3ba8f036 100644 --- a/modules/costs/config/locales/crowdin/js-be.yml +++ b/modules/costs/config/locales/crowdin/js-be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-bg.yml b/modules/costs/config/locales/crowdin/js-bg.yml index 3df6a7180134..22ec226c96eb 100644 --- a/modules/costs/config/locales/crowdin/js-bg.yml +++ b/modules/costs/config/locales/crowdin/js-bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-ca.yml b/modules/costs/config/locales/crowdin/js-ca.yml index 36d2036f9c24..5950826d91f5 100644 --- a/modules/costs/config/locales/crowdin/js-ca.yml +++ b/modules/costs/config/locales/crowdin/js-ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-ckb-IR.yml b/modules/costs/config/locales/crowdin/js-ckb-IR.yml index 0bd00ceeea8a..79aadd567d1f 100644 --- a/modules/costs/config/locales/crowdin/js-ckb-IR.yml +++ b/modules/costs/config/locales/crowdin/js-ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-cs.yml b/modules/costs/config/locales/crowdin/js-cs.yml index b1a2688346ea..c216dba336b8 100644 --- a/modules/costs/config/locales/crowdin/js-cs.yml +++ b/modules/costs/config/locales/crowdin/js-cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-da.yml b/modules/costs/config/locales/crowdin/js-da.yml index 5c0917b4fa0b..8224e3266623 100644 --- a/modules/costs/config/locales/crowdin/js-da.yml +++ b/modules/costs/config/locales/crowdin/js-da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-de.yml b/modules/costs/config/locales/crowdin/js-de.yml index 7664dfabf9ed..04be02baa7d6 100644 --- a/modules/costs/config/locales/crowdin/js-de.yml +++ b/modules/costs/config/locales/crowdin/js-de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-el.yml b/modules/costs/config/locales/crowdin/js-el.yml index 8090f2e6ba21..35e100e825ec 100644 --- a/modules/costs/config/locales/crowdin/js-el.yml +++ b/modules/costs/config/locales/crowdin/js-el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-eo.yml b/modules/costs/config/locales/crowdin/js-eo.yml index 63fb698626b4..e385faa834d7 100644 --- a/modules/costs/config/locales/crowdin/js-eo.yml +++ b/modules/costs/config/locales/crowdin/js-eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-es.yml b/modules/costs/config/locales/crowdin/js-es.yml index ef58d954b862..f344c54d481b 100644 --- a/modules/costs/config/locales/crowdin/js-es.yml +++ b/modules/costs/config/locales/crowdin/js-es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-et.yml b/modules/costs/config/locales/crowdin/js-et.yml index 8319ffe8e5b1..cd69c5798017 100644 --- a/modules/costs/config/locales/crowdin/js-et.yml +++ b/modules/costs/config/locales/crowdin/js-et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-eu.yml b/modules/costs/config/locales/crowdin/js-eu.yml index c01dd66df352..a7f7a488ae64 100644 --- a/modules/costs/config/locales/crowdin/js-eu.yml +++ b/modules/costs/config/locales/crowdin/js-eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-fa.yml b/modules/costs/config/locales/crowdin/js-fa.yml index 31ebd7f24903..928c23608072 100644 --- a/modules/costs/config/locales/crowdin/js-fa.yml +++ b/modules/costs/config/locales/crowdin/js-fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-fi.yml b/modules/costs/config/locales/crowdin/js-fi.yml index 9c87d38e6d2b..b6eef6b196f0 100644 --- a/modules/costs/config/locales/crowdin/js-fi.yml +++ b/modules/costs/config/locales/crowdin/js-fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-fil.yml b/modules/costs/config/locales/crowdin/js-fil.yml index 19d81b795e7a..239adebb6a44 100644 --- a/modules/costs/config/locales/crowdin/js-fil.yml +++ b/modules/costs/config/locales/crowdin/js-fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-fr.yml b/modules/costs/config/locales/crowdin/js-fr.yml index b2ba5bfae3fe..8dff95940ff3 100644 --- a/modules/costs/config/locales/crowdin/js-fr.yml +++ b/modules/costs/config/locales/crowdin/js-fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-he.yml b/modules/costs/config/locales/crowdin/js-he.yml index bfb1edb7dfcb..b617d141dc77 100644 --- a/modules/costs/config/locales/crowdin/js-he.yml +++ b/modules/costs/config/locales/crowdin/js-he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-hi.yml b/modules/costs/config/locales/crowdin/js-hi.yml index 5728e3ddbf65..6246bc543a1f 100644 --- a/modules/costs/config/locales/crowdin/js-hi.yml +++ b/modules/costs/config/locales/crowdin/js-hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-hr.yml b/modules/costs/config/locales/crowdin/js-hr.yml index da3c3f0973d5..752d2e552bde 100644 --- a/modules/costs/config/locales/crowdin/js-hr.yml +++ b/modules/costs/config/locales/crowdin/js-hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-hu.yml b/modules/costs/config/locales/crowdin/js-hu.yml index 37cb34dad655..16def1b7e9e0 100644 --- a/modules/costs/config/locales/crowdin/js-hu.yml +++ b/modules/costs/config/locales/crowdin/js-hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-id.yml b/modules/costs/config/locales/crowdin/js-id.yml index 4baef018bed6..df22179c6791 100644 --- a/modules/costs/config/locales/crowdin/js-id.yml +++ b/modules/costs/config/locales/crowdin/js-id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-it.yml b/modules/costs/config/locales/crowdin/js-it.yml index ae646ae4a564..52968905c4dc 100644 --- a/modules/costs/config/locales/crowdin/js-it.yml +++ b/modules/costs/config/locales/crowdin/js-it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-ja.yml b/modules/costs/config/locales/crowdin/js-ja.yml index 7939a77a510f..f275ac9fb042 100644 --- a/modules/costs/config/locales/crowdin/js-ja.yml +++ b/modules/costs/config/locales/crowdin/js-ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-ka.yml b/modules/costs/config/locales/crowdin/js-ka.yml index a10c93edb517..05eb4e50162c 100644 --- a/modules/costs/config/locales/crowdin/js-ka.yml +++ b/modules/costs/config/locales/crowdin/js-ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-ko.yml b/modules/costs/config/locales/crowdin/js-ko.yml index bb9532c3a0ac..4056f8c45ab0 100644 --- a/modules/costs/config/locales/crowdin/js-ko.yml +++ b/modules/costs/config/locales/crowdin/js-ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-lt.yml b/modules/costs/config/locales/crowdin/js-lt.yml index 6a353eabb9a1..634a358aa28b 100644 --- a/modules/costs/config/locales/crowdin/js-lt.yml +++ b/modules/costs/config/locales/crowdin/js-lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-lv.yml b/modules/costs/config/locales/crowdin/js-lv.yml index 3c4999c09e87..9a3cfc35be65 100644 --- a/modules/costs/config/locales/crowdin/js-lv.yml +++ b/modules/costs/config/locales/crowdin/js-lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-mn.yml b/modules/costs/config/locales/crowdin/js-mn.yml index 24335a7137d8..c23447207b3b 100644 --- a/modules/costs/config/locales/crowdin/js-mn.yml +++ b/modules/costs/config/locales/crowdin/js-mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-ne.yml b/modules/costs/config/locales/crowdin/js-ne.yml index 2907c65b143a..ff13d7f74cbc 100644 --- a/modules/costs/config/locales/crowdin/js-ne.yml +++ b/modules/costs/config/locales/crowdin/js-ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-nl.yml b/modules/costs/config/locales/crowdin/js-nl.yml index c595a316848a..81ab3421581c 100644 --- a/modules/costs/config/locales/crowdin/js-nl.yml +++ b/modules/costs/config/locales/crowdin/js-nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-no.yml b/modules/costs/config/locales/crowdin/js-no.yml index 615d7a511965..995d2f152c51 100644 --- a/modules/costs/config/locales/crowdin/js-no.yml +++ b/modules/costs/config/locales/crowdin/js-no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-pl.yml b/modules/costs/config/locales/crowdin/js-pl.yml index 2af553010844..1760138571da 100644 --- a/modules/costs/config/locales/crowdin/js-pl.yml +++ b/modules/costs/config/locales/crowdin/js-pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-pt.yml b/modules/costs/config/locales/crowdin/js-pt.yml index 999c5645e899..546b2d01fba3 100644 --- a/modules/costs/config/locales/crowdin/js-pt.yml +++ b/modules/costs/config/locales/crowdin/js-pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-ro.yml b/modules/costs/config/locales/crowdin/js-ro.yml index 2efc2c2a80ba..fd14c1ab5138 100644 --- a/modules/costs/config/locales/crowdin/js-ro.yml +++ b/modules/costs/config/locales/crowdin/js-ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-ru.yml b/modules/costs/config/locales/crowdin/js-ru.yml index dc17d23312d6..067f22970954 100644 --- a/modules/costs/config/locales/crowdin/js-ru.yml +++ b/modules/costs/config/locales/crowdin/js-ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-rw.yml b/modules/costs/config/locales/crowdin/js-rw.yml index 6467ef1ecf1b..4bd883fc09eb 100644 --- a/modules/costs/config/locales/crowdin/js-rw.yml +++ b/modules/costs/config/locales/crowdin/js-rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-si.yml b/modules/costs/config/locales/crowdin/js-si.yml index 3a52510d16df..1307828a8fc4 100644 --- a/modules/costs/config/locales/crowdin/js-si.yml +++ b/modules/costs/config/locales/crowdin/js-si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-sk.yml b/modules/costs/config/locales/crowdin/js-sk.yml index 9e8ed9a066a8..6d8a5580225a 100644 --- a/modules/costs/config/locales/crowdin/js-sk.yml +++ b/modules/costs/config/locales/crowdin/js-sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-sl.yml b/modules/costs/config/locales/crowdin/js-sl.yml index a27ddbf661a8..87f6f4e0d762 100644 --- a/modules/costs/config/locales/crowdin/js-sl.yml +++ b/modules/costs/config/locales/crowdin/js-sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-sr.yml b/modules/costs/config/locales/crowdin/js-sr.yml index 0c74459939fa..93e4313b3b7c 100644 --- a/modules/costs/config/locales/crowdin/js-sr.yml +++ b/modules/costs/config/locales/crowdin/js-sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-sv.yml b/modules/costs/config/locales/crowdin/js-sv.yml index 561700973d57..3497c8bcb2c8 100644 --- a/modules/costs/config/locales/crowdin/js-sv.yml +++ b/modules/costs/config/locales/crowdin/js-sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-th.yml b/modules/costs/config/locales/crowdin/js-th.yml index 58db58c11592..3adc76310227 100644 --- a/modules/costs/config/locales/crowdin/js-th.yml +++ b/modules/costs/config/locales/crowdin/js-th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-tr.yml b/modules/costs/config/locales/crowdin/js-tr.yml index 494123ea6b90..c4a1d4e54205 100644 --- a/modules/costs/config/locales/crowdin/js-tr.yml +++ b/modules/costs/config/locales/crowdin/js-tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-uk.yml b/modules/costs/config/locales/crowdin/js-uk.yml index 753d2132e787..805815c7ebc6 100644 --- a/modules/costs/config/locales/crowdin/js-uk.yml +++ b/modules/costs/config/locales/crowdin/js-uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-vi.yml b/modules/costs/config/locales/crowdin/js-vi.yml index 5ce077a0b278..2d2106ac945e 100644 --- a/modules/costs/config/locales/crowdin/js-vi.yml +++ b/modules/costs/config/locales/crowdin/js-vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-zh-CN.yml b/modules/costs/config/locales/crowdin/js-zh-CN.yml index 438ec956fe77..e84a849d37e1 100644 --- a/modules/costs/config/locales/crowdin/js-zh-CN.yml +++ b/modules/costs/config/locales/crowdin/js-zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/js-zh-TW.yml b/modules/costs/config/locales/crowdin/js-zh-TW.yml index ec2185f58ad0..dbd5ed85193f 100644 --- a/modules/costs/config/locales/crowdin/js-zh-TW.yml +++ b/modules/costs/config/locales/crowdin/js-zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/ka.yml b/modules/costs/config/locales/crowdin/ka.yml index 5b8c241a01c1..d5af9a96577b 100644 --- a/modules/costs/config/locales/crowdin/ka.yml +++ b/modules/costs/config/locales/crowdin/ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -70,7 +70,7 @@ ka: caption_default_rate_history_for: "Default rate history for %{user}" caption_locked_on: "იბლოკება" caption_materials: "საზომი ერთეულები" - caption_rate_history: "Rate history" + caption_rate_history: "ტარიფის ისტორია" caption_rate_history_for: "Rate history for %{user}" caption_rate_history_for_project: "Rate history for %{user} in project %{project}" caption_save_rate: "ტარიფის შენახვა" @@ -84,7 +84,7 @@ ka: label_cost_plural: "ღირებულებები" label_cost_type_plural: "ღირებულების ტიპი" label_cost_type_specific: "Cost type #%{id}: %{name}" - label_costs_per_page: "Costs per page" + label_costs_per_page: "ღირებულებები თითოეული გვერდისთვის" label_currency: "ფული" label_currency_format: "Format of currency" label_current_default_rate: "Current default rate" @@ -124,7 +124,7 @@ ka: permission_edit_own_cost_entries: "Edit own booked unit costs" permission_edit_hourly_rates: "Edit hourly rates" permission_edit_own_hourly_rate: "Edit own hourly rates" - permission_edit_rates: "Edit rates" + permission_edit_rates: "ტარიფების ჩასწორება" permission_log_costs: "Book unit costs" permission_log_own_costs: "Book unit costs for oneself" permission_view_cost_entries: "View booked costs" @@ -133,7 +133,7 @@ ka: permission_view_own_cost_entries: "View own booked costs" permission_view_own_hourly_rate: "View own hourly rate" permission_view_own_time_entries: "View own spent time" - project_module_costs: "Time and costs" + project_module_costs: "დრო და ღირებულებები" text_assign_time_and_cost_entries_to_project: "Assign reported hours and costs to the project" text_destroy_cost_entries_question: "%{cost_entries} were reported on the work packages you are about to delete. What do you want to do ?" text_destroy_time_and_cost_entries: "Delete reported hours and costs" diff --git a/modules/costs/config/locales/crowdin/ko.yml b/modules/costs/config/locales/crowdin/ko.yml index 21fbc83dd650..bf08e89fa49d 100644 --- a/modules/costs/config/locales/crowdin/ko.yml +++ b/modules/costs/config/locales/crowdin/ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/lt.yml b/modules/costs/config/locales/crowdin/lt.yml index 2fec07a06792..f4215601e12c 100644 --- a/modules/costs/config/locales/crowdin/lt.yml +++ b/modules/costs/config/locales/crowdin/lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/lv.yml b/modules/costs/config/locales/crowdin/lv.yml index c3e518b28f62..9cbb7d5918a0 100644 --- a/modules/costs/config/locales/crowdin/lv.yml +++ b/modules/costs/config/locales/crowdin/lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/mn.yml b/modules/costs/config/locales/crowdin/mn.yml index 18e9bf74eb9d..c516f4664f3e 100644 --- a/modules/costs/config/locales/crowdin/mn.yml +++ b/modules/costs/config/locales/crowdin/mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/ne.yml b/modules/costs/config/locales/crowdin/ne.yml index b0acd2261d68..7199e0f3aec4 100644 --- a/modules/costs/config/locales/crowdin/ne.yml +++ b/modules/costs/config/locales/crowdin/ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/nl.yml b/modules/costs/config/locales/crowdin/nl.yml index 9e2d76e13fab..3528b20bc680 100644 --- a/modules/costs/config/locales/crowdin/nl.yml +++ b/modules/costs/config/locales/crowdin/nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/no.yml b/modules/costs/config/locales/crowdin/no.yml index 012ee9d2e15e..ac8ce11c6638 100644 --- a/modules/costs/config/locales/crowdin/no.yml +++ b/modules/costs/config/locales/crowdin/no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/pl.yml b/modules/costs/config/locales/crowdin/pl.yml index b8dbcd0a117a..025674a2f10d 100644 --- a/modules/costs/config/locales/crowdin/pl.yml +++ b/modules/costs/config/locales/crowdin/pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/pt.yml b/modules/costs/config/locales/crowdin/pt.yml index 530b76987d20..fe5298744da6 100644 --- a/modules/costs/config/locales/crowdin/pt.yml +++ b/modules/costs/config/locales/crowdin/pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/ro.yml b/modules/costs/config/locales/crowdin/ro.yml index 924b8b006145..c93b9bf625b2 100644 --- a/modules/costs/config/locales/crowdin/ro.yml +++ b/modules/costs/config/locales/crowdin/ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/ru.yml b/modules/costs/config/locales/crowdin/ru.yml index 13fed3afc893..7fd181379c00 100644 --- a/modules/costs/config/locales/crowdin/ru.yml +++ b/modules/costs/config/locales/crowdin/ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/rw.yml b/modules/costs/config/locales/crowdin/rw.yml index a7df1ad577e7..0e2cc81880ec 100644 --- a/modules/costs/config/locales/crowdin/rw.yml +++ b/modules/costs/config/locales/crowdin/rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/si.yml b/modules/costs/config/locales/crowdin/si.yml index 6b094e9d0324..0a08810cac93 100644 --- a/modules/costs/config/locales/crowdin/si.yml +++ b/modules/costs/config/locales/crowdin/si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/sk.yml b/modules/costs/config/locales/crowdin/sk.yml index 355b73ad9fcb..fc7ffbdc4313 100644 --- a/modules/costs/config/locales/crowdin/sk.yml +++ b/modules/costs/config/locales/crowdin/sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/sl.yml b/modules/costs/config/locales/crowdin/sl.yml index ef3f1fb107d6..61171a4b07e4 100644 --- a/modules/costs/config/locales/crowdin/sl.yml +++ b/modules/costs/config/locales/crowdin/sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/sr.yml b/modules/costs/config/locales/crowdin/sr.yml index 694e06243016..ff430231a0d9 100644 --- a/modules/costs/config/locales/crowdin/sr.yml +++ b/modules/costs/config/locales/crowdin/sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/sv.yml b/modules/costs/config/locales/crowdin/sv.yml index fd78d820a1e6..c36b09c54519 100644 --- a/modules/costs/config/locales/crowdin/sv.yml +++ b/modules/costs/config/locales/crowdin/sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/th.yml b/modules/costs/config/locales/crowdin/th.yml index 41027a8c84ff..f156340cbc5c 100644 --- a/modules/costs/config/locales/crowdin/th.yml +++ b/modules/costs/config/locales/crowdin/th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/tr.yml b/modules/costs/config/locales/crowdin/tr.yml index e52f0bce8129..c17345f09c56 100644 --- a/modules/costs/config/locales/crowdin/tr.yml +++ b/modules/costs/config/locales/crowdin/tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/uk.yml b/modules/costs/config/locales/crowdin/uk.yml index 89399145ee46..faa93f1201b3 100644 --- a/modules/costs/config/locales/crowdin/uk.yml +++ b/modules/costs/config/locales/crowdin/uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/vi.yml b/modules/costs/config/locales/crowdin/vi.yml index 6e8794d5e547..27fec91f2cd0 100644 --- a/modules/costs/config/locales/crowdin/vi.yml +++ b/modules/costs/config/locales/crowdin/vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/zh-CN.yml b/modules/costs/config/locales/crowdin/zh-CN.yml index f4bcb73fff20..01d4e60c9849 100644 --- a/modules/costs/config/locales/crowdin/zh-CN.yml +++ b/modules/costs/config/locales/crowdin/zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/crowdin/zh-TW.yml b/modules/costs/config/locales/crowdin/zh-TW.yml index 4ec01cf1bc66..a7a3b496caf6 100644 --- a/modules/costs/config/locales/crowdin/zh-TW.yml +++ b/modules/costs/config/locales/crowdin/zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/costs/config/locales/en.yml b/modules/costs/config/locales/en.yml index 80cc5cb1c5f5..d89e4e9bb229 100644 --- a/modules/costs/config/locales/en.yml +++ b/modules/costs/config/locales/en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/config/locales/js-en.yml b/modules/costs/config/locales/js-en.yml index b48c4bb03ca3..335b9d04e2d4 100644 --- a/modules/costs/config/locales/js-en.yml +++ b/modules/costs/config/locales/js-en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/config/routes.rb b/modules/costs/config/routes.rb index 36c6a7663659..9b688ba32f55 100644 --- a/modules/costs/config/routes.rb +++ b/modules/costs/config/routes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/db/migrate/20180323133404_to_v710_aggregated_costs_migrations.rb b/modules/costs/db/migrate/20180323133404_to_v710_aggregated_costs_migrations.rb index dc901b52889e..8202b775909d 100644 --- a/modules/costs/db/migrate/20180323133404_to_v710_aggregated_costs_migrations.rb +++ b/modules/costs/db/migrate/20180323133404_to_v710_aggregated_costs_migrations.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require Rails.root.join("db", "migrate", "migration_utils", "migration_squasher").to_s +require Rails.root.join("db/migrate/migration_utils/migration_squasher").to_s # This migration aggregates the migrations detailed in MIGRATION_FILES class ToV710AggregatedCostsMigrations < ActiveRecord::Migration[5.1] MIGRATION_FILES = <<-MIGRATIONS @@ -120,7 +120,7 @@ def up t.integer :author_id, null: false t.string :subject, null: false t.text :description - t.date :fixed_date, null: false + t.date :fixed_date, null: false t.datetime :created_on end diff --git a/modules/costs/db/migrate/20200327074416_rename_fixed_version_in_cost_query.rb b/modules/costs/db/migrate/20200327074416_rename_fixed_version_in_cost_query.rb index ec026c5e9203..7951ed074c0f 100644 --- a/modules/costs/db/migrate/20200327074416_rename_fixed_version_in_cost_query.rb +++ b/modules/costs/db/migrate/20200327074416_rename_fixed_version_in_cost_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/db/migrate/20200807083952_rename_time_and_cost_module.rb b/modules/costs/db/migrate/20200807083952_rename_time_and_cost_module.rb index aae70daa36ba..d5dbfea4dbec 100644 --- a/modules/costs/db/migrate/20200807083952_rename_time_and_cost_module.rb +++ b/modules/costs/db/migrate/20200807083952_rename_time_and_cost_module.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/db/migrate/20210726065912_rename_cost_object_type.rb b/modules/costs/db/migrate/20210726065912_rename_cost_object_type.rb index e52c27bab058..9942367ff0a8 100644 --- a/modules/costs/db/migrate/20210726065912_rename_cost_object_type.rb +++ b/modules/costs/db/migrate/20210726065912_rename_cost_object_type.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/frontend/module/main.ts b/modules/costs/frontend/module/main.ts index 629600268bad..d76b2384faef 100644 --- a/modules/costs/frontend/module/main.ts +++ b/modules/costs/frontend/module/main.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/frontend/module/wp-display/costs-by-type-display-field.module.ts b/modules/costs/frontend/module/wp-display/costs-by-type-display-field.module.ts index 3726f9d6fdcc..cfac37874d2e 100644 --- a/modules/costs/frontend/module/wp-display/costs-by-type-display-field.module.ts +++ b/modules/costs/frontend/module/wp-display/costs-by-type-display-field.module.ts @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/frontend/module/wp-display/currency-display-field.module.ts b/modules/costs/frontend/module/wp-display/currency-display-field.module.ts index e61ea6286dc7..b11b13a62e2b 100644 --- a/modules/costs/frontend/module/wp-display/currency-display-field.module.ts +++ b/modules/costs/frontend/module/wp-display/currency-display-field.module.ts @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/cost_entries/aggregated_cost_entry_representer.rb b/modules/costs/lib/api/v3/cost_entries/aggregated_cost_entry_representer.rb index f99dfd4f37c9..ccba7dcb4ad3 100644 --- a/modules/costs/lib/api/v3/cost_entries/aggregated_cost_entry_representer.rb +++ b/modules/costs/lib/api/v3/cost_entries/aggregated_cost_entry_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/cost_entries/cost_entries_api.rb b/modules/costs/lib/api/v3/cost_entries/cost_entries_api.rb index 7a8994f48e6a..60a1b7947032 100644 --- a/modules/costs/lib/api/v3/cost_entries/cost_entries_api.rb +++ b/modules/costs/lib/api/v3/cost_entries/cost_entries_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/cost_entries/cost_entries_by_work_package_api.rb b/modules/costs/lib/api/v3/cost_entries/cost_entries_by_work_package_api.rb index f8df8ac30c9b..bebfd695734a 100644 --- a/modules/costs/lib/api/v3/cost_entries/cost_entries_by_work_package_api.rb +++ b/modules/costs/lib/api/v3/cost_entries/cost_entries_by_work_package_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/cost_entries/cost_entry_collection_representer.rb b/modules/costs/lib/api/v3/cost_entries/cost_entry_collection_representer.rb index 28c42f666c99..d355ea9d6c9e 100644 --- a/modules/costs/lib/api/v3/cost_entries/cost_entry_collection_representer.rb +++ b/modules/costs/lib/api/v3/cost_entries/cost_entry_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/cost_entries/cost_entry_representer.rb b/modules/costs/lib/api/v3/cost_entries/cost_entry_representer.rb index 366a9ee0d4aa..0780180f09b1 100644 --- a/modules/costs/lib/api/v3/cost_entries/cost_entry_representer.rb +++ b/modules/costs/lib/api/v3/cost_entries/cost_entry_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/cost_entries/work_package_costs_by_type_representer.rb b/modules/costs/lib/api/v3/cost_entries/work_package_costs_by_type_representer.rb index 138662b3d25f..0acdbaba79e7 100644 --- a/modules/costs/lib/api/v3/cost_entries/work_package_costs_by_type_representer.rb +++ b/modules/costs/lib/api/v3/cost_entries/work_package_costs_by_type_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/cost_types/cost_type_representer.rb b/modules/costs/lib/api/v3/cost_types/cost_type_representer.rb index 43e3696985cc..7e55321621a2 100644 --- a/modules/costs/lib/api/v3/cost_types/cost_type_representer.rb +++ b/modules/costs/lib/api/v3/cost_types/cost_type_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/cost_types/cost_types_api.rb b/modules/costs/lib/api/v3/cost_types/cost_types_api.rb index 8c74642f8403..52f66ea1193a 100644 --- a/modules/costs/lib/api/v3/cost_types/cost_types_api.rb +++ b/modules/costs/lib/api/v3/cost_types/cost_types_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/available_projects_api.rb b/modules/costs/lib/api/v3/time_entries/available_projects_api.rb index 1e314023def8..7e49b37e8a50 100644 --- a/modules/costs/lib/api/v3/time_entries/available_projects_api.rb +++ b/modules/costs/lib/api/v3/time_entries/available_projects_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/available_work_packages_helper.rb b/modules/costs/lib/api/v3/time_entries/available_work_packages_helper.rb index 24e825469252..1999d5c5fd1e 100644 --- a/modules/costs/lib/api/v3/time_entries/available_work_packages_helper.rb +++ b/modules/costs/lib/api/v3/time_entries/available_work_packages_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/available_work_packages_on_create_api.rb b/modules/costs/lib/api/v3/time_entries/available_work_packages_on_create_api.rb index d9a658510daa..b6d388d82de3 100644 --- a/modules/costs/lib/api/v3/time_entries/available_work_packages_on_create_api.rb +++ b/modules/costs/lib/api/v3/time_entries/available_work_packages_on_create_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/available_work_packages_on_edit_api.rb b/modules/costs/lib/api/v3/time_entries/available_work_packages_on_edit_api.rb index 04c9d69a43d4..3eb5472dbb11 100644 --- a/modules/costs/lib/api/v3/time_entries/available_work_packages_on_edit_api.rb +++ b/modules/costs/lib/api/v3/time_entries/available_work_packages_on_edit_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/create_form_api.rb b/modules/costs/lib/api/v3/time_entries/create_form_api.rb index 3e94098be796..bba566a6efbd 100644 --- a/modules/costs/lib/api/v3/time_entries/create_form_api.rb +++ b/modules/costs/lib/api/v3/time_entries/create_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/create_form_representer.rb b/modules/costs/lib/api/v3/time_entries/create_form_representer.rb index 3426f4e3790e..f36b4f2e39c0 100644 --- a/modules/costs/lib/api/v3/time_entries/create_form_representer.rb +++ b/modules/costs/lib/api/v3/time_entries/create_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/form_representer.rb b/modules/costs/lib/api/v3/time_entries/form_representer.rb index c47b74639aa0..8dfbd2aca914 100644 --- a/modules/costs/lib/api/v3/time_entries/form_representer.rb +++ b/modules/costs/lib/api/v3/time_entries/form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/schemas/time_entry_schema_api.rb b/modules/costs/lib/api/v3/time_entries/schemas/time_entry_schema_api.rb index 9d581f8bfa58..42b152464613 100644 --- a/modules/costs/lib/api/v3/time_entries/schemas/time_entry_schema_api.rb +++ b/modules/costs/lib/api/v3/time_entries/schemas/time_entry_schema_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/schemas/time_entry_schema_representer.rb b/modules/costs/lib/api/v3/time_entries/schemas/time_entry_schema_representer.rb index 7fbc7c324e54..c81a30aefc92 100644 --- a/modules/costs/lib/api/v3/time_entries/schemas/time_entry_schema_representer.rb +++ b/modules/costs/lib/api/v3/time_entries/schemas/time_entry_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/time_entries_activity_api.rb b/modules/costs/lib/api/v3/time_entries/time_entries_activity_api.rb index 1d1edbb5fe51..bd50eab1b458 100644 --- a/modules/costs/lib/api/v3/time_entries/time_entries_activity_api.rb +++ b/modules/costs/lib/api/v3/time_entries/time_entries_activity_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/time_entries_activity_representer.rb b/modules/costs/lib/api/v3/time_entries/time_entries_activity_representer.rb index 86b58bee0e74..39ec03c97d2a 100644 --- a/modules/costs/lib/api/v3/time_entries/time_entries_activity_representer.rb +++ b/modules/costs/lib/api/v3/time_entries/time_entries_activity_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/time_entries_api.rb b/modules/costs/lib/api/v3/time_entries/time_entries_api.rb index a437253e5c90..78ac7ade8588 100644 --- a/modules/costs/lib/api/v3/time_entries/time_entries_api.rb +++ b/modules/costs/lib/api/v3/time_entries/time_entries_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/time_entry_collection_representer.rb b/modules/costs/lib/api/v3/time_entries/time_entry_collection_representer.rb index 2781420ff7e8..acdbe04d216a 100644 --- a/modules/costs/lib/api/v3/time_entries/time_entry_collection_representer.rb +++ b/modules/costs/lib/api/v3/time_entries/time_entry_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/time_entry_payload_representer.rb b/modules/costs/lib/api/v3/time_entries/time_entry_payload_representer.rb index 416eef290a48..f1932cd89b93 100644 --- a/modules/costs/lib/api/v3/time_entries/time_entry_payload_representer.rb +++ b/modules/costs/lib/api/v3/time_entries/time_entry_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/time_entry_representer.rb b/modules/costs/lib/api/v3/time_entries/time_entry_representer.rb index 2eb14ffa3e45..6dbf73a083fb 100644 --- a/modules/costs/lib/api/v3/time_entries/time_entry_representer.rb +++ b/modules/costs/lib/api/v3/time_entries/time_entry_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/update_form_api.rb b/modules/costs/lib/api/v3/time_entries/update_form_api.rb index e1dacd0928de..ee1fe87c379d 100644 --- a/modules/costs/lib/api/v3/time_entries/update_form_api.rb +++ b/modules/costs/lib/api/v3/time_entries/update_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/api/v3/time_entries/update_form_representer.rb b/modules/costs/lib/api/v3/time_entries/update_form_representer.rb index 54534fe011b8..7d1e26260fa2 100644 --- a/modules/costs/lib/api/v3/time_entries/update_form_representer.rb +++ b/modules/costs/lib/api/v3/time_entries/update_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs.rb b/modules/costs/lib/costs.rb index 89543b73f1e1..f9d947f3ee4c 100644 --- a/modules/costs/lib/costs.rb +++ b/modules/costs/lib/costs.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs/attributes_helper.rb b/modules/costs/lib/costs/attributes_helper.rb index edeba4106642..305aabef2779 100644 --- a/modules/costs/lib/costs/attributes_helper.rb +++ b/modules/costs/lib/costs/attributes_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs/deleted_user_fallback.rb b/modules/costs/lib/costs/deleted_user_fallback.rb index 680cdbd52cdf..c76ee1722691 100644 --- a/modules/costs/lib/costs/deleted_user_fallback.rb +++ b/modules/costs/lib/costs/deleted_user_fallback.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs/engine.rb b/modules/costs/lib/costs/engine.rb index 7ed864fe3da6..78d91df6582b 100644 --- a/modules/costs/lib/costs/engine.rb +++ b/modules/costs/lib/costs/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs/patches.rb b/modules/costs/lib/costs/patches.rb index 27562ccbe62c..aa5d9eeed1f1 100644 --- a/modules/costs/lib/costs/patches.rb +++ b/modules/costs/lib/costs/patches.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs/patches/members_patch.rb b/modules/costs/lib/costs/patches/members_patch.rb index 8dfdbc96ce2a..9bc1aca8a33e 100644 --- a/modules/costs/lib/costs/patches/members_patch.rb +++ b/modules/costs/lib/costs/patches/members_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -45,7 +45,7 @@ def members_table_options(_roles) module TableComponent def sort_collection(query, sort_clause, sort_columns) - q = super query, sort_clause.gsub("current_rate", 'COALESCE(rate, 0.0)'), sort_columns + q = super(query, sort_clause.gsub("current_rate", 'COALESCE(rate, 0.0)'), sort_columns) if sort_columns.include? :current_rate join_rate q diff --git a/modules/costs/lib/costs/patches/number_to_currency_converter_patch.rb b/modules/costs/lib/costs/patches/number_to_currency_converter_patch.rb index f4846a51f2b5..320d253298b9 100644 --- a/modules/costs/lib/costs/patches/number_to_currency_converter_patch.rb +++ b/modules/costs/lib/costs/patches/number_to_currency_converter_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs/patches/permitted_params_patch.rb b/modules/costs/lib/costs/patches/permitted_params_patch.rb index 74c587b51e0e..c316135526c8 100644 --- a/modules/costs/lib/costs/patches/permitted_params_patch.rb +++ b/modules/costs/lib/costs/patches/permitted_params_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs/patches/project_patch.rb b/modules/costs/lib/costs/patches/project_patch.rb index c29707389bb1..971d7472b5f6 100644 --- a/modules/costs/lib/costs/patches/project_patch.rb +++ b/modules/costs/lib/costs/patches/project_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs/patches/projects_controller_patch.rb b/modules/costs/lib/costs/patches/projects_controller_patch.rb index 44de9ac31158..9fa57b00bdbc 100644 --- a/modules/costs/lib/costs/patches/projects_controller_patch.rb +++ b/modules/costs/lib/costs/patches/projects_controller_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs/patches/setting_seeder_patch.rb b/modules/costs/lib/costs/patches/setting_seeder_patch.rb index becde2aeb3ea..bd0f29a5f59d 100644 --- a/modules/costs/lib/costs/patches/setting_seeder_patch.rb +++ b/modules/costs/lib/costs/patches/setting_seeder_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs/patches/user_patch.rb b/modules/costs/lib/costs/patches/user_patch.rb index 26fd73788220..490ff6e270f0 100644 --- a/modules/costs/lib/costs/patches/user_patch.rb +++ b/modules/costs/lib/costs/patches/user_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/lib/costs/query_currency_column.rb b/modules/costs/lib/costs/query_currency_column.rb index b88c37e4f520..18f8496002e0 100644 --- a/modules/costs/lib/costs/query_currency_column.rb +++ b/modules/costs/lib/costs/query_currency_column.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/contracts/time_entries/create_contract_spec.rb b/modules/costs/spec/contracts/time_entries/create_contract_spec.rb index e9998258c387..3e9bf25bb55b 100644 --- a/modules/costs/spec/contracts/time_entries/create_contract_spec.rb +++ b/modules/costs/spec/contracts/time_entries/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/contracts/time_entries/delete_contract_spec.rb b/modules/costs/spec/contracts/time_entries/delete_contract_spec.rb index 7855019ad233..a4d979ba1167 100644 --- a/modules/costs/spec/contracts/time_entries/delete_contract_spec.rb +++ b/modules/costs/spec/contracts/time_entries/delete_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/contracts/time_entries/shared_contract_examples.rb b/modules/costs/spec/contracts/time_entries/shared_contract_examples.rb index 879811f46774..b1ea2d681cc0 100644 --- a/modules/costs/spec/contracts/time_entries/shared_contract_examples.rb +++ b/modules/costs/spec/contracts/time_entries/shared_contract_examples.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/contracts/time_entries/update_contract_spec.rb b/modules/costs/spec/contracts/time_entries/update_contract_spec.rb index e8062ef735a5..bd25b934b069 100644 --- a/modules/costs/spec/contracts/time_entries/update_contract_spec.rb +++ b/modules/costs/spec/contracts/time_entries/update_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/controllers/cost_types_controller_spec.rb b/modules/costs/spec/controllers/cost_types_controller_spec.rb index 7a5fbe489fa7..70e613e0883d 100644 --- a/modules/costs/spec/controllers/cost_types_controller_spec.rb +++ b/modules/costs/spec/controllers/cost_types_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/controllers/costlog_controller_spec.rb b/modules/costs/spec/controllers/costlog_controller_spec.rb index cde4b1e3e2cb..c108e8a6d913 100644 --- a/modules/costs/spec/controllers/costlog_controller_spec.rb +++ b/modules/costs/spec/controllers/costlog_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/controllers/hourly_rates_controller_spec.rb b/modules/costs/spec/controllers/hourly_rates_controller_spec.rb index 6033c791c3ce..3f7df92323a8 100644 --- a/modules/costs/spec/controllers/hourly_rates_controller_spec.rb +++ b/modules/costs/spec/controllers/hourly_rates_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/controllers/work_packages_bulk_controller_spec.rb b/modules/costs/spec/controllers/work_packages_bulk_controller_spec.rb index 4800ee98571c..5491e29772d5 100644 --- a/modules/costs/spec/controllers/work_packages_bulk_controller_spec.rb +++ b/modules/costs/spec/controllers/work_packages_bulk_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/factories/cost_entry_factory.rb b/modules/costs/spec/factories/cost_entry_factory.rb index b4e148e9d061..6764a000c000 100644 --- a/modules/costs/spec/factories/cost_entry_factory.rb +++ b/modules/costs/spec/factories/cost_entry_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/factories/cost_rate_factory.rb b/modules/costs/spec/factories/cost_rate_factory.rb index 59eda69396db..9460919cd543 100644 --- a/modules/costs/spec/factories/cost_rate_factory.rb +++ b/modules/costs/spec/factories/cost_rate_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ FactoryBot.define do factory :cost_rate do - association :cost_type, factory: :cost_type + association :cost_type valid_from { Date.today } rate { 50.0 } end diff --git a/modules/costs/spec/factories/cost_type_factory.rb b/modules/costs/spec/factories/cost_type_factory.rb index d2c15ce7bf6c..7763c414d283 100644 --- a/modules/costs/spec/factories/cost_type_factory.rb +++ b/modules/costs/spec/factories/cost_type_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/factories/default_hourly_rate_factory.rb b/modules/costs/spec/factories/default_hourly_rate_factory.rb index a841c73dcdfd..d77bfd71bb64 100644 --- a/modules/costs/spec/factories/default_hourly_rate_factory.rb +++ b/modules/costs/spec/factories/default_hourly_rate_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ FactoryBot.define do factory :default_hourly_rate do - association :user, factory: :user + association :user valid_from { Date.today } rate { 50.0 } end diff --git a/modules/costs/spec/factories/hourly_rate_factory.rb b/modules/costs/spec/factories/hourly_rate_factory.rb index 925287ac84c1..96bdde3ad783 100644 --- a/modules/costs/spec/factories/hourly_rate_factory.rb +++ b/modules/costs/spec/factories/hourly_rate_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,8 @@ FactoryBot.define do factory :hourly_rate do - association :user, factory: :user - association :project, factory: :project + association :user + association :project valid_from { Date.today } rate { 50.0 } end diff --git a/modules/costs/spec/factories/journal/budget_journal_factory.rb b/modules/costs/spec/factories/journal/budget_journal_factory.rb index 6528b36559f1..ea79035fac04 100644 --- a/modules/costs/spec/factories/journal/budget_journal_factory.rb +++ b/modules/costs/spec/factories/journal/budget_journal_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/factories/journal/time_entry_journal_factory.rb b/modules/costs/spec/factories/journal/time_entry_journal_factory.rb index 6a0d480a9cd4..d2adfe07b886 100644 --- a/modules/costs/spec/factories/journal/time_entry_journal_factory.rb +++ b/modules/costs/spec/factories/journal/time_entry_journal_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/factories/rate_factory.rb b/modules/costs/spec/factories/rate_factory.rb index d947862f46e6..5c676e0f3dca 100644 --- a/modules/costs/spec/factories/rate_factory.rb +++ b/modules/costs/spec/factories/rate_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/factories/time_entry_activity_factory.rb b/modules/costs/spec/factories/time_entry_activity_factory.rb index 8f69398c0375..484302a9ca93 100644 --- a/modules/costs/spec/factories/time_entry_activity_factory.rb +++ b/modules/costs/spec/factories/time_entry_activity_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/factories/time_entry_factory.rb b/modules/costs/spec/factories/time_entry_factory.rb index a3096b765ecd..014fe090076d 100644 --- a/modules/costs/spec/factories/time_entry_factory.rb +++ b/modules/costs/spec/factories/time_entry_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/features/cost_entries/add_cost_entry_spec.rb b/modules/costs/spec/features/cost_entries/add_cost_entry_spec.rb index c1fc08f5abab..a11bcf363249 100644 --- a/modules/costs/spec/features/cost_entries/add_cost_entry_spec.rb +++ b/modules/costs/spec/features/cost_entries/add_cost_entry_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require_relative '../../spec_helper' -RSpec.describe 'Work Package cost fields', js: true do +RSpec.describe 'Work Package cost fields', :js do shared_let(:type_task) { create(:type_task) } shared_let(:status) { create(:status, is_default: true) } shared_let(:priority) { create(:priority, is_default: true) } @@ -79,17 +79,17 @@ # Set single value, should update suffix select 'A', from: 'cost_entry_cost_type_id' fill_in 'cost_entry_units', with: '1' - expect(page).to have_selector('#cost_entry_unit_name', text: 'A single') - expect(page).to have_selector('#cost_entry_costs', text: '1.00 EUR') + expect(page).to have_css('#cost_entry_unit_name', text: 'A single') + expect(page).to have_css('#cost_entry_costs', text: '1.00 EUR') fill_in 'cost_entry_units', with: '2' - expect(page).to have_selector('#cost_entry_unit_name', text: 'A plural') - expect(page).to have_selector('#cost_entry_costs', text: '2.00 EUR') + expect(page).to have_css('#cost_entry_unit_name', text: 'A plural') + expect(page).to have_css('#cost_entry_costs', text: '2.00 EUR') # Switch cost type select 'B', from: 'cost_entry_cost_type_id' - expect(page).to have_selector('#cost_entry_unit_name', text: 'B plural') - expect(page).to have_selector('#cost_entry_costs', text: '4.00 EUR') + expect(page).to have_css('#cost_entry_unit_name', text: 'B plural') + expect(page).to have_css('#cost_entry_costs', text: '4.00 EUR') # Override costs find_by_id('cost_entry_costs').click @@ -99,7 +99,7 @@ click_on 'Save' # Expect correct costs - expect(page).to have_selector('.op-toast.-success', text: I18n.t(:notice_cost_logged_successfully)) + expect(page).to have_css('.op-toast.-success', text: I18n.t(:notice_cost_logged_successfully)) entry = CostEntry.last expect(entry.cost_type_id).to eq(cost_type2.id) expect(entry.units).to eq(2.0) @@ -107,7 +107,7 @@ expect(entry.real_costs).to eq(15.52) visit edit_cost_entry_path(entry) - expect(page).to have_selector('#cost_entry_costs', text: '15.52 EUR') + expect(page).to have_css('#cost_entry_costs', text: '15.52 EUR') end context 'with german locale' do @@ -125,8 +125,8 @@ SeleniumHubWaiter.wait fill_in 'cost_entry_units', with: '1,42' select 'B', from: 'cost_entry_cost_type_id' - expect(page).to have_selector('#cost_entry_unit_name', text: 'B plural') - expect(page).to have_selector('#cost_entry_costs', text: '2,84 EUR') + expect(page).to have_css('#cost_entry_unit_name', text: 'B plural') + expect(page).to have_css('#cost_entry_costs', text: '2,84 EUR') # Override costs find_by_id('cost_entry_costs').click @@ -136,7 +136,7 @@ click_on I18n.t(:button_save) # Expect correct costs - expect(page).to have_selector('.op-toast.-success', text: I18n.t(:notice_cost_logged_successfully)) + expect(page).to have_css('.op-toast.-success', text: I18n.t(:notice_cost_logged_successfully)) entry = CostEntry.last expect(entry.cost_type_id).to eq(cost_type2.id) expect(entry.units).to eq(1.42) @@ -145,7 +145,7 @@ # Can edit the costs again visit edit_cost_entry_path(entry) - expect(page).to have_selector('#cost_entry_costs', text: '1.350,25 EUR') + expect(page).to have_css('#cost_entry_costs', text: '1.350,25 EUR') # Toggle the cost button SeleniumHubWaiter.wait @@ -156,7 +156,7 @@ fill_in 'cost_entry_overridden_costs', with: '55.000,55' click_on I18n.t(:button_save) - expect(page).to have_selector('#cost_entry_costs', text: '55.000,55 EUR') + expect(page).to have_css('#cost_entry_costs', text: '55.000,55 EUR') entry.reload expect(entry.units).to eq(1.42) expect(entry.costs).to eq(2.84) @@ -181,8 +181,8 @@ find('.menu-item', text: I18n.t(:button_log_costs)).click SeleniumHubWaiter.wait - expect(page).not_to have_selector('#cost_entry_user_id option', text: placeholder_user.name, visible: :all) - expect(page).to have_selector('#cost_entry_user_id option', text: user.name, visible: :all) + expect(page).to have_no_css('#cost_entry_user_id option', text: placeholder_user.name, visible: :all) + expect(page).to have_css('#cost_entry_user_id option', text: user.name, visible: :all) end end end diff --git a/modules/costs/spec/features/cost_entries/add_entry_without_rate_permission_spec.rb b/modules/costs/spec/features/cost_entries/add_entry_without_rate_permission_spec.rb index 8823755d2f7b..111a666a5ee4 100644 --- a/modules/costs/spec/features/cost_entries/add_entry_without_rate_permission_spec.rb +++ b/modules/costs/spec/features/cost_entries/add_entry_without_rate_permission_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require_relative '../../spec_helper' -RSpec.describe 'Create cost entry without rate permissions', js: true do +RSpec.describe 'Create cost entry without rate permissions', :js do shared_let(:type_task) { create(:type_task) } shared_let(:status) { create(:status, is_default: true) } shared_let(:priority) { create(:priority, is_default: true) } @@ -71,13 +71,13 @@ # Set single value, should update suffix select 'A', from: 'cost_entry_cost_type_id' fill_in 'cost_entry_units', with: '1' - expect(page).to have_selector('#cost_entry_unit_name', text: 'A single') - expect(page).not_to have_selector('#cost_entry_costs') + expect(page).to have_css('#cost_entry_unit_name', text: 'A single') + expect(page).to have_no_css('#cost_entry_costs') click_on 'Save' # Expect correct costs - expect(page).to have_selector('.op-toast.-success', text: I18n.t(:notice_cost_logged_successfully)) + expect(page).to have_css('.op-toast.-success', text: I18n.t(:notice_cost_logged_successfully)) entry = CostEntry.last expect(entry.cost_type_id).to eq(cost_type.id) expect(entry.units).to eq(1.0) diff --git a/modules/costs/spec/features/cost_types/create_cost_type_spec.rb b/modules/costs/spec/features/cost_types/create_cost_type_spec.rb index 3ff350857f54..6f4cd437db83 100644 --- a/modules/costs/spec/features/cost_types/create_cost_type_spec.rb +++ b/modules/costs/spec/features/cost_types/create_cost_type_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'creating a cost type', js: true do +RSpec.describe 'creating a cost type', :js do let!(:user) { create(:admin) } let!(:cost_type) do type = create(:cost_type, name: 'Translations') @@ -53,14 +53,14 @@ scroll_to_and_click(find('button.-with-icon.icon-checkmark')) expect_angular_frontend_initialized - expect(page).to have_selector '.generic-table', wait: 10 + expect(page).to have_css '.generic-table', wait: 10 cost_type_row = find('tr', text: 'Test day rate') - expect(cost_type_row).to have_selector('td a', text: 'Test day rate') - expect(cost_type_row).to have_selector('td', text: 'dayUnit') - expect(cost_type_row).to have_selector('td', text: 'dayUnitPlural') - expect(cost_type_row).to have_selector('td.currency', text: '1,000.25') + expect(cost_type_row).to have_css('td a', text: 'Test day rate') + expect(cost_type_row).to have_css('td', text: 'dayUnit') + expect(cost_type_row).to have_css('td', text: 'dayUnitPlural') + expect(cost_type_row).to have_css('td.currency', text: '1,000.25') cost_type = CostType.last expect(cost_type.name).to eq 'Test day rate' @@ -84,14 +84,14 @@ scroll_to_and_click(find('button.-with-icon.icon-checkmark')) expect_angular_frontend_initialized - expect(page).to have_selector '.generic-table', wait: 10 + expect(page).to have_css '.generic-table', wait: 10 cost_type_row = find('tr', text: 'Test day rate') - expect(cost_type_row).to have_selector('td a', text: 'Test day rate') - expect(cost_type_row).to have_selector('td', text: 'dayUnit') - expect(cost_type_row).to have_selector('td', text: 'dayUnitPlural') - expect(cost_type_row).to have_selector('td.currency', text: '1.000,25') + expect(cost_type_row).to have_css('td a', text: 'Test day rate') + expect(cost_type_row).to have_css('td', text: 'dayUnit') + expect(cost_type_row).to have_css('td', text: 'dayUnitPlural') + expect(cost_type_row).to have_css('td.currency', text: '1.000,25') cost_type = CostType.last expect(cost_type.name).to eq 'Test day rate' diff --git a/modules/costs/spec/features/cost_types/delete_cost_type_spec.rb b/modules/costs/spec/features/cost_types/delete_cost_type_spec.rb index e50afb68e263..48f61847e2ab 100644 --- a/modules/costs/spec/features/cost_types/delete_cost_type_spec.rb +++ b/modules/costs/spec/features/cost_types/delete_cost_type_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'deleting a cost type', js: true do +RSpec.describe 'deleting a cost type', :js do let!(:user) { create(:admin) } let!(:cost_type) do type = create(:cost_type, name: 'Translations') @@ -49,7 +49,7 @@ # Expect no results if not locked expect_angular_frontend_initialized - expect(page).to have_selector '.generic-table--no-results-container', wait: 10 + expect(page).to have_css '.generic-table--no-results-container', wait: 10 SeleniumHubWaiter.wait # Show locked @@ -59,7 +59,7 @@ # Expect no results if not locked expect(page).to have_text I18n.t(:label_locked_cost_types) - expect(page).to have_selector('.restore_cost_type') - expect(page).to have_selector('.cost-types--list-deleted td', text: 'Translations') + expect(page).to have_css('.restore_cost_type') + expect(page).to have_css('.cost-types--list-deleted td', text: 'Translations') end end diff --git a/modules/costs/spec/features/costs_context_menu_spec.rb b/modules/costs/spec/features/costs_context_menu_spec.rb index 1cb8cf88e167..48ed7859e986 100644 --- a/modules/costs/spec/features/costs_context_menu_spec.rb +++ b/modules/costs/spec/features/costs_context_menu_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -RSpec.describe 'Work package table log unit costs', js: true do +RSpec.describe 'Work package table log unit costs', :js do let(:user) { create(:admin) } let(:work_package) { create(:work_package) } @@ -26,6 +26,6 @@ def goto_context_menu it 'renders the log unit costs menu item' do menu.choose(I18n.t(:label_log_costs)) - expect(page).to have_selector('h2', text: I18n.t(:label_log_costs)) + expect(page).to have_css('h2', text: I18n.t(:label_log_costs)) end end diff --git a/modules/costs/spec/features/destroy_work_package_with_cost_entries_spec.rb b/modules/costs/spec/features/destroy_work_package_with_cost_entries_spec.rb index 82f1c88bb629..66874c5d1cb0 100644 --- a/modules/costs/spec/features/destroy_work_package_with_cost_entries_spec.rb +++ b/modules/costs/spec/features/destroy_work_package_with_cost_entries_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') -RSpec.describe 'Deleting time entries', js: true do +RSpec.describe 'Deleting time entries', :js do let(:project) { work_package.project } let(:user) do create(:user, diff --git a/modules/costs/spec/features/members_hourly_rates_spec.rb b/modules/costs/spec/features/members_hourly_rates_spec.rb index 4e8284a4403d..9b37479230ea 100644 --- a/modules/costs/spec/features/members_hourly_rates_spec.rb +++ b/modules/costs/spec/features/members_hourly_rates_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -46,7 +46,7 @@ def view_project_members def expect_current_rate_in_members_table(amount) view_project_members - expect(page).to have_selector("#member-#{member.id} .currency", text: amount) + expect(page).to have_css("#member-#{member.id} .currency", text: amount) end def add_rate(rate:, date:) diff --git a/modules/costs/spec/features/time_entries_spec.rb b/modules/costs/spec/features/time_entries_spec.rb index 2f9867aff7d6..661e3184ebc8 100644 --- a/modules/costs/spec/features/time_entries_spec.rb +++ b/modules/costs/spec/features/time_entries_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require_relative '../spec_helper' -RSpec.describe 'Work Package table cost entries', js: true do +RSpec.describe 'Work Package table cost entries', :js do shared_let(:project) { create(:project_with_types) } shared_let(:user) { create(:admin) } @@ -73,8 +73,8 @@ parent_row = wp_table.row(parent) wp_row = wp_table.row(work_package) - expect(parent_row).to have_selector('.inline-edit--container.spentTime', text: '12.5 h') - expect(wp_row).to have_selector('.inline-edit--container.spentTime', text: '2.5 h') + expect(parent_row).to have_css('.inline-edit--container.spentTime', text: '12.5 h') + expect(wp_row).to have_css('.inline-edit--container.spentTime', text: '2.5 h') end it 'creates an activity' do @@ -86,7 +86,7 @@ wp1 = time_entry1.work_package wp2 = time_entry2.work_package - expect(page).to have_selector('.op-activity-list--item-title', text: "#{wp1.type.name} ##{wp1.id}: #{wp1.subject}") - expect(page).to have_selector('.op-activity-list--item-title', text: "#{wp2.type.name} ##{wp2.id}: #{wp2.subject}") + expect(page).to have_css('.op-activity-list--item-title', text: "#{wp1.type.name} ##{wp1.id}: #{wp1.subject}") + expect(page).to have_css('.op-activity-list--item-title', text: "#{wp2.type.name} ##{wp2.id}: #{wp2.subject}") end end diff --git a/modules/costs/spec/features/time_entry/activity_spec.rb b/modules/costs/spec/features/time_entry/activity_spec.rb index e529b32c9a14..cf05f0aae663 100644 --- a/modules/costs/spec/features/time_entry/activity_spec.rb +++ b/modules/costs/spec/features/time_entry/activity_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/features/timer_spec.rb b/modules/costs/spec/features/timer_spec.rb index 42e64f407433..cdbdb22cc11d 100644 --- a/modules/costs/spec/features/timer_spec.rb +++ b/modules/costs/spec/features/timer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require_relative '../spec_helper' -RSpec.describe 'Work Package timer', js: true do +RSpec.describe 'Work Package timer', :js do shared_let(:project) { create(:project_with_types) } shared_let(:work_package_a) { create(:work_package, subject: 'WP A', project:) } @@ -59,8 +59,8 @@ expect(timer_entry.hours).to be_nil page.find('.op-top-menu-user').click - expect(page).to have_selector('.op-timer-account-menu', wait: 10) - expect(page).to have_selector('.op-timer-account-menu--wp-details', text: "##{work_package_a.id}: WP A") + expect(page).to have_css('.op-timer-account-menu', wait: 10) + expect(page).to have_css('.op-timer-account-menu--wp-details', text: "##{work_package_a.id}: WP A") page.find_test_selector('op-timer-account-menu-stop').click time_logging_modal.is_visible true @@ -92,7 +92,7 @@ timer_button.start - expect(page).to have_selector('.op-timer-stop-modal') + expect(page).to have_css('.op-timer-stop-modal') expect(page).to have_text('Tracking time:') active_time_entries = TimeEntry.where(ongoing: true, user:) @@ -163,7 +163,7 @@ timer_button.expect_inactive timer_button.start - expect(page).to have_selector('.op-timer-stop-modal') + expect(page).to have_css('.op-timer-stop-modal') expect(page).to have_text('Tracking time:') page.within('.spot-modal') { click_button 'Stop current timer' } @@ -207,7 +207,7 @@ wp_view_a.visit! # Wait for another button to be present - expect(page).to have_selector('#watch-button', wait: 10) + expect(page).to have_css('#watch-button', wait: 10) timer_button.expect_visible visible: false end end diff --git a/modules/costs/spec/features/users_hourly_rates_spec.rb b/modules/costs/spec/features/users_hourly_rates_spec.rb index b7aef7349588..7d0ab9012675 100644 --- a/modules/costs/spec/features/users_hourly_rates_spec.rb +++ b/modules/costs/spec/features/users_hourly_rates_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require_relative '../spec_helper' -RSpec.describe 'hourly rates on user edit', js: true do +RSpec.describe 'hourly rates on user edit', :js do let(:user) { create(:admin) } def view_rates @@ -73,7 +73,7 @@ def view_rates expect(page).to have_text /rate history/i expect(page).to have_text I18n.t('no_results_title_text') - expect(page).not_to have_text 'Current rate' + expect(page).to have_no_text 'Current rate' end end end @@ -98,8 +98,8 @@ def view_rates view_rates - expect(page).to have_selector('.currency', text: '1,00') - expect(page).to have_selector('.currency', text: '5,12') + expect(page).to have_css('.currency', text: '1,00') + expect(page).to have_css('.currency', text: '5,12') end end end diff --git a/modules/costs/spec/features/view_own_rates_spec.rb b/modules/costs/spec/features/view_own_rates_spec.rb index edaf373e624b..89cc003c5ed6 100644 --- a/modules/costs/spec/features/view_own_rates_spec.rb +++ b/modules/costs/spec/features/view_own_rates_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/helpers/costs/number_helper_spec.rb b/modules/costs/spec/helpers/costs/number_helper_spec.rb index 855313eb9f46..b730277cc94b 100644 --- a/modules/costs/spec/helpers/costs/number_helper_spec.rb +++ b/modules/costs/spec/helpers/costs/number_helper_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/cost_entries/aggregated_cost_entry_representer_spec.rb b/modules/costs/spec/lib/api/v3/cost_entries/aggregated_cost_entry_representer_spec.rb index 983c25cdaf2d..e8c9084cf3bf 100644 --- a/modules/costs/spec/lib/api/v3/cost_entries/aggregated_cost_entry_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/cost_entries/aggregated_cost_entry_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/cost_entries/cost_entry_representer_spec.rb b/modules/costs/spec/lib/api/v3/cost_entries/cost_entry_representer_spec.rb index 503f6ac78090..0ca7ee6cd398 100644 --- a/modules/costs/spec/lib/api/v3/cost_entries/cost_entry_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/cost_entries/cost_entry_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/cost_entries/work_package_costs_by_type_representer_spec.rb b/modules/costs/spec/lib/api/v3/cost_entries/work_package_costs_by_type_representer_spec.rb index 086921ef374a..a12c4df90c56 100644 --- a/modules/costs/spec/lib/api/v3/cost_entries/work_package_costs_by_type_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/cost_entries/work_package_costs_by_type_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/cost_types/cost_type_representer_spec.rb b/modules/costs/spec/lib/api/v3/cost_types/cost_type_representer_spec.rb index c47774244828..4ff5b4b3aa06 100644 --- a/modules/costs/spec/lib/api/v3/cost_types/cost_type_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/cost_types/cost_type_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/costs_api_user_permission_check_spec.rb b/modules/costs/spec/lib/api/v3/costs_api_user_permission_check_spec.rb index 4b1c630bd48b..fd9ae5bf6b41 100644 --- a/modules/costs/spec/lib/api/v3/costs_api_user_permission_check_spec.rb +++ b/modules/costs/spec/lib/api/v3/costs_api_user_permission_check_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/path_helper_spec.rb b/modules/costs/spec/lib/api/v3/path_helper_spec.rb index 6ee4b492fcbd..9b82261da053 100644 --- a/modules/costs/spec/lib/api/v3/path_helper_spec.rb +++ b/modules/costs/spec/lib/api/v3/path_helper_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/time_entries/schemas/time_entry_schema_representer_spec.rb b/modules/costs/spec/lib/api/v3/time_entries/schemas/time_entry_schema_representer_spec.rb index d44476cb058d..2d07ba07d455 100644 --- a/modules/costs/spec/lib/api/v3/time_entries/schemas/time_entry_schema_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/time_entries/schemas/time_entry_schema_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/time_entries/time_entries_activity_representer_rendering_spec.rb b/modules/costs/spec/lib/api/v3/time_entries/time_entries_activity_representer_rendering_spec.rb index 36948c6e7758..35a6dc56128b 100644 --- a/modules/costs/spec/lib/api/v3/time_entries/time_entries_activity_representer_rendering_spec.rb +++ b/modules/costs/spec/lib/api/v3/time_entries/time_entries_activity_representer_rendering_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_parsing_spec.rb b/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_parsing_spec.rb index 211a71f235e7..a3c236f5b7bc 100644 --- a/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_parsing_spec.rb +++ b/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_parsing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_rendering_spec.rb b/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_rendering_spec.rb index cd9889401e63..156c53449aa3 100644 --- a/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_rendering_spec.rb +++ b/modules/costs/spec/lib/api/v3/time_entries/time_entry_representer_rendering_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/work_packages/work_package_representer_spec.rb b/modules/costs/spec/lib/api/v3/work_packages/work_package_representer_spec.rb index 0dc688c4dc89..2ac6a0fee9d6 100644 --- a/modules/costs/spec/lib/api/v3/work_packages/work_package_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/work_packages/work_package_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/api/v3/work_packages/work_package_schema_representer_spec.rb b/modules/costs/spec/lib/api/v3/work_packages/work_package_schema_representer_spec.rb index c9fb084b6526..a13c2887d09b 100644 --- a/modules/costs/spec/lib/api/v3/work_packages/work_package_schema_representer_spec.rb +++ b/modules/costs/spec/lib/api/v3/work_packages/work_package_schema_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/lib/costs/query_currency_column_spec.rb b/modules/costs/spec/lib/costs/query_currency_column_spec.rb index aa00beb95894..8d0a736749c1 100644 --- a/modules/costs/spec/lib/costs/query_currency_column_spec.rb +++ b/modules/costs/spec/lib/costs/query_currency_column_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/cost_entry_spec.rb b/modules/costs/spec/models/cost_entry_spec.rb index e1d6256aae57..9bcccb733a3a 100644 --- a/modules/costs/spec/models/cost_entry_spec.rb +++ b/modules/costs/spec/models/cost_entry_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -108,7 +108,7 @@ cost_entry.save! end - it { expect(CostEntry.visible(user2, project)).to match_array([cost_entry]) } + it { expect(CostEntry.visible(user2, project)).to contain_exactly(cost_entry) } end describe "WHEN not having the view_cost_entries permission @@ -120,7 +120,7 @@ cost_entry.save! end - it { expect(CostEntry.visible(user2, project)).to match_array([]) } + it { expect(CostEntry.visible(user2, project)).to be_empty } end describe "WHEN having the view_own_cost_entries permission @@ -132,7 +132,7 @@ cost_entry.save! end - it { expect(CostEntry.visible(user2, project)).to match_array([]) } + it { expect(CostEntry.visible(user2, project)).to be_empty } end describe "WHEN having the view_own_cost_entries permission @@ -144,7 +144,7 @@ cost_entry2.save! end - it { expect(CostEntry.visible(cost_entry2.user, project)).to match_array([cost_entry2]) } + it { expect(CostEntry.visible(cost_entry2.user, project)).to contain_exactly(cost_entry2) } end end end diff --git a/modules/costs/spec/models/cost_type_spec.rb b/modules/costs/spec/models/cost_type_spec.rb index 91a3739fc769..3a75cace79a7 100644 --- a/modules/costs/spec/models/cost_type_spec.rb +++ b/modules/costs/spec/models/cost_type_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/default_hourly_rate_spec.rb b/modules/costs/spec/models/default_hourly_rate_spec.rb index d1ff40d6f69b..f562c0150b80 100644 --- a/modules/costs/spec/models/default_hourly_rate_spec.rb +++ b/modules/costs/spec/models/default_hourly_rate_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/hourly_rate_spec.rb b/modules/costs/spec/models/hourly_rate_spec.rb index 99810a85f889..f877145e702b 100644 --- a/modules/costs/spec/models/hourly_rate_spec.rb +++ b/modules/costs/spec/models/hourly_rate_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/permitted_params_spec.rb b/modules/costs/spec/models/permitted_params_spec.rb index 786510423969..ab68171bcb49 100644 --- a/modules/costs/spec/models/permitted_params_spec.rb +++ b/modules/costs/spec/models/permitted_params_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/project/activity_spec.rb b/modules/costs/spec/models/project/activity_spec.rb index 005e304f2ef0..85b2fefc0d4c 100644 --- a/modules/costs/spec/models/project/activity_spec.rb +++ b/modules/costs/spec/models/project/activity_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/projects/scopes/activated_time_activity_spec.rb b/modules/costs/spec/models/projects/scopes/activated_time_activity_spec.rb index e323c8d48257..15c170ec234e 100644 --- a/modules/costs/spec/models/projects/scopes/activated_time_activity_spec.rb +++ b/modules/costs/spec/models/projects/scopes/activated_time_activity_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -40,7 +40,7 @@ context 'and being active' do it 'returns all projects' do expect(subject) - .to match_array [project, other_project] + .to contain_exactly(project, other_project) end end @@ -65,7 +65,7 @@ context 'and being active' do it 'returns the project the activity is activated in' do expect(subject) - .to match_array [project] + .to contain_exactly(project) end end @@ -76,7 +76,7 @@ it 'returns only the projects the activity is activated in' do expect(subject) - .to match_array [project] + .to contain_exactly(project) end end end diff --git a/modules/costs/spec/models/projects/scopes/visible_with_activated_time_activity_spec.rb b/modules/costs/spec/models/projects/scopes/visible_with_activated_time_activity_spec.rb index 835e8b6603ca..e8e900addbed 100644 --- a/modules/costs/spec/models/projects/scopes/visible_with_activated_time_activity_spec.rb +++ b/modules/costs/spec/models/projects/scopes/visible_with_activated_time_activity_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/queries/time_entries/filters/activity_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/activity_filter_spec.rb index ac22ca27d47d..ac46eced1358 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/activity_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/activity_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/queries/time_entries/filters/created_at_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/created_at_filter_spec.rb index 7cf75d07c2df..ba476e6dc20f 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/created_at_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/created_at_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/queries/time_entries/filters/ongoing_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/ongoing_filter_spec.rb index 28d880535468..4c53179f433f 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/ongoing_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/ongoing_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/queries/time_entries/filters/project_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/project_filter_spec.rb index 5afe05938275..e788e562df3f 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/project_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/project_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/queries/time_entries/filters/spent_on_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/spent_on_filter_spec.rb index 802a08f321c1..2893d2ff1bd7 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/spent_on_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/spent_on_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/queries/time_entries/filters/updated_at_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/updated_at_filter_spec.rb index c0b3d293a905..e473154b70fa 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/updated_at_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/updated_at_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/queries/time_entries/filters/user_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/user_filter_spec.rb index 4d83f37dea45..aeea4cedeb29 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/user_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/user_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/queries/time_entries/filters/work_package_filter_spec.rb b/modules/costs/spec/models/queries/time_entries/filters/work_package_filter_spec.rb index 189dda9393ea..1fe0c4162d4d 100644 --- a/modules/costs/spec/models/queries/time_entries/filters/work_package_filter_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/filters/work_package_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/queries/time_entries/time_entry_query_integration_spec.rb b/modules/costs/spec/models/queries/time_entries/time_entry_query_integration_spec.rb index b6d9e522e213..37c0e98b6070 100644 --- a/modules/costs/spec/models/queries/time_entries/time_entry_query_integration_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/time_entry_query_integration_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/queries/time_entries/time_entry_query_spec.rb b/modules/costs/spec/models/queries/time_entries/time_entry_query_spec.rb index a655766e623e..5ab24076ad51 100644 --- a/modules/costs/spec/models/queries/time_entries/time_entry_query_spec.rb +++ b/modules/costs/spec/models/queries/time_entries/time_entry_query_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/rate_spec.rb b/modules/costs/spec/models/rate_spec.rb index 289092e61f54..42941ea18e9f 100644 --- a/modules/costs/spec/models/rate_spec.rb +++ b/modules/costs/spec/models/rate_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/time_entries/scopes/of_user_and_day_spec.rb b/modules/costs/spec/models/time_entries/scopes/of_user_and_day_spec.rb index 807105502294..3629d96f1db5 100644 --- a/modules/costs/spec/models/time_entries/scopes/of_user_and_day_spec.rb +++ b/modules/costs/spec/models/time_entries/scopes/of_user_and_day_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -57,7 +57,7 @@ it 'are all the time entries of the user on the date' do expect(subject) - .to match_array([time_entry, other_time_entry]) + .to contain_exactly(time_entry, other_time_entry) end context 'if excluding a time entry' do @@ -65,7 +65,7 @@ it 'does not include the time entry' do expect(subject) - .to match_array([time_entry]) + .to contain_exactly(time_entry) end end end diff --git a/modules/costs/spec/models/time_entries/scopes/visible_spec.rb b/modules/costs/spec/models/time_entries/scopes/visible_spec.rb index b1305c96ee23..cb142c4ea694 100644 --- a/modules/costs/spec/models/time_entries/scopes/visible_spec.rb +++ b/modules/costs/spec/models/time_entries/scopes/visible_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/time_entry_activities/scopes/active_in_project_spec.rb b/modules/costs/spec/models/time_entry_activities/scopes/active_in_project_spec.rb index aff1c2f0bb9c..0bdd14257c83 100644 --- a/modules/costs/spec/models/time_entry_activities/scopes/active_in_project_spec.rb +++ b/modules/costs/spec/models/time_entry_activities/scopes/active_in_project_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -41,7 +41,7 @@ context 'with the activity being active' do it 'includes the activity' do expect(subject) - .to match_array [activity, other_activity] + .to contain_exactly(activity, other_activity) end end @@ -52,7 +52,7 @@ it 'excludes the activity' do expect(subject) - .to match_array([other_activity]) + .to contain_exactly(other_activity) end end end @@ -64,7 +64,7 @@ it 'includes the activity' do expect(subject) - .to match_array [activity, other_activity] + .to contain_exactly(activity, other_activity) end context 'with the activity being inactive' do @@ -74,7 +74,7 @@ it 'includes the activity' do expect(subject) - .to match_array [activity, other_activity] + .to contain_exactly(activity, other_activity) end end end @@ -86,7 +86,7 @@ it 'includes the activity' do expect(subject) - .to match_array [activity, other_activity] + .to contain_exactly(activity, other_activity) end end @@ -97,7 +97,7 @@ it 'excludes the activity' do expect(subject) - .to match_array [other_activity] + .to contain_exactly(other_activity) end context 'with a project configuration configured to true but for a different project' do @@ -107,7 +107,7 @@ it 'excludes the activity' do expect(subject) - .to match_array [other_activity] + .to contain_exactly(other_activity) end end end diff --git a/modules/costs/spec/models/time_entry_activity_spec.rb b/modules/costs/spec/models/time_entry_activity_spec.rb index f2210fb2c277..3ab3cb3c1534 100644 --- a/modules/costs/spec/models/time_entry_activity_spec.rb +++ b/modules/costs/spec/models/time_entry_activity_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/time_entry_spec.rb b/modules/costs/spec/models/time_entry_spec.rb index d168cd210b5e..71233c2f72e7 100644 --- a/modules/costs/spec/models/time_entry_spec.rb +++ b/modules/costs/spec/models/time_entry_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/user_spec.rb b/modules/costs/spec/models/user_spec.rb index ff8dd2cb391f..841f5df2d148 100644 --- a/modules/costs/spec/models/user_spec.rb +++ b/modules/costs/spec/models/user_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/work_package/ask_before_destruction_spec.rb b/modules/costs/spec/models/work_package/ask_before_destruction_spec.rb index 873c0ce3474d..2d933e057959 100644 --- a/modules/costs/spec/models/work_package/ask_before_destruction_spec.rb +++ b/modules/costs/spec/models/work_package/ask_before_destruction_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/models/work_package_spec.rb b/modules/costs/spec/models/work_package_spec.rb index e9ac8fef3b19..dc4cf0f0e4aa 100644 --- a/modules/costs/spec/models/work_package_spec.rb +++ b/modules/costs/spec/models/work_package_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/plugin_spec_helper.rb b/modules/costs/spec/plugin_spec_helper.rb index e0f67053f761..92d49c48abc8 100644 --- a/modules/costs/spec/plugin_spec_helper.rb +++ b/modules/costs/spec/plugin_spec_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/requests/api/attachments/attachments_by_budget_resource_spec.rb b/modules/costs/spec/requests/api/attachments/attachments_by_budget_resource_spec.rb index fa0f39d00c51..96aa91cfd585 100644 --- a/modules/costs/spec/requests/api/attachments/attachments_by_budget_resource_spec.rb +++ b/modules/costs/spec/requests/api/attachments/attachments_by_budget_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/requests/api/cost_entries/cost_entries_by_work_package_resource_spec.rb b/modules/costs/spec/requests/api/cost_entries/cost_entries_by_work_package_resource_spec.rb index 2cbf5c39d799..f3b28c961fc4 100644 --- a/modules/costs/spec/requests/api/cost_entries/cost_entries_by_work_package_resource_spec.rb +++ b/modules/costs/spec/requests/api/cost_entries/cost_entries_by_work_package_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/requests/api/cost_entries/cost_entry_resource_spec.rb b/modules/costs/spec/requests/api/cost_entries/cost_entry_resource_spec.rb index f5acc97b74f4..0a0c970cf9bf 100644 --- a/modules/costs/spec/requests/api/cost_entries/cost_entry_resource_spec.rb +++ b/modules/costs/spec/requests/api/cost_entries/cost_entry_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/requests/api/cost_types/cost_type_resource_spec.rb b/modules/costs/spec/requests/api/cost_types/cost_type_resource_spec.rb index fcfe69c5a507..b57fd00b17fc 100644 --- a/modules/costs/spec/requests/api/cost_types/cost_type_resource_spec.rb +++ b/modules/costs/spec/requests/api/cost_types/cost_type_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/requests/api/time_entries/available_projects_resource_spec.rb b/modules/costs/spec/requests/api/time_entries/available_projects_resource_spec.rb index abde372baca1..6a5e452e1afc 100644 --- a/modules/costs/spec/requests/api/time_entries/available_projects_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entries/available_projects_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/requests/api/time_entries/create_form_resource_spec.rb b/modules/costs/spec/requests/api/time_entries/create_form_resource_spec.rb index be8761edebab..039f11e48472 100644 --- a/modules/costs/spec/requests/api/time_entries/create_form_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entries/create_form_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/requests/api/time_entries/schemas/time_entry_schema_resource_spec.rb b/modules/costs/spec/requests/api/time_entries/schemas/time_entry_schema_resource_spec.rb index 5720d31e8fb5..868538ebeb03 100644 --- a/modules/costs/spec/requests/api/time_entries/schemas/time_entry_schema_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entries/schemas/time_entry_schema_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/requests/api/time_entries/update_form_resource_spec.rb b/modules/costs/spec/requests/api/time_entries/update_form_resource_spec.rb index 280aca2af5a5..d226973ba544 100644 --- a/modules/costs/spec/requests/api/time_entries/update_form_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entries/update_form_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/requests/api/time_entry_activity_resource_spec.rb b/modules/costs/spec/requests/api/time_entry_activity_resource_spec.rb index 570831f42069..95760f2ef7d9 100644 --- a/modules/costs/spec/requests/api/time_entry_activity_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entry_activity_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/requests/api/time_entry_resource_spec.rb b/modules/costs/spec/requests/api/time_entry_resource_spec.rb index 7758de1f95ed..979045ec4725 100644 --- a/modules/costs/spec/requests/api/time_entry_resource_spec.rb +++ b/modules/costs/spec/requests/api/time_entry_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/routing/cost_objects_routing_spec.rb b/modules/costs/spec/routing/cost_objects_routing_spec.rb index 8230f9965601..57a28c568335 100644 --- a/modules/costs/spec/routing/cost_objects_routing_spec.rb +++ b/modules/costs/spec/routing/cost_objects_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/routing/cost_types_routing_spec.rb b/modules/costs/spec/routing/cost_types_routing_spec.rb index b6c22a5fbed9..816f12344f36 100644 --- a/modules/costs/spec/routing/cost_types_routing_spec.rb +++ b/modules/costs/spec/routing/cost_types_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/routing/costlog_routing_spec.rb b/modules/costs/spec/routing/costlog_routing_spec.rb index d8c7263bd909..1c0dfbe7345a 100644 --- a/modules/costs/spec/routing/costlog_routing_spec.rb +++ b/modules/costs/spec/routing/costlog_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/routing/hourly_rates_routing_spec.rb b/modules/costs/spec/routing/hourly_rates_routing_spec.rb index 2f11f7a0b949..a9d89cf8d879 100644 --- a/modules/costs/spec/routing/hourly_rates_routing_spec.rb +++ b/modules/costs/spec/routing/hourly_rates_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/services/time_entries/set_attributes_service_integration_spec.rb b/modules/costs/spec/services/time_entries/set_attributes_service_integration_spec.rb index e1a825fbc344..bdb3155be31f 100644 --- a/modules/costs/spec/services/time_entries/set_attributes_service_integration_spec.rb +++ b/modules/costs/spec/services/time_entries/set_attributes_service_integration_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/costs/spec/services/time_entries/set_attributes_service_spec.rb b/modules/costs/spec/services/time_entries/set_attributes_service_spec.rb index 980c6b58e734..34b82bfd6c4d 100644 --- a/modules/costs/spec/services/time_entries/set_attributes_service_spec.rb +++ b/modules/costs/spec/services/time_entries/set_attributes_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -200,7 +200,7 @@ context 'with an invalid contract' do let(:contract_valid) { false } let(:expect_time_instance_save) do - expect(time_entry_instance).not_to receive(:save) # rubocop:disable RSpec/MessageSpies + expect(time_entry_instance).not_to receive(:save) # rubocop:disable RSpec/MessageSpies end it 'returns failure' do diff --git a/modules/costs/spec/spec_helper.rb b/modules/costs/spec/spec_helper.rb index c2fabedbd478..073c6827c8e1 100644 --- a/modules/costs/spec/spec_helper.rb +++ b/modules/costs/spec/spec_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/dashboards/app/models/grids/dashboard.rb b/modules/dashboards/app/models/grids/dashboard.rb index fc2d95140820..9205d0edb28f 100644 --- a/modules/dashboards/app/models/grids/dashboard.rb +++ b/modules/dashboards/app/models/grids/dashboard.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/dashboards/spec/contracts/grids/create_contract_spec.rb b/modules/dashboards/spec/contracts/grids/create_contract_spec.rb index f0474731aa74..0da26fb03238 100644 --- a/modules/dashboards/spec/contracts/grids/create_contract_spec.rb +++ b/modules/dashboards/spec/contracts/grids/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './shared_examples' +require_relative 'shared_examples' RSpec.describe Grids::CreateContract do include_context 'grid contract' diff --git a/modules/dashboards/spec/contracts/grids/shared_examples.rb b/modules/dashboards/spec/contracts/grids/shared_examples.rb index 37eb6e9bd5f6..ad853a8e648a 100644 --- a/modules/dashboards/spec/contracts/grids/shared_examples.rb +++ b/modules/dashboards/spec/contracts/grids/shared_examples.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/dashboards/spec/features/custom_text_spec.rb b/modules/dashboards/spec/features/custom_text_spec.rb index bf239ede4ba4..764a90d5df3f 100644 --- a/modules/dashboards/spec/features/custom_text_spec.rb +++ b/modules/dashboards/spec/features/custom_text_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Project description widget on dashboard', js: true do +RSpec.describe 'Project description widget on dashboard', :js do let!(:type) { create(:type_task, name: 'Task') } let!(:project) do create(:project, types: [type]) @@ -79,7 +79,7 @@ editor.insert_macro 'Insert create work package button' - expect(page).to have_selector('.spot-modal') + expect(page).to have_css('.spot-modal') select 'Task', from: 'selected-type' find('.spot-modal--submit-button').click @@ -88,7 +88,7 @@ dashboard_page.expect_and_dismiss_toaster message: I18n.t('js.notice_successful_update') within('#content') do - expect(page).to have_selector("a[href=\"/projects/#{project.identifier}/work_packages/new?type=#{type.id}\"]") + expect(page).to have_css("a[href=\"/projects/#{project.identifier}/work_packages/new?type=#{type.id}\"]") end end @@ -111,7 +111,7 @@ within custom_text_widget.area do expect(page) - .to have_selector('.inline-edit--display-field', text: 'My own little text') + .to have_css('.inline-edit--display-field', text: 'My own little text') find('.inplace-editing--container').click @@ -119,7 +119,7 @@ field.cancel_by_click expect(page) - .to have_selector('.inline-edit--display-field', text: 'My own little text') + .to have_css('.inline-edit--display-field', text: 'My own little text') end dashboard_page.expect_no_toaster message: I18n.t('js.notice_successful_update') @@ -137,7 +137,7 @@ within custom_text_widget.area do expect(page).to have_test_selector('op-attachment-list-item', text: 'image.png') - expect(page).not_to have_selector('notifications-upload-progress') + expect(page).to have_no_css('notifications-upload-progress') field.save! end @@ -146,7 +146,7 @@ within custom_text_widget.area do expect(page) - .to have_selector('#content img', count: 1) + .to have_css('#content img', count: 1) expect(page) .not_to have_test_selector('op-attachment-list-item', text: 'image.png') @@ -175,7 +175,7 @@ .to have_content(dashboard.widgets.first.options[:text]) expect(page) - .not_to have_selector('.inplace-editing--container') + .to have_no_css('.inplace-editing--container') end end end diff --git a/modules/dashboards/spec/features/docments_spec.rb b/modules/dashboards/spec/features/docments_spec.rb index 4d92fbfb4d52..adc46559269f 100644 --- a/modules/dashboards/spec/features/docments_spec.rb +++ b/modules/dashboards/spec/features/docments_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Documents widget on dashboard', js: true do +RSpec.describe 'Documents widget on dashboard', :js do let!(:project) { create(:project) } let!(:other_project) { create(:project) } let!(:visible_document) do diff --git a/modules/dashboards/spec/features/members_principals_spec.rb b/modules/dashboards/spec/features/members_principals_spec.rb index 983bd5af980e..bed0d1f449bc 100644 --- a/modules/dashboards/spec/features/members_principals_spec.rb +++ b/modules/dashboards/spec/features/members_principals_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Dashboard page members', js: true do +RSpec.describe 'Dashboard page members', :js do shared_let(:type) { create(:type) } shared_let(:project) { create(:project, types: [type], description: 'My **custom** description') } diff --git a/modules/dashboards/spec/features/members_spec.rb b/modules/dashboards/spec/features/members_spec.rb index 4e0d8828a654..4271a970c33b 100644 --- a/modules/dashboards/spec/features/members_spec.rb +++ b/modules/dashboards/spec/features/members_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Members widget on dashboard', js: true do +RSpec.describe 'Members widget on dashboard', :js do let!(:project) { create(:project) } let!(:other_project) { create(:project) } @@ -108,7 +108,7 @@ def expect_all_members_visible(area) expect_all_members_visible(members_area.area) expect(page) - .not_to have_content invisible_user.name + .to have_no_content invisible_user.name within members_area.area do expect(page) @@ -125,7 +125,7 @@ def expect_all_members_visible(area) within members_area.area do expect(page) - .not_to have_link('Member') + .to have_no_link('Member') end # A user without view permission will not see any members @@ -143,10 +143,10 @@ def expect_all_members_visible(area) .to have_content('No visible members') expect(page) - .not_to have_link('Member') + .to have_no_link('Member') expect(page) - .not_to have_link('View all members') + .to have_no_link('View all members') end end end diff --git a/modules/dashboards/spec/features/modifying_with_unallowed_spec.rb b/modules/dashboards/spec/features/modifying_with_unallowed_spec.rb index 229b706eb57f..fa7a1d0a8aee 100644 --- a/modules/dashboards/spec/features/modifying_with_unallowed_spec.rb +++ b/modules/dashboards/spec/features/modifying_with_unallowed_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Modifying a dashboard which already has widgets for which permissions are lacking', js: true do +RSpec.describe 'Modifying a dashboard which already has widgets for which permissions are lacking', :js do let!(:project) do create(:project) end @@ -90,6 +90,6 @@ dashboard_page.visit! expect(page) - .not_to have_selector('.grid--area.-widgeted:nth-of-type(2)') + .to have_no_css('.grid--area.-widgeted:nth-of-type(2)') end end diff --git a/modules/dashboards/spec/features/navigation_spec.rb b/modules/dashboards/spec/features/navigation_spec.rb index bc7eec97bea2..eabaca0e1bce 100644 --- a/modules/dashboards/spec/features/navigation_spec.rb +++ b/modules/dashboards/spec/features/navigation_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'Navigate to dashboard', js: true do +RSpec.describe 'Navigate to dashboard', :js do let(:project) { create(:project) } let(:permissions) { [:view_dashboards] } let(:user) do diff --git a/modules/dashboards/spec/features/news_spec.rb b/modules/dashboards/spec/features/news_spec.rb index 80a1c6f87eb5..1c395aa6b68a 100644 --- a/modules/dashboards/spec/features/news_spec.rb +++ b/modules/dashboards/spec/features/news_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'News widget on dashboard', js: true do +RSpec.describe 'News widget on dashboard', :js do let!(:project) { create(:project) } let!(:other_project) { create(:project) } let!(:visible_news) do diff --git a/modules/dashboards/spec/features/project_description_spec.rb b/modules/dashboards/spec/features/project_description_spec.rb index f6abf62bf0b8..f52f5f925273 100644 --- a/modules/dashboards/spec/features/project_description_spec.rb +++ b/modules/dashboards/spec/features/project_description_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Project description widget on dashboard', js: true do +RSpec.describe 'Project description widget on dashboard', :js do let(:project_description) { "Some text I like to write" } let!(:project) do create(:project, description: project_description) @@ -112,7 +112,7 @@ def add_project_description_widget # The edit field is toggled and the value saved. expect(page).to have_content('A completely new description which is super cool.') expect(page).to have_selector(field.selector) - expect(page).not_to have_selector(field.input_selector) + expect(page).to have_no_selector(field.input_selector) end end end @@ -137,7 +137,7 @@ def add_project_description_widget editor.insert_macro 'Insert create work package button' - expect(page).to have_selector('.spot-modal') + expect(page).to have_css('.spot-modal') select 'Task', from: 'selected-type' find('.spot-modal--submit-button').click @@ -146,7 +146,7 @@ def add_project_description_widget dashboard_page.expect_and_dismiss_toaster message: I18n.t('js.notice_successful_update') within('#content') do - expect(page).to have_selector("a[href=\"/projects/#{project.identifier}/work_packages/new?type=#{type.id}\"]") + expect(page).to have_css("a[href=\"/projects/#{project.identifier}/work_packages/new?type=#{type.id}\"]") end end end diff --git a/modules/dashboards/spec/features/project_details_spec.rb b/modules/dashboards/spec/features/project_details_spec.rb index 10f9c6616481..5854a2a3a9de 100644 --- a/modules/dashboards/spec/features/project_details_spec.rb +++ b/modules/dashboards/spec/features/project_details_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -111,7 +111,7 @@ def change_cf_value(cf, old_value, new_value) # The edit field is toggled and the value saved. expect(page).to have_content(new_value) expect(page).to have_selector(cf.selector) - expect(page).not_to have_selector(cf.input_selector) + expect(page).to have_no_selector(cf.input_selector) end before do diff --git a/modules/dashboards/spec/features/project_status_spec.rb b/modules/dashboards/spec/features/project_status_spec.rb index 4b3e81bc51b3..51e638adc672 100644 --- a/modules/dashboards/spec/features/project_status_spec.rb +++ b/modules/dashboards/spec/features/project_status_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Project status widget on dashboard', js: true do +RSpec.describe 'Project status widget on dashboard', :js do let!(:project) do create(:project, status_code: 'on_track', @@ -120,7 +120,7 @@ def add_project_status_widget # The edit field is toggled and the value saved. expect(page).to have_content('AT RISK') expect(page).to have_selector(field.selector) - expect(page).not_to have_selector(field.input_selector) + expect(page).to have_no_selector(field.input_selector) # Unset the project status field.activate! @@ -130,7 +130,7 @@ def add_project_status_widget # The edit field is toggled and the value saved. expect(page).to have_content('NOT SET') expect(page).to have_selector(field.selector) - expect(page).not_to have_selector(field.input_selector) + expect(page).to have_no_selector(field.input_selector) # Open explanation field field = TextEditorField.new dashboard_page, 'statusExplanation' @@ -145,7 +145,7 @@ def add_project_status_widget # The edit field is toggled and the value saved. expect(page).to have_content('A completely new explanation which is super cool.') expect(page).to have_selector(field.selector) - expect(page).not_to have_selector(field.input_selector) + expect(page).to have_no_selector(field.input_selector) end end end diff --git a/modules/dashboards/spec/features/read_only_allowed_spec.rb b/modules/dashboards/spec/features/read_only_allowed_spec.rb index 3d16a79b34f9..200fce2baa35 100644 --- a/modules/dashboards/spec/features/read_only_allowed_spec.rb +++ b/modules/dashboards/spec/features/read_only_allowed_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Read only mode when user lacks edit permission on dashboard', js: true do +RSpec.describe 'Read only mode when user lacks edit permission on dashboard', :js do let!(:type) { create(:type) } let!(:project) { create(:project, types: [type]) } let!(:work_package) do diff --git a/modules/dashboards/spec/features/subprojects_spec.rb b/modules/dashboards/spec/features/subprojects_spec.rb index 6eb70b4f9cb6..998df3e57fe9 100644 --- a/modules/dashboards/spec/features/subprojects_spec.rb +++ b/modules/dashboards/spec/features/subprojects_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Subprojects widget on dashboard', js: true do +RSpec.describe 'Subprojects widget on dashboard', :js do let!(:project) do create(:project, parent: parent_project) end @@ -89,15 +89,15 @@ expect(page) .to have_link(child_project.name) expect(page) - .not_to have_link(archived_child_project.name) + .to have_no_link(archived_child_project.name) expect(page) - .not_to have_link(grandchild_project.name) + .to have_no_link(grandchild_project.name) expect(page) - .not_to have_link(invisible_child_project.name) + .to have_no_link(invisible_child_project.name) expect(page) - .not_to have_link(parent_project.name) + .to have_no_link(parent_project.name) expect(page) - .not_to have_link(project.name) + .to have_no_link(project.name) end end end @@ -115,15 +115,15 @@ expect(page) .to have_link(child_project.name) expect(page) - .not_to have_link(archived_child_project.name) + .to have_no_link(archived_child_project.name) expect(page) - .not_to have_link(grandchild_project.name) + .to have_no_link(grandchild_project.name) expect(page) .to have_link(invisible_child_project.name) # admins can see projects they are not a member of expect(page) - .not_to have_link(parent_project.name) + .to have_no_link(parent_project.name) expect(page) - .not_to have_link(project.name) + .to have_no_link(project.name) end end end diff --git a/modules/dashboards/spec/features/time_entries_spec.rb b/modules/dashboards/spec/features/time_entries_spec.rb index d5fe4726d2c0..8a0216cbe64c 100644 --- a/modules/dashboards/spec/features/time_entries_spec.rb +++ b/modules/dashboards/spec/features/time_entries_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Time entries widget on dashboard', js: true do +RSpec.describe 'Time entries widget on dashboard', :js do let!(:type) { create(:type) } let!(:project) { create(:project, types: [type]) } let!(:other_project) { create(:project, types: [type]) } @@ -108,24 +108,24 @@ expect(page) .to have_content Date.today.strftime('%m/%d/%Y') expect(page) - .to have_selector('.activity', text: visible_time_entry.activity.name) + .to have_css('.activity', text: visible_time_entry.activity.name) expect(page) - .to have_selector('.subject', text: "#{project.name} - ##{work_package.id}: #{work_package.subject}") + .to have_css('.subject', text: "#{project.name} - ##{work_package.id}: #{work_package.subject}") expect(page) - .to have_selector('.comments', text: visible_time_entry.comments) + .to have_css('.comments', text: visible_time_entry.comments) expect(page) - .to have_selector('.hours', text: visible_time_entry.hours) + .to have_css('.hours', text: visible_time_entry.hours) expect(page) .to have_content((Date.today - 1.day).strftime('%m/%d/%Y')) expect(page) - .to have_selector('.activity', text: other_visible_time_entry.activity.name) + .to have_css('.activity', text: other_visible_time_entry.activity.name) expect(page) - .to have_selector('.subject', text: "#{project.name} - ##{work_package.id}: #{work_package.subject}") + .to have_css('.subject', text: "#{project.name} - ##{work_package.id}: #{work_package.subject}") expect(page) - .to have_selector('.comments', text: other_visible_time_entry.comments) + .to have_css('.comments', text: other_visible_time_entry.comments) expect(page) - .to have_selector('.hours', text: other_visible_time_entry.hours) + .to have_css('.hours', text: other_visible_time_entry.hours) # Allows to edit page.find_test_selector("edit-time-entry-#{visible_time_entry.id}").click @@ -143,7 +143,7 @@ time_logging_modal.is_visible false within spent_time_widget.area do - expect(page).to have_selector('.hours', text: 4) + expect(page).to have_css('.hours', text: 4) end visible_time_entry.reload diff --git a/modules/dashboards/spec/features/work_package_calendar_spec.rb b/modules/dashboards/spec/features/work_package_calendar_spec.rb index 8c7c1edbe829..f217ef8b7f06 100644 --- a/modules/dashboards/spec/features/work_package_calendar_spec.rb +++ b/modules/dashboards/spec/features/work_package_calendar_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,8 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Work package calendar widget on dashboard', - js: true do +RSpec.describe 'Work package calendar widget on dashboard', :js do let!(:type) { create(:type) } let!(:priority) { create(:default_priority) } let!(:project) { create(:project, types: [type]) } @@ -125,19 +124,19 @@ within(calendar_widget.area) do expect(page) - .to have_selector('.fc-event-title', text: spanning_work_package.subject) + .to have_css('.fc-event-title', text: spanning_work_package.subject) expect(page) - .to have_selector('.fc-event-title', text: starting_work_package.subject) + .to have_css('.fc-event-title', text: starting_work_package.subject) expect(page) - .to have_selector('.fc-event-title', text: ending_work_package.subject) + .to have_css('.fc-event-title', text: ending_work_package.subject) expect(page) - .not_to have_selector('.fc-event-title', text: outdated_work_package.subject) + .to have_no_css('.fc-event-title', text: outdated_work_package.subject) expect(page) - .not_to have_selector('.fc-event-title', text: other_project_work_package.subject) + .to have_no_css('.fc-event-title', text: other_project_work_package.subject) end end end diff --git a/modules/dashboards/spec/features/work_package_graph_overview_spec.rb b/modules/dashboards/spec/features/work_package_graph_overview_spec.rb index 307b735c36e8..d4ce90faaf70 100644 --- a/modules/dashboards/spec/features/work_package_graph_overview_spec.rb +++ b/modules/dashboards/spec/features/work_package_graph_overview_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,8 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Work package overview graph widget on dashboard', - js: true do +RSpec.describe 'Work package overview graph widget on dashboard', :js do let!(:type) { create(:type) } let!(:priority) { create(:default_priority) } let!(:project) { create(:project, types: [type]) } diff --git a/modules/dashboards/spec/features/work_package_graph_spec.rb b/modules/dashboards/spec/features/work_package_graph_spec.rb index 0f7009185782..e92115db6a30 100644 --- a/modules/dashboards/spec/features/work_package_graph_spec.rb +++ b/modules/dashboards/spec/features/work_package_graph_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,8 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Arbitrary WorkPackage query graph widget dashboard', - js: true, with_ee: %i[grid_widget_wp_graph] do +RSpec.describe 'Arbitrary WorkPackage query graph widget dashboard', :js, with_ee: %i[grid_widget_wp_graph] do let!(:type) { create(:type) } let!(:other_type) { create(:type) } let!(:priority) { create(:default_priority) } @@ -172,7 +171,7 @@ # At this point the add widget modal is open expect(page) - .not_to have_content("Work packages graph") + .to have_no_content("Work packages graph") end end end diff --git a/modules/dashboards/spec/features/work_package_table_spec.rb b/modules/dashboards/spec/features/work_package_table_spec.rb index c7cf097e94c0..26165c9f61cd 100644 --- a/modules/dashboards/spec/features/work_package_table_spec.rb +++ b/modules/dashboards/spec/features/work_package_table_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/dashboard' -RSpec.describe 'Arbitrary WorkPackage query table widget dashboard', js: true do +RSpec.describe 'Arbitrary WorkPackage query table widget dashboard', :js do let!(:type) { create(:type) } let!(:other_type) { create(:type) } let!(:priority) { create(:default_priority) } @@ -98,7 +98,7 @@ # Using it here as a safeguard to govern speed. wp_area = Components::Grids::GridArea.new('.grid--area.-widgeted:nth-of-type(1)') expect(wp_area) - .to have_selector('.subject', text: type_work_package.subject) + .to have_css('.subject', text: type_work_package.subject) dashboard_page.add_widget(1, 1, :row, "Work packages table") @@ -108,14 +108,14 @@ # At the beginning, the default query is displayed expect(filter_area.area) - .to have_selector('.subject', text: type_work_package.subject, wait: 30) + .to have_css('.subject', text: type_work_package.subject, wait: 30) expect(filter_area.area) - .to have_selector('.subject', text: other_type_work_package.subject) + .to have_css('.subject', text: other_type_work_package.subject) # Work packages from other projects are not displayed as the query is project scoped expect(filter_area.area) - .not_to have_selector('.subject', text: other_project_work_package.subject) + .to have_no_css('.subject', text: other_project_work_package.subject) # User has the ability to modify the query @@ -131,19 +131,19 @@ columns.remove 'Subject' expect(filter_area.area) - .to have_selector('.id', text: type_work_package.id) + .to have_css('.id', text: type_work_package.id) # as the Subject column is disabled expect(filter_area.area) - .not_to have_selector('.subject', text: type_work_package.subject) + .to have_no_css('.subject', text: type_work_package.subject) # As other_type is filtered out expect(filter_area.area) - .not_to have_selector('.id', text: other_type_work_package.id) + .to have_no_css('.id', text: other_type_work_package.id) # Work packages from other projects are not displayed as the query is project scoped expect(filter_area.area) - .not_to have_selector('.subject', text: other_project_work_package.subject) + .to have_no_css('.subject', text: other_project_work_package.subject) scroll_to_element(filter_area.area) within filter_area.area do @@ -162,19 +162,19 @@ filter_area = Components::Grids::GridArea.new('.grid--area.-widgeted:nth-of-type(2)') expect(filter_area.area) - .to have_selector('.id', text: type_work_package.id) + .to have_css('.id', text: type_work_package.id) # as the Subject column is disabled expect(filter_area.area) - .not_to have_selector('.subject', text: type_work_package.subject) + .to have_no_css('.subject', text: type_work_package.subject) # As other_type is filtered out expect(filter_area.area) - .not_to have_selector('.id', text: other_type_work_package.id) + .to have_no_css('.id', text: other_type_work_package.id) # Work packages from other projects are not displayed as the query is project scoped expect(filter_area.area) - .not_to have_selector('.subject', text: other_project_work_package.subject) + .to have_no_css('.subject', text: other_project_work_package.subject) within filter_area.area do expect(page).to have_field('editable-toolbar-title', with: 'My WP Filter', wait: 10) diff --git a/modules/dashboards/spec/requests/api/v3/attachments/grid_spec.rb b/modules/dashboards/spec/requests/api/v3/attachments/grid_spec.rb index 4a35327e9dd1..3a22d712079b 100644 --- a/modules/dashboards/spec/requests/api/v3/attachments/grid_spec.rb +++ b/modules/dashboards/spec/requests/api/v3/attachments/grid_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require File.join(Rails.root, 'spec', 'requests', 'api', 'v3', 'attachments', 'attachment_resource_shared_examples') +require Rails.root.join("spec/requests/api/v3/attachments/attachment_resource_shared_examples").to_s RSpec.describe "grid attachments" do before do diff --git a/modules/dashboards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb b/modules/dashboards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb index 453daca73e7a..995b414361d5 100644 --- a/modules/dashboards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb +++ b/modules/dashboards/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/dashboards/spec/requests/api/v3/grids/grids_resource_spec.rb b/modules/dashboards/spec/requests/api/v3/grids/grids_resource_spec.rb index 7f4d92b309a9..75f72d85e9ce 100644 --- a/modules/dashboards/spec/requests/api/v3/grids/grids_resource_spec.rb +++ b/modules/dashboards/spec/requests/api/v3/grids/grids_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/dashboards/spec/support/pages/dashboard.rb b/modules/dashboards/spec/support/pages/dashboard.rb index 69ea1ee5ef96..e3e5039aea9d 100644 --- a/modules/dashboards/spec/support/pages/dashboard.rb +++ b/modules/dashboards/spec/support/pages/dashboard.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/contracts/documents/base_contract.rb b/modules/documents/app/contracts/documents/base_contract.rb index 943bb385a592..9d74a9f34653 100644 --- a/modules/documents/app/contracts/documents/base_contract.rb +++ b/modules/documents/app/contracts/documents/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/contracts/documents/create_contract.rb b/modules/documents/app/contracts/documents/create_contract.rb index 709383b932cc..048c5c688b20 100644 --- a/modules/documents/app/contracts/documents/create_contract.rb +++ b/modules/documents/app/contracts/documents/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/contracts/documents/update_contract.rb b/modules/documents/app/contracts/documents/update_contract.rb index dc52fa216338..bbf9c1033ac2 100644 --- a/modules/documents/app/contracts/documents/update_contract.rb +++ b/modules/documents/app/contracts/documents/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/controllers/documents_controller.rb b/modules/documents/app/controllers/documents_controller.rb index 0123b265fdb1..a0ed79f2645a 100644 --- a/modules/documents/app/controllers/documents_controller.rb +++ b/modules/documents/app/controllers/documents_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/helpers/documents_helper.rb b/modules/documents/app/helpers/documents_helper.rb index 17d62813a959..9c90f1172bf5 100644 --- a/modules/documents/app/helpers/documents_helper.rb +++ b/modules/documents/app/helpers/documents_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/mailers/documents_mailer.rb b/modules/documents/app/mailers/documents_mailer.rb index efb9af76f400..1412d2206ea9 100644 --- a/modules/documents/app/mailers/documents_mailer.rb +++ b/modules/documents/app/mailers/documents_mailer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/models/activities/document_activity_provider.rb b/modules/documents/app/models/activities/document_activity_provider.rb index b22a32f2360d..529beb841482 100644 --- a/modules/documents/app/models/activities/document_activity_provider.rb +++ b/modules/documents/app/models/activities/document_activity_provider.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/models/document.rb b/modules/documents/app/models/document.rb index d1d110fda238..c0e89f874bd9 100644 --- a/modules/documents/app/models/document.rb +++ b/modules/documents/app/models/document.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/models/document_category.rb b/modules/documents/app/models/document_category.rb index 6cb4a8a29e62..c5c41f7d92ea 100644 --- a/modules/documents/app/models/document_category.rb +++ b/modules/documents/app/models/document_category.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/models/journal/document_journal.rb b/modules/documents/app/models/journal/document_journal.rb index 2f99054442c8..118b87a17743 100644 --- a/modules/documents/app/models/journal/document_journal.rb +++ b/modules/documents/app/models/journal/document_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/models/queries/documents.rb b/modules/documents/app/models/queries/documents.rb index ddd9941edccc..b85fab9ccc52 100644 --- a/modules/documents/app/models/queries/documents.rb +++ b/modules/documents/app/models/queries/documents.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/models/queries/documents/document_query.rb b/modules/documents/app/models/queries/documents/document_query.rb index cf19b3d5e4c7..dc74ff2c0fe4 100644 --- a/modules/documents/app/models/queries/documents/document_query.rb +++ b/modules/documents/app/models/queries/documents/document_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/models/queries/documents/filters/document_filter.rb b/modules/documents/app/models/queries/documents/filters/document_filter.rb index 8607f3346e40..8703a81c5308 100644 --- a/modules/documents/app/models/queries/documents/filters/document_filter.rb +++ b/modules/documents/app/models/queries/documents/filters/document_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/models/queries/documents/filters/project_filter.rb b/modules/documents/app/models/queries/documents/filters/project_filter.rb index c64727aac650..3af9c8a3bf02 100644 --- a/modules/documents/app/models/queries/documents/filters/project_filter.rb +++ b/modules/documents/app/models/queries/documents/filters/project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/models/queries/documents/orders/default_order.rb b/modules/documents/app/models/queries/documents/orders/default_order.rb index f1d6a2e71177..11118d3eb0dc 100644 --- a/modules/documents/app/models/queries/documents/orders/default_order.rb +++ b/modules/documents/app/models/queries/documents/orders/default_order.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/seeders/basic_data/documents/enumeration_seeder.rb b/modules/documents/app/seeders/basic_data/documents/enumeration_seeder.rb index 80b30b0a95db..f3953d577be3 100644 --- a/modules/documents/app/seeders/basic_data/documents/enumeration_seeder.rb +++ b/modules/documents/app/seeders/basic_data/documents/enumeration_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/seeders/common.yml b/modules/documents/app/seeders/common.yml index 52b1b77b2581..34474cfb58ce 100644 --- a/modules/documents/app/seeders/common.yml +++ b/modules/documents/app/seeders/common.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/services/documents/create_service.rb b/modules/documents/app/services/documents/create_service.rb index eb4a4671968f..ca446ac0f078 100644 --- a/modules/documents/app/services/documents/create_service.rb +++ b/modules/documents/app/services/documents/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/services/documents/set_attributes_service.rb b/modules/documents/app/services/documents/set_attributes_service.rb index c178b25b7393..426b8f1ad5a9 100644 --- a/modules/documents/app/services/documents/set_attributes_service.rb +++ b/modules/documents/app/services/documents/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/services/documents/update_service.rb b/modules/documents/app/services/documents/update_service.rb index 8fbc54e7c8ee..39c9418c4862 100644 --- a/modules/documents/app/services/documents/update_service.rb +++ b/modules/documents/app/services/documents/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/services/notifications/create_from_model_service/document_strategy.rb b/modules/documents/app/services/notifications/create_from_model_service/document_strategy.rb index 7c13bbfc325f..d2855acbcefd 100644 --- a/modules/documents/app/services/notifications/create_from_model_service/document_strategy.rb +++ b/modules/documents/app/services/notifications/create_from_model_service/document_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/services/notifications/mail_service/document_strategy.rb b/modules/documents/app/services/notifications/mail_service/document_strategy.rb index e5fee7a8ef7e..afbb26eff5e2 100644 --- a/modules/documents/app/services/notifications/mail_service/document_strategy.rb +++ b/modules/documents/app/services/notifications/mail_service/document_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/views/documents/_document.html.erb b/modules/documents/app/views/documents/_document.html.erb index 31877bb210e4..ee4fb7da78d4 100644 --- a/modules/documents/app/views/documents/_document.html.erb +++ b/modules/documents/app/views/documents/_document.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/views/documents/_form.html.erb b/modules/documents/app/views/documents/_form.html.erb index 94357169f449..6d4644ba77a9 100644 --- a/modules/documents/app/views/documents/_form.html.erb +++ b/modules/documents/app/views/documents/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/views/documents/edit.html.erb b/modules/documents/app/views/documents/edit.html.erb index 5f1b8762555d..b1b1dc1f18dc 100644 --- a/modules/documents/app/views/documents/edit.html.erb +++ b/modules/documents/app/views/documents/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/views/documents/index.html.erb b/modules/documents/app/views/documents/index.html.erb index 7ef3ab484e4c..d7542150c4df 100644 --- a/modules/documents/app/views/documents/index.html.erb +++ b/modules/documents/app/views/documents/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/views/documents/new.html.erb b/modules/documents/app/views/documents/new.html.erb index 4ba030de840f..45df1d2214f9 100644 --- a/modules/documents/app/views/documents/new.html.erb +++ b/modules/documents/app/views/documents/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/views/documents/show.html.erb b/modules/documents/app/views/documents/show.html.erb index 338cfe6d3f94..6ab7d973f596 100644 --- a/modules/documents/app/views/documents/show.html.erb +++ b/modules/documents/app/views/documents/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/views/documents_mailer/document_added.html.erb b/modules/documents/app/views/documents_mailer/document_added.html.erb index 84f97dd3cc5d..d511ed57b36e 100644 --- a/modules/documents/app/views/documents_mailer/document_added.html.erb +++ b/modules/documents/app/views/documents_mailer/document_added.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/views/documents_mailer/document_added.text.erb b/modules/documents/app/views/documents_mailer/document_added.text.erb index a27809661300..682fba1f5544 100644 --- a/modules/documents/app/views/documents_mailer/document_added.text.erb +++ b/modules/documents/app/views/documents_mailer/document_added.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/app/views/help/wiki_syntax_detailed.html.erb b/modules/documents/app/views/help/wiki_syntax_detailed.html.erb index edea8424ef90..60b01cf7e6d0 100644 --- a/modules/documents/app/views/help/wiki_syntax_detailed.html.erb +++ b/modules/documents/app/views/help/wiki_syntax_detailed.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/config/locales/crowdin/af.yml b/modules/documents/config/locales/crowdin/af.yml index 42f046005c26..0d21f7cd36de 100644 --- a/modules/documents/config/locales/crowdin/af.yml +++ b/modules/documents/config/locales/crowdin/af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/ar.yml b/modules/documents/config/locales/crowdin/ar.yml index 0cfb2fd1989b..a1374d42eefc 100644 --- a/modules/documents/config/locales/crowdin/ar.yml +++ b/modules/documents/config/locales/crowdin/ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/az.yml b/modules/documents/config/locales/crowdin/az.yml index fa1a874788b9..f3af86545f07 100644 --- a/modules/documents/config/locales/crowdin/az.yml +++ b/modules/documents/config/locales/crowdin/az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/be.yml b/modules/documents/config/locales/crowdin/be.yml index 3f05b1b6e205..21624d4f1150 100644 --- a/modules/documents/config/locales/crowdin/be.yml +++ b/modules/documents/config/locales/crowdin/be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/bg.yml b/modules/documents/config/locales/crowdin/bg.yml index b9b652f0cb62..11bc69cc48c8 100644 --- a/modules/documents/config/locales/crowdin/bg.yml +++ b/modules/documents/config/locales/crowdin/bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/ca.yml b/modules/documents/config/locales/crowdin/ca.yml index 61912c0582f0..6b828cdbd934 100644 --- a/modules/documents/config/locales/crowdin/ca.yml +++ b/modules/documents/config/locales/crowdin/ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/ckb-IR.yml b/modules/documents/config/locales/crowdin/ckb-IR.yml index 5e0108644d8b..847807edcc6d 100644 --- a/modules/documents/config/locales/crowdin/ckb-IR.yml +++ b/modules/documents/config/locales/crowdin/ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/cs.yml b/modules/documents/config/locales/crowdin/cs.yml index 286b0216ff3d..48ab646b2bfd 100644 --- a/modules/documents/config/locales/crowdin/cs.yml +++ b/modules/documents/config/locales/crowdin/cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/da.yml b/modules/documents/config/locales/crowdin/da.yml index 95c0df3e2405..f3f321c40bc8 100644 --- a/modules/documents/config/locales/crowdin/da.yml +++ b/modules/documents/config/locales/crowdin/da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/de.yml b/modules/documents/config/locales/crowdin/de.yml index dabe6208fc30..f1c9d988e641 100644 --- a/modules/documents/config/locales/crowdin/de.yml +++ b/modules/documents/config/locales/crowdin/de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/el.yml b/modules/documents/config/locales/crowdin/el.yml index 605bfa44c7e8..ae1d135689d3 100644 --- a/modules/documents/config/locales/crowdin/el.yml +++ b/modules/documents/config/locales/crowdin/el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/eo.yml b/modules/documents/config/locales/crowdin/eo.yml index d3b2e3e9b51a..cbd2d5d8a63d 100644 --- a/modules/documents/config/locales/crowdin/eo.yml +++ b/modules/documents/config/locales/crowdin/eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/es.yml b/modules/documents/config/locales/crowdin/es.yml index 90d2a6f918dd..5cf7bcdd7fc4 100644 --- a/modules/documents/config/locales/crowdin/es.yml +++ b/modules/documents/config/locales/crowdin/es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/et.yml b/modules/documents/config/locales/crowdin/et.yml index 8c99a2c791ad..f5f91e42dd4b 100644 --- a/modules/documents/config/locales/crowdin/et.yml +++ b/modules/documents/config/locales/crowdin/et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/eu.yml b/modules/documents/config/locales/crowdin/eu.yml index d68839310360..3a8400c3aeb4 100644 --- a/modules/documents/config/locales/crowdin/eu.yml +++ b/modules/documents/config/locales/crowdin/eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/fa.yml b/modules/documents/config/locales/crowdin/fa.yml index a0b91d4b57fd..dc3beed548ea 100644 --- a/modules/documents/config/locales/crowdin/fa.yml +++ b/modules/documents/config/locales/crowdin/fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/fi.yml b/modules/documents/config/locales/crowdin/fi.yml index d5f9c45bde28..16e07d273e88 100644 --- a/modules/documents/config/locales/crowdin/fi.yml +++ b/modules/documents/config/locales/crowdin/fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/fil.yml b/modules/documents/config/locales/crowdin/fil.yml index cec0f4c6ee37..fc40b36fbd22 100644 --- a/modules/documents/config/locales/crowdin/fil.yml +++ b/modules/documents/config/locales/crowdin/fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/fr.yml b/modules/documents/config/locales/crowdin/fr.yml index 81097591df5f..95198e2f85e0 100644 --- a/modules/documents/config/locales/crowdin/fr.yml +++ b/modules/documents/config/locales/crowdin/fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/he.yml b/modules/documents/config/locales/crowdin/he.yml index 0f88d08b85f4..e45a09212ec0 100644 --- a/modules/documents/config/locales/crowdin/he.yml +++ b/modules/documents/config/locales/crowdin/he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/hi.yml b/modules/documents/config/locales/crowdin/hi.yml index 663b4eb89d21..93f1adf29957 100644 --- a/modules/documents/config/locales/crowdin/hi.yml +++ b/modules/documents/config/locales/crowdin/hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/hr.yml b/modules/documents/config/locales/crowdin/hr.yml index af03923d4a90..e50134618401 100644 --- a/modules/documents/config/locales/crowdin/hr.yml +++ b/modules/documents/config/locales/crowdin/hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/hu.yml b/modules/documents/config/locales/crowdin/hu.yml index 6367c54a9c2b..2b0ddf150539 100644 --- a/modules/documents/config/locales/crowdin/hu.yml +++ b/modules/documents/config/locales/crowdin/hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/id.yml b/modules/documents/config/locales/crowdin/id.yml index 2aa191c8accc..9723c8346ca4 100644 --- a/modules/documents/config/locales/crowdin/id.yml +++ b/modules/documents/config/locales/crowdin/id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/it.yml b/modules/documents/config/locales/crowdin/it.yml index f4384c816098..a351e4e2d6bc 100644 --- a/modules/documents/config/locales/crowdin/it.yml +++ b/modules/documents/config/locales/crowdin/it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/ja.yml b/modules/documents/config/locales/crowdin/ja.yml index 5b509affb505..6a9c795d9b23 100644 --- a/modules/documents/config/locales/crowdin/ja.yml +++ b/modules/documents/config/locales/crowdin/ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/ka.yml b/modules/documents/config/locales/crowdin/ka.yml index 9cc3fc3a618d..2916f68cd611 100644 --- a/modules/documents/config/locales/crowdin/ka.yml +++ b/modules/documents/config/locales/crowdin/ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -34,10 +34,10 @@ ka: enumeration_doc_categories: "Document categories" documents: label_attachment_author: "Attachment author" - label_document_added: "Document added" - label_document_new: "New document" + label_document_added: "დოკუმენტი დაემატა" + label_document_new: "ახალი დოკუმენტი" label_document_plural: "დოკუმენტები" label_documents: "დოკუმენტები" permission_manage_documents: "Manage documents" - permission_view_documents: "View documents" + permission_view_documents: "დოკუმენტების ნახვა" project_module_documents: "დოკუმენტები" diff --git a/modules/documents/config/locales/crowdin/ko.yml b/modules/documents/config/locales/crowdin/ko.yml index 6e14a75bf1db..178c6066b4f1 100644 --- a/modules/documents/config/locales/crowdin/ko.yml +++ b/modules/documents/config/locales/crowdin/ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/lt.yml b/modules/documents/config/locales/crowdin/lt.yml index b4fc2b1be91e..c8def208063c 100644 --- a/modules/documents/config/locales/crowdin/lt.yml +++ b/modules/documents/config/locales/crowdin/lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/lv.yml b/modules/documents/config/locales/crowdin/lv.yml index bfb88a3a22ab..afaf2c9d9fd6 100644 --- a/modules/documents/config/locales/crowdin/lv.yml +++ b/modules/documents/config/locales/crowdin/lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/mn.yml b/modules/documents/config/locales/crowdin/mn.yml index e26cad7afdf4..6c548d3acd77 100644 --- a/modules/documents/config/locales/crowdin/mn.yml +++ b/modules/documents/config/locales/crowdin/mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/ne.yml b/modules/documents/config/locales/crowdin/ne.yml index 813874b6c714..990aa11fa21e 100644 --- a/modules/documents/config/locales/crowdin/ne.yml +++ b/modules/documents/config/locales/crowdin/ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/nl.yml b/modules/documents/config/locales/crowdin/nl.yml index dd7a2bddd129..770f40808d00 100644 --- a/modules/documents/config/locales/crowdin/nl.yml +++ b/modules/documents/config/locales/crowdin/nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/no.yml b/modules/documents/config/locales/crowdin/no.yml index ed8defd65c5c..0354239aea4b 100644 --- a/modules/documents/config/locales/crowdin/no.yml +++ b/modules/documents/config/locales/crowdin/no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/pl.yml b/modules/documents/config/locales/crowdin/pl.yml index f7110a037087..47b8cbfed576 100644 --- a/modules/documents/config/locales/crowdin/pl.yml +++ b/modules/documents/config/locales/crowdin/pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/pt.yml b/modules/documents/config/locales/crowdin/pt.yml index 701dd638d59d..e702bd7f9a7d 100644 --- a/modules/documents/config/locales/crowdin/pt.yml +++ b/modules/documents/config/locales/crowdin/pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/ro.yml b/modules/documents/config/locales/crowdin/ro.yml index 657c7a2a4912..04770c9b80e1 100644 --- a/modules/documents/config/locales/crowdin/ro.yml +++ b/modules/documents/config/locales/crowdin/ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/ru.yml b/modules/documents/config/locales/crowdin/ru.yml index 9a21aa844ea8..ae060e9249aa 100644 --- a/modules/documents/config/locales/crowdin/ru.yml +++ b/modules/documents/config/locales/crowdin/ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/rw.yml b/modules/documents/config/locales/crowdin/rw.yml index 2d6499e58045..8c9911913a95 100644 --- a/modules/documents/config/locales/crowdin/rw.yml +++ b/modules/documents/config/locales/crowdin/rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/si.yml b/modules/documents/config/locales/crowdin/si.yml index de0251324321..72952abfd1c1 100644 --- a/modules/documents/config/locales/crowdin/si.yml +++ b/modules/documents/config/locales/crowdin/si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/sk.yml b/modules/documents/config/locales/crowdin/sk.yml index c6dd152e107b..bc1e82ea7e67 100644 --- a/modules/documents/config/locales/crowdin/sk.yml +++ b/modules/documents/config/locales/crowdin/sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/sl.yml b/modules/documents/config/locales/crowdin/sl.yml index 337876bfd6f4..9fff610b2ef8 100644 --- a/modules/documents/config/locales/crowdin/sl.yml +++ b/modules/documents/config/locales/crowdin/sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/sr.yml b/modules/documents/config/locales/crowdin/sr.yml index a8da66dbad04..6dcd4309c943 100644 --- a/modules/documents/config/locales/crowdin/sr.yml +++ b/modules/documents/config/locales/crowdin/sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/sv.yml b/modules/documents/config/locales/crowdin/sv.yml index 3a6db43a707e..b9ff7d343ad5 100644 --- a/modules/documents/config/locales/crowdin/sv.yml +++ b/modules/documents/config/locales/crowdin/sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/th.yml b/modules/documents/config/locales/crowdin/th.yml index 9525767098ed..9346fa174db1 100644 --- a/modules/documents/config/locales/crowdin/th.yml +++ b/modules/documents/config/locales/crowdin/th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/tr.yml b/modules/documents/config/locales/crowdin/tr.yml index f202419a3ae4..ab92861e7481 100644 --- a/modules/documents/config/locales/crowdin/tr.yml +++ b/modules/documents/config/locales/crowdin/tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/uk.yml b/modules/documents/config/locales/crowdin/uk.yml index bf73f2f8dc4e..912bb4fa0337 100644 --- a/modules/documents/config/locales/crowdin/uk.yml +++ b/modules/documents/config/locales/crowdin/uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/vi.yml b/modules/documents/config/locales/crowdin/vi.yml index 652e6907f8be..be8bcb810929 100644 --- a/modules/documents/config/locales/crowdin/vi.yml +++ b/modules/documents/config/locales/crowdin/vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/zh-CN.yml b/modules/documents/config/locales/crowdin/zh-CN.yml index 7a7800a6a8f4..b4614325276b 100644 --- a/modules/documents/config/locales/crowdin/zh-CN.yml +++ b/modules/documents/config/locales/crowdin/zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/crowdin/zh-TW.yml b/modules/documents/config/locales/crowdin/zh-TW.yml index 0d98dbf15223..093b57ad5b81 100644 --- a/modules/documents/config/locales/crowdin/zh-TW.yml +++ b/modules/documents/config/locales/crowdin/zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/documents/config/locales/en.yml b/modules/documents/config/locales/en.yml index 82a17bf422c3..927c81655191 100644 --- a/modules/documents/config/locales/en.yml +++ b/modules/documents/config/locales/en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/config/routes.rb b/modules/documents/config/routes.rb index af04a6a50a05..f2029a562caa 100644 --- a/modules/documents/config/routes.rb +++ b/modules/documents/config/routes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/db/migrate/20180323140208_to_v710_aggregated_documents_migrations.rb b/modules/documents/db/migrate/20180323140208_to_v710_aggregated_documents_migrations.rb index 9f3e7f8aed75..0fb548865ca1 100644 --- a/modules/documents/db/migrate/20180323140208_to_v710_aggregated_documents_migrations.rb +++ b/modules/documents/db/migrate/20180323140208_to_v710_aggregated_documents_migrations.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require Rails.root.join("db", "migrate", "migration_utils", "migration_squasher").to_s +require Rails.root.join("db/migrate/migration_utils/migration_squasher").to_s # This migration aggregates the migrations detailed in MIGRATION_FILES class ToV710AggregatedDocumentsMigrations < ActiveRecord::Migration[5.1] MIGRATION_FILES = <<-MIGRATIONS diff --git a/modules/documents/db/migrate/20200217090016_document_timestamps.rb b/modules/documents/db/migrate/20200217090016_document_timestamps.rb index e14741620189..393a4ea7a2ce 100644 --- a/modules/documents/db/migrate/20200217090016_document_timestamps.rb +++ b/modules/documents/db/migrate/20200217090016_document_timestamps.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/frontend/module/hal/resources/document-resource.ts b/modules/documents/frontend/module/hal/resources/document-resource.ts index 668b31ca8499..6200e91c32e3 100644 --- a/modules/documents/frontend/module/hal/resources/document-resource.ts +++ b/modules/documents/frontend/module/hal/resources/document-resource.ts @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/frontend/module/main.ts b/modules/documents/frontend/module/main.ts index f605b24c9e13..fa85d073ed6d 100644 --- a/modules/documents/frontend/module/main.ts +++ b/modules/documents/frontend/module/main.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/lib/api/v3/attachments/attachments_by_document_api.rb b/modules/documents/lib/api/v3/attachments/attachments_by_document_api.rb index cb3933bf1610..1e6013483e2a 100644 --- a/modules/documents/lib/api/v3/attachments/attachments_by_document_api.rb +++ b/modules/documents/lib/api/v3/attachments/attachments_by_document_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/lib/api/v3/documents/document_collection_representer.rb b/modules/documents/lib/api/v3/documents/document_collection_representer.rb index 362851c2e2e3..7f39b2e3a40a 100644 --- a/modules/documents/lib/api/v3/documents/document_collection_representer.rb +++ b/modules/documents/lib/api/v3/documents/document_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/lib/api/v3/documents/document_representer.rb b/modules/documents/lib/api/v3/documents/document_representer.rb index 63f91220ef2e..99a78bb0ed74 100644 --- a/modules/documents/lib/api/v3/documents/document_representer.rb +++ b/modules/documents/lib/api/v3/documents/document_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/lib/api/v3/documents/documents_api.rb b/modules/documents/lib/api/v3/documents/documents_api.rb index 4ee6b4240839..5314ba6c9c6c 100644 --- a/modules/documents/lib/api/v3/documents/documents_api.rb +++ b/modules/documents/lib/api/v3/documents/documents_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/lib/open_project/documents.rb b/modules/documents/lib/open_project/documents.rb index d14f295f93be..f333d353d1e8 100644 --- a/modules/documents/lib/open_project/documents.rb +++ b/modules/documents/lib/open_project/documents.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/lib/open_project/documents/engine.rb b/modules/documents/lib/open_project/documents/engine.rb index 8fae0f02c82e..4d30387356e2 100644 --- a/modules/documents/lib/open_project/documents/engine.rb +++ b/modules/documents/lib/open_project/documents/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/lib/open_project/documents/patches.rb b/modules/documents/lib/open_project/documents/patches.rb index 0d6f3ed38e9a..e4d9425b8e94 100644 --- a/modules/documents/lib/open_project/documents/patches.rb +++ b/modules/documents/lib/open_project/documents/patches.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/lib/open_project/documents/patches/project_patch.rb b/modules/documents/lib/open_project/documents/patches/project_patch.rb index d54b21ceecf6..4c7097486a06 100644 --- a/modules/documents/lib/open_project/documents/patches/project_patch.rb +++ b/modules/documents/lib/open_project/documents/patches/project_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/lib/openproject-documents.rb b/modules/documents/lib/openproject-documents.rb index 0555bb5b03ff..9288d1d36f86 100644 --- a/modules/documents/lib/openproject-documents.rb +++ b/modules/documents/lib/openproject-documents.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/api/v3/documents/document_representer_rendering_spec.rb b/modules/documents/spec/api/v3/documents/document_representer_rendering_spec.rb index 88e4af0108e2..68d8524ba021 100644 --- a/modules/documents/spec/api/v3/documents/document_representer_rendering_spec.rb +++ b/modules/documents/spec/api/v3/documents/document_representer_rendering_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/application_helper_spec.rb b/modules/documents/spec/application_helper_spec.rb index 14763304cf51..2e18111bd57a 100644 --- a/modules/documents/spec/application_helper_spec.rb +++ b/modules/documents/spec/application_helper_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/controllers/documents_controller_spec.rb b/modules/documents/spec/controllers/documents_controller_spec.rb index 7b44a5415dc5..85f4f470465a 100644 --- a/modules/documents/spec/controllers/documents_controller_spec.rb +++ b/modules/documents/spec/controllers/documents_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/factories/document_category_factory.rb b/modules/documents/spec/factories/document_category_factory.rb index 57b0ab44ab49..5ae3bf6b67c5 100644 --- a/modules/documents/spec/factories/document_category_factory.rb +++ b/modules/documents/spec/factories/document_category_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/factories/document_factory.rb b/modules/documents/spec/factories/document_factory.rb index c7b7374611ab..5f5229cc1ce5 100644 --- a/modules/documents/spec/factories/document_factory.rb +++ b/modules/documents/spec/factories/document_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/factories/journal/document_journal_factory.rb b/modules/documents/spec/factories/journal/document_journal_factory.rb index b33538b11e9e..0f01b316bc83 100644 --- a/modules/documents/spec/factories/journal/document_journal_factory.rb +++ b/modules/documents/spec/factories/journal/document_journal_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/features/attachment_upload_spec.rb b/modules/documents/spec/features/attachment_upload_spec.rb index 3cc6a441e9de..9c72ba18152d 100644 --- a/modules/documents/spec/features/attachment_upload_spec.rb +++ b/modules/documents/spec/features/attachment_upload_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/lib/open_project/markdown_formatting_spec.rb b/modules/documents/spec/lib/open_project/markdown_formatting_spec.rb index 04097c07846c..7e5e61e7aa5c 100644 --- a/modules/documents/spec/lib/open_project/markdown_formatting_spec.rb +++ b/modules/documents/spec/lib/open_project/markdown_formatting_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/lib/redmine/access_control_spec.rb b/modules/documents/spec/lib/redmine/access_control_spec.rb index 485a36f4fbf3..bc484b4b3e3f 100644 --- a/modules/documents/spec/lib/redmine/access_control_spec.rb +++ b/modules/documents/spec/lib/redmine/access_control_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/mailers/documents_mailer_spec.rb b/modules/documents/spec/mailers/documents_mailer_spec.rb index b6ab65b7cd94..9d26d2b95502 100644 --- a/modules/documents/spec/mailers/documents_mailer_spec.rb +++ b/modules/documents/spec/mailers/documents_mailer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/models/document_category_spec.rb b/modules/documents/spec/models/document_category_spec.rb index b4bf1e631ed9..ff645858504e 100644 --- a/modules/documents/spec/models/document_category_spec.rb +++ b/modules/documents/spec/models/document_category_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/models/document_spec.rb b/modules/documents/spec/models/document_spec.rb index 1c2f35ea53fb..1889677ccd89 100644 --- a/modules/documents/spec/models/document_spec.rb +++ b/modules/documents/spec/models/document_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/models/queries/documents/document_query_spec.rb b/modules/documents/spec/models/queries/documents/document_query_spec.rb index 79602f4eb1f0..1ac9dfb330b4 100644 --- a/modules/documents/spec/models/queries/documents/document_query_spec.rb +++ b/modules/documents/spec/models/queries/documents/document_query_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/models/queries/documents/filters/project_filter_spec.rb b/modules/documents/spec/models/queries/documents/filters/project_filter_spec.rb index 8b0877874da7..26cfdd7d9920 100644 --- a/modules/documents/spec/models/queries/documents/filters/project_filter_spec.rb +++ b/modules/documents/spec/models/queries/documents/filters/project_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/requests/api/v3/attachments/attachments_by_documents_resource_spec.rb b/modules/documents/spec/requests/api/v3/attachments/attachments_by_documents_resource_spec.rb index a92be6370f36..ea08c72fb03f 100644 --- a/modules/documents/spec/requests/api/v3/attachments/attachments_by_documents_resource_spec.rb +++ b/modules/documents/spec/requests/api/v3/attachments/attachments_by_documents_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/requests/api/v3/documents/documents_resource_spec.rb b/modules/documents/spec/requests/api/v3/documents/documents_resource_spec.rb index 94200c096e4a..59a3372702ef 100644 --- a/modules/documents/spec/requests/api/v3/documents/documents_resource_spec.rb +++ b/modules/documents/spec/requests/api/v3/documents/documents_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/routing/documents_routing_spec.rb b/modules/documents/spec/routing/documents_routing_spec.rb index afae8c819344..34cc47cde187 100644 --- a/modules/documents/spec/routing/documents_routing_spec.rb +++ b/modules/documents/spec/routing/documents_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/services/notifications/create_from_model_service_document_spec.rb b/modules/documents/spec/services/notifications/create_from_model_service_document_spec.rb index 5959993b2979..93abebff329b 100644 --- a/modules/documents/spec/services/notifications/create_from_model_service_document_spec.rb +++ b/modules/documents/spec/services/notifications/create_from_model_service_document_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/services/notifications/mail_service_spec.rb b/modules/documents/spec/services/notifications/mail_service_spec.rb index 7045e1aa2d29..5f6ad1063cb0 100644 --- a/modules/documents/spec/services/notifications/mail_service_spec.rb +++ b/modules/documents/spec/services/notifications/mail_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/documents/spec/spec_helper.rb b/modules/documents/spec/spec_helper.rb index 5d2c0b29f9af..9bf43696be67 100644 --- a/modules/documents/spec/spec_helper.rb +++ b/modules/documents/spec/spec_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/gantt/app/contracts/gantt/views/contract_strategy.rb b/modules/gantt/app/contracts/gantt/views/contract_strategy.rb new file mode 100644 index 000000000000..98b24517d219 --- /dev/null +++ b/modules/gantt/app/contracts/gantt/views/contract_strategy.rb @@ -0,0 +1,30 @@ +module ::Gantt + module Views + class ContractStrategy < ::BaseContract + validate :manageable + + private + + def manageable + return if model.query.blank? + + errors.add(:base, :error_unauthorized) unless query_permissions? + end + + def query_permissions? + # The visibility i.e. whether a private query belongs to the user is checked via the + # query_visible? method. + (model.query.public && user_allowed_on_query?(:manage_public_queries)) || + (!model.query.public && user_allowed_on_query?(:save_queries)) + end + + def user_allowed_on_query?(permission) + if model.query.project + user.allowed_in_project?(permission, model.query.project) + else + user.allowed_in_any_project?(permission) + end + end + end + end +end diff --git a/modules/gantt/app/controllers/gantt/base_controller.rb b/modules/gantt/app/controllers/gantt/base_controller.rb new file mode 100644 index 000000000000..ff5c343fd44b --- /dev/null +++ b/modules/gantt/app/controllers/gantt/base_controller.rb @@ -0,0 +1,4 @@ +module ::Gantt + class BaseController < ::ApplicationController + end +end diff --git a/modules/gantt/app/controllers/gantt/gantt_controller.rb b/modules/gantt/app/controllers/gantt/gantt_controller.rb new file mode 100644 index 000000000000..a779c17e5d58 --- /dev/null +++ b/modules/gantt/app/controllers/gantt/gantt_controller.rb @@ -0,0 +1,31 @@ +module ::Gantt + class GanttController < ApplicationController + include Layout + include WorkPackagesControllerHelper + + accept_key_auth :index + + before_action :find_optional_project, :protect_from_unauthorized_export, only: :index + + before_action :load_and_validate_query, only: :index, unless: -> { request.format.html? } + + menu_item :gantt + def index + respond_to do |format| + format.html do + render :index, + locals: { query: @query, project: @project, menu_name: project_or_global_menu }, + layout: 'angular/angular' + end + + format.any(*supported_list_formats) do + export_list(request.format.symbol) + end + + format.atom do + atom_list + end + end + end + end +end diff --git a/modules/gantt/app/views/gantt/gantt/_menu.html.erb b/modules/gantt/app/views/gantt/gantt/_menu.html.erb new file mode 100644 index 000000000000..7346511d2685 --- /dev/null +++ b/modules/gantt/app/views/gantt/gantt/_menu.html.erb @@ -0,0 +1,12 @@ +
    + <%= + angular_component_tag 'op-view-select', + inputs: { + projectId: (@project ? @project.id.to_s : ''), + menuItems: [parent_name, name], + baseRoute: 'gantt', + viewType: 'Gantt', + }, + class: 'op-sidebar--body' + %> +
    diff --git a/modules/gantt/app/views/gantt/gantt/index.html.erb b/modules/gantt/app/views/gantt/gantt/index.html.erb new file mode 100644 index 000000000000..d9dd2eac7a5e --- /dev/null +++ b/modules/gantt/app/views/gantt/gantt/index.html.erb @@ -0,0 +1,36 @@ +<%#-- copyright +OpenProject is an open source project management software. +Copyright (C) 2012-2024 the OpenProject GmbH + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License version 3. + +OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +Copyright (C) 2006-2013 Jean-Philippe Lang +Copyright (C) 2010-2013 the ChiliProject Team + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +See COPYRIGHT and LICENSE files for more details. + +++#%> + +<% html_title(t('label_gantt')) -%> +<%= call_hook(:view_work_packages_index_bottom, { project: project, query: query }) %> + +<% content_for :header_tags do %> + <%= auto_discovery_link_tag(:atom, {query_id: query, format: 'atom', page: nil, key: User.current.rss_key}, title: t(:label_gantt)) %> + <%= auto_discovery_link_tag(:atom, {controller: '/journals', action: 'index', query_id: query, format: 'atom', page: nil, key: User.current.rss_key}, title: t(:label_changes_details)) %> +<% end %> diff --git a/modules/gantt/config/locales/crowdin/af.yml b/modules/gantt/config/locales/crowdin/af.yml new file mode 100644 index 000000000000..3859eabf4ec4 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/af.yml @@ -0,0 +1,3 @@ +#English strings go here +af: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/ar.yml b/modules/gantt/config/locales/crowdin/ar.yml new file mode 100644 index 000000000000..fdf702de1fd1 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/ar.yml @@ -0,0 +1,3 @@ +#English strings go here +ar: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/az.yml b/modules/gantt/config/locales/crowdin/az.yml new file mode 100644 index 000000000000..800aa9d54136 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/az.yml @@ -0,0 +1,3 @@ +#English strings go here +az: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/be.yml b/modules/gantt/config/locales/crowdin/be.yml new file mode 100644 index 000000000000..aa9df2b1a959 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/be.yml @@ -0,0 +1,3 @@ +#English strings go here +be: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/bg.yml b/modules/gantt/config/locales/crowdin/bg.yml new file mode 100644 index 000000000000..4fb631162083 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/bg.yml @@ -0,0 +1,3 @@ +#English strings go here +bg: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/ca.yml b/modules/gantt/config/locales/crowdin/ca.yml new file mode 100644 index 000000000000..88146c06ee4e --- /dev/null +++ b/modules/gantt/config/locales/crowdin/ca.yml @@ -0,0 +1,3 @@ +#English strings go here +ca: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/ckb-IR.yml b/modules/gantt/config/locales/crowdin/ckb-IR.yml new file mode 100644 index 000000000000..fc1ef30b6f74 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/ckb-IR.yml @@ -0,0 +1,3 @@ +#English strings go here +ckb-IR: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/cs.yml b/modules/gantt/config/locales/crowdin/cs.yml new file mode 100644 index 000000000000..8df84eb2288e --- /dev/null +++ b/modules/gantt/config/locales/crowdin/cs.yml @@ -0,0 +1,3 @@ +#English strings go here +cs: + project_module_gantt: "Ganttův diagram" diff --git a/modules/gantt/config/locales/crowdin/da.yml b/modules/gantt/config/locales/crowdin/da.yml new file mode 100644 index 000000000000..b2ec6ace8e06 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/da.yml @@ -0,0 +1,3 @@ +#English strings go here +da: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/de.yml b/modules/gantt/config/locales/crowdin/de.yml new file mode 100644 index 000000000000..889241668ac8 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/de.yml @@ -0,0 +1,3 @@ +#English strings go here +de: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/el.yml b/modules/gantt/config/locales/crowdin/el.yml new file mode 100644 index 000000000000..e7ce45cd9168 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/el.yml @@ -0,0 +1,3 @@ +#English strings go here +el: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/eo.yml b/modules/gantt/config/locales/crowdin/eo.yml new file mode 100644 index 000000000000..7893b84a130f --- /dev/null +++ b/modules/gantt/config/locales/crowdin/eo.yml @@ -0,0 +1,3 @@ +#English strings go here +eo: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/es.yml b/modules/gantt/config/locales/crowdin/es.yml new file mode 100644 index 000000000000..bdaf6beaae33 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/es.yml @@ -0,0 +1,3 @@ +#English strings go here +es: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/et.yml b/modules/gantt/config/locales/crowdin/et.yml new file mode 100644 index 000000000000..ca922f627b5a --- /dev/null +++ b/modules/gantt/config/locales/crowdin/et.yml @@ -0,0 +1,3 @@ +#English strings go here +et: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/eu.yml b/modules/gantt/config/locales/crowdin/eu.yml new file mode 100644 index 000000000000..bdf7d5a6d5dd --- /dev/null +++ b/modules/gantt/config/locales/crowdin/eu.yml @@ -0,0 +1,3 @@ +#English strings go here +eu: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/fa.yml b/modules/gantt/config/locales/crowdin/fa.yml new file mode 100644 index 000000000000..3836f124ffd8 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/fa.yml @@ -0,0 +1,3 @@ +#English strings go here +fa: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/fi.yml b/modules/gantt/config/locales/crowdin/fi.yml new file mode 100644 index 000000000000..58b39d844437 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/fi.yml @@ -0,0 +1,3 @@ +#English strings go here +fi: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/fil.yml b/modules/gantt/config/locales/crowdin/fil.yml new file mode 100644 index 000000000000..a3f2568aaa26 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/fil.yml @@ -0,0 +1,3 @@ +#English strings go here +fil: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/fr.yml b/modules/gantt/config/locales/crowdin/fr.yml new file mode 100644 index 000000000000..f189a902ba22 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/fr.yml @@ -0,0 +1,3 @@ +#English strings go here +fr: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/he.yml b/modules/gantt/config/locales/crowdin/he.yml new file mode 100644 index 000000000000..384afe2b2bf1 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/he.yml @@ -0,0 +1,3 @@ +#English strings go here +he: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/hi.yml b/modules/gantt/config/locales/crowdin/hi.yml new file mode 100644 index 000000000000..d897e0215258 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/hi.yml @@ -0,0 +1,3 @@ +#English strings go here +hi: + project_module_gantt: "गैन्ट" diff --git a/modules/gantt/config/locales/crowdin/hr.yml b/modules/gantt/config/locales/crowdin/hr.yml new file mode 100644 index 000000000000..0a22a49c4e32 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/hr.yml @@ -0,0 +1,3 @@ +#English strings go here +hr: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/hu.yml b/modules/gantt/config/locales/crowdin/hu.yml new file mode 100644 index 000000000000..1174bd86a67e --- /dev/null +++ b/modules/gantt/config/locales/crowdin/hu.yml @@ -0,0 +1,3 @@ +#English strings go here +hu: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/id.yml b/modules/gantt/config/locales/crowdin/id.yml new file mode 100644 index 000000000000..c1e7d8ee6b09 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/id.yml @@ -0,0 +1,3 @@ +#English strings go here +id: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/it.yml b/modules/gantt/config/locales/crowdin/it.yml new file mode 100644 index 000000000000..6fd0986a4474 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/it.yml @@ -0,0 +1,3 @@ +#English strings go here +it: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/ja.yml b/modules/gantt/config/locales/crowdin/ja.yml new file mode 100644 index 000000000000..55dcf1907d92 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/ja.yml @@ -0,0 +1,3 @@ +#English strings go here +ja: + project_module_gantt: "ガント" diff --git a/modules/gantt/config/locales/crowdin/ka.yml b/modules/gantt/config/locales/crowdin/ka.yml new file mode 100644 index 000000000000..e0855b3495db --- /dev/null +++ b/modules/gantt/config/locales/crowdin/ka.yml @@ -0,0 +1,3 @@ +#English strings go here +ka: + project_module_gantt: "განტი" diff --git a/modules/gantt/config/locales/crowdin/ko.yml b/modules/gantt/config/locales/crowdin/ko.yml new file mode 100644 index 000000000000..15ed0a2838ad --- /dev/null +++ b/modules/gantt/config/locales/crowdin/ko.yml @@ -0,0 +1,3 @@ +#English strings go here +ko: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/lt.yml b/modules/gantt/config/locales/crowdin/lt.yml new file mode 100644 index 000000000000..a5cef2bc4950 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/lt.yml @@ -0,0 +1,3 @@ +#English strings go here +lt: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/lv.yml b/modules/gantt/config/locales/crowdin/lv.yml new file mode 100644 index 000000000000..3a51cb6efcec --- /dev/null +++ b/modules/gantt/config/locales/crowdin/lv.yml @@ -0,0 +1,3 @@ +#English strings go here +lv: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/mn.yml b/modules/gantt/config/locales/crowdin/mn.yml new file mode 100644 index 000000000000..9a5a4f0f6a28 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/mn.yml @@ -0,0 +1,3 @@ +#English strings go here +mn: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/ne.yml b/modules/gantt/config/locales/crowdin/ne.yml new file mode 100644 index 000000000000..06aa855db90e --- /dev/null +++ b/modules/gantt/config/locales/crowdin/ne.yml @@ -0,0 +1,3 @@ +#English strings go here +ne: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/nl.yml b/modules/gantt/config/locales/crowdin/nl.yml new file mode 100644 index 000000000000..e24f28949482 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/nl.yml @@ -0,0 +1,3 @@ +#English strings go here +nl: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/no.yml b/modules/gantt/config/locales/crowdin/no.yml new file mode 100644 index 000000000000..7a8fc5121ffe --- /dev/null +++ b/modules/gantt/config/locales/crowdin/no.yml @@ -0,0 +1,3 @@ +#English strings go here +"no": + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/pl.yml b/modules/gantt/config/locales/crowdin/pl.yml new file mode 100644 index 000000000000..d92c164a49ae --- /dev/null +++ b/modules/gantt/config/locales/crowdin/pl.yml @@ -0,0 +1,3 @@ +#English strings go here +pl: + project_module_gantt: "Wykres Gantta" diff --git a/modules/gantt/config/locales/crowdin/pt.yml b/modules/gantt/config/locales/crowdin/pt.yml new file mode 100644 index 000000000000..883b7466911b --- /dev/null +++ b/modules/gantt/config/locales/crowdin/pt.yml @@ -0,0 +1,3 @@ +#English strings go here +pt: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/ro.yml b/modules/gantt/config/locales/crowdin/ro.yml new file mode 100644 index 000000000000..8b79f74199d3 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/ro.yml @@ -0,0 +1,3 @@ +#English strings go here +ro: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/ru.yml b/modules/gantt/config/locales/crowdin/ru.yml new file mode 100644 index 000000000000..1e113d5a6876 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/ru.yml @@ -0,0 +1,3 @@ +#English strings go here +ru: + project_module_gantt: "Гант" diff --git a/modules/gantt/config/locales/crowdin/rw.yml b/modules/gantt/config/locales/crowdin/rw.yml new file mode 100644 index 000000000000..b6967b21a07d --- /dev/null +++ b/modules/gantt/config/locales/crowdin/rw.yml @@ -0,0 +1,3 @@ +#English strings go here +rw: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/si.yml b/modules/gantt/config/locales/crowdin/si.yml new file mode 100644 index 000000000000..dcef62b22d53 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/si.yml @@ -0,0 +1,3 @@ +#English strings go here +si: + project_module_gantt: "ගැන්ට්" diff --git a/modules/gantt/config/locales/crowdin/sk.yml b/modules/gantt/config/locales/crowdin/sk.yml new file mode 100644 index 000000000000..d1d9b5ca0fbd --- /dev/null +++ b/modules/gantt/config/locales/crowdin/sk.yml @@ -0,0 +1,3 @@ +#English strings go here +sk: + project_module_gantt: "Ganttov graf" diff --git a/modules/gantt/config/locales/crowdin/sl.yml b/modules/gantt/config/locales/crowdin/sl.yml new file mode 100644 index 000000000000..8de19ff650f4 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/sl.yml @@ -0,0 +1,3 @@ +#English strings go here +sl: + project_module_gantt: "Gant" diff --git a/modules/gantt/config/locales/crowdin/sr.yml b/modules/gantt/config/locales/crowdin/sr.yml new file mode 100644 index 000000000000..c8b247e85d66 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/sr.yml @@ -0,0 +1,3 @@ +#English strings go here +sr: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/sv.yml b/modules/gantt/config/locales/crowdin/sv.yml new file mode 100644 index 000000000000..cef5499b5463 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/sv.yml @@ -0,0 +1,3 @@ +#English strings go here +sv: + project_module_gantt: "Gantt-schema" diff --git a/modules/gantt/config/locales/crowdin/th.yml b/modules/gantt/config/locales/crowdin/th.yml new file mode 100644 index 000000000000..5d520dbbb9c4 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/th.yml @@ -0,0 +1,3 @@ +#English strings go here +th: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/tr.yml b/modules/gantt/config/locales/crowdin/tr.yml new file mode 100644 index 000000000000..34e3748081dc --- /dev/null +++ b/modules/gantt/config/locales/crowdin/tr.yml @@ -0,0 +1,3 @@ +#English strings go here +tr: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/locales/crowdin/uk.yml b/modules/gantt/config/locales/crowdin/uk.yml new file mode 100644 index 000000000000..2624799a94f8 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/uk.yml @@ -0,0 +1,3 @@ +#English strings go here +uk: + project_module_gantt: "Таблиця" diff --git a/modules/gantt/config/locales/crowdin/vi.yml b/modules/gantt/config/locales/crowdin/vi.yml new file mode 100644 index 000000000000..75da32406ce7 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/vi.yml @@ -0,0 +1,3 @@ +#English strings go here +vi: + project_module_gantt: "Biểu đồ sự kiện" diff --git a/modules/gantt/config/locales/crowdin/zh-CN.yml b/modules/gantt/config/locales/crowdin/zh-CN.yml new file mode 100644 index 000000000000..7df09b216c45 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/zh-CN.yml @@ -0,0 +1,3 @@ +#English strings go here +zh-CN: + project_module_gantt: "甘特图" diff --git a/modules/gantt/config/locales/crowdin/zh-TW.yml b/modules/gantt/config/locales/crowdin/zh-TW.yml new file mode 100644 index 000000000000..cd112d2b1ba4 --- /dev/null +++ b/modules/gantt/config/locales/crowdin/zh-TW.yml @@ -0,0 +1,3 @@ +#English strings go here +zh-TW: + project_module_gantt: "甘特圖" diff --git a/modules/gantt/config/locales/en.yml b/modules/gantt/config/locales/en.yml new file mode 100644 index 000000000000..13d8dabe726c --- /dev/null +++ b/modules/gantt/config/locales/en.yml @@ -0,0 +1,3 @@ +# English strings go here +en: + project_module_gantt: "Gantt" diff --git a/modules/gantt/config/routes.rb b/modules/gantt/config/routes.rb new file mode 100644 index 000000000000..f6ec732fac9d --- /dev/null +++ b/modules/gantt/config/routes.rb @@ -0,0 +1,21 @@ +OpenProject::Application.routes.draw do + scope 'projects/:project_id', as: 'project' do + resources :gantt, controller: 'gantt/gantt', only: [:index] do + collection do + # states managed by client-side routing on work_package#index + get '(/*state)' => 'gantt/gantt#index', as: '' + get '/create_new' => 'gantt/gantt#index', as: 'new_split' + end + end + end + + resources :gantt, controller: 'gantt/gantt', only: [:index] do + collection do + # states managed by client-side routing on work_package#index + get 'details/*state' => 'gantt/gantt#index', as: :details + + # states managed by client-side (angular) routing on work_package#show + get '/' => 'gantt/gantt#index', as: 'index' + end + end +end diff --git a/modules/gantt/lib/open_project/gantt.rb b/modules/gantt/lib/open_project/gantt.rb new file mode 100644 index 000000000000..d6eba8e7d10d --- /dev/null +++ b/modules/gantt/lib/open_project/gantt.rb @@ -0,0 +1,33 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2024 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +module OpenProject + module Gantt + require 'open_project/gantt/engine' + end +end diff --git a/modules/gantt/lib/open_project/gantt/engine.rb b/modules/gantt/lib/open_project/gantt/engine.rb new file mode 100644 index 000000000000..67a9f292a017 --- /dev/null +++ b/modules/gantt/lib/open_project/gantt/engine.rb @@ -0,0 +1,106 @@ +# -- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2021-2023 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +# ++ + +module OpenProject::Gantt + class Engine < ::Rails::Engine + engine_name :openproject_gantt + + include OpenProject::Plugins::ActsAsOpEngine + + initializer 'gantt.feature_decisions' do + OpenProject::FeatureDecisions.add :show_separate_gantt_module + end + + register 'openproject-gantt', + author_url: 'https://www.openproject.org', + bundled: true, + settings: {} do + Rails.application.reloader.to_prepare do + OpenProject::AccessControl.map do |ac_map| + if OpenProject::FeatureDecisions.show_separate_gantt_module_active? + ac_map.project_module(:gantt, dependencies: :work_package_tracking, order: 95) + end + end + + OpenProject::AccessControl.permission(:view_work_packages).tap do |add| + add.controller_actions << 'gantt/gantt/index' + end + end + + should_render_global_menu_item = Proc.new do + OpenProject::FeatureDecisions.show_separate_gantt_module_active? && + (User.current.logged? || !Setting.login_required?) && + User.current.allowed_in_any_project?(:view_work_packages) + end + + should_render_project_menu = Proc.new do |project| + OpenProject::FeatureDecisions.show_separate_gantt_module_active? && + project.module_enabled?(:gantt) + end + + menu :global_menu, + :gantt, + { controller: '/gantt/gantt', action: 'index', project_id: nil }, + caption: :label_gantt, + after: :work_packages, + icon: 'view-timeline', + if: should_render_global_menu_item + + menu :project_menu, + :gantt, + { controller: '/gantt/gantt', action: 'index' }, + caption: :label_gantt, + after: :work_packages, + if: ->(project) { should_render_project_menu.call(project) }, + icon: 'view-timeline', + html: { + id: 'main-menu-gantt' + } + + menu :project_menu, + :gantt_query_select, + { controller: '/gantt/gantt', action: 'index' }, + parent: :gantt, + partial: 'gantt/gantt/menu', + last: true, + caption: :label_gantt_chart, + if: ->(project) { should_render_project_menu.call(project) } + + menu :top_menu, + :gantt, + { controller: '/gantt/gantt', action: 'index', project_id: nil }, + caption: :label_gantt, + after: :work_packages, + icon: 'view-timeline', + if: should_render_global_menu_item + end + + add_view :Gantt, + contract_strategy: 'Gantt::Views::ContractStrategy' + end +end diff --git a/modules/gantt/lib/openproject-gantt.rb b/modules/gantt/lib/openproject-gantt.rb new file mode 100644 index 000000000000..95933c137e09 --- /dev/null +++ b/modules/gantt/lib/openproject-gantt.rb @@ -0,0 +1 @@ +require 'open_project/gantt' diff --git a/modules/gantt/openproject-gantt.gemspec b/modules/gantt/openproject-gantt.gemspec new file mode 100644 index 000000000000..bf96d10b96c4 --- /dev/null +++ b/modules/gantt/openproject-gantt.gemspec @@ -0,0 +1,12 @@ +Gem::Specification.new do |s| + s.name = 'openproject-gantt' + s.version = '1.0.0' + s.authors = 'OpenProject GmbH' + s.email = 'info@openproject.com' + s.summary = 'OpenProject Gantt' + s.description = 'Provides gantt views' + s.license = 'GPLv3' + + s.files = Dir['{app,config,db,lib}/**/*'] + s.metadata['rubygems_mfa_required'] = 'true' +end diff --git a/modules/gantt/spec/migrations/change_view_of_queries_with_timeline_to_gantt_spec.rb b/modules/gantt/spec/migrations/change_view_of_queries_with_timeline_to_gantt_spec.rb new file mode 100644 index 000000000000..4f8cd7c1f843 --- /dev/null +++ b/modules/gantt/spec/migrations/change_view_of_queries_with_timeline_to_gantt_spec.rb @@ -0,0 +1,95 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2024 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +require 'spec_helper' +require Rails.root.join("db/migrate/20231201085450_change_view_of_queries_with_timeline_to_gantt.rb") + +RSpec.describe ChangeViewOfQueriesWithTimelineToGantt, type: :model do + let!(:wp_query_with_timeline) do + query = create(:query_with_view_work_packages_table) + query.timeline_visible = true + + query.save! + query + end + + let!(:wp_query_without_timeline) do + query = create(:query_with_view_work_packages_table) + query.timeline_visible = false + + query.save! + query + end + + let!(:calendar_query) do + query = create(:query_with_view_work_packages_calendar) + # Doesn't make sense in the calendar but should not be migrated nevertheless + query.timeline_visible = true + + query.save! + query + end + + context 'when migrating up' do + # Silencing migration logs, since we are not interested in that during testing + subject { ActiveRecord::Migration.suppress_messages { described_class.new.up } } + + it "changes the view type for (work package table) queries with enabled timeline" do + expect { subject } + .to change { View.where(query_id: wp_query_with_timeline.id).first.type }.from('work_packages_table').to('gantt') + expect { subject } + .not_to change { View.where(query_id: wp_query_without_timeline.id).first.type } + expect { subject } + .not_to change { View.where(query_id: calendar_query.id).first.type } + end + end + + context 'when migrating down' do + let!(:gantt_query) do + query = create(:query_with_view_gantt) + query.timeline_visible = true + + query.save! + query + end + + # Silencing migration logs, since we are not interested in that during testing + subject { ActiveRecord::Migration.suppress_messages { described_class.new.down } } + + it "changes the view type for (gantt table) queries" do + expect { subject } + .to change { View.where(query_id: gantt_query.id).first.type }.from('gantt').to('work_packages_table') + expect { subject } + .not_to change { View.where(query_id: wp_query_with_timeline.id).first.type } + expect { subject } + .not_to change { View.where(query_id: wp_query_without_timeline.id).first.type } + expect { subject } + .not_to change { View.where(query_id: calendar_query.id).first.type } + end + end +end diff --git a/modules/gantt/spec/routing/gantt_routing_spec.rb b/modules/gantt/spec/routing/gantt_routing_spec.rb new file mode 100644 index 000000000000..d64644bf8c6f --- /dev/null +++ b/modules/gantt/spec/routing/gantt_routing_spec.rb @@ -0,0 +1,71 @@ +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2024 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +require 'spec_helper' + +RSpec.describe 'Gantt routing' do + context 'with :project_id' do + it 'routes to gantt#index' do + expect(subject) + .to route(:get, '/projects/foobar/gantt') + .to(controller: 'gantt/gantt', action: :index, project_id: 'foobar') + end + + it 'connects GET /projects/:project_id/gantt/create_new to gantt#index' do + expect(get('/projects/1/gantt/create_new')) + .to route_to(controller: 'gantt/gantt', + action: 'index', + project_id: '1', + state: 'create_new') + end + + it 'connects GET /projects/:project_id/gantt/details/:id/:state' + + ' to gantt#index' do + expect(get('/projects/1/gantt/details/2/overview')) + .to route_to(controller: 'gantt/gantt', + action: 'index', + project_id: '1', + state: 'details/2/overview') + end + end + + context 'without :project_id' do + it 'routes to gantt#index' do + expect(subject) + .to route(:get, '/gantt') + .to(controller: 'gantt/gantt', action: :index) + end + + it 'connects GET /gantt/details/:state to gantt#index' do + expect(get('/gantt/details/5/overview')) + .to route_to(controller: 'gantt/gantt', + action: 'index', + state: '5/overview') + end + end +end diff --git a/modules/github_integration/app/models/github_check_run.rb b/modules/github_integration/app/models/github_check_run.rb index 1ad285ca0b36..38c10ead37d0 100644 --- a/modules/github_integration/app/models/github_check_run.rb +++ b/modules/github_integration/app/models/github_check_run.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/app/models/github_pull_request.rb b/modules/github_integration/app/models/github_pull_request.rb index de442553b5b5..32c16ae749a4 100644 --- a/modules/github_integration/app/models/github_pull_request.rb +++ b/modules/github_integration/app/models/github_pull_request.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/app/models/github_user.rb b/modules/github_integration/app/models/github_user.rb index 3ca38fd9ad9b..f2580ef6df62 100644 --- a/modules/github_integration/app/models/github_user.rb +++ b/modules/github_integration/app/models/github_user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/app/seeders/common.yml b/modules/github_integration/app/seeders/common.yml index eb8efd520618..a180930b4503 100644 --- a/modules/github_integration/app/seeders/common.yml +++ b/modules/github_integration/app/seeders/common.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/app/workers/cron/clear_old_pull_requests_job.rb b/modules/github_integration/app/workers/cron/clear_old_pull_requests_job.rb index d9297ea5b1c4..f43df184e8e6 100644 --- a/modules/github_integration/app/workers/cron/clear_old_pull_requests_job.rb +++ b/modules/github_integration/app/workers/cron/clear_old_pull_requests_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/config/locales/crowdin/af.yml b/modules/github_integration/config/locales/crowdin/af.yml index 8c16f63dd4bf..bf078ba5074f 100644 --- a/modules/github_integration/config/locales/crowdin/af.yml +++ b/modules/github_integration/config/locales/crowdin/af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/ar.yml b/modules/github_integration/config/locales/crowdin/ar.yml index b4d2d9da0186..1d9a37fda1ff 100644 --- a/modules/github_integration/config/locales/crowdin/ar.yml +++ b/modules/github_integration/config/locales/crowdin/ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/az.yml b/modules/github_integration/config/locales/crowdin/az.yml index e9fae657cf80..39d4f01f4312 100644 --- a/modules/github_integration/config/locales/crowdin/az.yml +++ b/modules/github_integration/config/locales/crowdin/az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/be.yml b/modules/github_integration/config/locales/crowdin/be.yml index 2f1e9a8238a4..ecca59cddb7d 100644 --- a/modules/github_integration/config/locales/crowdin/be.yml +++ b/modules/github_integration/config/locales/crowdin/be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/bg.yml b/modules/github_integration/config/locales/crowdin/bg.yml index 206ce64547da..2951ef2ed5c1 100644 --- a/modules/github_integration/config/locales/crowdin/bg.yml +++ b/modules/github_integration/config/locales/crowdin/bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/ca.yml b/modules/github_integration/config/locales/crowdin/ca.yml index 1952b1c3476d..281de70a9e8c 100644 --- a/modules/github_integration/config/locales/crowdin/ca.yml +++ b/modules/github_integration/config/locales/crowdin/ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/ckb-IR.yml b/modules/github_integration/config/locales/crowdin/ckb-IR.yml index 2e582d816777..a196a2b20966 100644 --- a/modules/github_integration/config/locales/crowdin/ckb-IR.yml +++ b/modules/github_integration/config/locales/crowdin/ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/cs.yml b/modules/github_integration/config/locales/crowdin/cs.yml index 69ce12861a94..623cc8293066 100644 --- a/modules/github_integration/config/locales/crowdin/cs.yml +++ b/modules/github_integration/config/locales/crowdin/cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -24,4 +24,4 @@ cs: name: "OpenProject GitHub Integration" description: "Integrates OpenProject and GitHub for a better workflow" project_module_github: "GitHub" - permission_show_github_content: "Show GitHub content" + permission_show_github_content: "Zobrazit GitHub obsah" diff --git a/modules/github_integration/config/locales/crowdin/da.yml b/modules/github_integration/config/locales/crowdin/da.yml index dc1c7a3cc13d..63535f8c8bff 100644 --- a/modules/github_integration/config/locales/crowdin/da.yml +++ b/modules/github_integration/config/locales/crowdin/da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/de.yml b/modules/github_integration/config/locales/crowdin/de.yml index 167c4ffb5ceb..90e23bd57458 100644 --- a/modules/github_integration/config/locales/crowdin/de.yml +++ b/modules/github_integration/config/locales/crowdin/de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/el.yml b/modules/github_integration/config/locales/crowdin/el.yml index 4ce727f257fb..d0ff03cb836e 100644 --- a/modules/github_integration/config/locales/crowdin/el.yml +++ b/modules/github_integration/config/locales/crowdin/el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/eo.yml b/modules/github_integration/config/locales/crowdin/eo.yml index 93c5313d0a1b..2a3c878fcb6e 100644 --- a/modules/github_integration/config/locales/crowdin/eo.yml +++ b/modules/github_integration/config/locales/crowdin/eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/es.yml b/modules/github_integration/config/locales/crowdin/es.yml index 1573a959fc97..054612a72417 100644 --- a/modules/github_integration/config/locales/crowdin/es.yml +++ b/modules/github_integration/config/locales/crowdin/es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/et.yml b/modules/github_integration/config/locales/crowdin/et.yml index bfe33528bdbc..2f044d80b514 100644 --- a/modules/github_integration/config/locales/crowdin/et.yml +++ b/modules/github_integration/config/locales/crowdin/et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/eu.yml b/modules/github_integration/config/locales/crowdin/eu.yml index 0477651cf3e9..a6fc297c2037 100644 --- a/modules/github_integration/config/locales/crowdin/eu.yml +++ b/modules/github_integration/config/locales/crowdin/eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/fa.yml b/modules/github_integration/config/locales/crowdin/fa.yml index a5bbb7fab0b1..23756ff7fe35 100644 --- a/modules/github_integration/config/locales/crowdin/fa.yml +++ b/modules/github_integration/config/locales/crowdin/fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/fi.yml b/modules/github_integration/config/locales/crowdin/fi.yml index 10812f212021..45427fba8763 100644 --- a/modules/github_integration/config/locales/crowdin/fi.yml +++ b/modules/github_integration/config/locales/crowdin/fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/fil.yml b/modules/github_integration/config/locales/crowdin/fil.yml index 0b9efa90bfdb..53862d954cbe 100644 --- a/modules/github_integration/config/locales/crowdin/fil.yml +++ b/modules/github_integration/config/locales/crowdin/fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/fr.yml b/modules/github_integration/config/locales/crowdin/fr.yml index 9cf6e123a96e..e7756809697a 100644 --- a/modules/github_integration/config/locales/crowdin/fr.yml +++ b/modules/github_integration/config/locales/crowdin/fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/he.yml b/modules/github_integration/config/locales/crowdin/he.yml index c495f826e7d7..b2dc75766e5f 100644 --- a/modules/github_integration/config/locales/crowdin/he.yml +++ b/modules/github_integration/config/locales/crowdin/he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/hi.yml b/modules/github_integration/config/locales/crowdin/hi.yml index cd6af83457a7..c2c206940e38 100644 --- a/modules/github_integration/config/locales/crowdin/hi.yml +++ b/modules/github_integration/config/locales/crowdin/hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/hr.yml b/modules/github_integration/config/locales/crowdin/hr.yml index 64603f9b0784..34ec7803ff4a 100644 --- a/modules/github_integration/config/locales/crowdin/hr.yml +++ b/modules/github_integration/config/locales/crowdin/hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/hu.yml b/modules/github_integration/config/locales/crowdin/hu.yml index f5271eaa3178..e25a58801b7b 100644 --- a/modules/github_integration/config/locales/crowdin/hu.yml +++ b/modules/github_integration/config/locales/crowdin/hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/id.yml b/modules/github_integration/config/locales/crowdin/id.yml index 60cfc993c6ec..f7e8c79d0ac2 100644 --- a/modules/github_integration/config/locales/crowdin/id.yml +++ b/modules/github_integration/config/locales/crowdin/id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/it.yml b/modules/github_integration/config/locales/crowdin/it.yml index c81fca3197be..d2b0ecda8dec 100644 --- a/modules/github_integration/config/locales/crowdin/it.yml +++ b/modules/github_integration/config/locales/crowdin/it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/ja.yml b/modules/github_integration/config/locales/crowdin/ja.yml index d9e293525017..ba104b1a6e78 100644 --- a/modules/github_integration/config/locales/crowdin/ja.yml +++ b/modules/github_integration/config/locales/crowdin/ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-af.yml b/modules/github_integration/config/locales/crowdin/js-af.yml index 2941098091dc..f9d1a52dd646 100644 --- a/modules/github_integration/config/locales/crowdin/js-af.yml +++ b/modules/github_integration/config/locales/crowdin/js-af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-ar.yml b/modules/github_integration/config/locales/crowdin/js-ar.yml index f2b1d2d06e1b..ab342782a5a7 100644 --- a/modules/github_integration/config/locales/crowdin/js-ar.yml +++ b/modules/github_integration/config/locales/crowdin/js-ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-az.yml b/modules/github_integration/config/locales/crowdin/js-az.yml index 0ed98cf8ce11..22d64b21ba70 100644 --- a/modules/github_integration/config/locales/crowdin/js-az.yml +++ b/modules/github_integration/config/locales/crowdin/js-az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-be.yml b/modules/github_integration/config/locales/crowdin/js-be.yml index 9b77d947baa4..5b10c500b5d7 100644 --- a/modules/github_integration/config/locales/crowdin/js-be.yml +++ b/modules/github_integration/config/locales/crowdin/js-be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-bg.yml b/modules/github_integration/config/locales/crowdin/js-bg.yml index c08f89bcca64..fbe46dcbc953 100644 --- a/modules/github_integration/config/locales/crowdin/js-bg.yml +++ b/modules/github_integration/config/locales/crowdin/js-bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-ca.yml b/modules/github_integration/config/locales/crowdin/js-ca.yml index c3aca15688af..873d25ef1642 100644 --- a/modules/github_integration/config/locales/crowdin/js-ca.yml +++ b/modules/github_integration/config/locales/crowdin/js-ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-ckb-IR.yml b/modules/github_integration/config/locales/crowdin/js-ckb-IR.yml index 6a8dd098fd88..1226978dc385 100644 --- a/modules/github_integration/config/locales/crowdin/js-ckb-IR.yml +++ b/modules/github_integration/config/locales/crowdin/js-ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-cs.yml b/modules/github_integration/config/locales/crowdin/js-cs.yml index f09c28f9d572..83002023ea2b 100644 --- a/modules/github_integration/config/locales/crowdin/js-cs.yml +++ b/modules/github_integration/config/locales/crowdin/js-cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-da.yml b/modules/github_integration/config/locales/crowdin/js-da.yml index 654d43571104..d1948e6728e7 100644 --- a/modules/github_integration/config/locales/crowdin/js-da.yml +++ b/modules/github_integration/config/locales/crowdin/js-da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-de.yml b/modules/github_integration/config/locales/crowdin/js-de.yml index f027d9d56042..58d64ffebe34 100644 --- a/modules/github_integration/config/locales/crowdin/js-de.yml +++ b/modules/github_integration/config/locales/crowdin/js-de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-el.yml b/modules/github_integration/config/locales/crowdin/js-el.yml index 347f80080fba..0dbaae8129c1 100644 --- a/modules/github_integration/config/locales/crowdin/js-el.yml +++ b/modules/github_integration/config/locales/crowdin/js-el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-eo.yml b/modules/github_integration/config/locales/crowdin/js-eo.yml index 09b099b601be..49cfc997f007 100644 --- a/modules/github_integration/config/locales/crowdin/js-eo.yml +++ b/modules/github_integration/config/locales/crowdin/js-eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-es.yml b/modules/github_integration/config/locales/crowdin/js-es.yml index 36d8700d86f7..6282254bc5bc 100644 --- a/modules/github_integration/config/locales/crowdin/js-es.yml +++ b/modules/github_integration/config/locales/crowdin/js-es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-et.yml b/modules/github_integration/config/locales/crowdin/js-et.yml index 0d8a0091e234..34166070882f 100644 --- a/modules/github_integration/config/locales/crowdin/js-et.yml +++ b/modules/github_integration/config/locales/crowdin/js-et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-eu.yml b/modules/github_integration/config/locales/crowdin/js-eu.yml index 615a0daa74e0..2063779d38c4 100644 --- a/modules/github_integration/config/locales/crowdin/js-eu.yml +++ b/modules/github_integration/config/locales/crowdin/js-eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-fa.yml b/modules/github_integration/config/locales/crowdin/js-fa.yml index beb681bfff71..b27c7096c777 100644 --- a/modules/github_integration/config/locales/crowdin/js-fa.yml +++ b/modules/github_integration/config/locales/crowdin/js-fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-fi.yml b/modules/github_integration/config/locales/crowdin/js-fi.yml index 62601036b370..d5b4635b844e 100644 --- a/modules/github_integration/config/locales/crowdin/js-fi.yml +++ b/modules/github_integration/config/locales/crowdin/js-fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-fil.yml b/modules/github_integration/config/locales/crowdin/js-fil.yml index b8a778e193f3..71d9bcd45b79 100644 --- a/modules/github_integration/config/locales/crowdin/js-fil.yml +++ b/modules/github_integration/config/locales/crowdin/js-fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-fr.yml b/modules/github_integration/config/locales/crowdin/js-fr.yml index 2f1331cc0cf4..cd5664f124c3 100644 --- a/modules/github_integration/config/locales/crowdin/js-fr.yml +++ b/modules/github_integration/config/locales/crowdin/js-fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-he.yml b/modules/github_integration/config/locales/crowdin/js-he.yml index ca12870099ae..00d83e79d92c 100644 --- a/modules/github_integration/config/locales/crowdin/js-he.yml +++ b/modules/github_integration/config/locales/crowdin/js-he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-hi.yml b/modules/github_integration/config/locales/crowdin/js-hi.yml index 8029d8852a27..7ae5df1ec16f 100644 --- a/modules/github_integration/config/locales/crowdin/js-hi.yml +++ b/modules/github_integration/config/locales/crowdin/js-hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-hr.yml b/modules/github_integration/config/locales/crowdin/js-hr.yml index e8fd7f123a62..6348166e282a 100644 --- a/modules/github_integration/config/locales/crowdin/js-hr.yml +++ b/modules/github_integration/config/locales/crowdin/js-hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-hu.yml b/modules/github_integration/config/locales/crowdin/js-hu.yml index 195bab9d6f6c..9edfb4e5f370 100644 --- a/modules/github_integration/config/locales/crowdin/js-hu.yml +++ b/modules/github_integration/config/locales/crowdin/js-hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-id.yml b/modules/github_integration/config/locales/crowdin/js-id.yml index 18932245aaec..5dd1dce19a88 100644 --- a/modules/github_integration/config/locales/crowdin/js-id.yml +++ b/modules/github_integration/config/locales/crowdin/js-id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-it.yml b/modules/github_integration/config/locales/crowdin/js-it.yml index 26fb4e9461c2..990f1947d839 100644 --- a/modules/github_integration/config/locales/crowdin/js-it.yml +++ b/modules/github_integration/config/locales/crowdin/js-it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-ja.yml b/modules/github_integration/config/locales/crowdin/js-ja.yml index fd259410d4be..58f6613ccf5f 100644 --- a/modules/github_integration/config/locales/crowdin/js-ja.yml +++ b/modules/github_integration/config/locales/crowdin/js-ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-ka.yml b/modules/github_integration/config/locales/crowdin/js-ka.yml index bb8a340ee7c5..b3ca7168a361 100644 --- a/modules/github_integration/config/locales/crowdin/js-ka.yml +++ b/modules/github_integration/config/locales/crowdin/js-ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-ko.yml b/modules/github_integration/config/locales/crowdin/js-ko.yml index 3c16acef1453..c7dd6539b80d 100644 --- a/modules/github_integration/config/locales/crowdin/js-ko.yml +++ b/modules/github_integration/config/locales/crowdin/js-ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-lt.yml b/modules/github_integration/config/locales/crowdin/js-lt.yml index 7e2939432c82..329cf6dfe822 100644 --- a/modules/github_integration/config/locales/crowdin/js-lt.yml +++ b/modules/github_integration/config/locales/crowdin/js-lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-lv.yml b/modules/github_integration/config/locales/crowdin/js-lv.yml index 11808ff4509b..9446f2256f05 100644 --- a/modules/github_integration/config/locales/crowdin/js-lv.yml +++ b/modules/github_integration/config/locales/crowdin/js-lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-mn.yml b/modules/github_integration/config/locales/crowdin/js-mn.yml index 3dbb5058330c..05439365c190 100644 --- a/modules/github_integration/config/locales/crowdin/js-mn.yml +++ b/modules/github_integration/config/locales/crowdin/js-mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-ne.yml b/modules/github_integration/config/locales/crowdin/js-ne.yml index 08983ad2977e..43526fd18bec 100644 --- a/modules/github_integration/config/locales/crowdin/js-ne.yml +++ b/modules/github_integration/config/locales/crowdin/js-ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-nl.yml b/modules/github_integration/config/locales/crowdin/js-nl.yml index 70741085d059..9c4b8abbe6df 100644 --- a/modules/github_integration/config/locales/crowdin/js-nl.yml +++ b/modules/github_integration/config/locales/crowdin/js-nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-no.yml b/modules/github_integration/config/locales/crowdin/js-no.yml index 9dc694c4fb97..ded117b43b09 100644 --- a/modules/github_integration/config/locales/crowdin/js-no.yml +++ b/modules/github_integration/config/locales/crowdin/js-no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-pl.yml b/modules/github_integration/config/locales/crowdin/js-pl.yml index 5c7c2530c7bd..c73723ae0fa0 100644 --- a/modules/github_integration/config/locales/crowdin/js-pl.yml +++ b/modules/github_integration/config/locales/crowdin/js-pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-pt.yml b/modules/github_integration/config/locales/crowdin/js-pt.yml index 661de07d69bb..cc5634c62aaa 100644 --- a/modules/github_integration/config/locales/crowdin/js-pt.yml +++ b/modules/github_integration/config/locales/crowdin/js-pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-ro.yml b/modules/github_integration/config/locales/crowdin/js-ro.yml index 860c518e4eaa..3eb76ec9a848 100644 --- a/modules/github_integration/config/locales/crowdin/js-ro.yml +++ b/modules/github_integration/config/locales/crowdin/js-ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-ru.yml b/modules/github_integration/config/locales/crowdin/js-ru.yml index 20bad94e2bda..8f82b01901ef 100644 --- a/modules/github_integration/config/locales/crowdin/js-ru.yml +++ b/modules/github_integration/config/locales/crowdin/js-ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-rw.yml b/modules/github_integration/config/locales/crowdin/js-rw.yml index 839f46636186..c48329f651bf 100644 --- a/modules/github_integration/config/locales/crowdin/js-rw.yml +++ b/modules/github_integration/config/locales/crowdin/js-rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-si.yml b/modules/github_integration/config/locales/crowdin/js-si.yml index 3500d99e418f..eaf662c1c900 100644 --- a/modules/github_integration/config/locales/crowdin/js-si.yml +++ b/modules/github_integration/config/locales/crowdin/js-si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-sk.yml b/modules/github_integration/config/locales/crowdin/js-sk.yml index 89cc5f7866e5..42fc57723b4b 100644 --- a/modules/github_integration/config/locales/crowdin/js-sk.yml +++ b/modules/github_integration/config/locales/crowdin/js-sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-sl.yml b/modules/github_integration/config/locales/crowdin/js-sl.yml index a4a191d9374d..64380eb639ce 100644 --- a/modules/github_integration/config/locales/crowdin/js-sl.yml +++ b/modules/github_integration/config/locales/crowdin/js-sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-sr.yml b/modules/github_integration/config/locales/crowdin/js-sr.yml index f051128ecfa1..c07bec6613df 100644 --- a/modules/github_integration/config/locales/crowdin/js-sr.yml +++ b/modules/github_integration/config/locales/crowdin/js-sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-sv.yml b/modules/github_integration/config/locales/crowdin/js-sv.yml index 69f5e049fcb6..0a9ff6962dd6 100644 --- a/modules/github_integration/config/locales/crowdin/js-sv.yml +++ b/modules/github_integration/config/locales/crowdin/js-sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-th.yml b/modules/github_integration/config/locales/crowdin/js-th.yml index c544a497f8e2..08b884e7f3b2 100644 --- a/modules/github_integration/config/locales/crowdin/js-th.yml +++ b/modules/github_integration/config/locales/crowdin/js-th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-tr.yml b/modules/github_integration/config/locales/crowdin/js-tr.yml index 5b5778b6680a..f8cde8e3ee5f 100644 --- a/modules/github_integration/config/locales/crowdin/js-tr.yml +++ b/modules/github_integration/config/locales/crowdin/js-tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-uk.yml b/modules/github_integration/config/locales/crowdin/js-uk.yml index 3529ee267cb0..26f55370b075 100644 --- a/modules/github_integration/config/locales/crowdin/js-uk.yml +++ b/modules/github_integration/config/locales/crowdin/js-uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-vi.yml b/modules/github_integration/config/locales/crowdin/js-vi.yml index 2a20340278eb..be65badc8684 100644 --- a/modules/github_integration/config/locales/crowdin/js-vi.yml +++ b/modules/github_integration/config/locales/crowdin/js-vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-zh-CN.yml b/modules/github_integration/config/locales/crowdin/js-zh-CN.yml index c4cc58e915f6..9f22732f577f 100644 --- a/modules/github_integration/config/locales/crowdin/js-zh-CN.yml +++ b/modules/github_integration/config/locales/crowdin/js-zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/js-zh-TW.yml b/modules/github_integration/config/locales/crowdin/js-zh-TW.yml index 33d7afe2cf8a..fb8b541d027c 100644 --- a/modules/github_integration/config/locales/crowdin/js-zh-TW.yml +++ b/modules/github_integration/config/locales/crowdin/js-zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/ka.yml b/modules/github_integration/config/locales/crowdin/ka.yml index 7279847c8a94..853ae6c0e2e7 100644 --- a/modules/github_integration/config/locales/crowdin/ka.yml +++ b/modules/github_integration/config/locales/crowdin/ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/ko.yml b/modules/github_integration/config/locales/crowdin/ko.yml index 770cccd2755e..2bad6ba92add 100644 --- a/modules/github_integration/config/locales/crowdin/ko.yml +++ b/modules/github_integration/config/locales/crowdin/ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/lt.yml b/modules/github_integration/config/locales/crowdin/lt.yml index ab64eadfbaf6..712dcedd15d5 100644 --- a/modules/github_integration/config/locales/crowdin/lt.yml +++ b/modules/github_integration/config/locales/crowdin/lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/lv.yml b/modules/github_integration/config/locales/crowdin/lv.yml index a0166c84c8a2..2dce3eb5dae2 100644 --- a/modules/github_integration/config/locales/crowdin/lv.yml +++ b/modules/github_integration/config/locales/crowdin/lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/mn.yml b/modules/github_integration/config/locales/crowdin/mn.yml index 914b68fb43ed..6750905a8175 100644 --- a/modules/github_integration/config/locales/crowdin/mn.yml +++ b/modules/github_integration/config/locales/crowdin/mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/ne.yml b/modules/github_integration/config/locales/crowdin/ne.yml index f401fd5d4822..8933e430608a 100644 --- a/modules/github_integration/config/locales/crowdin/ne.yml +++ b/modules/github_integration/config/locales/crowdin/ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/nl.yml b/modules/github_integration/config/locales/crowdin/nl.yml index c45550103134..7f46d226eed6 100644 --- a/modules/github_integration/config/locales/crowdin/nl.yml +++ b/modules/github_integration/config/locales/crowdin/nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/no.yml b/modules/github_integration/config/locales/crowdin/no.yml index ed708a2c4a8a..3041c8dc9939 100644 --- a/modules/github_integration/config/locales/crowdin/no.yml +++ b/modules/github_integration/config/locales/crowdin/no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/pl.yml b/modules/github_integration/config/locales/crowdin/pl.yml index 6b5f680661ee..366ff3450d18 100644 --- a/modules/github_integration/config/locales/crowdin/pl.yml +++ b/modules/github_integration/config/locales/crowdin/pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/pt.yml b/modules/github_integration/config/locales/crowdin/pt.yml index 5c7258d08c76..f793bb60845f 100644 --- a/modules/github_integration/config/locales/crowdin/pt.yml +++ b/modules/github_integration/config/locales/crowdin/pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/ro.yml b/modules/github_integration/config/locales/crowdin/ro.yml index fb0e07ef26f8..322fb50887f2 100644 --- a/modules/github_integration/config/locales/crowdin/ro.yml +++ b/modules/github_integration/config/locales/crowdin/ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/ru.yml b/modules/github_integration/config/locales/crowdin/ru.yml index 0f56884a93e8..222a47827d9c 100644 --- a/modules/github_integration/config/locales/crowdin/ru.yml +++ b/modules/github_integration/config/locales/crowdin/ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/rw.yml b/modules/github_integration/config/locales/crowdin/rw.yml index 5b36598b76e2..a42bca3db70d 100644 --- a/modules/github_integration/config/locales/crowdin/rw.yml +++ b/modules/github_integration/config/locales/crowdin/rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/si.yml b/modules/github_integration/config/locales/crowdin/si.yml index e16f033fd7de..f06ef5264ae2 100644 --- a/modules/github_integration/config/locales/crowdin/si.yml +++ b/modules/github_integration/config/locales/crowdin/si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/sk.yml b/modules/github_integration/config/locales/crowdin/sk.yml index db0b333abb42..833ddae134c3 100644 --- a/modules/github_integration/config/locales/crowdin/sk.yml +++ b/modules/github_integration/config/locales/crowdin/sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/sl.yml b/modules/github_integration/config/locales/crowdin/sl.yml index bdeeb597b82a..483112f142f5 100644 --- a/modules/github_integration/config/locales/crowdin/sl.yml +++ b/modules/github_integration/config/locales/crowdin/sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/sr.yml b/modules/github_integration/config/locales/crowdin/sr.yml index 445011aea021..3cf9eed05324 100644 --- a/modules/github_integration/config/locales/crowdin/sr.yml +++ b/modules/github_integration/config/locales/crowdin/sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/sv.yml b/modules/github_integration/config/locales/crowdin/sv.yml index e4ff0a7c675f..95999c5cf523 100644 --- a/modules/github_integration/config/locales/crowdin/sv.yml +++ b/modules/github_integration/config/locales/crowdin/sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/th.yml b/modules/github_integration/config/locales/crowdin/th.yml index 5eb9cc7054af..fb54c5c421b4 100644 --- a/modules/github_integration/config/locales/crowdin/th.yml +++ b/modules/github_integration/config/locales/crowdin/th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/tr.yml b/modules/github_integration/config/locales/crowdin/tr.yml index 7da8f60de266..55573af1443c 100644 --- a/modules/github_integration/config/locales/crowdin/tr.yml +++ b/modules/github_integration/config/locales/crowdin/tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/uk.yml b/modules/github_integration/config/locales/crowdin/uk.yml index 1b29203dfcfb..75c9840641e9 100644 --- a/modules/github_integration/config/locales/crowdin/uk.yml +++ b/modules/github_integration/config/locales/crowdin/uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/vi.yml b/modules/github_integration/config/locales/crowdin/vi.yml index aab43371e41d..0127650d8340 100644 --- a/modules/github_integration/config/locales/crowdin/vi.yml +++ b/modules/github_integration/config/locales/crowdin/vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/zh-CN.yml b/modules/github_integration/config/locales/crowdin/zh-CN.yml index 3202bebae89a..a37088622f53 100644 --- a/modules/github_integration/config/locales/crowdin/zh-CN.yml +++ b/modules/github_integration/config/locales/crowdin/zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/crowdin/zh-TW.yml b/modules/github_integration/config/locales/crowdin/zh-TW.yml index ac08e2ea88ae..8884c9b1e216 100644 --- a/modules/github_integration/config/locales/crowdin/zh-TW.yml +++ b/modules/github_integration/config/locales/crowdin/zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/github_integration/config/locales/de.yml b/modules/github_integration/config/locales/de.yml index 5fe9a76969ab..f956d45c787a 100644 --- a/modules/github_integration/config/locales/de.yml +++ b/modules/github_integration/config/locales/de.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/config/locales/en.yml b/modules/github_integration/config/locales/en.yml index 46cffdde4e1b..8b5a2e3e6dcf 100644 --- a/modules/github_integration/config/locales/en.yml +++ b/modules/github_integration/config/locales/en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/config/locales/js-en.yml b/modules/github_integration/config/locales/js-en.yml index 7502b8836042..0c263f471a6e 100644 --- a/modules/github_integration/config/locales/js-en.yml +++ b/modules/github_integration/config/locales/js-en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/db/migrate/20210407110000_github_integration_models.rb b/modules/github_integration/db/migrate/20210407110000_github_integration_models.rb index 19141f476335..cc7367112505 100644 --- a/modules/github_integration/db/migrate/20210407110000_github_integration_models.rb +++ b/modules/github_integration/db/migrate/20210407110000_github_integration_models.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/db/migrate/20230316080525_add_repository_html_url.rb b/modules/github_integration/db/migrate/20230316080525_add_repository_html_url.rb index 788d864c8443..676164791b07 100644 --- a/modules/github_integration/db/migrate/20230316080525_add_repository_html_url.rb +++ b/modules/github_integration/db/migrate/20230316080525_add_repository_html_url.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/git-actions-menu/git-actions-menu.component.ts b/modules/github_integration/frontend/module/git-actions-menu/git-actions-menu.component.ts index 4445098786b6..de11aa900341 100644 --- a/modules/github_integration/frontend/module/git-actions-menu/git-actions-menu.component.ts +++ b/modules/github_integration/frontend/module/git-actions-menu/git-actions-menu.component.ts @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/git-actions-menu/git-actions-menu.directive.ts b/modules/github_integration/frontend/module/git-actions-menu/git-actions-menu.directive.ts index b7112ae2ab53..91048c5cc8f5 100644 --- a/modules/github_integration/frontend/module/git-actions-menu/git-actions-menu.directive.ts +++ b/modules/github_integration/frontend/module/git-actions-menu/git-actions-menu.directive.ts @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/git-actions/git-actions.service.spec.ts b/modules/github_integration/frontend/module/git-actions/git-actions.service.spec.ts index f1b387067681..be632bdcea33 100644 --- a/modules/github_integration/frontend/module/git-actions/git-actions.service.spec.ts +++ b/modules/github_integration/frontend/module/git-actions/git-actions.service.spec.ts @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/git-actions/git-actions.service.ts b/modules/github_integration/frontend/module/git-actions/git-actions.service.ts index 5bd8a60422a0..9abda72754e8 100644 --- a/modules/github_integration/frontend/module/git-actions/git-actions.service.ts +++ b/modules/github_integration/frontend/module/git-actions/git-actions.service.ts @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/github-tab/github-tab.component.ts b/modules/github_integration/frontend/module/github-tab/github-tab.component.ts index 313981e86f3a..bd955932da72 100644 --- a/modules/github_integration/frontend/module/github-tab/github-tab.component.ts +++ b/modules/github_integration/frontend/module/github-tab/github-tab.component.ts @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/main.ts b/modules/github_integration/frontend/module/main.ts index 7d8f937e64a0..705fd88960e2 100644 --- a/modules/github_integration/frontend/module/main.ts +++ b/modules/github_integration/frontend/module/main.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/pull-request/pull-request-macro.component.sass b/modules/github_integration/frontend/module/pull-request/pull-request-macro.component.sass index b28864392807..a86ef51bfb70 100644 --- a/modules/github_integration/frontend/module/pull-request/pull-request-macro.component.sass +++ b/modules/github_integration/frontend/module/pull-request/pull-request-macro.component.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/pull-request/pull-request-macro.component.ts b/modules/github_integration/frontend/module/pull-request/pull-request-macro.component.ts index 254246f9cbc1..20721226b83d 100644 --- a/modules/github_integration/frontend/module/pull-request/pull-request-macro.component.ts +++ b/modules/github_integration/frontend/module/pull-request/pull-request-macro.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/pull-request/pull-request-state.component.sass b/modules/github_integration/frontend/module/pull-request/pull-request-state.component.sass index 73ded9aedc2d..80af28bde1dd 100644 --- a/modules/github_integration/frontend/module/pull-request/pull-request-state.component.sass +++ b/modules/github_integration/frontend/module/pull-request/pull-request-state.component.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/pull-request/pull-request-state.component.ts b/modules/github_integration/frontend/module/pull-request/pull-request-state.component.ts index 500add8ce8cb..387a2dc378d1 100644 --- a/modules/github_integration/frontend/module/pull-request/pull-request-state.component.ts +++ b/modules/github_integration/frontend/module/pull-request/pull-request-state.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/pull-request/pull-request.component.sass b/modules/github_integration/frontend/module/pull-request/pull-request.component.sass index 5978ec3c4530..15fe43d4183c 100644 --- a/modules/github_integration/frontend/module/pull-request/pull-request.component.sass +++ b/modules/github_integration/frontend/module/pull-request/pull-request.component.sass @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/pull-request/pull-request.component.ts b/modules/github_integration/frontend/module/pull-request/pull-request.component.ts index cfaa782077e6..ecc70c8ec87a 100644 --- a/modules/github_integration/frontend/module/pull-request/pull-request.component.ts +++ b/modules/github_integration/frontend/module/pull-request/pull-request.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/state/github-pull-request.service.ts b/modules/github_integration/frontend/module/state/github-pull-request.service.ts index 4529f1e74f32..e3409da61e0e 100644 --- a/modules/github_integration/frontend/module/state/github-pull-request.service.ts +++ b/modules/github_integration/frontend/module/state/github-pull-request.service.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/tab-header/styles/tab-header.sass b/modules/github_integration/frontend/module/tab-header/styles/tab-header.sass index d7427712b3b0..0f80e7171fe4 100644 --- a/modules/github_integration/frontend/module/tab-header/styles/tab-header.sass +++ b/modules/github_integration/frontend/module/tab-header/styles/tab-header.sass @@ -1,6 +1,6 @@ /*-- copyright * OpenProject is an open source project management software. - * Copyright (C) 2012-2023 the OpenProject GmbH + * Copyright (C) 2012-2024 the OpenProject GmbH * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/tab-header/tab-header.component.ts b/modules/github_integration/frontend/module/tab-header/tab-header.component.ts index 5b4d81526c94..0ed92d3da66e 100644 --- a/modules/github_integration/frontend/module/tab-header/tab-header.component.ts +++ b/modules/github_integration/frontend/module/tab-header/tab-header.component.ts @@ -1,6 +1,6 @@ //-- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/frontend/module/tab-prs/tab-prs.component.ts b/modules/github_integration/frontend/module/tab-prs/tab-prs.component.ts index bc1ef8fc3dc9..85866981a61a 100644 --- a/modules/github_integration/frontend/module/tab-prs/tab-prs.component.ts +++ b/modules/github_integration/frontend/module/tab-prs/tab-prs.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/api/v3/github_pull_requests/github_check_run_representer.rb b/modules/github_integration/lib/api/v3/github_pull_requests/github_check_run_representer.rb index e84b4208ccb8..3b37b8856f6f 100644 --- a/modules/github_integration/lib/api/v3/github_pull_requests/github_check_run_representer.rb +++ b/modules/github_integration/lib/api/v3/github_pull_requests/github_check_run_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_request_collection_representer.rb b/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_request_collection_representer.rb index 7bca6de99bf4..a89a0e054747 100644 --- a/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_request_collection_representer.rb +++ b/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_request_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_request_representer.rb b/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_request_representer.rb index 9f0fa49f9a1d..dd1443aa749a 100644 --- a/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_request_representer.rb +++ b/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_request_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_requests_api.rb b/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_requests_api.rb index 2fd086c51546..ced6c95cca5e 100644 --- a/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_requests_api.rb +++ b/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_requests_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_requests_by_work_package_api.rb b/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_requests_by_work_package_api.rb index 7839e45b81a4..0f1d697363f5 100644 --- a/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_requests_by_work_package_api.rb +++ b/modules/github_integration/lib/api/v3/github_pull_requests/github_pull_requests_by_work_package_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/api/v3/github_pull_requests/github_user_representer.rb b/modules/github_integration/lib/api/v3/github_pull_requests/github_user_representer.rb index edfb9e6c5b18..8adf219b7be3 100644 --- a/modules/github_integration/lib/api/v3/github_pull_requests/github_user_representer.rb +++ b/modules/github_integration/lib/api/v3/github_pull_requests/github_user_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/open_project/github_integration.rb b/modules/github_integration/lib/open_project/github_integration.rb index 8057d51f8356..6418f49ac2e7 100644 --- a/modules/github_integration/lib/open_project/github_integration.rb +++ b/modules/github_integration/lib/open_project/github_integration.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/open_project/github_integration/engine.rb b/modules/github_integration/lib/open_project/github_integration/engine.rb index d25aabe1e84e..baede67326cb 100644 --- a/modules/github_integration/lib/open_project/github_integration/engine.rb +++ b/modules/github_integration/lib/open_project/github_integration/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/open_project/github_integration/hook_handler.rb b/modules/github_integration/lib/open_project/github_integration/hook_handler.rb index 1155a1de8be6..4a70fbfd7315 100644 --- a/modules/github_integration/lib/open_project/github_integration/hook_handler.rb +++ b/modules/github_integration/lib/open_project/github_integration/hook_handler.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -55,7 +55,8 @@ def process(_hook, request, params, user) 'github_event' => event_type, 'github_delivery' => event_delivery) - OpenProject::Notifications.send("github.#{event_type}", payload) + event_name = "github.#{event_type}" + OpenProject::Notifications.send(event_name, payload) 200 end diff --git a/modules/github_integration/lib/open_project/github_integration/notification_handler.rb b/modules/github_integration/lib/open_project/github_integration/notification_handler.rb index d70a2d432a44..8efd1e5a51a3 100644 --- a/modules/github_integration/lib/open_project/github_integration/notification_handler.rb +++ b/modules/github_integration/lib/open_project/github_integration/notification_handler.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,9 +26,9 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require_relative './notification_handler/helper' -require_relative './notification_handler/issue_comment' -require_relative './notification_handler/pull_request' +require_relative 'notification_handler/helper' +require_relative 'notification_handler/issue_comment' +require_relative 'notification_handler/pull_request' module OpenProject::GithubIntegration ## diff --git a/modules/github_integration/lib/open_project/github_integration/notification_handler/check_run.rb b/modules/github_integration/lib/open_project/github_integration/notification_handler/check_run.rb index cf703ba566d1..f1be1b910a81 100644 --- a/modules/github_integration/lib/open_project/github_integration/notification_handler/check_run.rb +++ b/modules/github_integration/lib/open_project/github_integration/notification_handler/check_run.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/open_project/github_integration/notification_handler/helper.rb b/modules/github_integration/lib/open_project/github_integration/notification_handler/helper.rb index df00d4379a60..e0b75382136a 100644 --- a/modules/github_integration/lib/open_project/github_integration/notification_handler/helper.rb +++ b/modules/github_integration/lib/open_project/github_integration/notification_handler/helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/open_project/github_integration/notification_handler/issue_comment.rb b/modules/github_integration/lib/open_project/github_integration/notification_handler/issue_comment.rb index 0220b6a80021..19d4f0e8c4cf 100644 --- a/modules/github_integration/lib/open_project/github_integration/notification_handler/issue_comment.rb +++ b/modules/github_integration/lib/open_project/github_integration/notification_handler/issue_comment.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/open_project/github_integration/notification_handler/pull_request.rb b/modules/github_integration/lib/open_project/github_integration/notification_handler/pull_request.rb index 708811e721d8..efc162d3733e 100644 --- a/modules/github_integration/lib/open_project/github_integration/notification_handler/pull_request.rb +++ b/modules/github_integration/lib/open_project/github_integration/notification_handler/pull_request.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/open_project/github_integration/services.rb b/modules/github_integration/lib/open_project/github_integration/services.rb index 588a780b3b6b..edecc0f94e13 100644 --- a/modules/github_integration/lib/open_project/github_integration/services.rb +++ b/modules/github_integration/lib/open_project/github_integration/services.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,6 +26,6 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require_relative './services/upsert_check_run' -require_relative './services/upsert_github_user' -require_relative './services/upsert_pull_request' +require_relative 'services/upsert_check_run' +require_relative 'services/upsert_github_user' +require_relative 'services/upsert_pull_request' diff --git a/modules/github_integration/lib/open_project/github_integration/services/upsert_check_run.rb b/modules/github_integration/lib/open_project/github_integration/services/upsert_check_run.rb index c5b360a5c5d6..ed9365b6876e 100644 --- a/modules/github_integration/lib/open_project/github_integration/services/upsert_check_run.rb +++ b/modules/github_integration/lib/open_project/github_integration/services/upsert_check_run.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/open_project/github_integration/services/upsert_github_user.rb b/modules/github_integration/lib/open_project/github_integration/services/upsert_github_user.rb index f00bb4b87446..e473dc205091 100644 --- a/modules/github_integration/lib/open_project/github_integration/services/upsert_github_user.rb +++ b/modules/github_integration/lib/open_project/github_integration/services/upsert_github_user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/open_project/github_integration/services/upsert_partial_pull_request.rb b/modules/github_integration/lib/open_project/github_integration/services/upsert_partial_pull_request.rb index c74b217b8822..826a57a76a7e 100644 --- a/modules/github_integration/lib/open_project/github_integration/services/upsert_partial_pull_request.rb +++ b/modules/github_integration/lib/open_project/github_integration/services/upsert_partial_pull_request.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/open_project/github_integration/services/upsert_pull_request.rb b/modules/github_integration/lib/open_project/github_integration/services/upsert_pull_request.rb index 89ed6dad3a85..cca0d4d20277 100644 --- a/modules/github_integration/lib/open_project/github_integration/services/upsert_pull_request.rb +++ b/modules/github_integration/lib/open_project/github_integration/services/upsert_pull_request.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/lib/openproject-github_integration.rb b/modules/github_integration/lib/openproject-github_integration.rb index b18a86518115..21f70ed8aa7a 100644 --- a/modules/github_integration/lib/openproject-github_integration.rb +++ b/modules/github_integration/lib/openproject-github_integration.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/factories/github_check_run_factory.rb b/modules/github_integration/spec/factories/github_check_run_factory.rb index f4a822e49143..aa32b6d84494 100644 --- a/modules/github_integration/spec/factories/github_check_run_factory.rb +++ b/modules/github_integration/spec/factories/github_check_run_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/factories/github_pull_request_factory.rb b/modules/github_integration/spec/factories/github_pull_request_factory.rb index b1764404392c..624f2a722137 100644 --- a/modules/github_integration/spec/factories/github_pull_request_factory.rb +++ b/modules/github_integration/spec/factories/github_pull_request_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/factories/github_user_factory.rb b/modules/github_integration/spec/factories/github_user_factory.rb index 073466cefb34..fdb894cdb042 100644 --- a/modules/github_integration/spec/factories/github_user_factory.rb +++ b/modules/github_integration/spec/factories/github_user_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/features/work_package_activity_spec.rb b/modules/github_integration/spec/features/work_package_activity_spec.rb index df38f3f00955..108889c1cdd0 100644 --- a/modules/github_integration/spec/features/work_package_activity_spec.rb +++ b/modules/github_integration/spec/features/work_package_activity_spec.rb @@ -114,7 +114,7 @@ def trigger_pull_request_action github_user_link: pull_request_merging_user.github_login)} GITHUB_MERGE_COMMENT - expect(page).to have_selector('.user-comment > .message', text: expected_merge_comment) + expect(page).to have_css('.user-comment > .message', text: expected_merge_comment) end end end @@ -148,7 +148,7 @@ def trigger_pull_request_action github_user_link: pull_request_author.github_login)} GITHUB_REFERENCED_COMMENT - expect(page).to have_selector('.user-comment > .message', text: expected_referenced_comment) + expect(page).to have_css('.user-comment > .message', text: expected_referenced_comment) end end end @@ -182,7 +182,7 @@ def trigger_pull_request_action github_user_link: pull_request_author.github_login)} GITHUB_READY_FOR_REVIEW_COMMENT - expect(page).to have_selector('.user-comment > .message', text: expected_action_comment) + expect(page).to have_css('.user-comment > .message', text: expected_action_comment) end end end diff --git a/modules/github_integration/spec/features/work_package_github_tab_spec.rb b/modules/github_integration/spec/features/work_package_github_tab_spec.rb index 36c67b275e43..d035f53baaab 100644 --- a/modules/github_integration/spec/features/work_package_github_tab_spec.rb +++ b/modules/github_integration/spec/features/work_package_github_tab_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ require 'spec_helper' require_relative '../support/pages/work_package_github_tab' -RSpec.describe 'Open the GitHub tab', js: true do +RSpec.describe 'Open the GitHub tab', :js do let(:user) do create(:user, member_with_roles: { project => role }) diff --git a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_check_run_representer_spec.rb b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_check_run_representer_spec.rb index defe5c6a76bb..a72c8c67a1cd 100644 --- a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_check_run_representer_spec.rb +++ b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_check_run_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_pull_request_representer_spec.rb b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_pull_request_representer_spec.rb index 687e1dd57933..0d2840056b78 100644 --- a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_pull_request_representer_spec.rb +++ b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_pull_request_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_user_representer_spec.rb b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_user_representer_spec.rb index 75837142dcaa..639d66b0dd7e 100644 --- a/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_user_representer_spec.rb +++ b/modules/github_integration/spec/lib/api/v3/github_pull_requests/github_user_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_integration_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_integration_spec.rb index 9fbec30a9b40..109e0c5f0ee1 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_integration_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_integration_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_spec.rb index cf9885a5bfd6..5618c2846e57 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/hook_handler_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/check_run_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/check_run_spec.rb index 4815082b6d94..2dcbf8f43503 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/check_run_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/check_run_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/helper_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/helper_spec.rb index 2beaad973626..f15d26e1db91 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/helper_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/helper_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/issue_comment_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/issue_comment_spec.rb index e9da0b94bf3b..c37347687531 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/issue_comment_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/issue_comment_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -95,7 +95,7 @@ expect(received_payload.to_h) .to eql payload expect(work_packages) - .to match_array [work_package] + .to contain_exactly(work_package) end end end diff --git a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/pull_request_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/pull_request_spec.rb index 5d18abb143b1..ec04497a1715 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/pull_request_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler/pull_request_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler_spec.rb index effc85ff833d..d84ddb1104ff 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/notification_handler_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/notification_handler_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_check_run_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_check_run_spec.rb index 5f9c6a0cad11..c3d48dafaa03 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_check_run_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_check_run_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_github_user_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_github_user_spec.rb index 7542197c6e2d..d7111f9fcf53 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_github_user_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_github_user_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_partial_pull_request_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_partial_pull_request_spec.rb index a1d89f8b54c7..4fcfb9ddfbd6 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_partial_pull_request_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_partial_pull_request_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_pull_request_spec.rb b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_pull_request_spec.rb index f3a6047c72bf..2c6afed38fa3 100644 --- a/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_pull_request_spec.rb +++ b/modules/github_integration/spec/lib/open_project/github_integration/services/upsert_pull_request_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/models/github_check_run_spec.rb b/modules/github_integration/spec/models/github_check_run_spec.rb index 8d96ccaec4f7..ae5883b7e059 100644 --- a/modules/github_integration/spec/models/github_check_run_spec.rb +++ b/modules/github_integration/spec/models/github_check_run_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/models/github_pull_request_spec.rb b/modules/github_integration/spec/models/github_pull_request_spec.rb index 8ce395da6f6a..f8da27d15658 100644 --- a/modules/github_integration/spec/models/github_pull_request_spec.rb +++ b/modules/github_integration/spec/models/github_pull_request_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -71,7 +71,7 @@ before { pull_request } - it { is_expected.to match_array([pull_request]) } + it { is_expected.to contain_exactly(pull_request) } context 'when the pr is linked to a work_package' do let(:work_packages) { create_list(:work_package, 1) } diff --git a/modules/github_integration/spec/models/github_user_spec.rb b/modules/github_integration/spec/models/github_user_spec.rb index 8b041e15dff4..57616c4ddaf6 100644 --- a/modules/github_integration/spec/models/github_user_spec.rb +++ b/modules/github_integration/spec/models/github_user_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/spec_helper.rb b/modules/github_integration/spec/spec_helper.rb index 59b758651fc7..11d3b4668f94 100644 --- a/modules/github_integration/spec/spec_helper.rb +++ b/modules/github_integration/spec/spec_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/support/pages/work_package_github_tab.rb b/modules/github_integration/spec/support/pages/work_package_github_tab.rb index 7c677dabb3a7..d4657329b7bd 100644 --- a/modules/github_integration/spec/support/pages/work_package_github_tab.rb +++ b/modules/github_integration/spec/support/pages/work_package_github_tab.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -56,7 +56,7 @@ def paste_clipboard_content end def expect_tab_not_present - expect(page).not_to have_selector('.op-tab-row--link', text: 'GITHUB') + expect(page).to have_no_css('.op-tab-row--link', text: 'GITHUB') end private diff --git a/modules/github_integration/spec/support/webhook_fixture_helpers.rb b/modules/github_integration/spec/support/webhook_fixture_helpers.rb index a4e7a62c778b..bea8c36b3eb2 100644 --- a/modules/github_integration/spec/support/webhook_fixture_helpers.rb +++ b/modules/github_integration/spec/support/webhook_fixture_helpers.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/github_integration/spec/workers/cron/clear_old_pull_requests_job_spec.rb b/modules/github_integration/spec/workers/cron/clear_old_pull_requests_job_spec.rb index 5a512a4139f2..beb5cc6fbbd2 100644 --- a/modules/github_integration/spec/workers/cron/clear_old_pull_requests_job_spec.rb +++ b/modules/github_integration/spec/workers/cron/clear_old_pull_requests_job_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -48,6 +48,6 @@ expect { job.perform }.to change(GithubPullRequest, :count).by(-1).and(change(GithubCheckRun, :count).by(-1)) expect(GithubPullRequest.all) - .to match_array([pull_request_with_work_package]) + .to contain_exactly(pull_request_with_work_package) end end diff --git a/modules/grids/app/contracts/grids/base_contract.rb b/modules/grids/app/contracts/grids/base_contract.rb index d90e0505a36b..428daaf4a342 100644 --- a/modules/grids/app/contracts/grids/base_contract.rb +++ b/modules/grids/app/contracts/grids/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/contracts/grids/create_contract.rb b/modules/grids/app/contracts/grids/create_contract.rb index 11276b5b7ac6..86da86d4d3a6 100644 --- a/modules/grids/app/contracts/grids/create_contract.rb +++ b/modules/grids/app/contracts/grids/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/contracts/grids/delete_contract.rb b/modules/grids/app/contracts/grids/delete_contract.rb index c6c5f8604de1..285f86f969e2 100644 --- a/modules/grids/app/contracts/grids/delete_contract.rb +++ b/modules/grids/app/contracts/grids/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/contracts/grids/update_contract.rb b/modules/grids/app/contracts/grids/update_contract.rb index 8dced55a4072..74593827e59a 100644 --- a/modules/grids/app/contracts/grids/update_contract.rb +++ b/modules/grids/app/contracts/grids/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/controllers/api/v3/attachments/attachments_by_grid_api.rb b/modules/grids/app/controllers/api/v3/attachments/attachments_by_grid_api.rb index 0386543b0e6b..5aa9a10febaa 100644 --- a/modules/grids/app/controllers/api/v3/attachments/attachments_by_grid_api.rb +++ b/modules/grids/app/controllers/api/v3/attachments/attachments_by_grid_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/controllers/api/v3/grids/create_form_api.rb b/modules/grids/app/controllers/api/v3/grids/create_form_api.rb index 45518f801008..64046e165898 100644 --- a/modules/grids/app/controllers/api/v3/grids/create_form_api.rb +++ b/modules/grids/app/controllers/api/v3/grids/create_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/controllers/api/v3/grids/grids_api.rb b/modules/grids/app/controllers/api/v3/grids/grids_api.rb index c9ccd86ab26e..75f9512a153d 100644 --- a/modules/grids/app/controllers/api/v3/grids/grids_api.rb +++ b/modules/grids/app/controllers/api/v3/grids/grids_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/controllers/api/v3/grids/schemas/grid_schema_api.rb b/modules/grids/app/controllers/api/v3/grids/schemas/grid_schema_api.rb index 995c71dd15e4..90793794fe6b 100644 --- a/modules/grids/app/controllers/api/v3/grids/schemas/grid_schema_api.rb +++ b/modules/grids/app/controllers/api/v3/grids/schemas/grid_schema_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/controllers/api/v3/grids/update_form_api.rb b/modules/grids/app/controllers/api/v3/grids/update_form_api.rb index a290d3947a90..70a172ac5b7b 100644 --- a/modules/grids/app/controllers/api/v3/grids/update_form_api.rb +++ b/modules/grids/app/controllers/api/v3/grids/update_form_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/models/grids/grid.rb b/modules/grids/app/models/grids/grid.rb index 8f7ef2c29f30..3821c662b10a 100644 --- a/modules/grids/app/models/grids/grid.rb +++ b/modules/grids/app/models/grids/grid.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/models/grids/widget.rb b/modules/grids/app/models/grids/widget.rb index c5cf6d501741..d1c833fd1c55 100644 --- a/modules/grids/app/models/grids/widget.rb +++ b/modules/grids/app/models/grids/widget.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/queries/grids/filters/grid_filter.rb b/modules/grids/app/queries/grids/filters/grid_filter.rb index 5b3f7bd186f9..2e07b407bdeb 100644 --- a/modules/grids/app/queries/grids/filters/grid_filter.rb +++ b/modules/grids/app/queries/grids/filters/grid_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/queries/grids/filters/page_filter.rb b/modules/grids/app/queries/grids/filters/page_filter.rb index f9aa781b3f41..d53b03f739c3 100644 --- a/modules/grids/app/queries/grids/filters/page_filter.rb +++ b/modules/grids/app/queries/grids/filters/page_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/queries/grids/filters/scope_filter.rb b/modules/grids/app/queries/grids/filters/scope_filter.rb index 93063b8c0056..384cf0888f0a 100644 --- a/modules/grids/app/queries/grids/filters/scope_filter.rb +++ b/modules/grids/app/queries/grids/filters/scope_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/queries/grids/query.rb b/modules/grids/app/queries/grids/query.rb index 6e179f27337c..d0641b54ca7a 100644 --- a/modules/grids/app/queries/grids/query.rb +++ b/modules/grids/app/queries/grids/query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/create_form_representer.rb b/modules/grids/app/representers/api/v3/grids/create_form_representer.rb index d4f8f0ba9860..ceb662495ce1 100644 --- a/modules/grids/app/representers/api/v3/grids/create_form_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/create_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/form_representer.rb b/modules/grids/app/representers/api/v3/grids/form_representer.rb index 8c0c08a96a48..feb94f139212 100644 --- a/modules/grids/app/representers/api/v3/grids/form_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/grid_collection_representer.rb b/modules/grids/app/representers/api/v3/grids/grid_collection_representer.rb index 26532132f698..a420fd2ce03b 100644 --- a/modules/grids/app/representers/api/v3/grids/grid_collection_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/grid_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/grid_payload_representer.rb b/modules/grids/app/representers/api/v3/grids/grid_payload_representer.rb index 127d248bdbd2..efc71e178f28 100644 --- a/modules/grids/app/representers/api/v3/grids/grid_payload_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/grid_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/grid_representer.rb b/modules/grids/app/representers/api/v3/grids/grid_representer.rb index 6ca57238675e..176d07b0f5fd 100644 --- a/modules/grids/app/representers/api/v3/grids/grid_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/grid_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/schemas/grid_schema_representer.rb b/modules/grids/app/representers/api/v3/grids/schemas/grid_schema_representer.rb index aefb747ad891..a5e73b5513da 100644 --- a/modules/grids/app/representers/api/v3/grids/schemas/grid_schema_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/schemas/grid_schema_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/update_form_representer.rb b/modules/grids/app/representers/api/v3/grids/update_form_representer.rb index 30bed3ec0f82..fb5ab145fb96 100644 --- a/modules/grids/app/representers/api/v3/grids/update_form_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/update_form_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/widgets/chart_options_representer.rb b/modules/grids/app/representers/api/v3/grids/widgets/chart_options_representer.rb index 2e856f4f3dd0..b0e47734be84 100644 --- a/modules/grids/app/representers/api/v3/grids/widgets/chart_options_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/widgets/chart_options_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/widgets/custom_text_options_representer.rb b/modules/grids/app/representers/api/v3/grids/widgets/custom_text_options_representer.rb index b0e058f07f33..c316fc291951 100644 --- a/modules/grids/app/representers/api/v3/grids/widgets/custom_text_options_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/widgets/custom_text_options_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/widgets/default_options_representer.rb b/modules/grids/app/representers/api/v3/grids/widgets/default_options_representer.rb index 66d011b6ff97..533e0832d2ea 100644 --- a/modules/grids/app/representers/api/v3/grids/widgets/default_options_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/widgets/default_options_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/widgets/query_options_representer.rb b/modules/grids/app/representers/api/v3/grids/widgets/query_options_representer.rb index d6ee7bdc1532..b54b8d8569af 100644 --- a/modules/grids/app/representers/api/v3/grids/widgets/query_options_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/widgets/query_options_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/widgets/time_entry_calendar_options_representer.rb b/modules/grids/app/representers/api/v3/grids/widgets/time_entry_calendar_options_representer.rb index 85cdccd54ea8..58b232c79f40 100644 --- a/modules/grids/app/representers/api/v3/grids/widgets/time_entry_calendar_options_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/widgets/time_entry_calendar_options_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/representers/api/v3/grids/widgets/widget_representer.rb b/modules/grids/app/representers/api/v3/grids/widgets/widget_representer.rb index d289d131e182..bb7b159fc138 100644 --- a/modules/grids/app/representers/api/v3/grids/widgets/widget_representer.rb +++ b/modules/grids/app/representers/api/v3/grids/widgets/widget_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/services/grids/create_service.rb b/modules/grids/app/services/grids/create_service.rb index 8d4dfa777e40..dd4bda057ae8 100644 --- a/modules/grids/app/services/grids/create_service.rb +++ b/modules/grids/app/services/grids/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/services/grids/delete_service.rb b/modules/grids/app/services/grids/delete_service.rb index a4c30f7e4987..c768feb7fb16 100644 --- a/modules/grids/app/services/grids/delete_service.rb +++ b/modules/grids/app/services/grids/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/services/grids/set_attributes_service.rb b/modules/grids/app/services/grids/set_attributes_service.rb index 24ca31723132..4dcc4f726185 100644 --- a/modules/grids/app/services/grids/set_attributes_service.rb +++ b/modules/grids/app/services/grids/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/app/services/grids/update_service.rb b/modules/grids/app/services/grids/update_service.rb index 93954d0a78ee..502387ca5f4c 100644 --- a/modules/grids/app/services/grids/update_service.rb +++ b/modules/grids/app/services/grids/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/config/locales/crowdin/js-ka.yml b/modules/grids/config/locales/crowdin/js-ka.yml index ba92972b2a9f..e57596cabdd8 100644 --- a/modules/grids/config/locales/crowdin/js-ka.yml +++ b/modules/grids/config/locales/crowdin/js-ka.yml @@ -1,15 +1,15 @@ ka: js: grid: - add_widget: 'Add widget' - remove: 'Remove widget' + add_widget: 'ვიჯეტის დამატება' + remove: 'ვიჯეტის წაშლა' configure: 'Configure widget' upsale: text: "ზოგიერთი ვიჯეტი, როგორიცაა სამუშაო პაკეტის გრაფიკის ვიჯეტი, ხელმისაწვდომია, მხოლოდ, საწარმოო ვერსიაში." link: 'საწარმოო რელიზი.' widgets: custom_text: - title: 'Custom text' + title: 'მომხმარებლის ტექსტი' documents: title: 'დოკუმენტები' no_results: 'No documents yet.' @@ -30,19 +30,19 @@ ka: title: 'Project details' no_results: 'No custom fields have been defined for projects.' project_status: - title: 'Project status' - not_started: 'Not started' + title: 'პროექტის სტატუსი' + not_started: 'დაწყებული არაა' on_track: 'გეგმის მიხედვით' off_track: 'შეჩერებულია' at_risk: 'რისკის ქვეშ' not_set: 'არ არის დაყენებული' finished: 'დასრულებულია' - discontinued: 'Discontinued' + discontinued: 'დასრულდა' subprojects: - title: 'Subprojects' + title: 'ქვეპროექტები' no_results: 'No subprojects.' time_entries_current_user: - title: 'My spent time' + title: 'ჩემი დახარჯული დრო' displayed_days: 'Days displayed in the widget:' time_entries_list: title: 'Spent time (last 7 days)' diff --git a/modules/grids/config/locales/crowdin/ka.yml b/modules/grids/config/locales/crowdin/ka.yml index d5bc67302b5d..658cf3b4aeea 100644 --- a/modules/grids/config/locales/crowdin/ka.yml +++ b/modules/grids/config/locales/crowdin/ka.yml @@ -5,7 +5,7 @@ ka: attributes: grids/grid: page: "გვერდი" - row_count: "Number of rows" + row_count: "მწკრივების რაოდენობა" column_count: "Number of columns" widgets: "ვიჯეტები" errors: diff --git a/modules/grids/lib/grids/configuration.rb b/modules/grids/lib/grids/configuration.rb index 3981c984d29e..8c72c902cabd 100644 --- a/modules/grids/lib/grids/configuration.rb +++ b/modules/grids/lib/grids/configuration.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/lib/grids/configuration/in_project_base_registration.rb b/modules/grids/lib/grids/configuration/in_project_base_registration.rb index fcd3f0a83347..440b16e45820 100644 --- a/modules/grids/lib/grids/configuration/in_project_base_registration.rb +++ b/modules/grids/lib/grids/configuration/in_project_base_registration.rb @@ -8,7 +8,7 @@ class InProjectBaseRegistration < ::Grids::Configuration::Registration 'subprojects', 'work_packages_calendar', 'work_packages_overview', - 'time_entries_project', + 'time_entries_list', 'members', 'news', 'documents', diff --git a/modules/grids/lib/grids/configuration/registration.rb b/modules/grids/lib/grids/configuration/registration.rb index 112eed6ca983..3136deb10c6b 100644 --- a/modules/grids/lib/grids/configuration/registration.rb +++ b/modules/grids/lib/grids/configuration/registration.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/lib/grids/configuration/widget_strategy.rb b/modules/grids/lib/grids/configuration/widget_strategy.rb index 7ebaa580e2a1..9738665f9cc3 100644 --- a/modules/grids/lib/grids/configuration/widget_strategy.rb +++ b/modules/grids/lib/grids/configuration/widget_strategy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/lib/grids/factory.rb b/modules/grids/lib/grids/factory.rb index d85875b63ba4..f80155b7530f 100644 --- a/modules/grids/lib/grids/factory.rb +++ b/modules/grids/lib/grids/factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/contracts/grids/create_contract_spec.rb b/modules/grids/spec/contracts/grids/create_contract_spec.rb index 24fe77810683..c5a04e7623b8 100644 --- a/modules/grids/spec/contracts/grids/create_contract_spec.rb +++ b/modules/grids/spec/contracts/grids/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './shared_examples' +require_relative 'shared_examples' RSpec.describe Grids::CreateContract do include_context 'grid contract' @@ -95,7 +95,7 @@ .and_return(false) expect(instance.assignable_values(:widgets, user)) - .to match_array [:widget1] + .to contain_exactly(:widget1) end end diff --git a/modules/grids/spec/contracts/grids/delete_contract_spec.rb b/modules/grids/spec/contracts/grids/delete_contract_spec.rb index cb8cb98bb91c..56b3648fbf13 100644 --- a/modules/grids/spec/contracts/grids/delete_contract_spec.rb +++ b/modules/grids/spec/contracts/grids/delete_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/contracts/grids/shared_examples.rb b/modules/grids/spec/contracts/grids/shared_examples.rb index c7437da65cfe..9c05ad4841f6 100644 --- a/modules/grids/spec/contracts/grids/shared_examples.rb +++ b/modules/grids/spec/contracts/grids/shared_examples.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -49,7 +49,7 @@ instance.validate expect(instance.errors.details[attribute]) - .to match_array [{ error: :greater_than, count: 0 }] + .to contain_exactly({ error: :greater_than, count: 0 }) end end @@ -60,7 +60,7 @@ instance.validate expect(instance.errors.details[attribute]) - .to match_array [{ error: :blank }] + .to contain_exactly({ error: :blank }) end end end @@ -86,7 +86,7 @@ it 'notes the error' do instance.validate expect(instance.errors.details[:row_count]) - .to match_array [{ error: :greater_than, count: 0 }] + .to contain_exactly({ error: :greater_than, count: 0 }) end end end @@ -107,7 +107,7 @@ it 'notes the error' do instance.validate expect(instance.errors.details[:column_count]) - .to match_array [{ error: :greater_than, count: 0 }] + .to contain_exactly({ error: :greater_than, count: 0 }) end end end @@ -124,7 +124,7 @@ it 'is invalid for the grid superclass itself' do expect(instance.errors.details[:scope]) - .to match_array [{ error: :inclusion }] + .to contain_exactly({ error: :inclusion }) end end end @@ -160,7 +160,7 @@ instance.validate expect(instance.errors.details[:widgets]) - .to match_array [{ error: :inclusion }] + .to contain_exactly({ error: :inclusion }) end end diff --git a/modules/grids/spec/contracts/grids/update_contract_spec.rb b/modules/grids/spec/contracts/grids/update_contract_spec.rb index 117b7e035bd7..6bb5114b3d95 100644 --- a/modules/grids/spec/contracts/grids/update_contract_spec.rb +++ b/modules/grids/spec/contracts/grids/update_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './shared_examples' +require_relative 'shared_examples' RSpec.describe Grids::UpdateContract do include_context 'model contract' @@ -49,7 +49,7 @@ instance.validate # scope because that is what type is called on the outside for grids expect(instance.errors.details[:scope]) - .to match_array [{ error: :error_readonly }, { error: :inclusion }] + .to contain_exactly({ error: :error_readonly }, { error: :inclusion }) end end diff --git a/modules/grids/spec/lib/api/v3/grids/grid_payload_representer_parsing_spec.rb b/modules/grids/spec/lib/api/v3/grids/grid_payload_representer_parsing_spec.rb index 3d0de89b585b..0b21f150a834 100644 --- a/modules/grids/spec/lib/api/v3/grids/grid_payload_representer_parsing_spec.rb +++ b/modules/grids/spec/lib/api/v3/grids/grid_payload_representer_parsing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/lib/api/v3/grids/grid_representer_rendering_spec.rb b/modules/grids/spec/lib/api/v3/grids/grid_representer_rendering_spec.rb index 35b81dfeefc0..8eb18241764a 100644 --- a/modules/grids/spec/lib/api/v3/grids/grid_representer_rendering_spec.rb +++ b/modules/grids/spec/lib/api/v3/grids/grid_representer_rendering_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/lib/api/v3/grids/schemas/grid_schema_representer_spec.rb b/modules/grids/spec/lib/api/v3/grids/schemas/grid_schema_representer_spec.rb index a23b56619633..718a0d9d462f 100644 --- a/modules/grids/spec/lib/api/v3/grids/schemas/grid_schema_representer_spec.rb +++ b/modules/grids/spec/lib/api/v3/grids/schemas/grid_schema_representer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/lib/api/v3/utilities/file_helper_spec.rb b/modules/grids/spec/lib/api/v3/utilities/file_helper_spec.rb index de523eb4fbf4..d37e8f98dc6b 100644 --- a/modules/grids/spec/lib/api/v3/utilities/file_helper_spec.rb +++ b/modules/grids/spec/lib/api/v3/utilities/file_helper_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/models/grids/grid_spec.rb b/modules/grids/spec/models/grids/grid_spec.rb index 4e5ec6cde5a2..a1edc503f0ae 100644 --- a/modules/grids/spec/models/grids/grid_spec.rb +++ b/modules/grids/spec/models/grids/grid_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './shared_model' +require_relative 'shared_model' RSpec.describe Grids::Grid do let(:instance) { Grids::Grid.new column_count: 5, row_count: 5 } diff --git a/modules/grids/spec/models/grids/shared_model.rb b/modules/grids/spec/models/grids/shared_model.rb index 69a5e47fb214..d21bd87805fd 100644 --- a/modules/grids/spec/models/grids/shared_model.rb +++ b/modules/grids/spec/models/grids/shared_model.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/models/grids/widget_spec.rb b/modules/grids/spec/models/grids/widget_spec.rb index dc980b481060..20a43ea07dfb 100644 --- a/modules/grids/spec/models/grids/widget_spec.rb +++ b/modules/grids/spec/models/grids/widget_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb b/modules/grids/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb index 1a32b77a1271..5524c6a470d2 100644 --- a/modules/grids/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb +++ b/modules/grids/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/requests/api/v3/grids/grids_resource_spec.rb b/modules/grids/spec/requests/api/v3/grids/grids_resource_spec.rb index a405906e81d6..434c6c287a4e 100644 --- a/modules/grids/spec/requests/api/v3/grids/grids_resource_spec.rb +++ b/modules/grids/spec/requests/api/v3/grids/grids_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/requests/api/v3/grids/grids_schema_resource_spec.rb b/modules/grids/spec/requests/api/v3/grids/grids_schema_resource_spec.rb index 32614d138ce9..3429e72990d9 100644 --- a/modules/grids/spec/requests/api/v3/grids/grids_schema_resource_spec.rb +++ b/modules/grids/spec/requests/api/v3/grids/grids_schema_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb b/modules/grids/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb index 8c3ddb79030d..bebfc2126e6f 100644 --- a/modules/grids/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb +++ b/modules/grids/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/services/grids/create_service_spec.rb b/modules/grids/spec/services/grids/create_service_spec.rb index 2f8f87ad82bc..8e87e4ee9b45 100644 --- a/modules/grids/spec/services/grids/create_service_spec.rb +++ b/modules/grids/spec/services/grids/create_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/services/grids/set_attributes_service_spec.rb b/modules/grids/spec/services/grids/set_attributes_service_spec.rb index 38e4415f8779..e95d438355b8 100644 --- a/modules/grids/spec/services/grids/set_attributes_service_spec.rb +++ b/modules/grids/spec/services/grids/set_attributes_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/services/grids/update_service_spec.rb b/modules/grids/spec/services/grids/update_service_spec.rb index f0c8bbdc9f8b..3ece44b07c19 100644 --- a/modules/grids/spec/services/grids/update_service_spec.rb +++ b/modules/grids/spec/services/grids/update_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/grids/spec/support/pages/grid.rb b/modules/grids/spec/support/pages/grid.rb index 0d01f64a60df..b0772d006012 100644 --- a/modules/grids/spec/support/pages/grid.rb +++ b/modules/grids/spec/support/pages/grid.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -43,7 +43,7 @@ def add_widget(row_number, column_number, location, name) def expect_no_help_mode expect(page) - .not_to have_selector('.toolbar-item .icon-add') + .to have_no_css('.toolbar-item .icon-add') end def expect_unable_to_add_widget(row_number, column_number, location, name = nil) @@ -60,7 +60,7 @@ def expect_add_widget_enterprise_edition_notice(row_number, column_number, locat .to have_content(I18n.t('js.grid.add_widget')) expect(page) - .to have_selector('.op-toast.-ee-upsale', text: I18n.t('js.upsale.ee_only')) + .to have_css('.op-toast.-ee-upsale', text: I18n.t('js.upsale.ee_only')) end end @@ -99,7 +99,7 @@ def expect_widget_adding_prohibited_generally(row_number = 1, column_number = 1) area.hover expect(area) - .not_to have_selector('.grid--widget-add') + .to have_no_css('.grid--widget-add') end def expect_specific_widget_unaddable(row_number, column_number, location, name) @@ -108,7 +108,7 @@ def expect_specific_widget_unaddable(row_number, column_number, location, name) .to have_content(I18n.t('js.grid.add_widget')) expect(page) - .not_to have_selector('[data-test-selector="op-grid--addable-widget"]', text: Regexp.new("^#{name}$")) + .to have_no_css('[data-test-selector="op-grid--addable-widget"]', text: Regexp.new("^#{name}$")) end end end diff --git a/modules/job_status/app/workers/job_status/application_job_with_status.rb b/modules/job_status/app/workers/job_status/application_job_with_status.rb index 7f0de2fc9015..e754700cde23 100644 --- a/modules/job_status/app/workers/job_status/application_job_with_status.rb +++ b/modules/job_status/app/workers/job_status/application_job_with_status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/job_status/app/workers/job_status/cron/clear_old_job_status_job.rb b/modules/job_status/app/workers/job_status/cron/clear_old_job_status_job.rb index 602ea527aa6f..2b5e87b3d183 100644 --- a/modules/job_status/app/workers/job_status/cron/clear_old_job_status_job.rb +++ b/modules/job_status/app/workers/job_status/cron/clear_old_job_status_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/job_status/db/migrate/20200422105623_add_job_status.rb b/modules/job_status/db/migrate/20200422105623_add_job_status.rb index f008987da86a..8e662859891f 100644 --- a/modules/job_status/db/migrate/20200422105623_add_job_status.rb +++ b/modules/job_status/db/migrate/20200422105623_add_job_status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/job_status/db/migrate/20200610124259_extend_job_status.rb b/modules/job_status/db/migrate/20200610124259_extend_job_status.rb index 05df41813e52..240c0c65b71d 100644 --- a/modules/job_status/db/migrate/20200610124259_extend_job_status.rb +++ b/modules/job_status/db/migrate/20200610124259_extend_job_status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/job_status/lib/api/v3/job_status/job_status_api.rb b/modules/job_status/lib/api/v3/job_status/job_status_api.rb index 1988f7eb83e5..27a5fc7537c3 100644 --- a/modules/job_status/lib/api/v3/job_status/job_status_api.rb +++ b/modules/job_status/lib/api/v3/job_status/job_status_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/job_status/lib/api/v3/job_status/job_status_representer.rb b/modules/job_status/lib/api/v3/job_status/job_status_representer.rb index 9e8ae78b3792..ec0c02fd3fc2 100644 --- a/modules/job_status/lib/api/v3/job_status/job_status_representer.rb +++ b/modules/job_status/lib/api/v3/job_status/job_status_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/job_status/lib/open_project/job_status.rb b/modules/job_status/lib/open_project/job_status.rb index 0e8fbec87145..bc608cdec3d6 100644 --- a/modules/job_status/lib/open_project/job_status.rb +++ b/modules/job_status/lib/open_project/job_status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/job_status/lib/open_project/job_status/engine.rb b/modules/job_status/lib/open_project/job_status/engine.rb index c82cb228aa2f..66b9fe7afb85 100644 --- a/modules/job_status/lib/open_project/job_status/engine.rb +++ b/modules/job_status/lib/open_project/job_status/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/job_status/lib/open_project/job_status/event_listener.rb b/modules/job_status/lib/open_project/job_status/event_listener.rb index 116749d05a25..cd24529d8471 100644 --- a/modules/job_status/lib/open_project/job_status/event_listener.rb +++ b/modules/job_status/lib/open_project/job_status/event_listener.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/job_status/lib/openproject-job_status.rb b/modules/job_status/lib/openproject-job_status.rb index f946cd98df5b..c0cb29dfe248 100644 --- a/modules/job_status/lib/openproject-job_status.rb +++ b/modules/job_status/lib/openproject-job_status.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/job_status/spec/factories/delayed_job_status_factory.rb b/modules/job_status/spec/factories/delayed_job_status_factory.rb index e02e2cbd2430..73ad122492a4 100644 --- a/modules/job_status/spec/factories/delayed_job_status_factory.rb +++ b/modules/job_status/spec/factories/delayed_job_status_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/job_status/spec/features/job_status_spec.rb b/modules/job_status/spec/features/job_status_spec.rb index d44b98eefcbf..4e6002ae374b 100644 --- a/modules/job_status/spec/features/job_status_spec.rb +++ b/modules/job_status/spec/features/job_status_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'Job status', js: true do +RSpec.describe 'Job status', :js do shared_let(:admin) { create(:admin) } before do @@ -38,7 +38,7 @@ it 'renders a descriptive error in case of 404' do visit '/job_statuses/something-that-does-not-exist' - expect(page).to have_selector('.icon-big.icon-help', wait: 10) + expect(page).to have_css('.icon-big.icon-help', wait: 10) expect(page).to have_content I18n.t('js.job_status.generic_messages.not_found') end @@ -49,12 +49,12 @@ status.update! payload: { errors: ['Some error', 'Another error'] } end - it 'will show a list of these errors' do + it 'shows a list of these errors' do visit "/job_statuses/#{status.job_id}" - expect(page).to have_selector('.job-status--modal-additional-errors', text: 'Some errors have occurred', wait: 10) - expect(page).to have_selector('ul li', text: 'Some error') - expect(page).to have_selector('ul li', text: 'Another error') + expect(page).to have_css('.job-status--modal-additional-errors', text: 'Some errors have occurred', wait: 10) + expect(page).to have_css('ul li', text: 'Some error') + expect(page).to have_css('ul li', text: 'Another error') end end @@ -65,12 +65,12 @@ status.update! payload: { redirect: home_url, errors: ['Some error'] } end - it 'will not automatically redirect' do + it 'does not automatically redirect' do visit "/job_statuses/#{status.job_id}" - expect(page).to have_selector('.job-status--modal-additional-errors', text: 'Some errors have occurred', wait: 10) - expect(page).to have_selector('ul li', text: 'Some error') - expect(page).to have_selector("a[href='#{home_url}']", text: 'Please click here to continue') + expect(page).to have_css('.job-status--modal-additional-errors', text: 'Some errors have occurred', wait: 10) + expect(page).to have_css('ul li', text: 'Some error') + expect(page).to have_css("a[href='#{home_url}']", text: 'Please click here to continue') end end end diff --git a/modules/job_status/spec/services/documents/update_service_spec.rb b/modules/job_status/spec/services/documents/update_service_spec.rb index 4b22b2fa783f..cbce9123182d 100644 --- a/modules/job_status/spec/services/documents/update_service_spec.rb +++ b/modules/job_status/spec/services/documents/update_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/LICENSE b/modules/ldap_groups/LICENSE index d15814909e03..340baaee9671 100644 --- a/modules/ldap_groups/LICENSE +++ b/modules/ldap_groups/LICENSE @@ -1,5 +1,5 @@ OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/app/components/ldap_groups/memberships/row_component.rb b/modules/ldap_groups/app/components/ldap_groups/memberships/row_component.rb index 8df89bda343f..cbc55024af9d 100644 --- a/modules/ldap_groups/app/components/ldap_groups/memberships/row_component.rb +++ b/modules/ldap_groups/app/components/ldap_groups/memberships/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/app/components/ldap_groups/memberships/table_component.rb b/modules/ldap_groups/app/components/ldap_groups/memberships/table_component.rb index cc5c1a87a0ad..f7cc0ef4580b 100644 --- a/modules/ldap_groups/app/components/ldap_groups/memberships/table_component.rb +++ b/modules/ldap_groups/app/components/ldap_groups/memberships/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/app/components/ldap_groups/synchronized_filters/row_component.rb b/modules/ldap_groups/app/components/ldap_groups/synchronized_filters/row_component.rb index 9d2346a543f7..896574aa9b73 100644 --- a/modules/ldap_groups/app/components/ldap_groups/synchronized_filters/row_component.rb +++ b/modules/ldap_groups/app/components/ldap_groups/synchronized_filters/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/app/components/ldap_groups/synchronized_filters/table_component.rb b/modules/ldap_groups/app/components/ldap_groups/synchronized_filters/table_component.rb index 487fdc90c8e6..b1aed9b41ba0 100644 --- a/modules/ldap_groups/app/components/ldap_groups/synchronized_filters/table_component.rb +++ b/modules/ldap_groups/app/components/ldap_groups/synchronized_filters/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/app/components/ldap_groups/synchronized_groups/row_component.rb b/modules/ldap_groups/app/components/ldap_groups/synchronized_groups/row_component.rb index 7f4711599b13..6f752c6da103 100644 --- a/modules/ldap_groups/app/components/ldap_groups/synchronized_groups/row_component.rb +++ b/modules/ldap_groups/app/components/ldap_groups/synchronized_groups/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/app/components/ldap_groups/synchronized_groups/table_component.rb b/modules/ldap_groups/app/components/ldap_groups/synchronized_groups/table_component.rb index 7110a560966f..24878b914a7d 100644 --- a/modules/ldap_groups/app/components/ldap_groups/synchronized_groups/table_component.rb +++ b/modules/ldap_groups/app/components/ldap_groups/synchronized_groups/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/app/workers/ldap_groups/synchronization_job.rb b/modules/ldap_groups/app/workers/ldap_groups/synchronization_job.rb index 9b2a92a878ac..e2fdf2525925 100644 --- a/modules/ldap_groups/app/workers/ldap_groups/synchronization_job.rb +++ b/modules/ldap_groups/app/workers/ldap_groups/synchronization_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/config/locales/crowdin/ka.yml b/modules/ldap_groups/config/locales/crowdin/ka.yml index 6c97868059c4..14586d6b23d2 100644 --- a/modules/ldap_groups/config/locales/crowdin/ka.yml +++ b/modules/ldap_groups/config/locales/crowdin/ka.yml @@ -7,13 +7,13 @@ ka: ldap_groups/synchronized_group: dn: 'DN' ldap_auth_source: 'LDAP მიერთება' - sync_users: 'Sync users' + sync_users: 'მომხმარებლების სინქრონიზაცია' ldap_groups/synchronized_filter: - filter_string: 'LDAP filter' + filter_string: 'LDAP ფილტრი' ldap_auth_source: 'LDAP მიერთება' group_name_attribute: "Group name attribute" - sync_users: 'Sync users' - base_dn: "Search base DN" + sync_users: 'მომხმარებლების სინქრონიზაცია' + base_dn: "ძირითადი DN-ის ძებნა" models: ldap_groups/synchronized_group: 'Synchronized LDAP group' ldap_groups/synchronized_filter: 'LDAP Group synchronization filter' @@ -24,7 +24,7 @@ ka: ldap_groups: label_menu_item: 'LDAP group synchronization' label_group_key: 'LDAP group filter key' - label_synchronize: 'Synchronize' + label_synchronize: 'სინქრონიზირება' settings: name_attribute: 'LDAP groups name attribute' name_attribute_text: 'The LDAP attribute used for naming the OpenProject group when created by a filter' diff --git a/modules/ldap_groups/db/migrate/20180125082205_add_ldap_synchronized_groups.rb b/modules/ldap_groups/db/migrate/20180125082205_add_ldap_synchronized_groups.rb index 51dae69835b8..a7c2b57cf50f 100644 --- a/modules/ldap_groups/db/migrate/20180125082205_add_ldap_synchronized_groups.rb +++ b/modules/ldap_groups/db/migrate/20180125082205_add_ldap_synchronized_groups.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/db/migrate/20200420122713_make_synchronized_group_dn.rb b/modules/ldap_groups/db/migrate/20200420122713_make_synchronized_group_dn.rb index 7ae7d9570e9d..e6249d54d4bb 100644 --- a/modules/ldap_groups/db/migrate/20200420122713_make_synchronized_group_dn.rb +++ b/modules/ldap_groups/db/migrate/20200420122713_make_synchronized_group_dn.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/db/migrate/20200420133116_add_synchronized_filters.rb b/modules/ldap_groups/db/migrate/20200420133116_add_synchronized_filters.rb index 9df2b49b8723..1f9505c3cfc7 100644 --- a/modules/ldap_groups/db/migrate/20200420133116_add_synchronized_filters.rb +++ b/modules/ldap_groups/db/migrate/20200420133116_add_synchronized_filters.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/db/migrate/20200427082928_ldap_groups_timestamps.rb b/modules/ldap_groups/db/migrate/20200427082928_ldap_groups_timestamps.rb index 5ed4cbb3ded7..3067955900fb 100644 --- a/modules/ldap_groups/db/migrate/20200427082928_ldap_groups_timestamps.rb +++ b/modules/ldap_groups/db/migrate/20200427082928_ldap_groups_timestamps.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/db/migrate/20210219092709_move_base_dn_into_filters.rb b/modules/ldap_groups/db/migrate/20210219092709_move_base_dn_into_filters.rb index c33846cd79f0..630b89f12484 100644 --- a/modules/ldap_groups/db/migrate/20210219092709_move_base_dn_into_filters.rb +++ b/modules/ldap_groups/db/migrate/20210219092709_move_base_dn_into_filters.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/lib/tasks/ldap_groups.rake b/modules/ldap_groups/lib/tasks/ldap_groups.rake index 98cf0646995c..541e34a640ce 100644 --- a/modules/ldap_groups/lib/tasks/ldap_groups.rake +++ b/modules/ldap_groups/lib/tasks/ldap_groups.rake @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/ldap_groups/spec/features/administration_spec.rb b/modules/ldap_groups/spec/features/administration_spec.rb index 0ed808dff072..37b94cfafc2d 100644 --- a/modules/ldap_groups/spec/features/administration_spec.rb +++ b/modules/ldap_groups/spec/features/administration_spec.rb @@ -1,6 +1,6 @@ require_relative '../spec_helper' -RSpec.describe 'LDAP group sync administration spec', js: true do +RSpec.describe 'LDAP group sync administration spec', :js do let(:admin) { create(:admin) } before do @@ -10,7 +10,7 @@ context 'without EE' do it 'shows upsale' do - expect(page).to have_selector('.upsale-notification') + expect(page).to have_css('.upsale-notification') end end @@ -19,7 +19,7 @@ let!(:auth_source) { create(:ldap_auth_source, name: 'ldap') } it 'allows synced group administration flow' do - expect(page).not_to have_selector('.upsale-notification') + expect(page).to have_no_css('.upsale-notification') # Create group find('.button', text: I18n.t('ldap_groups.synchronized_groups.singular')).click @@ -31,16 +31,16 @@ check 'synchronized_group_sync_users' click_on 'Create' - expect(page).to have_selector('.op-toast.-success', text: I18n.t(:notice_successful_create)) - expect(page).to have_selector('td.dn', text: 'cn=foo,ou=groups,dc=example,dc=com') - expect(page).to have_selector('td.ldap_auth_source', text: 'ldap') - expect(page).to have_selector('td.group', text: 'foo') - expect(page).to have_selector('td.users', text: '0') + expect(page).to have_css('.op-toast.-success', text: I18n.t(:notice_successful_create)) + expect(page).to have_css('td.dn', text: 'cn=foo,ou=groups,dc=example,dc=com') + expect(page).to have_css('td.ldap_auth_source', text: 'ldap') + expect(page).to have_css('td.group', text: 'foo') + expect(page).to have_css('td.users', text: '0') # Show entry SeleniumHubWaiter.wait find('td.dn a').click - expect(page).to have_selector '.generic-table--empty-row' + expect(page).to have_css '.generic-table--empty-row' # Check created group sync = LdapGroups::SynchronizedGroup.last @@ -51,7 +51,7 @@ # Assume we have a membership sync.users.create user_id: admin.id visit ldap_groups_synchronized_group_path(sync) - expect(page).to have_selector 'td.user', text: admin.name + expect(page).to have_css 'td.user', text: admin.name memberships = sync.users.pluck(:id) @@ -65,8 +65,8 @@ SeleniumHubWaiter.wait click_on 'Delete' - expect(page).to have_selector('.op-toast.-success', text: I18n.t(:notice_successful_delete)) - expect(page).to have_selector '.generic-table--empty-row' + expect(page).to have_css('.op-toast.-success', text: I18n.t(:notice_successful_delete)) + expect(page).to have_css '.generic-table--empty-row' expect(LdapGroups::Membership.where(id: memberships)).to be_empty end diff --git a/modules/ldap_groups/spec/features/filter_administration_spec.rb b/modules/ldap_groups/spec/features/filter_administration_spec.rb index 1f5beada2e67..c8a73e803e2b 100644 --- a/modules/ldap_groups/spec/features/filter_administration_spec.rb +++ b/modules/ldap_groups/spec/features/filter_administration_spec.rb @@ -1,6 +1,6 @@ require_relative '../spec_helper' -RSpec.describe 'LDAP group filter administration spec', js: true do +RSpec.describe 'LDAP group filter administration spec', :js do let(:admin) { create(:admin) } before do @@ -40,8 +40,8 @@ page.find('td.name a', text: 'bar').click expect(page).to have_text I18n.t(:label_seeded_from_env_warning) - expect(page).not_to have_link 'Edit' - expect(page).not_to have_link 'Delete' + expect(page).to have_no_link 'Edit' + expect(page).to have_no_link 'Delete' end end end diff --git a/modules/ldap_groups/spec/services/synchronization_spec.rb b/modules/ldap_groups/spec/services/synchronization_spec.rb index 464e33c8cadd..2b4bfb5da2de 100644 --- a/modules/ldap_groups/spec/services/synchronization_spec.rb +++ b/modules/ldap_groups/spec/services/synchronization_spec.rb @@ -155,7 +155,7 @@ expect { synced_foo.reload }.to raise_error ActiveRecord::RecordNotFound expect(group_bar.users) - .to match_array([user_aa729.reload, user_bb459.reload, user_cc414.reload]) + .to contain_exactly(user_aa729.reload, user_bb459.reload, user_cc414.reload) expect(LdapGroups::Membership.where(group_id: synced_foo_id)).to be_empty end diff --git a/modules/ldap_groups/spec/services/synchronize_filter_spec.rb b/modules/ldap_groups/spec/services/synchronize_filter_spec.rb index 08022540f09d..77cc5457eed7 100644 --- a/modules/ldap_groups/spec/services/synchronize_filter_spec.rb +++ b/modules/ldap_groups/spec/services/synchronize_filter_spec.rb @@ -56,8 +56,8 @@ # Expect two synchronized groups added expect(filter_foo_bar.groups.count).to eq 2 - expect(filter_foo_bar.groups.map(&:dn)).to match_array ['cn=foo,ou=groups,dc=example,dc=com', - 'cn=bar,ou=groups,dc=example,dc=com'] + expect(filter_foo_bar.groups.map(&:dn)).to contain_exactly('cn=foo,ou=groups,dc=example,dc=com', + 'cn=bar,ou=groups,dc=example,dc=com') # Expect two actual groups added op_foo_group = Group.find_by(lastname: 'foo') diff --git a/modules/meeting/app/components/authors/autocomplete_item_component.rb b/modules/meeting/app/components/authors/autocomplete_item_component.rb index f19e3507ecdb..8c6b5d534166 100644 --- a/modules/meeting/app/components/authors/autocomplete_item_component.rb +++ b/modules/meeting/app/components/authors/autocomplete_item_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/banner_message_component.html.erb b/modules/meeting/app/components/banner_message_component.html.erb index f9704a986934..76899d634f4a 100644 --- a/modules/meeting/app/components/banner_message_component.html.erb +++ b/modules/meeting/app/components/banner_message_component.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -28,5 +28,12 @@ See COPYRIGHT and LICENSE files for more details. ++#%> <%= - render(Primer::Alpha::Banner.new(full:, full_when_narrow:, dismiss_scheme:, icon:, scheme:,test_selector:)) { message } + render(Primer::Alpha::Banner.new(full:, + full_when_narrow:, + dismiss_scheme:, + dismiss_label:, + icon:, + scheme:, + test_selector:, + )) { message } %> diff --git a/modules/meeting/app/components/banner_message_component.rb b/modules/meeting/app/components/banner_message_component.rb index 0c865f821c5a..70f33ff8c5cb 100644 --- a/modules/meeting/app/components/banner_message_component.rb +++ b/modules/meeting/app/components/banner_message_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,13 @@ #++ class BannerMessageComponent < ApplicationComponent # rubocop:disable OpenProject/AddPreviewForViewComponent - def initialize(message: nil, full: true, full_when_narrow: false, dismiss_scheme: :hide, icon: false, scheme: :default, + def initialize(message: nil, + full: true, + full_when_narrow: false, + dismiss_scheme: :hide, + dismiss_label: I18n.t('button_close'), + icon: false, + scheme: :default, test_selector: "primer-banner-message-component") super @@ -35,10 +41,11 @@ def initialize(message: nil, full: true, full_when_narrow: false, dismiss_scheme @full = full @full_when_narrow = full_when_narrow @dismiss_scheme = dismiss_scheme + @dismiss_label = dismiss_label @icon = icon @scheme = scheme @test_selector = test_selector end - attr_reader :message, :full, :full_when_narrow, :dismiss_scheme, :icon, :scheme, :test_selector + attr_reader :message, :full, :full_when_narrow, :dismiss_scheme, :dismiss_label, :icon, :scheme, :test_selector end diff --git a/modules/meeting/app/components/base_errors_component.rb b/modules/meeting/app/components/base_errors_component.rb index af785ac5df3a..aa4d8b9cbeeb 100644 --- a/modules/meeting/app/components/base_errors_component.rb +++ b/modules/meeting/app/components/base_errors_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/flash_message_component.rb b/modules/meeting/app/components/flash_message_component.rb index bddfb6cc9fee..3f43c7218ae1 100644 --- a/modules/meeting/app/components/flash_message_component.rb +++ b/modules/meeting/app/components/flash_message_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meeting_agenda_items/form_component.rb b/modules/meeting/app/components/meeting_agenda_items/form_component.rb index cc6af026e0f8..599b74882395 100644 --- a/modules/meeting/app/components/meeting_agenda_items/form_component.rb +++ b/modules/meeting/app/components/meeting_agenda_items/form_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meeting_agenda_items/item_component.rb b/modules/meeting/app/components/meeting_agenda_items/item_component.rb index a261f6679459..0e961c52ad42 100644 --- a/modules/meeting/app/components/meeting_agenda_items/item_component.rb +++ b/modules/meeting/app/components/meeting_agenda_items/item_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meeting_agenda_items/item_component/edit_component.rb b/modules/meeting/app/components/meeting_agenda_items/item_component/edit_component.rb index 63ff52241bec..7833da7e7d5f 100644 --- a/modules/meeting/app/components/meeting_agenda_items/item_component/edit_component.rb +++ b/modules/meeting/app/components/meeting_agenda_items/item_component/edit_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meeting_agenda_items/item_component/show_component.rb b/modules/meeting/app/components/meeting_agenda_items/item_component/show_component.rb index a013a8dfd9fc..88a711c49b01 100644 --- a/modules/meeting/app/components/meeting_agenda_items/item_component/show_component.rb +++ b/modules/meeting/app/components/meeting_agenda_items/item_component/show_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -89,7 +89,8 @@ def edit_action_item(menu) def add_note_action_item(menu) menu.with_item(label: t("label_agenda_item_add_notes"), - href: edit_meeting_agenda_item_path(@meeting_agenda_item.meeting, @meeting_agenda_item, display_notes_input: true), + href: edit_meeting_agenda_item_path(@meeting_agenda_item.meeting, @meeting_agenda_item, + display_notes_input: true), content_arguments: { data: { 'turbo-stream': true } }) do |item| diff --git a/modules/meeting/app/components/meeting_agenda_items/list_component.rb b/modules/meeting/app/components/meeting_agenda_items/list_component.rb index b65c2e2edf5a..d44b477a41c0 100644 --- a/modules/meeting/app/components/meeting_agenda_items/list_component.rb +++ b/modules/meeting/app/components/meeting_agenda_items/list_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meeting_agenda_items/new_button_component.rb b/modules/meeting/app/components/meeting_agenda_items/new_button_component.rb index ff2f16e42222..bfc9b1af307a 100644 --- a/modules/meeting/app/components/meeting_agenda_items/new_button_component.rb +++ b/modules/meeting/app/components/meeting_agenda_items/new_button_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meeting_agenda_items/new_component.rb b/modules/meeting/app/components/meeting_agenda_items/new_component.rb index 1445090906c2..ae6b62fa2b89 100644 --- a/modules/meeting/app/components/meeting_agenda_items/new_component.rb +++ b/modules/meeting/app/components/meeting_agenda_items/new_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meetings/header_component.rb b/modules/meeting/app/components/meetings/header_component.rb index 69d2bbdca109..d3e69e2592a4 100644 --- a/modules/meeting/app/components/meetings/header_component.rb +++ b/modules/meeting/app/components/meetings/header_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meetings/header_infoline_component.rb b/modules/meeting/app/components/meetings/header_infoline_component.rb index 4d2a81553e16..0f76f5ed8961 100644 --- a/modules/meeting/app/components/meetings/header_infoline_component.rb +++ b/modules/meeting/app/components/meetings/header_infoline_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meetings/row_component.rb b/modules/meeting/app/components/meetings/row_component.rb index 60d0219718e7..1db1a654ac7d 100644 --- a/modules/meeting/app/components/meetings/row_component.rb +++ b/modules/meeting/app/components/meetings/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meetings/show_component.rb b/modules/meeting/app/components/meetings/show_component.rb index 074acb0493ff..88c8ce12bff7 100644 --- a/modules/meeting/app/components/meetings/show_component.rb +++ b/modules/meeting/app/components/meetings/show_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meetings/sidebar/details_component.rb b/modules/meeting/app/components/meetings/sidebar/details_component.rb index 3954f729b1f4..d4d930ccc79f 100644 --- a/modules/meeting/app/components/meetings/sidebar/details_component.rb +++ b/modules/meeting/app/components/meetings/sidebar/details_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -47,6 +47,7 @@ def render_truncated_location end end end + def render_meeting_attribute_row(icon, &) flex_layout(align_items: :center, justify_content: :space_between) do |flex| flex.with_column do diff --git a/modules/meeting/app/components/meetings/sidebar/details_form_component.rb b/modules/meeting/app/components/meetings/sidebar/details_form_component.rb index 18c3c0f5dd27..be027e791f79 100644 --- a/modules/meeting/app/components/meetings/sidebar/details_form_component.rb +++ b/modules/meeting/app/components/meetings/sidebar/details_form_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meetings/sidebar/participants_component.rb b/modules/meeting/app/components/meetings/sidebar/participants_component.rb index 4b16784f9d39..bc67bca91183 100644 --- a/modules/meeting/app/components/meetings/sidebar/participants_component.rb +++ b/modules/meeting/app/components/meetings/sidebar/participants_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meetings/sidebar/participants_form_component.rb b/modules/meeting/app/components/meetings/sidebar/participants_form_component.rb index 1f41edb8a509..7e799c911464 100644 --- a/modules/meeting/app/components/meetings/sidebar/participants_form_component.rb +++ b/modules/meeting/app/components/meetings/sidebar/participants_form_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meetings/sidebar/state_component.rb b/modules/meeting/app/components/meetings/sidebar/state_component.rb index f7f81093482e..0d0fb930aee8 100644 --- a/modules/meeting/app/components/meetings/sidebar/state_component.rb +++ b/modules/meeting/app/components/meetings/sidebar/state_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meetings/sidebar_component.rb b/modules/meeting/app/components/meetings/sidebar_component.rb index 886e1a192d59..891657afc998 100644 --- a/modules/meeting/app/components/meetings/sidebar_component.rb +++ b/modules/meeting/app/components/meetings/sidebar_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/meetings/table_component.rb b/modules/meeting/app/components/meetings/table_component.rb index a4cbc4f49746..1bad5a4b2ad7 100644 --- a/modules/meeting/app/components/meetings/table_component.rb +++ b/modules/meeting/app/components/meetings/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/op_turbo/op_primer/async_dialog_component.rb b/modules/meeting/app/components/op_turbo/op_primer/async_dialog_component.rb index 7bd1da3c33a5..6a8ef3ce3766 100644 --- a/modules/meeting/app/components/op_turbo/op_primer/async_dialog_component.rb +++ b/modules/meeting/app/components/op_turbo/op_primer/async_dialog_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/work_package_meetings_tab/add_work_package_to_meeting_form_component.rb b/modules/meeting/app/components/work_package_meetings_tab/add_work_package_to_meeting_form_component.rb index 8c61e10aee0d..ece92b57d75d 100644 --- a/modules/meeting/app/components/work_package_meetings_tab/add_work_package_to_meeting_form_component.rb +++ b/modules/meeting/app/components/work_package_meetings_tab/add_work_package_to_meeting_form_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/work_package_meetings_tab/heading_component.rb b/modules/meeting/app/components/work_package_meetings_tab/heading_component.rb index bc8db711472b..b6082767982f 100644 --- a/modules/meeting/app/components/work_package_meetings_tab/heading_component.rb +++ b/modules/meeting/app/components/work_package_meetings_tab/heading_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/work_package_meetings_tab/index_component.rb b/modules/meeting/app/components/work_package_meetings_tab/index_component.rb index 6408da3eda92..61eb69138596 100644 --- a/modules/meeting/app/components/work_package_meetings_tab/index_component.rb +++ b/modules/meeting/app/components/work_package_meetings_tab/index_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/work_package_meetings_tab/list_component.rb b/modules/meeting/app/components/work_package_meetings_tab/list_component.rb index e3c13719ca88..529ae47f8c40 100644 --- a/modules/meeting/app/components/work_package_meetings_tab/list_component.rb +++ b/modules/meeting/app/components/work_package_meetings_tab/list_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/work_package_meetings_tab/meeting_agenda_item_component.rb b/modules/meeting/app/components/work_package_meetings_tab/meeting_agenda_item_component.rb index d8d8efc6bca8..fdfcaee0a55e 100644 --- a/modules/meeting/app/components/work_package_meetings_tab/meeting_agenda_item_component.rb +++ b/modules/meeting/app/components/work_package_meetings_tab/meeting_agenda_item_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/components/work_package_meetings_tab/meeting_component.rb b/modules/meeting/app/components/work_package_meetings_tab/meeting_component.rb index 432c61e23044..0e8ac98e44e8 100644 --- a/modules/meeting/app/components/work_package_meetings_tab/meeting_component.rb +++ b/modules/meeting/app/components/work_package_meetings_tab/meeting_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/contracts/meeting_agenda_items/base_contract.rb b/modules/meeting/app/contracts/meeting_agenda_items/base_contract.rb index ed71df8b223f..95dca7594e94 100644 --- a/modules/meeting/app/contracts/meeting_agenda_items/base_contract.rb +++ b/modules/meeting/app/contracts/meeting_agenda_items/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/contracts/meeting_agenda_items/create_contract.rb b/modules/meeting/app/contracts/meeting_agenda_items/create_contract.rb index 50f9251c973a..79afb7df37b8 100644 --- a/modules/meeting/app/contracts/meeting_agenda_items/create_contract.rb +++ b/modules/meeting/app/contracts/meeting_agenda_items/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/contracts/meeting_agenda_items/delete_contract.rb b/modules/meeting/app/contracts/meeting_agenda_items/delete_contract.rb index 2aeebc24b4a8..cbd7bfbe3666 100644 --- a/modules/meeting/app/contracts/meeting_agenda_items/delete_contract.rb +++ b/modules/meeting/app/contracts/meeting_agenda_items/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/contracts/meeting_agenda_items/modifiable_item.rb b/modules/meeting/app/contracts/meeting_agenda_items/modifiable_item.rb index 55da4979c67a..f77f3dd7fbe5 100644 --- a/modules/meeting/app/contracts/meeting_agenda_items/modifiable_item.rb +++ b/modules/meeting/app/contracts/meeting_agenda_items/modifiable_item.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/contracts/meeting_agenda_items/update_contract.rb b/modules/meeting/app/contracts/meeting_agenda_items/update_contract.rb index 5a2b559c72e5..2b627286537c 100644 --- a/modules/meeting/app/contracts/meeting_agenda_items/update_contract.rb +++ b/modules/meeting/app/contracts/meeting_agenda_items/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/contracts/meeting_contents/base_contract.rb b/modules/meeting/app/contracts/meeting_contents/base_contract.rb index 38b90f266321..0bcb79e8755e 100644 --- a/modules/meeting/app/contracts/meeting_contents/base_contract.rb +++ b/modules/meeting/app/contracts/meeting_contents/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/contracts/meeting_contents/update_contract.rb b/modules/meeting/app/contracts/meeting_contents/update_contract.rb index bea635801aa4..7bd2354f66ba 100644 --- a/modules/meeting/app/contracts/meeting_contents/update_contract.rb +++ b/modules/meeting/app/contracts/meeting_contents/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/contracts/meetings/base_contract.rb b/modules/meeting/app/contracts/meetings/base_contract.rb index f6f86053961e..599cbb58d79c 100644 --- a/modules/meeting/app/contracts/meetings/base_contract.rb +++ b/modules/meeting/app/contracts/meetings/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/contracts/meetings/update_contract.rb b/modules/meeting/app/contracts/meetings/update_contract.rb index fa3b1d048d4d..57dcfa9d7eb0 100644 --- a/modules/meeting/app/contracts/meetings/update_contract.rb +++ b/modules/meeting/app/contracts/meetings/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/controllers/concerns/application_component_streams.rb b/modules/meeting/app/controllers/concerns/application_component_streams.rb index 49b68c2e2053..0eebe4f94fda 100644 --- a/modules/meeting/app/controllers/concerns/application_component_streams.rb +++ b/modules/meeting/app/controllers/concerns/application_component_streams.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/controllers/concerns/meetings/agenda_component_streams.rb b/modules/meeting/app/controllers/concerns/meetings/agenda_component_streams.rb index 013c50727027..c5bc4f953a9e 100644 --- a/modules/meeting/app/controllers/concerns/meetings/agenda_component_streams.rb +++ b/modules/meeting/app/controllers/concerns/meetings/agenda_component_streams.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/controllers/concerns/meetings/work_package_meetings_tab_component_streams.rb b/modules/meeting/app/controllers/concerns/meetings/work_package_meetings_tab_component_streams.rb index fa78410385aa..750b676b4f83 100644 --- a/modules/meeting/app/controllers/concerns/meetings/work_package_meetings_tab_component_streams.rb +++ b/modules/meeting/app/controllers/concerns/meetings/work_package_meetings_tab_component_streams.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/controllers/meeting_agenda_items_controller.rb b/modules/meeting/app/controllers/meeting_agenda_items_controller.rb index 56482fc44a8a..61678d773223 100644 --- a/modules/meeting/app/controllers/meeting_agenda_items_controller.rb +++ b/modules/meeting/app/controllers/meeting_agenda_items_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/controllers/meeting_agendas_controller.rb b/modules/meeting/app/controllers/meeting_agendas_controller.rb index f5a8f86643ea..f8decd73a402 100644 --- a/modules/meeting/app/controllers/meeting_agendas_controller.rb +++ b/modules/meeting/app/controllers/meeting_agendas_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/controllers/meeting_contents_controller.rb b/modules/meeting/app/controllers/meeting_contents_controller.rb index 0a729cf6fb94..cf68b4d26982 100644 --- a/modules/meeting/app/controllers/meeting_contents_controller.rb +++ b/modules/meeting/app/controllers/meeting_contents_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/controllers/meeting_minutes_controller.rb b/modules/meeting/app/controllers/meeting_minutes_controller.rb index 3e35ef08bee5..da28ba43d743 100644 --- a/modules/meeting/app/controllers/meeting_minutes_controller.rb +++ b/modules/meeting/app/controllers/meeting_minutes_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/controllers/meetings_controller.rb b/modules/meeting/app/controllers/meetings_controller.rb index 4eafe00791d6..d252ea7325f1 100644 --- a/modules/meeting/app/controllers/meetings_controller.rb +++ b/modules/meeting/app/controllers/meetings_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/controllers/work_package_meetings_tab_controller.rb b/modules/meeting/app/controllers/work_package_meetings_tab_controller.rb index 0f4bff44e41c..a12c06bc88b9 100644 --- a/modules/meeting/app/controllers/work_package_meetings_tab_controller.rb +++ b/modules/meeting/app/controllers/work_package_meetings_tab_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -127,13 +127,7 @@ def get_agenda_items_of_work_package(direction) .where(work_package_id: @work_package.id) .order('meetings.start_time': :asc) - case direction - when :past - agenda_items = agenda_items.where('meetings.start_time < ?', Time.zone.now) - when :upcoming - agenda_items = agenda_items.where('meetings.start_time >= ?', Time.zone.now) - end - - agenda_items + comparison = direction == :past ? '<' : '>=' + agenda_items.where("meetings.start_time + (interval '1 hour' * meetings.duration) #{comparison} ?", Time.zone.now) end end diff --git a/modules/meeting/app/forms/meeting/duration.rb b/modules/meeting/app/forms/meeting/duration.rb index dbc563976044..6490ab7f5fea 100644 --- a/modules/meeting/app/forms/meeting/duration.rb +++ b/modules/meeting/app/forms/meeting/duration.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/forms/meeting/location.rb b/modules/meeting/app/forms/meeting/location.rb index e9879cd76730..45fbbbbf560a 100644 --- a/modules/meeting/app/forms/meeting/location.rb +++ b/modules/meeting/app/forms/meeting/location.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/forms/meeting/lock_version.rb b/modules/meeting/app/forms/meeting/lock_version.rb index 0f9963914d70..2d50c627751a 100644 --- a/modules/meeting/app/forms/meeting/lock_version.rb +++ b/modules/meeting/app/forms/meeting/lock_version.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/forms/meeting/start_date.rb b/modules/meeting/app/forms/meeting/start_date.rb index aeb436efb88a..cf706ad832b8 100644 --- a/modules/meeting/app/forms/meeting/start_date.rb +++ b/modules/meeting/app/forms/meeting/start_date.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/forms/meeting/start_time.rb b/modules/meeting/app/forms/meeting/start_time.rb index e2dde05f164b..40ffe9a4f32b 100644 --- a/modules/meeting/app/forms/meeting/start_time.rb +++ b/modules/meeting/app/forms/meeting/start_time.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/forms/meeting/submit.rb b/modules/meeting/app/forms/meeting/submit.rb index 384edde7e314..47a86063684f 100644 --- a/modules/meeting/app/forms/meeting/submit.rb +++ b/modules/meeting/app/forms/meeting/submit.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/forms/meeting/title.rb b/modules/meeting/app/forms/meeting/title.rb index 8e8a53cf8b5d..61f04a27afc6 100644 --- a/modules/meeting/app/forms/meeting/title.rb +++ b/modules/meeting/app/forms/meeting/title.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/forms/meeting_agenda_item/duration.rb b/modules/meeting/app/forms/meeting_agenda_item/duration.rb index 6b4128e853d9..4be1c75d6d66 100644 --- a/modules/meeting/app/forms/meeting_agenda_item/duration.rb +++ b/modules/meeting/app/forms/meeting_agenda_item/duration.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/forms/meeting_agenda_item/meeting_form.rb b/modules/meeting/app/forms/meeting_agenda_item/meeting_form.rb index 9ea34f92e454..40b19297e2b6 100644 --- a/modules/meeting/app/forms/meeting_agenda_item/meeting_form.rb +++ b/modules/meeting/app/forms/meeting_agenda_item/meeting_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -38,7 +38,7 @@ class MeetingAgendaItem::MeetingForm < ApplicationForm caption: I18n.t("label_meeting_selection_caption"), autocomplete_options: { multiple: false, - decorated: true, + decorated: true } ) do |select| MeetingAgendaItems::CreateContract diff --git a/modules/meeting/app/forms/meeting_agenda_item/notes.rb b/modules/meeting/app/forms/meeting_agenda_item/notes.rb index 076514f8bb5f..0b605d8f3ba8 100644 --- a/modules/meeting/app/forms/meeting_agenda_item/notes.rb +++ b/modules/meeting/app/forms/meeting_agenda_item/notes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/forms/meeting_agenda_item/submit.rb b/modules/meeting/app/forms/meeting_agenda_item/submit.rb index fc337229ee66..91c28bfb24ca 100644 --- a/modules/meeting/app/forms/meeting_agenda_item/submit.rb +++ b/modules/meeting/app/forms/meeting_agenda_item/submit.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/forms/meeting_agenda_item/title.rb b/modules/meeting/app/forms/meeting_agenda_item/title.rb index a64f76472b51..9b8a8bff88d8 100644 --- a/modules/meeting/app/forms/meeting_agenda_item/title.rb +++ b/modules/meeting/app/forms/meeting_agenda_item/title.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/forms/meeting_agenda_item/work_package.rb b/modules/meeting/app/forms/meeting_agenda_item/work_package.rb index 21c3e8638672..52be6a872117 100644 --- a/modules/meeting/app/forms/meeting_agenda_item/work_package.rb +++ b/modules/meeting/app/forms/meeting_agenda_item/work_package.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/helpers/meeting_contents_helper.rb b/modules/meeting/app/helpers/meeting_contents_helper.rb index cbc2fca70154..e3ab854a4595 100644 --- a/modules/meeting/app/helpers/meeting_contents_helper.rb +++ b/modules/meeting/app/helpers/meeting_contents_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -97,7 +97,7 @@ def open_meeting_agenda_link(content_type, meeting) end end - def meeting_content_edit_link(content_type) + def meeting_content_edit_link(_content_type) content_tag :li, '', class: 'toolbar-item' do link_to '', class: 'button button--edit-agenda', diff --git a/modules/meeting/app/helpers/meetings_helper.rb b/modules/meeting/app/helpers/meetings_helper.rb index 677fc94e4c36..a7f7fc1f73fe 100644 --- a/modules/meeting/app/helpers/meetings_helper.rb +++ b/modules/meeting/app/helpers/meetings_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -142,7 +142,7 @@ def render_meeting_journal(model, journal, options = {}) return '' if journal.initial? journal_content = render_journal_details(journal, :label_updated_time_by, model, options) - content_tag 'div', journal_content, id: "change-#{journal.id}", class: 'journal' + content_tag 'div', journal_content, id: "change-#{journal.id}", class: 'journal' end # This renders a journal entry with a header and details diff --git a/modules/meeting/app/mailers/meeting_mailer.rb b/modules/meeting/app/mailers/meeting_mailer.rb index 90fa0b47fb5a..7def8247802d 100644 --- a/modules/meeting/app/mailers/meeting_mailer.rb +++ b/modules/meeting/app/mailers/meeting_mailer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -74,7 +74,6 @@ def icalendar_notification(meeting, user, _actor, **) def with_attached_ics(meeting, user) User.execute_as(user) do - call = ::Meetings::ICalService .new(user:, meeting: @meeting) .call diff --git a/modules/meeting/app/models/activities/meeting_activity_provider.rb b/modules/meeting/app/models/activities/meeting_activity_provider.rb index 252717dd03c8..cd1c9b492dcd 100644 --- a/modules/meeting/app/models/activities/meeting_activity_provider.rb +++ b/modules/meeting/app/models/activities/meeting_activity_provider.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/journal/meeting_agenda_item_journal.rb b/modules/meeting/app/models/journal/meeting_agenda_item_journal.rb index 42c9c5d45a7d..f2cef2b0cb22 100644 --- a/modules/meeting/app/models/journal/meeting_agenda_item_journal.rb +++ b/modules/meeting/app/models/journal/meeting_agenda_item_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/journal/meeting_content_journal.rb b/modules/meeting/app/models/journal/meeting_content_journal.rb index c856dfb0b614..98ad96ef48b6 100644 --- a/modules/meeting/app/models/journal/meeting_content_journal.rb +++ b/modules/meeting/app/models/journal/meeting_content_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/journal/meeting_journal.rb b/modules/meeting/app/models/journal/meeting_journal.rb index 415e37ff95dd..d5ef503b304a 100644 --- a/modules/meeting/app/models/journal/meeting_journal.rb +++ b/modules/meeting/app/models/journal/meeting_journal.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/meeting.rb b/modules/meeting/app/models/meeting.rb index 865b331b7d62..add973eda076 100644 --- a/modules/meeting/app/models/meeting.rb +++ b/modules/meeting/app/models/meeting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -109,7 +109,7 @@ def start_time end def start_time=(value) - super value&.to_datetime + super(value&.to_datetime) end def start_month @@ -154,7 +154,7 @@ def invited_or_attended_participants def all_changeable_participants changeable_participants = participants.select(&:invited).collect(&:user) changeable_participants = changeable_participants + participants.select(&:attended).collect(&:user) - changeable_participants = changeable_participants + \ + changeable_participants = changeable_participants + User.allowed_members(:view_meetings, project) changeable_participants diff --git a/modules/meeting/app/models/meeting/journalized.rb b/modules/meeting/app/models/meeting/journalized.rb index 7d514cc6ce1a..7581a02103c6 100644 --- a/modules/meeting/app/models/meeting/journalized.rb +++ b/modules/meeting/app/models/meeting/journalized.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/meeting_agenda.rb b/modules/meeting/app/models/meeting_agenda.rb index 79774036a3ad..5e97bec0d058 100644 --- a/modules/meeting/app/models/meeting_agenda.rb +++ b/modules/meeting/app/models/meeting_agenda.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/meeting_agenda_item.rb b/modules/meeting/app/models/meeting_agenda_item.rb index b130005d2148..c0811dfc67b1 100644 --- a/modules/meeting/app/models/meeting_agenda_item.rb +++ b/modules/meeting/app/models/meeting_agenda_item.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,7 @@ class MeetingAgendaItem < ApplicationRecord enum item_type: ITEM_TYPES - belongs_to :meeting, foreign_key: 'meeting_id', class_name: 'StructuredMeeting' + belongs_to :meeting, class_name: 'StructuredMeeting' belongs_to :work_package, class_name: '::WorkPackage' has_one :project, through: :meeting belongs_to :author, class_name: 'User', optional: false diff --git a/modules/meeting/app/models/meeting_content.rb b/modules/meeting/app/models/meeting_content.rb index 2bddf2f126f6..441535ee7b51 100644 --- a/modules/meeting/app/models/meeting_content.rb +++ b/modules/meeting/app/models/meeting_content.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/meeting_minutes.rb b/modules/meeting/app/models/meeting_minutes.rb index 5e870d02584d..82d7e0b35f74 100644 --- a/modules/meeting/app/models/meeting_minutes.rb +++ b/modules/meeting/app/models/meeting_minutes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/meeting_participant.rb b/modules/meeting/app/models/meeting_participant.rb index e4a76f6bf4bd..d22436fb675e 100644 --- a/modules/meeting/app/models/meeting_participant.rb +++ b/modules/meeting/app/models/meeting_participant.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/queries/meetings.rb b/modules/meeting/app/models/queries/meetings.rb index d0c7f794e2d1..07ce66e99db1 100644 --- a/modules/meeting/app/models/queries/meetings.rb +++ b/modules/meeting/app/models/queries/meetings.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/queries/meetings/filters/attended_user_filter.rb b/modules/meeting/app/models/queries/meetings/filters/attended_user_filter.rb index f22650586d50..c030126f6e39 100644 --- a/modules/meeting/app/models/queries/meetings/filters/attended_user_filter.rb +++ b/modules/meeting/app/models/queries/meetings/filters/attended_user_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/queries/meetings/filters/author_filter.rb b/modules/meeting/app/models/queries/meetings/filters/author_filter.rb index 7b924f7d1a85..9d1848b93a66 100644 --- a/modules/meeting/app/models/queries/meetings/filters/author_filter.rb +++ b/modules/meeting/app/models/queries/meetings/filters/author_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/queries/meetings/filters/invited_user_filter.rb b/modules/meeting/app/models/queries/meetings/filters/invited_user_filter.rb index 07bb21982302..f1f752984af5 100644 --- a/modules/meeting/app/models/queries/meetings/filters/invited_user_filter.rb +++ b/modules/meeting/app/models/queries/meetings/filters/invited_user_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/queries/meetings/filters/meeting_filter.rb b/modules/meeting/app/models/queries/meetings/filters/meeting_filter.rb index 6f29e3761b9c..169ae76aac9d 100644 --- a/modules/meeting/app/models/queries/meetings/filters/meeting_filter.rb +++ b/modules/meeting/app/models/queries/meetings/filters/meeting_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/queries/meetings/filters/project_filter.rb b/modules/meeting/app/models/queries/meetings/filters/project_filter.rb index 1b692115f526..5dc846e19290 100644 --- a/modules/meeting/app/models/queries/meetings/filters/project_filter.rb +++ b/modules/meeting/app/models/queries/meetings/filters/project_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/queries/meetings/filters/time_filter.rb b/modules/meeting/app/models/queries/meetings/filters/time_filter.rb index 77241b9aa35e..6031a0a43dbb 100644 --- a/modules/meeting/app/models/queries/meetings/filters/time_filter.rb +++ b/modules/meeting/app/models/queries/meetings/filters/time_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/queries/meetings/meeting_query.rb b/modules/meeting/app/models/queries/meetings/meeting_query.rb index cf41d71f03e1..0f0aeefa92cf 100644 --- a/modules/meeting/app/models/queries/meetings/meeting_query.rb +++ b/modules/meeting/app/models/queries/meetings/meeting_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/models/structured_meeting.rb b/modules/meeting/app/models/structured_meeting.rb index 5aab08db8a37..d1fae09521ef 100644 --- a/modules/meeting/app/models/structured_meeting.rb +++ b/modules/meeting/app/models/structured_meeting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/seeders/common.yml b/modules/meeting/app/seeders/common.yml index cf33aaa849e3..816b4365e329 100644 --- a/modules/meeting/app/seeders/common.yml +++ b/modules/meeting/app/seeders/common.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/seeders/meetings/demo_data/meeting_agenda_items_seeder.rb b/modules/meeting/app/seeders/meetings/demo_data/meeting_agenda_items_seeder.rb index 99be95acbda4..83fff13ce60f 100644 --- a/modules/meeting/app/seeders/meetings/demo_data/meeting_agenda_items_seeder.rb +++ b/modules/meeting/app/seeders/meetings/demo_data/meeting_agenda_items_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/seeders/meetings/demo_data/meeting_seeder.rb b/modules/meeting/app/seeders/meetings/demo_data/meeting_seeder.rb index 599a81fa2311..233c98d7890f 100644 --- a/modules/meeting/app/seeders/meetings/demo_data/meeting_seeder.rb +++ b/modules/meeting/app/seeders/meetings/demo_data/meeting_seeder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/seeders/standard.yml b/modules/meeting/app/seeders/standard.yml index d36f965e3cc1..17783c5d6329 100644 --- a/modules/meeting/app/seeders/standard.yml +++ b/modules/meeting/app/seeders/standard.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/services/meeting_agenda_items/after_perform_hook.rb b/modules/meeting/app/services/meeting_agenda_items/after_perform_hook.rb index 539448df29d6..3c6c495a38f4 100644 --- a/modules/meeting/app/services/meeting_agenda_items/after_perform_hook.rb +++ b/modules/meeting/app/services/meeting_agenda_items/after_perform_hook.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/services/meeting_agenda_items/create_service.rb b/modules/meeting/app/services/meeting_agenda_items/create_service.rb index a8d7e9f56705..87e21d0f78d5 100644 --- a/modules/meeting/app/services/meeting_agenda_items/create_service.rb +++ b/modules/meeting/app/services/meeting_agenda_items/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/services/meeting_agenda_items/delete_service.rb b/modules/meeting/app/services/meeting_agenda_items/delete_service.rb index ae00e7a5390b..3b01a972b27d 100644 --- a/modules/meeting/app/services/meeting_agenda_items/delete_service.rb +++ b/modules/meeting/app/services/meeting_agenda_items/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/services/meeting_agenda_items/set_attributes_service.rb b/modules/meeting/app/services/meeting_agenda_items/set_attributes_service.rb index 1acea4caac8d..50cd8ed03d5e 100644 --- a/modules/meeting/app/services/meeting_agenda_items/set_attributes_service.rb +++ b/modules/meeting/app/services/meeting_agenda_items/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/services/meeting_agenda_items/update_service.rb b/modules/meeting/app/services/meeting_agenda_items/update_service.rb index 1c0187731fa1..9019ef06d1b8 100644 --- a/modules/meeting/app/services/meeting_agenda_items/update_service.rb +++ b/modules/meeting/app/services/meeting_agenda_items/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/services/meeting_contents/set_attributes_service.rb b/modules/meeting/app/services/meeting_contents/set_attributes_service.rb index 67c030a67fed..db64b9b4311c 100644 --- a/modules/meeting/app/services/meeting_contents/set_attributes_service.rb +++ b/modules/meeting/app/services/meeting_contents/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/services/meeting_contents/update_service.rb b/modules/meeting/app/services/meeting_contents/update_service.rb index 37850ae37495..d232f3002355 100644 --- a/modules/meeting/app/services/meeting_contents/update_service.rb +++ b/modules/meeting/app/services/meeting_contents/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/services/meetings/ical_service.rb b/modules/meeting/app/services/meetings/ical_service.rb index d7cece9aa91f..1451d04ee7e7 100644 --- a/modules/meeting/app/services/meetings/ical_service.rb +++ b/modules/meeting/app/services/meetings/ical_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/services/meetings/set_attributes_service.rb b/modules/meeting/app/services/meetings/set_attributes_service.rb index a800e7b4a88c..fa8977e5d1da 100644 --- a/modules/meeting/app/services/meetings/set_attributes_service.rb +++ b/modules/meeting/app/services/meetings/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/services/meetings/update_service.rb b/modules/meeting/app/services/meetings/update_service.rb index c0e9470be038..3a85b966fd0d 100644 --- a/modules/meeting/app/services/meetings/update_service.rb +++ b/modules/meeting/app/services/meetings/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meeting_contents/_form.html.erb b/modules/meeting/app/views/meeting_contents/_form.html.erb index 7a84dc101564..1ea5a8337a0a 100644 --- a/modules/meeting/app/views/meeting_contents/_form.html.erb +++ b/modules/meeting/app/views/meeting_contents/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meeting_contents/_show.html.erb b/modules/meeting/app/views/meeting_contents/_show.html.erb index 6634cd289448..963d5e1968e0 100644 --- a/modules/meeting/app/views/meeting_contents/_show.html.erb +++ b/modules/meeting/app/views/meeting_contents/_show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meeting_contents/diff.html.erb b/modules/meeting/app/views/meeting_contents/diff.html.erb index 26babdd81c5f..32315fd1bb07 100644 --- a/modules/meeting/app/views/meeting_contents/diff.html.erb +++ b/modules/meeting/app/views/meeting_contents/diff.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meeting_contents/history.html.erb b/modules/meeting/app/views/meeting_contents/history.html.erb index a57bac2c6ee2..87ec5a962576 100644 --- a/modules/meeting/app/views/meeting_contents/history.html.erb +++ b/modules/meeting/app/views/meeting_contents/history.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meeting_contents/show.html.erb b/modules/meeting/app/views/meeting_contents/show.html.erb index ab2309848df1..93502203719a 100644 --- a/modules/meeting/app/views/meeting_contents/show.html.erb +++ b/modules/meeting/app/views/meeting_contents/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meeting_mailer/invited.html.erb b/modules/meeting/app/views/meeting_mailer/invited.html.erb index bc294af33267..072eccaa8428 100644 --- a/modules/meeting/app/views/meeting_mailer/invited.html.erb +++ b/modules/meeting/app/views/meeting_mailer/invited.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meeting_mailer/invited.text.erb b/modules/meeting/app/views/meeting_mailer/invited.text.erb index 2a15f364390c..4e51d6fd57d7 100644 --- a/modules/meeting/app/views/meeting_mailer/invited.text.erb +++ b/modules/meeting/app/views/meeting_mailer/invited.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meeting_mailer/rescheduled.html.erb b/modules/meeting/app/views/meeting_mailer/rescheduled.html.erb index 6a4e7bc96651..08c45b917a8b 100644 --- a/modules/meeting/app/views/meeting_mailer/rescheduled.html.erb +++ b/modules/meeting/app/views/meeting_mailer/rescheduled.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meeting_mailer/rescheduled.text.erb b/modules/meeting/app/views/meeting_mailer/rescheduled.text.erb index d601b7196b18..ece23426d87b 100644 --- a/modules/meeting/app/views/meeting_mailer/rescheduled.text.erb +++ b/modules/meeting/app/views/meeting_mailer/rescheduled.text.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meetings/_form.html.erb b/modules/meeting/app/views/meetings/_form.html.erb index 87d9e388f3fd..2f93017842e4 100644 --- a/modules/meeting/app/views/meetings/_form.html.erb +++ b/modules/meeting/app/views/meetings/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meetings/_menu_query_select.html.erb b/modules/meeting/app/views/meetings/_menu_query_select.html.erb index e0e43e46e066..24d2d6afb613 100644 --- a/modules/meeting/app/views/meetings/_menu_query_select.html.erb +++ b/modules/meeting/app/views/meetings/_menu_query_select.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meetings/_participants_section.html.erb b/modules/meeting/app/views/meetings/_participants_section.html.erb index 94c77daf95e7..340ecb941962 100644 --- a/modules/meeting/app/views/meetings/_participants_section.html.erb +++ b/modules/meeting/app/views/meetings/_participants_section.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meetings/edit.html.erb b/modules/meeting/app/views/meetings/edit.html.erb index 2773a0cf8398..3f3eaaabac1a 100644 --- a/modules/meeting/app/views/meetings/edit.html.erb +++ b/modules/meeting/app/views/meetings/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meetings/index.html.erb b/modules/meeting/app/views/meetings/index.html.erb index 5e3244fdd183..a050a22018e0 100644 --- a/modules/meeting/app/views/meetings/index.html.erb +++ b/modules/meeting/app/views/meetings/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meetings/new.html.erb b/modules/meeting/app/views/meetings/new.html.erb index 79706a160fb0..4c345bdc39d3 100644 --- a/modules/meeting/app/views/meetings/new.html.erb +++ b/modules/meeting/app/views/meetings/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meetings/new.turbo_stream.erb b/modules/meeting/app/views/meetings/new.turbo_stream.erb index 9d5eea2c2131..ca65bd7803d3 100644 --- a/modules/meeting/app/views/meetings/new.turbo_stream.erb +++ b/modules/meeting/app/views/meetings/new.turbo_stream.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/app/views/meetings/show.html.erb b/modules/meeting/app/views/meetings/show.html.erb index d1018623c566..9d2eeea4e972 100644 --- a/modules/meeting/app/views/meetings/show.html.erb +++ b/modules/meeting/app/views/meetings/show.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/config/locales/crowdin/af.yml b/modules/meeting/config/locales/crowdin/af.yml index 63fb0b77a639..fcbb482d4cdd 100644 --- a/modules/meeting/config/locales/crowdin/af.yml +++ b/modules/meeting/config/locales/crowdin/af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/ar.yml b/modules/meeting/config/locales/crowdin/ar.yml index e70d95a1e659..b16d193fb345 100644 --- a/modules/meeting/config/locales/crowdin/ar.yml +++ b/modules/meeting/config/locales/crowdin/ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/az.yml b/modules/meeting/config/locales/crowdin/az.yml index 1ced7db392e7..6de949c9b442 100644 --- a/modules/meeting/config/locales/crowdin/az.yml +++ b/modules/meeting/config/locales/crowdin/az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/be.yml b/modules/meeting/config/locales/crowdin/be.yml index 4b9b6ddb2981..079ffa6f56d6 100644 --- a/modules/meeting/config/locales/crowdin/be.yml +++ b/modules/meeting/config/locales/crowdin/be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/bg.yml b/modules/meeting/config/locales/crowdin/bg.yml index b38d3e197d23..37d3e1d01000 100644 --- a/modules/meeting/config/locales/crowdin/bg.yml +++ b/modules/meeting/config/locales/crowdin/bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/ca.yml b/modules/meeting/config/locales/crowdin/ca.yml index 2f52f8090435..dce7a608deb2 100644 --- a/modules/meeting/config/locales/crowdin/ca.yml +++ b/modules/meeting/config/locales/crowdin/ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/ckb-IR.yml b/modules/meeting/config/locales/crowdin/ckb-IR.yml index d5beb23a1bd8..0c9579925788 100644 --- a/modules/meeting/config/locales/crowdin/ckb-IR.yml +++ b/modules/meeting/config/locales/crowdin/ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/cs.yml b/modules/meeting/config/locales/crowdin/cs.yml index 50cdff24fa0d..af4920fe04b7 100644 --- a/modules/meeting/config/locales/crowdin/cs.yml +++ b/modules/meeting/config/locales/crowdin/cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -34,7 +34,7 @@ cs: notes: "Poznámky" participants: "Účastníci" participant: - one: "1 Participant" + one: "1 Účastník" few: "%{count} Participants" many: "%{count} Participants" other: "%{count} Participants" @@ -92,24 +92,24 @@ cs: label_author: "Autor:" label_notify: "Odeslat k posouzení" label_icalendar: "Odeslat iCalendar" - label_icalendar_download: "Download iCalendar event" + label_icalendar_download: "Stáhnout událost iCalendar" label_version: "Verze" label_time_zone: "Časové pásmo" label_start_date: "Datum zahájení" meeting: email: - open_meeting_link: "Open meeting" + open_meeting_link: "Otevřít schůzku" invited: summary: "%{actor} has sent you an invitation for the meeting %{title}" rescheduled: header: "Meeting %{title} has been rescheduled" summary: "Meeting %{title} has been rescheduled by %{actor}" body: "The meeting %{title} has been rescheduled by %{actor}." - old_date_time: "Old date/time" - new_date_time: "New date/time" + old_date_time: "Staré datum/čas" + new_date_time: "Nové datum/čas" label_mail_all_participants: "Poslat e-mail všem účastníkům" types: - classic: 'Classic' + classic: 'Klasické' classic_text: 'Organize your meeting in a formattable text agenda and protocol.' structured: 'Dynamic' structured_text: 'Organize your meeting as a list of agenda items, optionally linking them to a work package.' @@ -139,17 +139,17 @@ cs: text_meeting_agenda_open_are_you_sure: "Toto přepíše všechny změny v zápisech! Chcete pokračovat?" text_meeting_minutes_for_meeting: 'zápis pro schůzku "%{meeting}"' text_notificiation_invited: "Tento e-mail obsahuje ics záznam pro následující setkání:" - text_meeting_empty_heading: "Your meeting is empty" + text_meeting_empty_heading: "Vaše schůzka je prázdná" text_meeting_empty_description_1: "Start by adding agenda items below. Each item can be as simple as just a title, but you can also add additional details like duration and notes." text_meeting_empty_description_2: "You can also add references to existing work packages. When you do, related notes will automatically be visible in the work package's \"Meetings\" tab." label_meeting_empty_action: "Add agenda item" label_meeting_actions: "Meeting actions" - label_meeting_edit_title: "Edit meeting title" - label_meeting_delete: "Delete meeting" + label_meeting_edit_title: "Upravit název schůzky" + label_meeting_delete: "Smazat schůzku" label_meeting_created_by: "Vytvořil" label_meeting_last_updated: "Naposledy aktualizováno" - label_agenda_item_undisclosed_wp: "Work package #%{id} not visible" - label_agenda_item_deleted_wp: "Deleted work package reference" + label_agenda_item_undisclosed_wp: "Pracovní balíček #%{id} není viditelný" + label_agenda_item_deleted_wp: "Odstraněna reference pracovního balíčku" label_agenda_item_actions: "Agenda items actions" label_agenda_item_move_to_top: "Přesunout nahoru" label_agenda_item_move_to_bottom: "Přesunout na konec" @@ -164,7 +164,7 @@ cs: label_meeting_close_action: "Ukončit schůzku" text_meeting_open_description: "This meeting is open. You can add/remove agenda items and edit them as you please. After the meeting is over, close it to lock it." text_meeting_closed_description: "This meeting is closed. You cannot add/remove agenda items anymore." - label_meeting_manage_participants: "Manage participants" + label_meeting_manage_participants: "Spravovat účastníky" label_meeting_no_participants: "Nikdo tu není" label_meeting_show_hide_participants: "Show/hide %{count} more" label_meeting_show_all_participants: "Zobrazit vše" @@ -172,10 +172,10 @@ cs: text_meeting_not_editable_anymore: "This meeting is not editable anymore." text_meeting_not_present_anymore: "This meeting was deleted. Please select another meeting." label_add_work_package_to_meeting_dialog_title: "Přidat pracovní balíček k schůzce" - label_add_work_package_to_meeting_dialog_button: "Add to meeting" + label_add_work_package_to_meeting_dialog_button: "Přidat do schůzky" label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." text_add_work_package_to_meeting_description: "A work package can be added to one or multiple meetings for discussion. Any notes concerning it are also visible here." - text_agenda_item_no_notes: "No notes provided" + text_agenda_item_no_notes: "Nebyly poskytnuty žádné poznámky" text_agenda_item_not_editable_anymore: "This agenda item is not editable anymore." text_work_package_has_no_upcoming_meeting_agenda_items: "This work package is not scheduled in an upcoming meeting agenda yet." text_work_package_add_to_meeting_hint: "Use the \"Add to meeting\" button to add this work package to an upcoming meeting." diff --git a/modules/meeting/config/locales/crowdin/da.yml b/modules/meeting/config/locales/crowdin/da.yml index c552489208d6..90a8f8187aa8 100644 --- a/modules/meeting/config/locales/crowdin/da.yml +++ b/modules/meeting/config/locales/crowdin/da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/de.yml b/modules/meeting/config/locales/crowdin/de.yml index 365960eb67d1..fb6817b906cf 100644 --- a/modules/meeting/config/locales/crowdin/de.yml +++ b/modules/meeting/config/locales/crowdin/de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -138,7 +138,7 @@ de: text_meeting_minutes_for_meeting: 'das Protokoll für die Besprechung "%{meeting}"' text_notificiation_invited: "Diese Email enthält einen ics Eintrag für die untenstehende Besprechung:" text_meeting_empty_heading: "Ihre Besprechung ist leer" - text_meeting_empty_description_1: "Start by adding agenda items below. Each item can be as simple as just a title, but you can also add additional details like duration and notes." + text_meeting_empty_description_1: "Beginnen Sie unten mit dem Hinzufügen von Tagesordnungspunkten. Jeder Eintrag kann zunächst nur aus einem Titel bestehen. Optional können Sie zusätzliche Details wie Dauer und Notizen hinzufügen." text_meeting_empty_description_2: "Sie können auch Verweise auf bestehende Arbeitspakete hinzufügen. So werden angehängte Notizen automatisch auch im \"Besprechungen\"-Tab des Arbeitspakets angezeigt." label_meeting_empty_action: "Tagesordnungspunkt hinzufügen" label_meeting_actions: "Aktionen der Besprechung" @@ -171,7 +171,7 @@ de: text_meeting_not_present_anymore: "Dieses Meeting wurde gelöscht. Bitte wählen Sie eine andere Besprechung." label_add_work_package_to_meeting_dialog_title: "Arbeitspaket zur Besprechung hinzufügen" label_add_work_package_to_meeting_dialog_button: "Zur Besprechung hinzufügen" - label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." + label_meeting_selection_caption: "Dieses Arbeitspaket kann nur zu offenen, bevorstehenden Meetings hinzugefügt werden." text_add_work_package_to_meeting_description: "Ein Arbeitspaket kann zu mehreren Besprechungen hinzugefügt werden." text_agenda_item_no_notes: "Keine Notizen angegeben." text_agenda_item_not_editable_anymore: "Dieser Tagesordnungspunkt kann nicht mehr bearbeitet werden." diff --git a/modules/meeting/config/locales/crowdin/el.yml b/modules/meeting/config/locales/crowdin/el.yml index 06ffb3f07be3..259783b00ac1 100644 --- a/modules/meeting/config/locales/crowdin/el.yml +++ b/modules/meeting/config/locales/crowdin/el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/eo.yml b/modules/meeting/config/locales/crowdin/eo.yml index a995ec95ae86..4661403e3b5a 100644 --- a/modules/meeting/config/locales/crowdin/eo.yml +++ b/modules/meeting/config/locales/crowdin/eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/es.yml b/modules/meeting/config/locales/crowdin/es.yml index b372f86118bc..b4ada565e277 100644 --- a/modules/meeting/config/locales/crowdin/es.yml +++ b/modules/meeting/config/locales/crowdin/es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -171,7 +171,7 @@ es: text_meeting_not_present_anymore: "Esta reunión ha sido eliminada. Por favor, seleccione otra reunión." label_add_work_package_to_meeting_dialog_title: "Añadir paquete de trabajo a la reunión" label_add_work_package_to_meeting_dialog_button: "Añadir a la reunión" - label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." + label_meeting_selection_caption: "Solo es posible añadir este paquete de trabajo a reuniones abiertas o futuras." text_add_work_package_to_meeting_description: "Un paquete de trabajo puede ser añadido a una o varias reuniones para su discusión." text_agenda_item_no_notes: "No se han proporcionado notas" text_agenda_item_not_editable_anymore: "Este punto de la agenda ya no es editable." diff --git a/modules/meeting/config/locales/crowdin/et.yml b/modules/meeting/config/locales/crowdin/et.yml index 24d0956d8e39..30e32fa36b46 100644 --- a/modules/meeting/config/locales/crowdin/et.yml +++ b/modules/meeting/config/locales/crowdin/et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/eu.yml b/modules/meeting/config/locales/crowdin/eu.yml index d0719b909bc7..34c027d02f08 100644 --- a/modules/meeting/config/locales/crowdin/eu.yml +++ b/modules/meeting/config/locales/crowdin/eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/fa.yml b/modules/meeting/config/locales/crowdin/fa.yml index e7bc17fdfd06..3014f8012875 100644 --- a/modules/meeting/config/locales/crowdin/fa.yml +++ b/modules/meeting/config/locales/crowdin/fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/fi.yml b/modules/meeting/config/locales/crowdin/fi.yml index b2d6b06ecf5f..fd831dd38c27 100644 --- a/modules/meeting/config/locales/crowdin/fi.yml +++ b/modules/meeting/config/locales/crowdin/fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/fil.yml b/modules/meeting/config/locales/crowdin/fil.yml index b72c0ec80b4a..2762319277e0 100644 --- a/modules/meeting/config/locales/crowdin/fil.yml +++ b/modules/meeting/config/locales/crowdin/fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/fr.yml b/modules/meeting/config/locales/crowdin/fr.yml index f77c9989ff3e..12d18b5e5b0e 100644 --- a/modules/meeting/config/locales/crowdin/fr.yml +++ b/modules/meeting/config/locales/crowdin/fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -171,7 +171,7 @@ fr: text_meeting_not_present_anymore: "Cette réunion a été supprimée. Veuillez sélectionner une autre réunion." label_add_work_package_to_meeting_dialog_title: "Ajouter ce lot de travaux à une réunion" label_add_work_package_to_meeting_dialog_button: "Ajouter à la réunion" - label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." + label_meeting_selection_caption: "Il n'est possible d'ajouter ce lot de travaux qu'aux réunions ouvertes à venir ou en cours." text_add_work_package_to_meeting_description: "Un lot de travaux peut être ajouté à une ou plusieurs réunions pour y être discuté. Les éventuelles notes le concernant sont également visibles ici." text_agenda_item_no_notes: "Aucune note fournie" text_agenda_item_not_editable_anymore: "Ce point d'ordre du jour n'est plus modifiable." diff --git a/modules/meeting/config/locales/crowdin/he.yml b/modules/meeting/config/locales/crowdin/he.yml index 22d935dbf7c9..50ae1fb6070d 100644 --- a/modules/meeting/config/locales/crowdin/he.yml +++ b/modules/meeting/config/locales/crowdin/he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/hi.yml b/modules/meeting/config/locales/crowdin/hi.yml index b0c14d72ca57..a0e38f095056 100644 --- a/modules/meeting/config/locales/crowdin/hi.yml +++ b/modules/meeting/config/locales/crowdin/hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/hr.yml b/modules/meeting/config/locales/crowdin/hr.yml index 65fa97705b07..9014f94d3119 100644 --- a/modules/meeting/config/locales/crowdin/hr.yml +++ b/modules/meeting/config/locales/crowdin/hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/hu.yml b/modules/meeting/config/locales/crowdin/hu.yml index db5b89f68db3..12480bd2aa4a 100644 --- a/modules/meeting/config/locales/crowdin/hu.yml +++ b/modules/meeting/config/locales/crowdin/hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/id.yml b/modules/meeting/config/locales/crowdin/id.yml index 6027ee4b1810..526882b2269a 100644 --- a/modules/meeting/config/locales/crowdin/id.yml +++ b/modules/meeting/config/locales/crowdin/id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/it.yml b/modules/meeting/config/locales/crowdin/it.yml index 19d75cf3c57f..6b21586bc519 100644 --- a/modules/meeting/config/locales/crowdin/it.yml +++ b/modules/meeting/config/locales/crowdin/it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -138,7 +138,7 @@ it: text_meeting_minutes_for_meeting: 'verbali per l''incontro "%{meeting}"' text_notificiation_invited: "Questa mail contiene un elemento di riunione ics qui in seguito:" text_meeting_empty_heading: "La tua riunione è vuota" - text_meeting_empty_description_1: "Start by adding agenda items below. Each item can be as simple as just a title, but you can also add additional details like duration and notes." + text_meeting_empty_description_1: "Inizia con l'aggiunta di elementi dell'ordine del giorno qui sotto. Ogni elemento può essere semplice come solo un titolo, ma è anche possibile aggiungere ulteriori dettagli come durata e note." text_meeting_empty_description_2: "Puoi anche aggiungere riferimenti alle macro-attività esistenti. Quando lo fai, le note correlate saranno automaticamente visibili nella scheda \"Riunioni\" della macro-attività." label_meeting_empty_action: "Aggiungi punto all'ordine del giorno" label_meeting_actions: "Azioni di riunione" @@ -146,7 +146,7 @@ it: label_meeting_delete: "Annulla la riunione" label_meeting_created_by: "Creato da" label_meeting_last_updated: "Ultimo aggiornamento" - label_agenda_item_undisclosed_wp: "Work package #%{id} not visible" + label_agenda_item_undisclosed_wp: "Macro-attività #%{id} non visibile" label_agenda_item_deleted_wp: "Riferimento della macro-attività eliminato" label_agenda_item_actions: "Azioni all'ordine del giorno" label_agenda_item_move_to_top: "Sposta in cima" @@ -171,7 +171,7 @@ it: text_meeting_not_present_anymore: "Questa riunione è stata eliminata. Seleziona un'altra riunione." label_add_work_package_to_meeting_dialog_title: "Aggiungi macro-attività alla riunione" label_add_work_package_to_meeting_dialog_button: "Aggiungi alla riunione" - label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." + label_meeting_selection_caption: "È solo possibile aggiungere questa macro-attività alle prossime riunioni o a quelle in corso." text_add_work_package_to_meeting_description: "Una macro-attività può essere aggiunta a una o più riunioni per la discussione. Tutte le note che la riguardano sono visibili anche qui." text_agenda_item_no_notes: "Nessuna nota fornita" text_agenda_item_not_editable_anymore: "Questo punto dell'ordine del giorno non è più modificabile." diff --git a/modules/meeting/config/locales/crowdin/ja.yml b/modules/meeting/config/locales/crowdin/ja.yml index 7d72be868b44..a2b598b9a51c 100644 --- a/modules/meeting/config/locales/crowdin/ja.yml +++ b/modules/meeting/config/locales/crowdin/ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-af.yml b/modules/meeting/config/locales/crowdin/js-af.yml index fa90aed4e491..3ec15444f167 100644 --- a/modules/meeting/config/locales/crowdin/js-af.yml +++ b/modules/meeting/config/locales/crowdin/js-af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-ar.yml b/modules/meeting/config/locales/crowdin/js-ar.yml index 53e8d2d4feed..7b6a393e9462 100644 --- a/modules/meeting/config/locales/crowdin/js-ar.yml +++ b/modules/meeting/config/locales/crowdin/js-ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-az.yml b/modules/meeting/config/locales/crowdin/js-az.yml index 4a9fe2606190..e2df7c490284 100644 --- a/modules/meeting/config/locales/crowdin/js-az.yml +++ b/modules/meeting/config/locales/crowdin/js-az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-be.yml b/modules/meeting/config/locales/crowdin/js-be.yml index defaf90f7243..1adc26d35a6e 100644 --- a/modules/meeting/config/locales/crowdin/js-be.yml +++ b/modules/meeting/config/locales/crowdin/js-be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-bg.yml b/modules/meeting/config/locales/crowdin/js-bg.yml index 58e6f8fe8c96..343ddb5a92a2 100644 --- a/modules/meeting/config/locales/crowdin/js-bg.yml +++ b/modules/meeting/config/locales/crowdin/js-bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-ca.yml b/modules/meeting/config/locales/crowdin/js-ca.yml index 6c6a8c51b621..4c2b18a61f4e 100644 --- a/modules/meeting/config/locales/crowdin/js-ca.yml +++ b/modules/meeting/config/locales/crowdin/js-ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-ckb-IR.yml b/modules/meeting/config/locales/crowdin/js-ckb-IR.yml index f57ae846b10b..8737b3146e1b 100644 --- a/modules/meeting/config/locales/crowdin/js-ckb-IR.yml +++ b/modules/meeting/config/locales/crowdin/js-ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-cs.yml b/modules/meeting/config/locales/crowdin/js-cs.yml index 260cc7457c89..b798a0d9ecf6 100644 --- a/modules/meeting/config/locales/crowdin/js-cs.yml +++ b/modules/meeting/config/locales/crowdin/js-cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-da.yml b/modules/meeting/config/locales/crowdin/js-da.yml index a9e0cfcb86cf..ef13eff095b8 100644 --- a/modules/meeting/config/locales/crowdin/js-da.yml +++ b/modules/meeting/config/locales/crowdin/js-da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-de.yml b/modules/meeting/config/locales/crowdin/js-de.yml index 7aa999f7de95..0c4bb88ce162 100644 --- a/modules/meeting/config/locales/crowdin/js-de.yml +++ b/modules/meeting/config/locales/crowdin/js-de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-el.yml b/modules/meeting/config/locales/crowdin/js-el.yml index e3fde71048d5..350020a2d6a6 100644 --- a/modules/meeting/config/locales/crowdin/js-el.yml +++ b/modules/meeting/config/locales/crowdin/js-el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-eo.yml b/modules/meeting/config/locales/crowdin/js-eo.yml index 552400713a5b..8d288d46c250 100644 --- a/modules/meeting/config/locales/crowdin/js-eo.yml +++ b/modules/meeting/config/locales/crowdin/js-eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-es.yml b/modules/meeting/config/locales/crowdin/js-es.yml index 9e7bfe5b93e1..092b3f45ce63 100644 --- a/modules/meeting/config/locales/crowdin/js-es.yml +++ b/modules/meeting/config/locales/crowdin/js-es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-et.yml b/modules/meeting/config/locales/crowdin/js-et.yml index 383985ffd47d..1bf329c5775f 100644 --- a/modules/meeting/config/locales/crowdin/js-et.yml +++ b/modules/meeting/config/locales/crowdin/js-et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-eu.yml b/modules/meeting/config/locales/crowdin/js-eu.yml index 311d19b0f327..4ad252ab621b 100644 --- a/modules/meeting/config/locales/crowdin/js-eu.yml +++ b/modules/meeting/config/locales/crowdin/js-eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-fa.yml b/modules/meeting/config/locales/crowdin/js-fa.yml index cdd95974e45b..31500748cfd1 100644 --- a/modules/meeting/config/locales/crowdin/js-fa.yml +++ b/modules/meeting/config/locales/crowdin/js-fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-fi.yml b/modules/meeting/config/locales/crowdin/js-fi.yml index 90c33004711a..8b880afd9660 100644 --- a/modules/meeting/config/locales/crowdin/js-fi.yml +++ b/modules/meeting/config/locales/crowdin/js-fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-fil.yml b/modules/meeting/config/locales/crowdin/js-fil.yml index bd409875ceaa..7f95dd2fc6cb 100644 --- a/modules/meeting/config/locales/crowdin/js-fil.yml +++ b/modules/meeting/config/locales/crowdin/js-fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-fr.yml b/modules/meeting/config/locales/crowdin/js-fr.yml index c2053cda4943..d7e86d50f0d1 100644 --- a/modules/meeting/config/locales/crowdin/js-fr.yml +++ b/modules/meeting/config/locales/crowdin/js-fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-he.yml b/modules/meeting/config/locales/crowdin/js-he.yml index 8541c03fdee5..0d8bd6babba3 100644 --- a/modules/meeting/config/locales/crowdin/js-he.yml +++ b/modules/meeting/config/locales/crowdin/js-he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-hi.yml b/modules/meeting/config/locales/crowdin/js-hi.yml index 2ecb5fefa4e6..af5ee6b34127 100644 --- a/modules/meeting/config/locales/crowdin/js-hi.yml +++ b/modules/meeting/config/locales/crowdin/js-hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-hr.yml b/modules/meeting/config/locales/crowdin/js-hr.yml index dfc077001a6a..fc8c9ee8be54 100644 --- a/modules/meeting/config/locales/crowdin/js-hr.yml +++ b/modules/meeting/config/locales/crowdin/js-hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-hu.yml b/modules/meeting/config/locales/crowdin/js-hu.yml index a8f9d4891d9c..2a8b4b2706c6 100644 --- a/modules/meeting/config/locales/crowdin/js-hu.yml +++ b/modules/meeting/config/locales/crowdin/js-hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-id.yml b/modules/meeting/config/locales/crowdin/js-id.yml index eed22f5d34b4..2e6d3af6dc78 100644 --- a/modules/meeting/config/locales/crowdin/js-id.yml +++ b/modules/meeting/config/locales/crowdin/js-id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-it.yml b/modules/meeting/config/locales/crowdin/js-it.yml index 2878bb1b5d21..514d17fddef9 100644 --- a/modules/meeting/config/locales/crowdin/js-it.yml +++ b/modules/meeting/config/locales/crowdin/js-it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-ja.yml b/modules/meeting/config/locales/crowdin/js-ja.yml index b50c3040d4b4..220113b102df 100644 --- a/modules/meeting/config/locales/crowdin/js-ja.yml +++ b/modules/meeting/config/locales/crowdin/js-ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-ka.yml b/modules/meeting/config/locales/crowdin/js-ka.yml index 06333d9a0c61..a03402652a73 100644 --- a/modules/meeting/config/locales/crowdin/js-ka.yml +++ b/modules/meeting/config/locales/crowdin/js-ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-ko.yml b/modules/meeting/config/locales/crowdin/js-ko.yml index 7025254dd651..1b15f53be75e 100644 --- a/modules/meeting/config/locales/crowdin/js-ko.yml +++ b/modules/meeting/config/locales/crowdin/js-ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-lt.yml b/modules/meeting/config/locales/crowdin/js-lt.yml index 7eb5d34c0aea..10048692021e 100644 --- a/modules/meeting/config/locales/crowdin/js-lt.yml +++ b/modules/meeting/config/locales/crowdin/js-lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-lv.yml b/modules/meeting/config/locales/crowdin/js-lv.yml index ff29ceca8240..42ca8c88506d 100644 --- a/modules/meeting/config/locales/crowdin/js-lv.yml +++ b/modules/meeting/config/locales/crowdin/js-lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-mn.yml b/modules/meeting/config/locales/crowdin/js-mn.yml index 2aea77401c41..75df3628ba7a 100644 --- a/modules/meeting/config/locales/crowdin/js-mn.yml +++ b/modules/meeting/config/locales/crowdin/js-mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-ne.yml b/modules/meeting/config/locales/crowdin/js-ne.yml index 316c1f8bb8f9..b2cd41dbc39a 100644 --- a/modules/meeting/config/locales/crowdin/js-ne.yml +++ b/modules/meeting/config/locales/crowdin/js-ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-nl.yml b/modules/meeting/config/locales/crowdin/js-nl.yml index 90205c987c8e..ac8b4fa6d27b 100644 --- a/modules/meeting/config/locales/crowdin/js-nl.yml +++ b/modules/meeting/config/locales/crowdin/js-nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-no.yml b/modules/meeting/config/locales/crowdin/js-no.yml index c18b4d393d3a..0eb8b3220eab 100644 --- a/modules/meeting/config/locales/crowdin/js-no.yml +++ b/modules/meeting/config/locales/crowdin/js-no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-pl.yml b/modules/meeting/config/locales/crowdin/js-pl.yml index 44a774e9119a..e7cea339fe9f 100644 --- a/modules/meeting/config/locales/crowdin/js-pl.yml +++ b/modules/meeting/config/locales/crowdin/js-pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-pt.yml b/modules/meeting/config/locales/crowdin/js-pt.yml index d629c7f9c329..5f850f4538e2 100644 --- a/modules/meeting/config/locales/crowdin/js-pt.yml +++ b/modules/meeting/config/locales/crowdin/js-pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-ro.yml b/modules/meeting/config/locales/crowdin/js-ro.yml index e45a5c107e09..163e823befb9 100644 --- a/modules/meeting/config/locales/crowdin/js-ro.yml +++ b/modules/meeting/config/locales/crowdin/js-ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-ru.yml b/modules/meeting/config/locales/crowdin/js-ru.yml index c3353f9a60e9..9767f4eb9b5c 100644 --- a/modules/meeting/config/locales/crowdin/js-ru.yml +++ b/modules/meeting/config/locales/crowdin/js-ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-rw.yml b/modules/meeting/config/locales/crowdin/js-rw.yml index 113537ba21d2..fe6442650200 100644 --- a/modules/meeting/config/locales/crowdin/js-rw.yml +++ b/modules/meeting/config/locales/crowdin/js-rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-si.yml b/modules/meeting/config/locales/crowdin/js-si.yml index e4e88fba2edf..bc53464a0a3c 100644 --- a/modules/meeting/config/locales/crowdin/js-si.yml +++ b/modules/meeting/config/locales/crowdin/js-si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-sk.yml b/modules/meeting/config/locales/crowdin/js-sk.yml index 474b8f5f150d..f6d7f9be9e33 100644 --- a/modules/meeting/config/locales/crowdin/js-sk.yml +++ b/modules/meeting/config/locales/crowdin/js-sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-sl.yml b/modules/meeting/config/locales/crowdin/js-sl.yml index 39132b9ef104..dddebb3cc679 100644 --- a/modules/meeting/config/locales/crowdin/js-sl.yml +++ b/modules/meeting/config/locales/crowdin/js-sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-sr.yml b/modules/meeting/config/locales/crowdin/js-sr.yml index 8c741966066a..8f6483363193 100644 --- a/modules/meeting/config/locales/crowdin/js-sr.yml +++ b/modules/meeting/config/locales/crowdin/js-sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-sv.yml b/modules/meeting/config/locales/crowdin/js-sv.yml index 1d81d8a90203..c22f8971cf23 100644 --- a/modules/meeting/config/locales/crowdin/js-sv.yml +++ b/modules/meeting/config/locales/crowdin/js-sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-th.yml b/modules/meeting/config/locales/crowdin/js-th.yml index 9a5fa2566b8e..de2c1629f269 100644 --- a/modules/meeting/config/locales/crowdin/js-th.yml +++ b/modules/meeting/config/locales/crowdin/js-th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-tr.yml b/modules/meeting/config/locales/crowdin/js-tr.yml index 7eefa085ad13..c1b9c5519478 100644 --- a/modules/meeting/config/locales/crowdin/js-tr.yml +++ b/modules/meeting/config/locales/crowdin/js-tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-uk.yml b/modules/meeting/config/locales/crowdin/js-uk.yml index 53e7ffff6193..7d461f56fe13 100644 --- a/modules/meeting/config/locales/crowdin/js-uk.yml +++ b/modules/meeting/config/locales/crowdin/js-uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-vi.yml b/modules/meeting/config/locales/crowdin/js-vi.yml index df4a348b890b..07a6b81f1eb1 100644 --- a/modules/meeting/config/locales/crowdin/js-vi.yml +++ b/modules/meeting/config/locales/crowdin/js-vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-zh-CN.yml b/modules/meeting/config/locales/crowdin/js-zh-CN.yml index 2860a5a47069..c18b43ad4720 100644 --- a/modules/meeting/config/locales/crowdin/js-zh-CN.yml +++ b/modules/meeting/config/locales/crowdin/js-zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/js-zh-TW.yml b/modules/meeting/config/locales/crowdin/js-zh-TW.yml index a807a507d56f..468b037c24a2 100644 --- a/modules/meeting/config/locales/crowdin/js-zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/js-zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/ka.seeders.yml b/modules/meeting/config/locales/crowdin/ka.seeders.yml index b777341f7135..4ca586dd7466 100644 --- a/modules/meeting/config/locales/crowdin/ka.seeders.yml +++ b/modules/meeting/config/locales/crowdin/ka.seeders.yml @@ -12,7 +12,7 @@ ka: title: ყოველკვირეული meeting_agenda_items: item_0: - title: Good news + title: კარგი სიახლეები item_1: title: Updates from development team item_2: diff --git a/modules/meeting/config/locales/crowdin/ka.yml b/modules/meeting/config/locales/crowdin/ka.yml index 7d686b0c7d28..012d3f0c21a8 100644 --- a/modules/meeting/config/locales/crowdin/ka.yml +++ b/modules/meeting/config/locales/crowdin/ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -28,31 +28,31 @@ ka: activerecord: attributes: meeting: - type: "Meeting type" + type: "შეხვედრის ტიპი" location: "მდებარეობა" duration: "ხანგრძლივობა" notes: "შენიშვნები" - participants: "Participants" + participants: "მონაწილეები" participant: - one: "1 Participant" - other: "%{count} Participants" + one: "1 მონაწილე" + other: "%{count} მონაწილე" participants_attended: "დამსწრეები" participants_invited: "მოწვეულები" project: "პროექტი" start_date: "თარიღი" start_time: "დრო" - start_time_hour: "Starting time" + start_time_hour: "დაწყების დრო" meeting_agenda_items: title: "სათაური" - author: "Responsible" - duration_in_minutes: "Duration (min)" + author: "პასუხისმგებელი" + duration_in_minutes: "ხანგრძლივობა (წთ)" description: "შენიშვნები" errors: messages: invalid_time_format: "is not a valid time. Required format: HH:MM" models: structured_meeting: "Meeting (dynamic)" - meeting_agenda_item: "Agenda item" + meeting_agenda_item: "განრიგის პუნქტი" meeting_agenda: "დღის განრიგი" meeting_minutes: "წუთი" activity: @@ -61,7 +61,7 @@ ka: description_attended: "დაესწრო" description_invite: "მოწვეულია" events: - meeting: Meeting edited + meeting: შეხვედრა ჩასწორდა. meeting_agenda: Meeting agenda edited meeting_agenda_closed: Meeting agenda closed meeting_agenda_opened: Meeting agenda opened @@ -70,8 +70,8 @@ ka: error_notification_with_errors: "Failed to send notification. The following recipients could not be notified: %{recipients}" label_meeting: "შეხვედრა" label_meeting_plural: "შეხვედრები" - label_meeting_new: "New Meeting" - label_meeting_edit: "Edit Meeting" + label_meeting_new: "ახალი შეხვედრა" + label_meeting_edit: "შეხვედრის ჩასწორება" label_meeting_agenda: "დღის განრიგი" label_meeting_minutes: "წუთი" label_meeting_close: "დახურვა" @@ -80,31 +80,31 @@ ka: label_meeting_date_time: "თარიღი / დრო" label_meeting_diff: "სხვაობა" label_upcoming_meetings: "Upcoming meetings" - label_past_meetings: "Past meetings" + label_past_meetings: "გასული შეხვედრები" label_upcoming_meetings_short: "მომავალი" label_past_meetings_short: "წარს" - label_involvement: "Involvement" + label_involvement: "ჩარეულობა" label_upcoming_invitations: "Upcoming invitations" label_past_invitations: "Past invitations" label_attendee: "დამსწრე" label_author: "შემქმნელი" label_notify: "Send for review" - label_icalendar: "Send iCalendar" + label_icalendar: "'iCalendar'-ის გაგზავნა" label_icalendar_download: "Download iCalendar event" label_version: "ვერსია" label_time_zone: "დროის სარტყელი" label_start_date: "დაწყების თარიღი" meeting: email: - open_meeting_link: "Open meeting" + open_meeting_link: "შეხვედრის გახსნა" invited: summary: "%{actor} has sent you an invitation for the meeting %{title}" rescheduled: header: "Meeting %{title} has been rescheduled" summary: "Meeting %{title} has been rescheduled by %{actor}" body: "The meeting %{title} has been rescheduled by %{actor}." - old_date_time: "Old date/time" - new_date_time: "New date/time" + old_date_time: "ძველი თარიღი/დრო" + new_date_time: "ახალი თარიღი/დრო" label_mail_all_participants: "Send email to all participants" types: classic: 'კლასიკური' @@ -116,16 +116,16 @@ ka: notice_successful_notification: "Notification sent successfully" notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. permission_create_meetings: "Create meetings" - permission_edit_meetings: "Edit meetings" + permission_edit_meetings: "შეხვედრების ჩასწორება" permission_delete_meetings: "Delete meetings" - permission_view_meetings: "View meetings" + permission_view_meetings: "შეხვედრების ნახვა" permission_create_meeting_agendas: "Create meeting agendas" permission_create_meeting_agendas_explanation: "Allows editing the Classic Meeting's agenda content." - permission_manage_agendas: "Manage agendas" + permission_manage_agendas: "დღის წესრიგების მართვა" permission_manage_agendas_explanation: "Allows managing the Dynamic Meeting's agenda items." - permission_close_meeting_agendas: "Close agendas" + permission_close_meeting_agendas: "გეგმების დახურვა" permission_send_meeting_agendas_notification: "Send review notification for agendas" - permission_create_meeting_minutes: "Manage minutes" + permission_create_meeting_minutes: "წუთების მართვა" permission_send_meeting_minutes_notification: "Send review notification for minutes" permission_meetings_send_invite: "Invite users to meetings" permission_send_meeting_agendas_icalendar: "Send meeting agenda as calendar entry" @@ -143,14 +143,14 @@ ka: label_meeting_empty_action: "Add agenda item" label_meeting_actions: "Meeting actions" label_meeting_edit_title: "Edit meeting title" - label_meeting_delete: "Delete meeting" - label_meeting_created_by: "Created by" - label_meeting_last_updated: "Last updated" + label_meeting_delete: "შეხვედრის წაშლა" + label_meeting_created_by: "შექმნილია" + label_meeting_last_updated: "უკანასკნელი განახლება" label_agenda_item_undisclosed_wp: "Work package #%{id} not visible" label_agenda_item_deleted_wp: "Deleted work package reference" label_agenda_item_actions: "Agenda items actions" - label_agenda_item_move_to_top: "Move to top" - label_agenda_item_move_to_bottom: "Move to bottom" + label_agenda_item_move_to_top: "თავში ატანა" + label_agenda_item_move_to_bottom: "ბოლოში გადატანა" label_agenda_item_move_up: "აწევა" label_agenda_item_move_down: "ჩატანა" label_agenda_item_add_notes: "შენიშვნების დამატება" @@ -158,8 +158,8 @@ ka: label_meeting_details_edit: "Edit meeting details" label_meeting_state_open: "გახსნა" label_meeting_state_closed: "დახურულია" - label_meeting_reopen_action: "Reopen meeting" - label_meeting_close_action: "Close meeting" + label_meeting_reopen_action: "შეხვედრის თავიდან გახსნა" + label_meeting_close_action: "შეხვედრის დახურვა" text_meeting_open_description: "This meeting is open. You can add/remove agenda items and edit them as you please. After the meeting is over, close it to lock it." text_meeting_closed_description: "This meeting is closed. You cannot add/remove agenda items anymore." label_meeting_manage_participants: "Manage participants" @@ -170,7 +170,7 @@ ka: text_meeting_not_editable_anymore: "This meeting is not editable anymore." text_meeting_not_present_anymore: "This meeting was deleted. Please select another meeting." label_add_work_package_to_meeting_dialog_title: "Add work package to meeting" - label_add_work_package_to_meeting_dialog_button: "Add to meeting" + label_add_work_package_to_meeting_dialog_button: "შეხვედრისთვის დამატება" label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." text_add_work_package_to_meeting_description: "A work package can be added to one or multiple meetings for discussion. Any notes concerning it are also visible here." text_agenda_item_no_notes: "No notes provided" diff --git a/modules/meeting/config/locales/crowdin/ko.yml b/modules/meeting/config/locales/crowdin/ko.yml index 97d2e01b9354..1c744abe518f 100644 --- a/modules/meeting/config/locales/crowdin/ko.yml +++ b/modules/meeting/config/locales/crowdin/ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -137,7 +137,7 @@ ko: text_meeting_minutes_for_meeting: '미팅 "%{meeting}"에 대한 의사록' text_notificiation_invited: "이 메일에는 아래 모임에 대한 ics 항목이 포함되어 있습니다." text_meeting_empty_heading: "미팅이 비어 있습니다" - text_meeting_empty_description_1: "Start by adding agenda items below. Each item can be as simple as just a title, but you can also add additional details like duration and notes." + text_meeting_empty_description_1: "아래에 의제 항목을 추가하여 시작하세요. 각 항목은 제목처럼 간단할 수 있지만 기간, 메모 등 추가적인 세부 정보를 추가할 수도 있습니다." text_meeting_empty_description_2: "기존 작업 패키지에 대한 참조를 추가할 수도 있습니다. 이렇게 하면 관련 메모가 작업 패키지의 \"미팅\" 탭에 자동으로 표시됩니다." label_meeting_empty_action: "의제 항목 추가" label_meeting_actions: "미팅 작업" @@ -145,7 +145,7 @@ ko: label_meeting_delete: "미팅 삭제" label_meeting_created_by: "작성자" label_meeting_last_updated: "마지막 업데이트" - label_agenda_item_undisclosed_wp: "Work package #%{id} not visible" + label_agenda_item_undisclosed_wp: "작업 패키지 #%{id}이(가) 표시되지 않습니다" label_agenda_item_deleted_wp: "삭제된 작업 패키지 참조" label_agenda_item_actions: "의제 항목 작업" label_agenda_item_move_to_top: "맨 위로 이동" @@ -170,7 +170,7 @@ ko: text_meeting_not_present_anymore: "이 미팅은 삭제되었습니다. 다른 미팅을 선택해 주세요." label_add_work_package_to_meeting_dialog_title: "미팅에 작업 패키지 추가" label_add_work_package_to_meeting_dialog_button: "미팅에 추가" - label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." + label_meeting_selection_caption: "향후 또는 진행 중인 오픈 미팅에만 이 작업 패키지를 추가할 수 있습니다." text_add_work_package_to_meeting_description: "논의를 위해 하나 이상의 미팅에 작업 패키지를 추가할 수 있습니다. 이와 관련된 메모도 여기에 표시됩니다." text_agenda_item_no_notes: "제공된 메모 없음" text_agenda_item_not_editable_anymore: "이 의제 항목은 더 이상 편집할 수 없습니다." diff --git a/modules/meeting/config/locales/crowdin/lt.yml b/modules/meeting/config/locales/crowdin/lt.yml index 0723c1d6196d..50652989ef09 100644 --- a/modules/meeting/config/locales/crowdin/lt.yml +++ b/modules/meeting/config/locales/crowdin/lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/lv.yml b/modules/meeting/config/locales/crowdin/lv.yml index b1791ef3c294..d69a8af069c8 100644 --- a/modules/meeting/config/locales/crowdin/lv.yml +++ b/modules/meeting/config/locales/crowdin/lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/mn.yml b/modules/meeting/config/locales/crowdin/mn.yml index f0732e1360b8..33cee95c2188 100644 --- a/modules/meeting/config/locales/crowdin/mn.yml +++ b/modules/meeting/config/locales/crowdin/mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/ne.yml b/modules/meeting/config/locales/crowdin/ne.yml index 0b6abb34144b..4e4caa5491f6 100644 --- a/modules/meeting/config/locales/crowdin/ne.yml +++ b/modules/meeting/config/locales/crowdin/ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/nl.yml b/modules/meeting/config/locales/crowdin/nl.yml index 45b443daa702..d8c38bf83e89 100644 --- a/modules/meeting/config/locales/crowdin/nl.yml +++ b/modules/meeting/config/locales/crowdin/nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/no.yml b/modules/meeting/config/locales/crowdin/no.yml index b705b66affb5..6d05de73e50c 100644 --- a/modules/meeting/config/locales/crowdin/no.yml +++ b/modules/meeting/config/locales/crowdin/no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/pl.yml b/modules/meeting/config/locales/crowdin/pl.yml index 359271392567..36f7cb879f25 100644 --- a/modules/meeting/config/locales/crowdin/pl.yml +++ b/modules/meeting/config/locales/crowdin/pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -140,7 +140,7 @@ pl: text_meeting_minutes_for_meeting: 'protokół ze spotkania "%{meeting}"' text_notificiation_invited: "Ten mail zawiera element ics dla poniższego spotkania:" text_meeting_empty_heading: "Spotkanie jest puste" - text_meeting_empty_description_1: "Start by adding agenda items below. Each item can be as simple as just a title, but you can also add additional details like duration and notes." + text_meeting_empty_description_1: "Zacznij od dodania pozycji planu spotkania poniżej. Każdy element może mieć prosty tytuł, ale możesz także dodać dodatkowe szczegóły, takie jak czas trwania i notatki." text_meeting_empty_description_2: "Możesz również dodawać odwołania do istniejących pakietów roboczych. Jeśli to zrobisz, powiązane notatki będą automatycznie widoczne na karcie „Spotkania” pakietu roboczego." label_meeting_empty_action: "Dodaj punkt planu spotkania" label_meeting_actions: "Działania spotkania" @@ -148,7 +148,7 @@ pl: label_meeting_delete: "Usuń spotkanie" label_meeting_created_by: "Utworzony przez" label_meeting_last_updated: "Ostatnia aktualizacja" - label_agenda_item_undisclosed_wp: "Work package #%{id} not visible" + label_agenda_item_undisclosed_wp: "Pakiet roboczy nr %{id} nie jest widoczny" label_agenda_item_deleted_wp: "Usunięte odniesienie do pakietu roboczego" label_agenda_item_actions: "Działania punktów planu spotkania" label_agenda_item_move_to_top: "Przenieś na samą górę" @@ -173,7 +173,7 @@ pl: text_meeting_not_present_anymore: "To spotkanie zostało usunięte. Wybierz inne spotkanie." label_add_work_package_to_meeting_dialog_title: "Dodaj pakiet roboczy do spotkania" label_add_work_package_to_meeting_dialog_button: "Dodaj do spotkania" - label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." + label_meeting_selection_caption: "Ten pakiet roboczy można dodać tylko do nadchodzących lub trwających otwartych spotkań." text_add_work_package_to_meeting_description: "Pakiet roboczy może zostać dodany do jednego lub wielu spotkań w celu omówienia. Wszelkie uwagi dotyczące tego pakietu są również widoczne tutaj." text_agenda_item_no_notes: "Brak uwag" text_agenda_item_not_editable_anymore: "Tego punktu planu spotkania nie można już edytować." diff --git a/modules/meeting/config/locales/crowdin/pt.yml b/modules/meeting/config/locales/crowdin/pt.yml index 804ff7b4f7a3..e72ee2a38de4 100644 --- a/modules/meeting/config/locales/crowdin/pt.yml +++ b/modules/meeting/config/locales/crowdin/pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -171,7 +171,7 @@ pt: text_meeting_not_present_anymore: "Esta reunião foi excluída. Selecione outra reunião." label_add_work_package_to_meeting_dialog_title: "Adicione o pacote de trabalho à reunião" label_add_work_package_to_meeting_dialog_button: "Adicionar à reunião" - label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." + label_meeting_selection_caption: "Só é possível adicionar este pacote de trabalho a reuniões em andamento ou futuras." text_add_work_package_to_meeting_description: "Um pacote de trabalho pode ser adicionado a uma ou várias reuniões para discussão. Quaisquer anotações sobre ele também ficarão visíveis aqui." text_agenda_item_no_notes: "Nenhum comentário foi feito" text_agenda_item_not_editable_anymore: "Este item da agenda não pode mais ser editado." diff --git a/modules/meeting/config/locales/crowdin/ro.yml b/modules/meeting/config/locales/crowdin/ro.yml index 764294f2d427..dd6082b8b1ac 100644 --- a/modules/meeting/config/locales/crowdin/ro.yml +++ b/modules/meeting/config/locales/crowdin/ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/ru.yml b/modules/meeting/config/locales/crowdin/ru.yml index 4753bc25d9a4..196514d7c954 100644 --- a/modules/meeting/config/locales/crowdin/ru.yml +++ b/modules/meeting/config/locales/crowdin/ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -53,7 +53,7 @@ ru: messages: invalid_time_format: "недопустимое время. Требуемый формат: ЧЧ:ММ" models: - structured_meeting: "Встреча (динамика)" + structured_meeting: "Встреча (динамическая)" meeting_agenda_item: "Пункт повестки" meeting_agenda: "Повестка дня" meeting_minutes: "Протокол(-ы)" @@ -82,14 +82,14 @@ ru: label_meeting_date_time: "Дата/Время" label_meeting_diff: "Различия" label_upcoming_meetings: "Предстоящие встречи" - label_past_meetings: "Прошлые встречи" + label_past_meetings: "Прошедшие встречи" label_upcoming_meetings_short: "Предстоящие" - label_past_meetings_short: "Прошлые" + label_past_meetings_short: "Прошедшие" label_involvement: "Вовлечение" label_upcoming_invitations: "Предстоящие приглашения" label_past_invitations: "Прошлые приглашения" label_attendee: "Участник" - label_author: "Создатель" + label_author: "Автор" label_notify: "Отправка на рецензию" label_icalendar: "Отправить iCalendar" label_icalendar_download: "Скачать мероприятие iCalendar" @@ -98,22 +98,22 @@ ru: label_start_date: "Дата начала" meeting: email: - open_meeting_link: "Открыть встречу" + open_meeting_link: "Открыть совещание" invited: - summary: "%{actor} отправил вам приглашение на встречу %{title}" + summary: "%{actor} отправил вам приглашение на совещание %{title}" rescheduled: - header: "Meeting %{title} has been rescheduled" - summary: "Встреча %{title} перенесена %{actor}" - body: "Встреча %{title} была перенесена пользователем %{actor}." - old_date_time: "Старая дата/время" - new_date_time: "Новая дата/время" + header: "Встреча %{title} была перенесена %{actor}" + summary: "Совещание %{title} перенесено %{actor}" + body: "Совещание %{title} было перенесено пользователем %{actor}." + old_date_time: "Старые дата/время" + new_date_time: "Новые дата/время" label_mail_all_participants: "Отправить письмо всем участникам" types: classic: 'Классический' - classic_text: 'Организуйте свою встречу с помощью форматируемой текстовой повестки дня и протокола.' + classic_text: 'Организуйте своё совещание с помощью форматируемой текстовой повестки и протокола.' structured: 'Динамический' - structured_text: 'Организуйте свою встречу в виде списка пунктов повестки дня, при необходимости связав их с пакетом работ.' - structured_text_copy: 'При копировании собрания в настоящее время копируются не связанные с ним пункты повестки дня собрания, а только детали' + structured_text: 'Организуйте своё совещание в виде списка пунктов повестки, при необходимости связав их с пакетом работ.' + structured_text_copy: 'При копировании совещания в настоящее время не скопируются связанные с ним пункты повестки, будут скопированы только детали' copied: "Скопировано со встречи #%{id}" notice_successful_notification: "Уведомление успешно отправленно" notice_timezone_missing: Не установлен часовой пояс и применена %{zone}. Чтобы выбрать часовой пояс, пожалуйста, нажмите сюда. @@ -121,10 +121,10 @@ ru: permission_edit_meetings: "Править встречи" permission_delete_meetings: "Удалить встречу" permission_view_meetings: "Просмотреть встречи" - permission_create_meeting_agendas: "Создать повестки дня заседаний" + permission_create_meeting_agendas: "Создать повестку совещания" permission_create_meeting_agendas_explanation: "Позволяет редактировать содержимое повестки дня Классического Совещания." - permission_manage_agendas: "Управление повестками дня" - permission_manage_agendas_explanation: "Позволяет управлять пунктами повестки дня динамического собрания." + permission_manage_agendas: "Управление повестками" + permission_manage_agendas_explanation: "Позволяет управлять пунктами повестки для Динамического совещания." permission_close_meeting_agendas: "Закрыть повестки дня" permission_send_meeting_agendas_notification: "Отправить уведомление о реценизии повесток дня" permission_create_meeting_minutes: "Управление протоколами" @@ -139,44 +139,44 @@ ru: text_meeting_agenda_open_are_you_sure: "Все изменения в протоколах будут перезаписаны! Продолжить?" text_meeting_minutes_for_meeting: 'Протокол совещания «%{meeting}»' text_notificiation_invited: "Это сообщение содержит запись ics для совещания ниже:" - text_meeting_empty_heading: "Встреча пуста" - text_meeting_empty_description_1: "Start by adding agenda items below. Each item can be as simple as just a title, but you can also add additional details like duration and notes." + text_meeting_empty_heading: "Совещание пусто" + text_meeting_empty_description_1: "Начните с добавления пунктов повестки ниже. Каждый пункт может быть простым, как заголовок, но вы также можете добавить дополнительные сведения, такие как продолжительность и примечания." text_meeting_empty_description_2: "Вы также можете добавить ссылки на существующие пакеты работ. Когда вы это сделаете, соответствующие заметки будут автоматически отображаться на вкладке «Встречи» пакета работ." - label_meeting_empty_action: "Добавить пункт повестки дня" - label_meeting_actions: "Действия встречи" - label_meeting_edit_title: "Изменить название встречи" - label_meeting_delete: "Удалить встречу" + label_meeting_empty_action: "Добавить пункт повестки" + label_meeting_actions: "Действия совещания" + label_meeting_edit_title: "Изменить название совещания" + label_meeting_delete: "Удалить совещание" label_meeting_created_by: "Автор" - label_meeting_last_updated: "Обновлено" - label_agenda_item_undisclosed_wp: "Work package #%{id} not visible" + label_meeting_last_updated: "Последнее обновление" + label_agenda_item_undisclosed_wp: "Пакет работ #%{id} невидим" label_agenda_item_deleted_wp: "Ссылка на удалённый пакет работ" - label_agenda_item_actions: "Действия по пунктам повестки дня" + label_agenda_item_actions: "Действия по пунктам повестки" label_agenda_item_move_to_top: "В начало" label_agenda_item_move_to_bottom: "В конец" label_agenda_item_move_up: "Вверх" label_agenda_item_move_down: "Вниз" label_agenda_item_add_notes: "Добавить заметки" - label_meeting_details: "Детали встречи" - label_meeting_details_edit: "Изменить сведения о встрече" + label_meeting_details: "Детали совещания" + label_meeting_details_edit: "Изменить сведения о совещании" label_meeting_state_open: "Открыть" label_meeting_state_closed: "Закрыто" - label_meeting_reopen_action: "Открыть встречу заново" - label_meeting_close_action: "Закрыть встречу" - text_meeting_open_description: "Эта встреча является открытой. Вы можете добавлять/удалять пункты повестки дня и редактировать их по своему усмотрению. После завершения собрания закройте её, чтобы заблокировать." - text_meeting_closed_description: "Эта встреча является закрытой. Вы не можете добавлять/удалять пункты повестки дня." + label_meeting_reopen_action: "Открыть совещание заново" + label_meeting_close_action: "Закрыть совещание" + text_meeting_open_description: "Эта совещание является открытым. Вы можете добавлять/удалять пункты повестки и редактировать их по своему усмотрению. После завершения совещания закройте его, чтобы заблокировать." + text_meeting_closed_description: "Это совещание является закрытым. Вы не можете добавлять/удалять пункты повестки." label_meeting_manage_participants: "Управление участниками" label_meeting_no_participants: "Нет участников" label_meeting_show_hide_participants: "Показать/скрыть %{count} больше" label_meeting_show_all_participants: "Показать все" label_meeting_add_participants: "Добавить участников" - text_meeting_not_editable_anymore: "Эту встречу больше нельзя редактировать." - text_meeting_not_present_anymore: "Эта встреча была удалена. Пожалуйста, выберите другую встречу." - label_add_work_package_to_meeting_dialog_title: "Добавить пакет работ во встречу" - label_add_work_package_to_meeting_dialog_button: "Добавить во встречу" - label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." - text_add_work_package_to_meeting_description: "Пакет работ может быть добавлен к одной или нескольким встречам для обсуждения. Любые заметки об этом также видны здесь." + text_meeting_not_editable_anymore: "Это совещание больше нельзя редактировать." + text_meeting_not_present_anymore: "Это совещание было удалено. Пожалуйста, выберите другое." + label_add_work_package_to_meeting_dialog_title: "Добавить пакет работ в совещание" + label_add_work_package_to_meeting_dialog_button: "Добавить в совещание" + label_meeting_selection_caption: "Этот пакет работ можно добавить только к открытым предстоящим встречам." + text_add_work_package_to_meeting_description: "Пакет работ может быть добавлен к одному или нескольким совещаниям для обсуждения. Любые заметки об этом также видны здесь." text_agenda_item_no_notes: "Примечания отсутствуют" - text_agenda_item_not_editable_anymore: "Этот пункт повестки дня больше не редактируется." - text_work_package_has_no_upcoming_meeting_agenda_items: "Этот пакет работ пока не включен в повестку дня предстоящей встречи." - text_work_package_add_to_meeting_hint: "Используйте кнопку \"Добавить к встрече\", чтобы добавить этот пакет работ к предстоящей встрече." - text_work_package_has_no_past_meeting_agenda_items: "Этот пакет работ не упоминался на прошлой встрече." + text_agenda_item_not_editable_anymore: "Этот пункт повестки больше не редактируется." + text_work_package_has_no_upcoming_meeting_agenda_items: "Этот пакет работ пока не включен в повестку предстоящего совещания." + text_work_package_add_to_meeting_hint: "Используйте кнопку \"Добавить к совещанию\", чтобы добавить этот пакет работ к предстоящему совещанию." + text_work_package_has_no_past_meeting_agenda_items: "Этот пакет работ не упоминался на прошлом совещании." diff --git a/modules/meeting/config/locales/crowdin/rw.yml b/modules/meeting/config/locales/crowdin/rw.yml index f94570ff2386..544acf3f846a 100644 --- a/modules/meeting/config/locales/crowdin/rw.yml +++ b/modules/meeting/config/locales/crowdin/rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/si.yml b/modules/meeting/config/locales/crowdin/si.yml index a15a45509c18..ed19a17e40bf 100644 --- a/modules/meeting/config/locales/crowdin/si.yml +++ b/modules/meeting/config/locales/crowdin/si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/sk.yml b/modules/meeting/config/locales/crowdin/sk.yml index 50cb64442954..6c842dd26692 100644 --- a/modules/meeting/config/locales/crowdin/sk.yml +++ b/modules/meeting/config/locales/crowdin/sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/sl.yml b/modules/meeting/config/locales/crowdin/sl.yml index 451c104d46d9..500693aad71b 100644 --- a/modules/meeting/config/locales/crowdin/sl.yml +++ b/modules/meeting/config/locales/crowdin/sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/sr.yml b/modules/meeting/config/locales/crowdin/sr.yml index 14046d191381..d9b571be0fb0 100644 --- a/modules/meeting/config/locales/crowdin/sr.yml +++ b/modules/meeting/config/locales/crowdin/sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/sv.yml b/modules/meeting/config/locales/crowdin/sv.yml index a26a0f017a86..8172e214e350 100644 --- a/modules/meeting/config/locales/crowdin/sv.yml +++ b/modules/meeting/config/locales/crowdin/sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/th.yml b/modules/meeting/config/locales/crowdin/th.yml index 9cf852773f97..c6b8f7d0e70f 100644 --- a/modules/meeting/config/locales/crowdin/th.yml +++ b/modules/meeting/config/locales/crowdin/th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/tr.yml b/modules/meeting/config/locales/crowdin/tr.yml index 866eb236fd5b..ac82551e51c1 100644 --- a/modules/meeting/config/locales/crowdin/tr.yml +++ b/modules/meeting/config/locales/crowdin/tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/uk.yml b/modules/meeting/config/locales/crowdin/uk.yml index 8b42d6c21995..a06b249510e5 100644 --- a/modules/meeting/config/locales/crowdin/uk.yml +++ b/modules/meeting/config/locales/crowdin/uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -148,7 +148,7 @@ uk: label_meeting_delete: "Видалити зустріч" label_meeting_created_by: "Створено " label_meeting_last_updated: "Востаннє оновлено" - label_agenda_item_undisclosed_wp: "Work package #%{id} not visible" + label_agenda_item_undisclosed_wp: "Пакет робіт #%{id} не видимий" label_agenda_item_deleted_wp: "Посилання на видалений пакет робіт" label_agenda_item_actions: "Дії з пунктами порядку денного" label_agenda_item_move_to_top: "Помістити на верх" @@ -173,7 +173,7 @@ uk: text_meeting_not_present_anymore: "Цю нараду видалено. Виберіть іншу нараду." label_add_work_package_to_meeting_dialog_title: "Додавання пакета робіт до наради" label_add_work_package_to_meeting_dialog_button: "Додати до наради" - label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." + label_meeting_selection_caption: "Цей пакет робіт можна додати лише до майбутніх або поточних відкритих нарад." text_add_work_package_to_meeting_description: "Пакет робіт можна додати до однієї або кількох нарад для обговорення. Тут також з’явдяться всі пов’яхані з ним примітки." text_agenda_item_no_notes: "Примітки не надано" text_agenda_item_not_editable_anymore: "Цей пункт порядку денного більше не можна редагувати." diff --git a/modules/meeting/config/locales/crowdin/vi.yml b/modules/meeting/config/locales/crowdin/vi.yml index 6967aa5f7c14..c22584934a5e 100644 --- a/modules/meeting/config/locales/crowdin/vi.yml +++ b/modules/meeting/config/locales/crowdin/vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/crowdin/zh-CN.yml b/modules/meeting/config/locales/crowdin/zh-CN.yml index f1f0542723f0..31c09c6ceb70 100644 --- a/modules/meeting/config/locales/crowdin/zh-CN.yml +++ b/modules/meeting/config/locales/crowdin/zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -170,7 +170,7 @@ zh-CN: text_meeting_not_present_anymore: "此次会议已被删除。请选择另一次会议。" label_add_work_package_to_meeting_dialog_title: "将工作包添加到会议" label_add_work_package_to_meeting_dialog_button: "添加到会议" - label_meeting_selection_caption: "It's only possible to add this work package to upcoming or ongoing open meetings." + label_meeting_selection_caption: "只能将此工作包添加到即将举行或正在举行的公开会议。" text_add_work_package_to_meeting_description: "一个工作包可以添加到一个或多个会议供讨论。与此相关的任何说明也可在这里看到。" text_agenda_item_no_notes: "未提供备注" text_agenda_item_not_editable_anymore: "此议程项目已不可编辑。" diff --git a/modules/meeting/config/locales/crowdin/zh-TW.yml b/modules/meeting/config/locales/crowdin/zh-TW.yml index cb4eba3d3804..75818edda15f 100644 --- a/modules/meeting/config/locales/crowdin/zh-TW.yml +++ b/modules/meeting/config/locales/crowdin/zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/meeting/config/locales/en.yml b/modules/meeting/config/locales/en.yml index 3f1fde6c15c8..58a3532f47af 100644 --- a/modules/meeting/config/locales/en.yml +++ b/modules/meeting/config/locales/en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/config/locales/js-en.yml b/modules/meeting/config/locales/js-en.yml index 48ecdcc08fe8..8d1e904e2b1f 100644 --- a/modules/meeting/config/locales/js-en.yml +++ b/modules/meeting/config/locales/js-en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/config/routes.rb b/modules/meeting/config/routes.rb index 13b826b70b7c..7bb7da09db60 100644 --- a/modules/meeting/config/routes.rb +++ b/modules/meeting/config/routes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/db/migrate/20180323135408_to_v710_aggregated_meeting_migrations.rb b/modules/meeting/db/migrate/20180323135408_to_v710_aggregated_meeting_migrations.rb index 70e6e4d9e892..9aa249ad92cf 100644 --- a/modules/meeting/db/migrate/20180323135408_to_v710_aggregated_meeting_migrations.rb +++ b/modules/meeting/db/migrate/20180323135408_to_v710_aggregated_meeting_migrations.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require Rails.root.join("db", "migrate", "migration_utils", "migration_squasher").to_s +require Rails.root.join("db/migrate/migration_utils/migration_squasher").to_s # This migration aggregates the migrations detailed in MIGRATION_FILES class ToV710AggregatedMeetingMigrations < ActiveRecord::Migration[5.1] MIGRATION_FILES = <<-MIGRATIONS diff --git a/modules/meeting/frontend/module/main.ts b/modules/meeting/frontend/module/main.ts index af83bcdb9c0e..b25ae4a746e9 100644 --- a/modules/meeting/frontend/module/main.ts +++ b/modules/meeting/frontend/module/main.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/frontend/module/meetings-tab/meetings-tab.component.ts b/modules/meeting/frontend/module/meetings-tab/meetings-tab.component.ts index 94e953904f7f..e21b6b01b0a9 100644 --- a/modules/meeting/frontend/module/meetings-tab/meetings-tab.component.ts +++ b/modules/meeting/frontend/module/meetings-tab/meetings-tab.component.ts @@ -1,6 +1,6 @@ // -- copyright // OpenProject is an open source project management software. -// Copyright (C) 2012-2023 the OpenProject GmbH +// Copyright (C) 2012-2024 the OpenProject GmbH // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/lib/api/v3/attachments/attachments_by_meeting_content_api.rb b/modules/meeting/lib/api/v3/attachments/attachments_by_meeting_content_api.rb index 8831af75d48d..785b00c6d593 100644 --- a/modules/meeting/lib/api/v3/attachments/attachments_by_meeting_content_api.rb +++ b/modules/meeting/lib/api/v3/attachments/attachments_by_meeting_content_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/lib/api/v3/meeting_agendas/meeting_agenda_representer.rb b/modules/meeting/lib/api/v3/meeting_agendas/meeting_agenda_representer.rb index 88d8b21835c6..5ef311e83909 100644 --- a/modules/meeting/lib/api/v3/meeting_agendas/meeting_agenda_representer.rb +++ b/modules/meeting/lib/api/v3/meeting_agendas/meeting_agenda_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/lib/api/v3/meeting_contents/meeting_content_representer.rb b/modules/meeting/lib/api/v3/meeting_contents/meeting_content_representer.rb index 2818493002dc..ce4592cbe2e1 100644 --- a/modules/meeting/lib/api/v3/meeting_contents/meeting_content_representer.rb +++ b/modules/meeting/lib/api/v3/meeting_contents/meeting_content_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/lib/api/v3/meeting_minutes/meeting_minutes_representer.rb b/modules/meeting/lib/api/v3/meeting_minutes/meeting_minutes_representer.rb index 4a6dec95ca0b..db9afe87257f 100644 --- a/modules/meeting/lib/api/v3/meeting_minutes/meeting_minutes_representer.rb +++ b/modules/meeting/lib/api/v3/meeting_minutes/meeting_minutes_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/lib/api/v3/meetings/meeting_contents_api.rb b/modules/meeting/lib/api/v3/meetings/meeting_contents_api.rb index ef0a0a183e4c..39844e80c4f2 100644 --- a/modules/meeting/lib/api/v3/meetings/meeting_contents_api.rb +++ b/modules/meeting/lib/api/v3/meetings/meeting_contents_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/lib/open_project/meeting.rb b/modules/meeting/lib/open_project/meeting.rb index d28fffdb2172..87b48d92c60f 100644 --- a/modules/meeting/lib/open_project/meeting.rb +++ b/modules/meeting/lib/open_project/meeting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/lib/open_project/meeting/engine.rb b/modules/meeting/lib/open_project/meeting/engine.rb index bf131f4a956f..3030589bf398 100644 --- a/modules/meeting/lib/open_project/meeting/engine.rb +++ b/modules/meeting/lib/open_project/meeting/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/lib/open_project/meeting/patches/project_patch.rb b/modules/meeting/lib/open_project/meeting/patches/project_patch.rb index 1a8281b67c5a..97977256a911 100644 --- a/modules/meeting/lib/open_project/meeting/patches/project_patch.rb +++ b/modules/meeting/lib/open_project/meeting/patches/project_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/lib/open_project/meeting/patches/setting_seeder_patch.rb b/modules/meeting/lib/open_project/meeting/patches/setting_seeder_patch.rb index 4efcc13e07d6..5c4c641eee2a 100644 --- a/modules/meeting/lib/open_project/meeting/patches/setting_seeder_patch.rb +++ b/modules/meeting/lib/open_project/meeting/patches/setting_seeder_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/lib/openproject-meeting.rb b/modules/meeting/lib/openproject-meeting.rb index 9b15ee87cd57..bedae3a08cd4 100644 --- a/modules/meeting/lib/openproject-meeting.rb +++ b/modules/meeting/lib/openproject-meeting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/contracts/meeting_agenda_items/create_contract_spec.rb b/modules/meeting/spec/contracts/meeting_agenda_items/create_contract_spec.rb index 79ea61d18ffb..c21a76337139 100644 --- a/modules/meeting/spec/contracts/meeting_agenda_items/create_contract_spec.rb +++ b/modules/meeting/spec/contracts/meeting_agenda_items/create_contract_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/contracts/meeting_agenda_items/delete_contract_spec.rb b/modules/meeting/spec/contracts/meeting_agenda_items/delete_contract_spec.rb index b5d133639b61..3af14d395c9a 100644 --- a/modules/meeting/spec/contracts/meeting_agenda_items/delete_contract_spec.rb +++ b/modules/meeting/spec/contracts/meeting_agenda_items/delete_contract_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/contracts/meeting_agenda_items/update_contract_spec.rb b/modules/meeting/spec/contracts/meeting_agenda_items/update_contract_spec.rb index b9c5318ab513..dd84d5460d56 100644 --- a/modules/meeting/spec/contracts/meeting_agenda_items/update_contract_spec.rb +++ b/modules/meeting/spec/contracts/meeting_agenda_items/update_contract_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/contracts/meeting_contents/update_contract_spec.rb b/modules/meeting/spec/contracts/meeting_contents/update_contract_spec.rb index 5837fb11f7be..28eebc8172f9 100644 --- a/modules/meeting/spec/contracts/meeting_contents/update_contract_spec.rb +++ b/modules/meeting/spec/contracts/meeting_contents/update_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/contracts/meetings/update_contract_spec.rb b/modules/meeting/spec/contracts/meetings/update_contract_spec.rb index 4687c05478aa..1904a52d6fef 100644 --- a/modules/meeting/spec/contracts/meetings/update_contract_spec.rb +++ b/modules/meeting/spec/contracts/meetings/update_contract_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/controllers/meetings_controller_spec.rb b/modules/meeting/spec/controllers/meetings_controller_spec.rb index 25b70d14a91c..4771ef8cb503 100644 --- a/modules/meeting/spec/controllers/meetings_controller_spec.rb +++ b/modules/meeting/spec/controllers/meetings_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -177,8 +177,8 @@ expect(response).to have_http_status :ok expect(response).to render_template :new expect(response.body) - .to have_selector '#errorExplanation li', - text: "Date #{I18n.t('activerecord.errors.messages.not_an_iso_date')}" + .to have_css '#errorExplanation li', + text: "Date #{I18n.t('activerecord.errors.messages.not_an_iso_date')}" end end @@ -191,8 +191,8 @@ expect(response).to have_http_status :ok expect(response).to render_template :new expect(response.body) - .to have_selector '#errorExplanation li', - text: "Starting time #{I18n.t('activerecord.errors.messages.invalid_time_format')}" + .to have_css '#errorExplanation li', + text: "Starting time #{I18n.t('activerecord.errors.messages.invalid_time_format')}" end end end @@ -204,8 +204,8 @@ expect(response).to have_http_status :ok expect(response).to render_template :new expect(response.body) - .to have_selector '#errorExplanation li', - text: "Project #{I18n.t('activerecord.errors.messages.blank')}" + .to have_css '#errorExplanation li', + text: "Project #{I18n.t('activerecord.errors.messages.blank')}" end end @@ -217,8 +217,8 @@ expect(response).to have_http_status :ok expect(response).to render_template :new expect(response.body) - .to have_selector '#errorExplanation li', - text: "Project #{I18n.t('activerecord.errors.messages.blank')}" + .to have_css '#errorExplanation li', + text: "Project #{I18n.t('activerecord.errors.messages.blank')}" end end end diff --git a/modules/meeting/spec/factories/meeting_agenda_factory.rb b/modules/meeting/spec/factories/meeting_agenda_factory.rb index a01db28a984e..7f01fbc16b82 100644 --- a/modules/meeting/spec/factories/meeting_agenda_factory.rb +++ b/modules/meeting/spec/factories/meeting_agenda_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/factories/meeting_agenda_item_factory.rb b/modules/meeting/spec/factories/meeting_agenda_item_factory.rb index 3ad8154b0c73..5a4bfe7939f1 100644 --- a/modules/meeting/spec/factories/meeting_agenda_item_factory.rb +++ b/modules/meeting/spec/factories/meeting_agenda_item_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/factories/meeting_content_journal_factory.rb b/modules/meeting/spec/factories/meeting_content_journal_factory.rb index 28fdb05aea81..b5cd62f9b8dd 100644 --- a/modules/meeting/spec/factories/meeting_content_journal_factory.rb +++ b/modules/meeting/spec/factories/meeting_content_journal_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/factories/meeting_factory.rb b/modules/meeting/spec/factories/meeting_factory.rb index 999a4840e308..e23442368d48 100644 --- a/modules/meeting/spec/factories/meeting_factory.rb +++ b/modules/meeting/spec/factories/meeting_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/factories/meeting_journal_factory.rb b/modules/meeting/spec/factories/meeting_journal_factory.rb index e9256d8b90ee..baa02ebfa3f9 100644 --- a/modules/meeting/spec/factories/meeting_journal_factory.rb +++ b/modules/meeting/spec/factories/meeting_journal_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/factories/meeting_minutes_factory.rb b/modules/meeting/spec/factories/meeting_minutes_factory.rb index 49bd0946f62b..921815a4425d 100644 --- a/modules/meeting/spec/factories/meeting_minutes_factory.rb +++ b/modules/meeting/spec/factories/meeting_minutes_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/factories/meeting_participant_factory.rb b/modules/meeting/spec/factories/meeting_participant_factory.rb index 88424b1371b1..22891afed4b9 100644 --- a/modules/meeting/spec/factories/meeting_participant_factory.rb +++ b/modules/meeting/spec/factories/meeting_participant_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/features/meetings_activity_spec.rb b/modules/meeting/spec/features/meetings_activity_spec.rb index c1bcd4d1f805..7c623f909057 100644 --- a/modules/meeting/spec/features/meetings_activity_spec.rb +++ b/modules/meeting/spec/features/meetings_activity_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'Meetings', js: true do +RSpec.describe 'Meetings', :js do let(:project) { create(:project, enabled_module_names: %w[meetings activity]) } let(:user) { create(:admin) } @@ -47,9 +47,9 @@ check 'Meetings' click_on 'Apply' - expect(page).to have_selector('.op-activity-list--item-title', text: 'Minutes: Awesome meeting!') - expect(page).to have_selector('.op-activity-list--item-title', text: 'Agenda: Awesome meeting!') - expect(page).to have_selector('.op-activity-list--item-title', text: 'Meeting: Awesome meeting!') + expect(page).to have_css('.op-activity-list--item-title', text: 'Minutes: Awesome meeting!') + expect(page).to have_css('.op-activity-list--item-title', text: 'Agenda: Awesome meeting!') + expect(page).to have_css('.op-activity-list--item-title', text: 'Meeting: Awesome meeting!') end end end diff --git a/modules/meeting/spec/features/meetings_attachments_spec.rb b/modules/meeting/spec/features/meetings_attachments_spec.rb index eb9e9b0c536b..e1ed93526f35 100644 --- a/modules/meeting/spec/features/meetings_attachments_spec.rb +++ b/modules/meeting/spec/features/meetings_attachments_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' require 'features/page_objects/notification' -RSpec.describe 'Add an attachment to a meeting (agenda)', js: true, with_cuprite: false do +RSpec.describe 'Add an attachment to a meeting (agenda)', :js, with_cuprite: false do let(:role) do create(:project_role, permissions: %i[view_meetings edit_meetings create_meeting_agendas]) end @@ -49,7 +49,7 @@ content = find_test_selector('op-meeting--meeting_agenda') - expect(content).to have_selector('img') + expect(content).to have_css('img') expect(content).to have_content('Some image caption') end end diff --git a/modules/meeting/spec/features/meetings_close_spec.rb b/modules/meeting/spec/features/meetings_close_spec.rb index 9a61e38f6ad2..b0fb0a47d1df 100644 --- a/modules/meeting/spec/features/meetings_close_spec.rb +++ b/modules/meeting/spec/features/meetings_close_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -46,7 +46,7 @@ login_as(user) end - context 'with permission to close meetings', js: true do + context 'with permission to close meetings', :js do let(:permissions) { %i[view_meetings close_meeting_agendas] } it 'can delete own and other`s meetings' do @@ -57,7 +57,7 @@ # Go to minutes, expect uneditable find('.op-tab-row--link', text: 'MINUTES').click - expect(page).to have_selector('.button', text: 'Close the agenda to begin the Minutes') + expect(page).to have_css('.button', text: 'Close the agenda to begin the Minutes') # Close the meeting find('.op-tab-row--link', text: 'AGENDA').click @@ -66,17 +66,17 @@ end # Expect to be on minutes - expect(page).to have_selector('.op-tab-row--link_selected', text: 'MINUTES') + expect(page).to have_css('.op-tab-row--link_selected', text: 'MINUTES') # Copies the text - expect(page).to have_selector('#tab-content-minutes', text: 'asdf') + expect(page).to have_css('#tab-content-minutes', text: 'asdf') # Go back to agenda, expect we can open it again find('.op-tab-row--link', text: 'AGENDA').click accept_confirm do find('.button', text: 'Open').click end - expect(page).to have_selector('.button', text: 'Close') + expect(page).to have_css('.button', text: 'Close') end end @@ -87,7 +87,7 @@ visit meetings_path(project) expect(page) - .not_to have_link 'Close' + .to have_no_link 'Close' end end end diff --git a/modules/meeting/spec/features/meetings_copy_spec.rb b/modules/meeting/spec/features/meetings_copy_spec.rb index a20cc1e115c5..48de9243edfa 100644 --- a/modules/meeting/spec/features/meetings_copy_spec.rb +++ b/modules/meeting/spec/features/meetings_copy_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -73,7 +73,7 @@ login_as user end - it 'copying a meeting' do + it 'copying a meeting' do visit project_meetings_path(project) click_link meeting.title @@ -99,7 +99,7 @@ click_button "Create" # Be on the new meeting's page with copied over attributes - expect(page).not_to have_current_path meeting_path(meeting.id) + expect(page).to have_no_current_path meeting_path(meeting.id) expect(page) .to have_content("Added by #{user.name}") @@ -116,7 +116,7 @@ # Does not copy the attendees expect(page) - .not_to have_content "Attendees: #{other_user.name}" + .to have_no_content "Attendees: #{other_user.name}" expect(page) .to have_content "Attendees:" diff --git a/modules/meeting/spec/features/meetings_delete_spec.rb b/modules/meeting/spec/features/meetings_delete_spec.rb index bc0667ca6dbb..bfc9ec1d0679 100644 --- a/modules/meeting/spec/features/meetings_delete_spec.rb +++ b/modules/meeting/spec/features/meetings_delete_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -48,7 +48,7 @@ login_as(user) end - context 'with permission to delete meetings', js: true do + context 'with permission to delete meetings', :js do let(:permissions) { %i[view_meetings delete_meetings] } it "can delete own and other's meetings" do @@ -85,13 +85,13 @@ click_link meeting.title expect(page) - .not_to have_link 'Delete' + .to have_no_link 'Delete' visit index_path click_link other_meeting.title expect(page) - .not_to have_link 'Delete' + .to have_no_link 'Delete' end end end diff --git a/modules/meeting/spec/features/meetings_global_menu_item_spec.rb b/modules/meeting/spec/features/meetings_global_menu_item_spec.rb index 27acea56141c..047878b24825 100644 --- a/modules/meeting/spec/features/meetings_global_menu_item_spec.rb +++ b/modules/meeting/spec/features/meetings_global_menu_item_spec.rb @@ -57,7 +57,7 @@ specify '"Upcoming meetings" is the default filter set' do within '#main-menu' do - expect(page).to have_selector('.selected', text: I18n.t(:label_upcoming_meetings)) + expect(page).to have_css('.selected', text: I18n.t(:label_upcoming_meetings)) end end end @@ -71,7 +71,7 @@ it 'does not render' do within '#main-menu' do - expect(page).not_to have_link(meetings_label) + expect(page).to have_no_link(meetings_label) end end end diff --git a/modules/meeting/spec/features/meetings_index_spec.rb b/modules/meeting/spec/features/meetings_index_spec.rb index ebcb1a02a33b..5f99d71a894b 100644 --- a/modules/meeting/spec/features/meetings_index_spec.rb +++ b/modules/meeting/spec/features/meetings_index_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/features/meetings_locking_spec.rb b/modules/meeting/spec/features/meetings_locking_spec.rb index 225ac05b6f53..cf4dbac72dcd 100644 --- a/modules/meeting/spec/features/meetings_locking_spec.rb +++ b/modules/meeting/spec/features/meetings_locking_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'Meetings locking', js: true do +RSpec.describe 'Meetings locking', :js do let(:project) { create(:project, enabled_module_names: %w[meetings]) } let(:user) { create(:admin) } let!(:meeting) { create(:meeting) } diff --git a/modules/meeting/spec/features/meetings_new_spec.rb b/modules/meeting/spec/features/meetings_new_spec.rb index d8885752d8da..cf042da7c1da 100644 --- a/modules/meeting/spec/features/meetings_new_spec.rb +++ b/modules/meeting/spec/features/meetings_new_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/features/meetings_participants_spec.rb b/modules/meeting/spec/features/meetings_participants_spec.rb index 74e0563b9024..fd05156c1087 100644 --- a/modules/meeting/spec/features/meetings_participants_spec.rb +++ b/modules/meeting/spec/features/meetings_participants_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/features/meetings_search_spec.rb b/modules/meeting/spec/features/meetings_search_spec.rb index 923717016693..dfd6e4165c1b 100644 --- a/modules/meeting/spec/features/meetings_search_spec.rb +++ b/modules/meeting/spec/features/meetings_search_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'Meeting search', js: true do +RSpec.describe 'Meeting search', :js do include Components::Autocompleter::NgSelectAutocompleteHelpers let(:project) { create(:project) } let(:role) { create(:project_role, permissions: %i(view_meetings view_work_packages)) } diff --git a/modules/meeting/spec/features/meetings_show_spec.rb b/modules/meeting/spec/features/meetings_show_spec.rb index aaef1391d783..7715a4c020fa 100644 --- a/modules/meeting/spec/features/meetings_show_spec.rb +++ b/modules/meeting/spec/features/meetings_show_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,8 +29,7 @@ require 'spec_helper' require_relative '../support/pages/meetings/show' - -RSpec.describe 'Meetings', js: true do +RSpec.describe 'Meetings', :js do let(:project) { create(:project, enabled_module_names: %w[meetings]) } let(:role) { create(:project_role, permissions:) } let(:user) do @@ -50,10 +49,10 @@ visit meetings_path(project) find('td.title a', text: 'Awesome meeting!', wait: 10).click - expect(page).to have_selector('h2', text: 'Meeting: Awesome meeting!') + expect(page).to have_css('h2', text: 'Meeting: Awesome meeting!') expect(page).to have_test_selector('op-meeting--meeting_agenda', - text: 'There is currently nothing to display') + text: 'There is currently nothing to display') end context 'with a location' do @@ -85,12 +84,12 @@ it 'shows the agenda' do visit meeting_path(meeting) expect(page).to have_test_selector('op-meeting--meeting_agenda', - text: 'foo') + text: 'foo') # May not edit - expect(page).not_to have_selector('.button--edit-agenda') + expect(page).to have_no_css('.button--edit-agenda') expect(page).not_to have_test_selector('op-meeting--meeting_agenda', - text: 'Edit') + text: 'Edit') end it 'can view history' do @@ -139,7 +138,7 @@ click_link 'Minutes' expect(page).not_to have_test_selector('op-meeting--meeting_minutes', text: 'Edit') expect(page).to have_test_selector('op-meeting--meeting_minutes', - text: 'There is currently nothing to display') + text: 'There is currently nothing to display') end end end @@ -149,9 +148,9 @@ it 'shows the minutes when visiting' do visit meeting_path(meeting) - expect(page).not_to have_selector('h2', text: 'Agenda') - expect(page).not_to have_selector('#meeting_minutes_text') - expect(page).to have_selector('h2', text: 'Minutes') + expect(page).to have_no_css('h2', text: 'Agenda') + expect(page).to have_no_css('#meeting_minutes_text') + expect(page).to have_css('h2', text: 'Minutes') end context 'and edit permissions' do @@ -170,8 +169,8 @@ click_button 'Save' expect(page) - .to have_selector('.op-uc-container', - text: 'This is what we talked about') + .to have_css('.op-uc-container', + text: 'This is what we talked about') end end end diff --git a/modules/meeting/spec/features/structured_meetings/mobile_structure_meeting_spec.rb b/modules/meeting/spec/features/structured_meetings/mobile_structure_meeting_spec.rb index 83bb05b8ba1d..f951b91ba4c8 100644 --- a/modules/meeting/spec/features/structured_meetings/mobile_structure_meeting_spec.rb +++ b/modules/meeting/spec/features/structured_meetings/mobile_structure_meeting_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -95,7 +95,7 @@ show_page.expect_participant(user, invited: true, attended: false, editable: false) show_page.expect_participant(other_user, invited: true, attended: false, editable: false) show_page.expect_available_participants(count: 2) - expect(page).not_to have_button('Save') + expect(page).to have_no_button('Save') end show_page.close_dialog @@ -110,7 +110,7 @@ show_page.expect_participant(user, invited: true, attended: false, editable: false) show_page.expect_participant(other_user, invited: true, attended: false, editable: false) show_page.expect_available_participants(count: 2) - expect(page).not_to have_button('Save') + expect(page).to have_no_button('Save') end end end diff --git a/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb b/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb index ee5735b5e51a..000556b07c42 100644 --- a/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb +++ b/modules/meeting/spec/features/structured_meetings/structured_meeting_crud_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -193,7 +193,7 @@ login_as other_user show_page.visit! - expect(page).not_to have_css('#meeting-agenda-items-new-button-component') + expect(page).to have_no_css('#meeting-agenda-items-new-button-component') expect(page).not_to have_test_selector('op-meeting-agenda-actions') end @@ -293,7 +293,7 @@ show_page.visit! show_page.expect_undisclosed_agenda_link agenda_item - expect(page).not_to have_text 'Private task' + expect(page).to have_no_text 'Private task' end end end diff --git a/modules/meeting/spec/features/structured_meetings/work_package_meetings_tab_spec.rb b/modules/meeting/spec/features/structured_meetings/work_package_meetings_tab_spec.rb index 41eb7ccd2d54..f817188f8ccf 100644 --- a/modules/meeting/spec/features/structured_meetings/work_package_meetings_tab_spec.rb +++ b/modules/meeting/spec/features/structured_meetings/work_package_meetings_tab_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -122,8 +122,8 @@ expect(page).to have_content(visible_meeting.title) expect(page).to have_content(meeting_agenda_item_of_visible_meeting.notes) - expect(page).not_to have_content(invisible_meeting.title) - expect(page).not_to have_content(meeting_agenda_item_of_invisible_meeting.notes) + expect(page).to have_no_content(invisible_meeting.title) + expect(page).to have_no_content(meeting_agenda_item_of_invisible_meeting.notes) end end end @@ -343,8 +343,16 @@ meetings_tab.open_add_to_meeting_dialog - fill_in('meeting_agenda_item_meeting_id', with: ongoing_meeting.title) - expect(page).to have_css('.ng-option-marked', text: ongoing_meeting.title) + meetings_tab.fill_and_submit_meeting_dialog( + ongoing_meeting, + 'Some notes to be added' + ) + + meetings_tab.expect_upcoming_counter_to_be(1) + + page.within_test_selector("op-meeting-container-#{ongoing_meeting.id}") do + expect(page).to have_content('Some notes to be added') + end end it 'does not enable the user to select a past meeting' do @@ -354,7 +362,7 @@ meetings_tab.open_add_to_meeting_dialog fill_in('meeting_agenda_item_meeting_id', with: past_meeting.title) - expect(page).not_to have_css('.ng-option-marked', text: past_meeting.title) + expect(page).to have_no_css('.ng-option-marked', text: past_meeting.title) end it 'does not enable the user to select a closed, upcoming meeting' do @@ -364,7 +372,7 @@ meetings_tab.open_add_to_meeting_dialog fill_in('meeting_agenda_item_meeting_id', with: closed_upcoming_meeting.title) - expect(page).not_to have_css('.ng-option-marked', text: closed_upcoming_meeting.title) + expect(page).to have_no_css('.ng-option-marked', text: closed_upcoming_meeting.title) end it 'requires a meeting to be selected' do diff --git a/modules/meeting/spec/lib/open_project/markdown_formatting_spec.rb b/modules/meeting/spec/lib/open_project/markdown_formatting_spec.rb index ee279a78e519..65240c46440a 100644 --- a/modules/meeting/spec/lib/open_project/markdown_formatting_spec.rb +++ b/modules/meeting/spec/lib/open_project/markdown_formatting_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/mailers/meeting_mailer_spec.rb b/modules/meeting/spec/mailers/meeting_mailer_spec.rb index 1adc8d3c7c9c..e50c7ee9607a 100644 --- a/modules/meeting/spec/mailers/meeting_mailer_spec.rb +++ b/modules/meeting/spec/mailers/meeting_mailer_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/models/meeting_acts_as_journalized_spec.rb b/modules/meeting/spec/models/meeting_acts_as_journalized_spec.rb index 8f21e9648eb7..73e3e7d3c326 100644 --- a/modules/meeting/spec/models/meeting_acts_as_journalized_spec.rb +++ b/modules/meeting/spec/models/meeting_acts_as_journalized_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -92,15 +92,15 @@ describe 'agenda_items' do let(:work_package) { nil } + let(:agenda_item_attributes) { {} } + let(:agenda_item) { meeting.agenda_items.first } + let(:agenda_item_journals) { meeting.journals.last.agenda_item_journals } + before do meeting.agenda_items << create(:meeting_agenda_item, meeting:, work_package:, **agenda_item_attributes) meeting.save end - let(:agenda_item_attributes) { {} } - let(:agenda_item) { meeting.agenda_items.first } - let(:agenda_item_journals) { meeting.journals.last.agenda_item_journals } - context 'for a new agenda item within aggregation time' do it { expect(meeting.journals.count).to eq(1) } it { expect(agenda_item_journals.count).to eq(1) } diff --git a/modules/meeting/spec/models/meeting_agenda_item_spec.rb b/modules/meeting/spec/models/meeting_agenda_item_spec.rb index b9cdd2b0cf0e..694b64d6c4ae 100644 --- a/modules/meeting/spec/models/meeting_agenda_item_spec.rb +++ b/modules/meeting/spec/models/meeting_agenda_item_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/models/meeting_agenda_spec.rb b/modules/meeting/spec/models/meeting_agenda_spec.rb index e7ebf00a7dd8..72ccbb53844e 100644 --- a/modules/meeting/spec/models/meeting_agenda_spec.rb +++ b/modules/meeting/spec/models/meeting_agenda_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/models/meeting_minutes_spec.rb b/modules/meeting/spec/models/meeting_minutes_spec.rb index 496192a82352..22310c31951b 100644 --- a/modules/meeting/spec/models/meeting_minutes_spec.rb +++ b/modules/meeting/spec/models/meeting_minutes_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/models/meeting_spec.rb b/modules/meeting/spec/models/meeting_spec.rb index 38344bfb2e43..bcea61022575 100644 --- a/modules/meeting/spec/models/meeting_spec.rb +++ b/modules/meeting/spec/models/meeting_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/models/permitted_params_spec.rb b/modules/meeting/spec/models/permitted_params_spec.rb index 04c570668b99..9c67383dee3c 100644 --- a/modules/meeting/spec/models/permitted_params_spec.rb +++ b/modules/meeting/spec/models/permitted_params_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/models/project/activity_spec.rb b/modules/meeting/spec/models/project/activity_spec.rb index 7bb800de09c7..c19c756ef44b 100644 --- a/modules/meeting/spec/models/project/activity_spec.rb +++ b/modules/meeting/spec/models/project/activity_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/models/queries/meeting_query_spec.rb b/modules/meeting/spec/models/queries/meeting_query_spec.rb index 490e702deb9f..76279af44fef 100644 --- a/modules/meeting/spec/models/queries/meeting_query_spec.rb +++ b/modules/meeting/spec/models/queries/meeting_query_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/requests/api/v3/attachments/meeting_agenda_spec.rb b/modules/meeting/spec/requests/api/v3/attachments/meeting_agenda_spec.rb index f4f80c2b4fdd..46a60c9220ef 100644 --- a/modules/meeting/spec/requests/api/v3/attachments/meeting_agenda_spec.rb +++ b/modules/meeting/spec/requests/api/v3/attachments/meeting_agenda_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/requests/api/v3/attachments/meeting_minutes_spec.rb b/modules/meeting/spec/requests/api/v3/attachments/meeting_minutes_spec.rb index 7989ea9f8116..7ddc1dac3ad7 100644 --- a/modules/meeting/spec/requests/api/v3/attachments/meeting_minutes_spec.rb +++ b/modules/meeting/spec/requests/api/v3/attachments/meeting_minutes_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/routing/previews_routing_spec.rb b/modules/meeting/spec/routing/previews_routing_spec.rb index 9006cbdefacb..4a379d9c88d9 100644 --- a/modules/meeting/spec/routing/previews_routing_spec.rb +++ b/modules/meeting/spec/routing/previews_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/seeders/demo_data/project_seeder_spec.rb b/modules/meeting/spec/seeders/demo_data/project_seeder_spec.rb index fed8f1e3264a..40b1212971ac 100644 --- a/modules/meeting/spec/seeders/demo_data/project_seeder_spec.rb +++ b/modules/meeting/spec/seeders/demo_data/project_seeder_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/services/meeting_contents/update_service_spec.rb b/modules/meeting/spec/services/meeting_contents/update_service_spec.rb index 504ab549165b..d7f898747e94 100644 --- a/modules/meeting/spec/services/meeting_contents/update_service_spec.rb +++ b/modules/meeting/spec/services/meeting_contents/update_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/services/meetings/ical_service_spec.rb b/modules/meeting/spec/services/meetings/ical_service_spec.rb index 2831f148f0d7..21fb14dda484 100644 --- a/modules/meeting/spec/services/meetings/ical_service_spec.rb +++ b/modules/meeting/spec/services/meetings/ical_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/services/meetings/update_service_spec.rb b/modules/meeting/spec/services/meetings/update_service_spec.rb index 1d06e388983f..f0390ca6572c 100644 --- a/modules/meeting/spec/services/meetings/update_service_spec.rb +++ b/modules/meeting/spec/services/meetings/update_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/services/principals/replace_references_service_call_integration_spec.rb b/modules/meeting/spec/services/principals/replace_references_service_call_integration_spec.rb index b65b98eaa69a..4b16548a5c77 100644 --- a/modules/meeting/spec/services/principals/replace_references_service_call_integration_spec.rb +++ b/modules/meeting/spec/services/principals/replace_references_service_call_integration_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/spec_helper.rb b/modules/meeting/spec/spec_helper.rb index 2eb7219ac3f5..b2e984d0fa2a 100644 --- a/modules/meeting/spec/spec_helper.rb +++ b/modules/meeting/spec/spec_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/support/pages/meetings/base.rb b/modules/meeting/spec/support/pages/meetings/base.rb index 44fe76e5b650..d1b90e8e91d7 100644 --- a/modules/meeting/spec/support/pages/meetings/base.rb +++ b/modules/meeting/spec/support/pages/meetings/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/support/pages/meetings/edit.rb b/modules/meeting/spec/support/pages/meetings/edit.rb index 0b135c7f3502..92552b59b30e 100644 --- a/modules/meeting/spec/support/pages/meetings/edit.rb +++ b/modules/meeting/spec/support/pages/meetings/edit.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,8 +26,8 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require_relative './base' -require_relative './show' +require_relative 'base' +require_relative 'show' module Pages::Meetings class Edit < Base @@ -44,7 +44,7 @@ def expect_available_participant(user) def expect_not_available_participant(user) expect(page) - .not_to have_field("#{user} invited") + .to have_no_field("#{user} invited") end def invite(user) diff --git a/modules/meeting/spec/support/pages/meetings/index.rb b/modules/meeting/spec/support/pages/meetings/index.rb index fa29f97b61e9..2df01c40d598 100644 --- a/modules/meeting/spec/support/pages/meetings/index.rb +++ b/modules/meeting/spec/support/pages/meetings/index.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require_relative './new' +require_relative 'new' module Pages::Meetings class Index < Pages::Page @@ -47,34 +47,34 @@ def click_create_new end def expect_no_main_menu - expect(page).not_to have_selector '#main-menu' + expect(page).to have_no_css '#main-menu' end def expect_no_create_new_button within '.toolbar-items' do - expect(page).not_to have_selector '#add-meeting-button' + expect(page).to have_no_css '#add-meeting-button' end end def expect_no_create_new_buttons within '.toolbar-items' do - expect(page).not_to have_selector '#add-meeting-button' + expect(page).to have_no_css '#add-meeting-button' end within '#main-menu' do - expect(page).not_to have_button 'Meeting' + expect(page).to have_no_button 'Meeting' end end def expect_create_new_button within '.toolbar-items' do - expect(page).to have_selector '#add-meeting-button' + expect(page).to have_css '#add-meeting-button' end end def expect_create_new_buttons within '.toolbar-items' do - expect(page).to have_selector '#add-meeting-button' + expect(page).to have_css '#add-meeting-button' end within '#main-menu' do @@ -106,8 +106,8 @@ def expect_meetings_listed_in_order(*meetings) def expect_meetings_listed(*meetings) within '.generic-table tbody' do meetings.each do |meeting| - expect(page).to have_selector("td.title", - text: meeting.title) + expect(page).to have_css("td.title", + text: meeting.title) end end end @@ -115,8 +115,8 @@ def expect_meetings_listed(*meetings) def expect_meetings_not_listed(*meetings) within '#content-wrapper' do meetings.each do |meeting| - expect(page).not_to have_selector("td.title", - text: meeting.title) + expect(page).to have_no_css("td.title", + text: meeting.title) end end end @@ -132,8 +132,8 @@ def expect_link_to_meeting_location(meeting) def expect_plaintext_meeting_location(meeting) within '#content-wrapper' do within row_for(meeting) do - expect(page).to have_selector('td.location', text: meeting.location) - expect(page).not_to have_link meeting.location + expect(page).to have_css('td.location', text: meeting.location) + expect(page).to have_no_link meeting.location end end end @@ -141,15 +141,15 @@ def expect_plaintext_meeting_location(meeting) def expect_no_meeting_location(meeting) within '#content-wrapper' do within row_for(meeting) do - expect(page).to have_selector('td.location', text: '') + expect(page).to have_css('td.location', text: '') end end end def expect_to_be_on_page(number) expect(page) - .to have_selector('.op-pagination--item_current', - text: number) + .to have_css('.op-pagination--item_current', + text: number) end def to_page(number) diff --git a/modules/meeting/spec/support/pages/meetings/new.rb b/modules/meeting/spec/support/pages/meetings/new.rb index c7f245049e52..712f9667f3f7 100644 --- a/modules/meeting/spec/support/pages/meetings/new.rb +++ b/modules/meeting/spec/support/pages/meetings/new.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,15 +26,15 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require_relative './base' -require_relative './show' +require_relative 'base' +require_relative 'show' module Pages::Meetings class New < Base include Components::Autocompleter::NgSelectAutocompleteHelpers def expect_no_main_menu - expect(page).not_to have_selector '#main-menu' + expect(page).to have_no_css '#main-menu' end def click_create @@ -74,7 +74,7 @@ def set_start_date(date) end def set_start_time(time) - input = page.find('#meeting-form-start-time') + input = page.find_by_id('meeting-form-start-time') page.execute_script("arguments[0].value = arguments[1]", input.native, time) end diff --git a/modules/meeting/spec/support/pages/meetings/show.rb b/modules/meeting/spec/support/pages/meetings/show.rb index cc87bacd8afd..3a3218475595 100644 --- a/modules/meeting/spec/support/pages/meetings/show.rb +++ b/modules/meeting/spec/support/pages/meetings/show.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require_relative './base' +require_relative 'base' module Pages::Meetings class Show < Base @@ -59,7 +59,7 @@ def expect_uninvited(*users) users.each do |user| within(meeting_details_container) do expect(page) - .not_to have_link(user.name) + .to have_no_link(user.name) end end end @@ -77,7 +77,7 @@ def expect_link_to_location(location) def expect_plaintext_location(location) within(meeting_details_container) do - expect(page).not_to have_link location + expect(page).to have_no_link location expect(page).to have_text(location) end end diff --git a/modules/meeting/spec/support/pages/structured_meeting/mobile/show.rb b/modules/meeting/spec/support/pages/structured_meeting/mobile/show.rb index 54ef6d3a6675..0956e4512226 100644 --- a/modules/meeting/spec/support/pages/structured_meeting/mobile/show.rb +++ b/modules/meeting/spec/support/pages/structured_meeting/mobile/show.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/meeting/spec/support/pages/structured_meeting/show.rb b/modules/meeting/spec/support/pages/structured_meeting/show.rb index c42025ca0d18..14e43b50cf11 100644 --- a/modules/meeting/spec/support/pages/structured_meeting/show.rb +++ b/modules/meeting/spec/support/pages/structured_meeting/show.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ class Show < ::Pages::Meetings::Show include ::Components::Autocompleter::NgSelectAutocompleteHelpers def expect_empty - expect(page).not_to have_css('[id^="meeting-agenda-items-item-component"]') + expect(page).to have_no_css('[id^="meeting-agenda-items-item-component"]') end def add_agenda_item(type: MeetingAgendaItem, &) @@ -51,14 +51,14 @@ def add_agenda_item(type: MeetingAgendaItem, &) def cancel_add_form page.within('#meeting-agenda-items-new-component') do click_link I18n.t(:button_cancel) - expect(page).not_to have_link I18n.t(:button_cancel) + expect(page).to have_no_link I18n.t(:button_cancel) end end def cancel_edit_form(item) page.within("#meeting-agenda-items-item-component-#{item.id}") do click_link I18n.t(:button_cancel) - expect(page).not_to have_link I18n.t(:button_cancel) + expect(page).to have_no_link I18n.t(:button_cancel) end end @@ -89,7 +89,7 @@ def expect_agenda_link(item) if item.is_a?(WorkPackage) expect(page).to have_css("[id^='meeting-agenda-items-item-component-']", text: item.subject) else - expect(page).to have_selector("#meeting-agenda-items-item-component-#{item.id}", text: item.work_package.subject) + expect(page).to have_css("#meeting-agenda-items-item-component-#{item.id}", text: item.work_package.subject) end end @@ -98,8 +98,8 @@ def expect_agenda_author(name) end def expect_undisclosed_agenda_link(item) - expect(page).to have_selector("#meeting-agenda-items-item-component-#{item.id}", - text: I18n.t(:label_agenda_item_undisclosed_wp, id: item.work_package_id)) + expect(page).to have_css("#meeting-agenda-items-item-component-#{item.id}", + text: I18n.t(:label_agenda_item_undisclosed_wp, id: item.work_package_id)) end def expect_no_agenda_item(title:) @@ -115,7 +115,7 @@ def select_action(item, action) end page.within('.Overlay') do - click_on action # rubocop:disable Capybara/ClickLinkOrButtonStyle + click_on action end end diff --git a/modules/meeting/spec/support/pages/work_package_meetings_tab.rb b/modules/meeting/spec/support/pages/work_package_meetings_tab.rb index 4aa1278aac67..4010698bc9ee 100644 --- a/modules/meeting/spec/support/pages/work_package_meetings_tab.rb +++ b/modules/meeting/spec/support/pages/work_package_meetings_tab.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -51,7 +51,7 @@ def expect_tab_count(count) end def expect_tab_not_present - expect(page).not_to have_css('.op-tab-row--link', text: 'MEETINGS') + expect(page).to have_no_css('.op-tab-row--link', text: 'MEETINGS') end def expect_tab_content_rendered @@ -100,7 +100,7 @@ def open_add_to_meeting_dialog def fill_and_submit_meeting_dialog(meeting, notes) fill_in('meeting_agenda_item_meeting_id', with: meeting.title) - expect(page).to have_selector('.ng-option-marked', text: meeting.title) # wait for selection + expect(page).to have_css('.ng-option-marked', text: meeting.title) # wait for selection page.find('.ng-option-marked').click page.find('.ck-editor__editable').set(notes) diff --git a/modules/my_page/app/models/grids/my_page.rb b/modules/my_page/app/models/grids/my_page.rb index dee1dd5cc627..4695d0602f47 100644 --- a/modules/my_page/app/models/grids/my_page.rb +++ b/modules/my_page/app/models/grids/my_page.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/my_page/config/routes.rb b/modules/my_page/config/routes.rb index 19b5a3740b33..1a01b950758e 100644 --- a/modules/my_page/config/routes.rb +++ b/modules/my_page/config/routes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/my_page/lib/my_page/engine.rb b/modules/my_page/lib/my_page/engine.rb index b56c68ab706c..9da20e2359e7 100644 --- a/modules/my_page/lib/my_page/engine.rb +++ b/modules/my_page/lib/my_page/engine.rb @@ -7,7 +7,7 @@ class Engine < ::Rails::Engine end initializer 'my_page.conversion' do - require Rails.root.join('config', 'constants', 'ar_to_api_conversions') + require Rails.root.join("config/constants/ar_to_api_conversions") Constants::ARToAPIConversions.add('grids/my_page': 'grid') end diff --git a/modules/my_page/spec/contracts/grids/create_contract_spec.rb b/modules/my_page/spec/contracts/grids/create_contract_spec.rb index 066c3f921c32..0e49aadc67ab 100644 --- a/modules/my_page/spec/contracts/grids/create_contract_spec.rb +++ b/modules/my_page/spec/contracts/grids/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './shared_examples' +require_relative 'shared_examples' RSpec.describe Grids::CreateContract do include_context 'grid contract' diff --git a/modules/my_page/spec/contracts/grids/shared_examples.rb b/modules/my_page/spec/contracts/grids/shared_examples.rb index 774ee2abc142..00634fc97938 100644 --- a/modules/my_page/spec/contracts/grids/shared_examples.rb +++ b/modules/my_page/spec/contracts/grids/shared_examples.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -76,7 +76,7 @@ it 'notes the error' do instance.validate expect(instance.errors.details[:widgets]) - .to match_array [{ error: :inclusion }] + .to contain_exactly({ error: :inclusion }) end end @@ -102,7 +102,7 @@ it 'notes the error' do instance.validate expect(instance.errors.details[:widgets]) - .to match_array [{ error: :overlaps }, { error: :overlaps }] + .to contain_exactly({ error: :overlaps }, { error: :overlaps }) end end @@ -163,7 +163,7 @@ it 'notes the error' do instance.validate expect(instance.errors.details[:widgets]) - .to match_array [{ error: :outside }] + .to contain_exactly({ error: :outside }) end end @@ -184,7 +184,7 @@ it 'notes the error' do instance.validate expect(instance.errors.details[:widgets]) - .to match_array [{ error: :outside }] + .to contain_exactly({ error: :outside }) end end @@ -220,7 +220,7 @@ it 'notes the error' do instance.validate expect(instance.errors.details[:widgets]) - .to match_array [{ error: :end_before_start }] + .to contain_exactly({ error: :end_before_start }) end end @@ -241,7 +241,7 @@ it 'notes the error' do instance.validate expect(instance.errors.details[:widgets]) - .to match_array [{ error: :end_before_start }] + .to contain_exactly({ error: :end_before_start }) end end @@ -262,7 +262,7 @@ it 'notes the error' do instance.validate expect(instance.errors.details[:widgets]) - .to match_array [{ error: :end_before_start }] + .to contain_exactly({ error: :end_before_start }) end end @@ -283,7 +283,7 @@ it 'notes the error' do instance.validate expect(instance.errors.details[:widgets]) - .to match_array [{ error: :end_before_start }] + .to contain_exactly({ error: :end_before_start }) end end end @@ -311,7 +311,7 @@ it 'is invalid for the grid superclass itself' do expect(instance.errors.details[:scope]) - .to match_array [{ error: :inclusion }] + .to contain_exactly({ error: :inclusion }) end end end diff --git a/modules/my_page/spec/contracts/grids/update_contract_spec.rb b/modules/my_page/spec/contracts/grids/update_contract_spec.rb index ef0625f01f7a..028653ec5398 100644 --- a/modules/my_page/spec/contracts/grids/update_contract_spec.rb +++ b/modules/my_page/spec/contracts/grids/update_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './shared_examples' +require_relative 'shared_examples' RSpec.describe Grids::UpdateContract do include_context 'model contract' diff --git a/modules/my_page/spec/features/my/accountable_spec.rb b/modules/my_page/spec/features/my/accountable_spec.rb index 014221342e50..a73ec008d80d 100644 --- a/modules/my_page/spec/features/my/accountable_spec.rb +++ b/modules/my_page/spec/features/my/accountable_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../../support/pages/my/page' -RSpec.describe 'Accountable widget on my page', js: true do +RSpec.describe 'Accountable widget on my page', :js do let!(:type) { create(:type) } let!(:priority) { create(:default_priority) } let!(:project) { create(:project, types: [type]) } @@ -82,7 +82,7 @@ # The page starts with a "wp created widget". created_area = Components::Grids::GridArea.new('.grid--area.-widgeted:nth-of-type(2)') expect(created_area.area) - .to have_selector('.subject', text: accountable_work_package.subject) + .to have_css('.subject', text: accountable_work_package.subject) # Add widget below existing widgets my_page.add_widget(2, 2, :row, "Work packages I am accountable for") @@ -110,12 +110,12 @@ accountable_area.expect_to_span(2, 1, 3, 2) expect(accountable_area.area) - .to have_selector('.subject', text: accountable_work_package.subject) + .to have_css('.subject', text: accountable_work_package.subject) expect(accountable_area.area) - .not_to have_selector('.subject', text: accountable_by_other_work_package.subject) + .to have_no_css('.subject', text: accountable_by_other_work_package.subject) expect(accountable_area.area) - .not_to have_selector('.subject', text: accountable_but_invisible_work_package.subject) + .to have_no_css('.subject', text: accountable_but_invisible_work_package.subject) end end diff --git a/modules/my_page/spec/features/my/assigned_to_me_spec.rb b/modules/my_page/spec/features/my/assigned_to_me_spec.rb index afa6f98399f2..9c3cbcea941a 100644 --- a/modules/my_page/spec/features/my/assigned_to_me_spec.rb +++ b/modules/my_page/spec/features/my/assigned_to_me_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../../support/pages/my/page' -RSpec.describe 'Assigned to me embedded query on my page', js: true do +RSpec.describe 'Assigned to me embedded query on my page', :js do let!(:type) { create(:type) } let!(:priority) { create(:default_priority) } let!(:project) { create(:project, types: [type]) } @@ -134,10 +134,10 @@ assigned_area.expect_to_exist expect(assigned_area.area) - .to have_selector('.subject', text: assigned_work_package.subject) + .to have_css('.subject', text: assigned_work_package.subject) expect(assigned_area.area) - .not_to have_selector('.subject', text: assigned_to_other_work_package.subject) + .to have_no_css('.subject', text: assigned_to_other_work_package.subject) embedded_table.click_inline_create @@ -177,16 +177,16 @@ within assigned_area.area do expect(page) - .to have_selector('.subject', text: assigned_work_package.subject) + .to have_css('.subject', text: assigned_work_package.subject) expect(page) - .not_to have_selector('.subject', text: assigned_work_package_2.subject) + .to have_no_css('.subject', text: assigned_work_package_2.subject) page.find('.op-pagination--item button', text: '2').click expect(page) - .not_to have_selector('.subject', text: assigned_work_package.subject) + .to have_no_css('.subject', text: assigned_work_package.subject) expect(page) - .to have_selector('.subject', text: assigned_work_package_2.subject) + .to have_css('.subject', text: assigned_work_package_2.subject) end assigned_area.resize_to(1, 2) diff --git a/modules/my_page/spec/features/my/custom_text_spec.rb b/modules/my_page/spec/features/my/custom_text_spec.rb index d9b0de9e1612..78d99a34bd58 100644 --- a/modules/my_page/spec/features/my/custom_text_spec.rb +++ b/modules/my_page/spec/features/my/custom_text_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../../support/pages/my/page' -RSpec.describe 'Custom text widget on my page', js: true do +RSpec.describe 'Custom text widget on my page', :js do let(:permissions) do [] end @@ -72,13 +72,13 @@ within custom_text_widget.area do find('.inplace-editing--container').click - expect(page).to have_selector('.op-uc-container_editing', wait: 10) + expect(page).to have_css('.op-uc-container_editing', wait: 10) field.set_value('My own little text') field.save! expect(page) - .to have_selector('.inline-edit--display-field', text: 'My own little text') + .to have_css('.inline-edit--display-field', text: 'My own little text') find('.inplace-editing--container').click @@ -86,7 +86,7 @@ field.cancel_by_click expect(page) - .to have_selector('.inline-edit--display-field', text: 'My own little text') + .to have_css('.inline-edit--display-field', text: 'My own little text') # adding an image find('.inplace-editing--container').click @@ -100,12 +100,12 @@ within custom_text_widget.area do expect(page).to have_test_selector('op-attachment-list-item', text: 'image.png') - expect(page).not_to have_selector('notifications-upload-progress') + expect(page).to have_no_css('notifications-upload-progress') field.save! expect(page) - .to have_selector('#content img', count: 1) + .to have_css('#content img', count: 1) expect(page) .not_to have_test_selector('op-attachment-list-item', text: 'image.png') diff --git a/modules/my_page/spec/features/my/documents_spec.rb b/modules/my_page/spec/features/my/documents_spec.rb index 2b8cf8c17192..f451ccb68edf 100644 --- a/modules/my_page/spec/features/my/documents_spec.rb +++ b/modules/my_page/spec/features/my/documents_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../../support/pages/my/page' -RSpec.describe 'My page documents widget', js: true do +RSpec.describe 'My page documents widget', :js do let!(:project) { create(:project) } let!(:other_project) { create(:project) } let!(:visible_document) do diff --git a/modules/my_page/spec/features/my/my_page_spec.rb b/modules/my_page/spec/features/my/my_page_spec.rb index 922006795a1e..7bd0992590d1 100644 --- a/modules/my_page/spec/features/my/my_page_spec.rb +++ b/modules/my_page/spec/features/my/my_page_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/my_page/spec/features/my/my_spent_time_widget_with_a_negative_time_zone_spec.rb b/modules/my_page/spec/features/my/my_spent_time_widget_with_a_negative_time_zone_spec.rb index cae201f0f76b..02117ee5c7ab 100644 --- a/modules/my_page/spec/features/my/my_spent_time_widget_with_a_negative_time_zone_spec.rb +++ b/modules/my_page/spec/features/my/my_spent_time_widget_with_a_negative_time_zone_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -86,11 +86,11 @@ def set_browser_time_zone(time_zone) my_page.expect_and_dismiss_toaster message: I18n.t(:notice_successful_update) aggregate_failures("non-working days are displayed properly") do - expect(page).not_to have_css('.fc-day-mon.fc-non-working-day', wait: 0) + expect(page).to have_no_css('.fc-day-mon.fc-non-working-day', wait: 0) expect(page).to have_css('.fc-day-tue.fc-non-working-day', wait: 0) - expect(page).not_to have_css('.fc-day-wed.fc-non-working-day', wait: 0) - expect(page).not_to have_css('.fc-day-thu.fc-non-working-day', wait: 0) - expect(page).not_to have_css('.fc-day-fri.fc-non-working-day', wait: 0) + expect(page).to have_no_css('.fc-day-wed.fc-non-working-day', wait: 0) + expect(page).to have_no_css('.fc-day-thu.fc-non-working-day', wait: 0) + expect(page).to have_no_css('.fc-day-fri.fc-non-working-day', wait: 0) expect(page).to have_css('.fc-day-sat.fc-non-working-day', wait: 0) expect(page).to have_css('.fc-day-sun.fc-non-working-day', wait: 0) end diff --git a/modules/my_page/spec/features/my/news_spec.rb b/modules/my_page/spec/features/my/news_spec.rb index d9b10febed6e..a55e7c16f3f5 100644 --- a/modules/my_page/spec/features/my/news_spec.rb +++ b/modules/my_page/spec/features/my/news_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../../support/pages/my/page' -RSpec.describe 'My page news widget spec', js: true do +RSpec.describe 'My page news widget spec', :js do let!(:project) { create(:project) } let!(:other_project) { create(:project) } let!(:visible_news) do diff --git a/modules/my_page/spec/features/my/time_entries_current_user_spec.rb b/modules/my_page/spec/features/my/time_entries_current_user_spec.rb index d6a0026fcccd..8827bb288977 100644 --- a/modules/my_page/spec/features/my/time_entries_current_user_spec.rb +++ b/modules/my_page/spec/features/my/time_entries_current_user_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../../support/pages/my/page' -RSpec.describe 'My page time entries current user widget spec', js: true do +RSpec.describe 'My page time entries current user widget spec', :js do let!(:type) { create(:type) } let!(:project) { create(:project, types: [type]) } let!(:activity) { create(:time_entry_activity) } @@ -130,13 +130,13 @@ entries_area.expect_to_span(1, 1, 2, 2) - expect(page).not_to have_selector('.fc-day-mon.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-tue.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-wed.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-thu.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-fri.fc-non-working-day') - expect(page).to have_selector('.fc-day-sat.fc-non-working-day') - expect(page).to have_selector('.fc-day-sun.fc-non-working-day') + expect(page).to have_no_css('.fc-day-mon.fc-non-working-day') + expect(page).to have_no_css('.fc-day-tue.fc-non-working-day') + expect(page).to have_no_css('.fc-day-wed.fc-non-working-day') + expect(page).to have_no_css('.fc-day-thu.fc-non-working-day') + expect(page).to have_no_css('.fc-day-fri.fc-non-working-day') + expect(page).to have_css('.fc-day-sat.fc-non-working-day') + expect(page).to have_css('.fc-day-sun.fc-non-working-day') expect(page) .to have_content "Total: 6 h" @@ -144,12 +144,12 @@ expect(page) .to have_content visible_time_entry.spent_on.strftime('%-m/%-d') expect(page) - .to have_selector('.fc-event .fc-event-title', text: "#{project.name} - ##{work_package.id}: #{work_package.subject}") + .to have_css('.fc-event .fc-event-title', text: "#{project.name} - ##{work_package.id}: #{work_package.subject}") expect(page) .to have_content(other_visible_time_entry.spent_on.strftime('%-m/%-d')) expect(page) - .to have_selector('.fc-event .fc-event-title', text: "#{project.name} - ##{work_package.id}: #{work_package.subject}") + .to have_css('.fc-event .fc-event-title', text: "#{project.name} - ##{work_package.id}: #{work_package.subject}") # go to last week within entries_area.area do @@ -162,7 +162,7 @@ expect(page) .to have_content(last_week_visible_time_entry.spent_on.strftime('%-m/%-d')) expect(page) - .to have_selector('.fc-event .fc-event-title', text: "#{project.name} - ##{work_package.id}: #{work_package.subject}") + .to have_css('.fc-event .fc-event-title', text: "#{project.name} - ##{work_package.id}: #{work_package.subject}") # go to today again within entries_area.area do @@ -177,7 +177,7 @@ end expect(page) - .to have_selector('.ui-tooltip', text: "Project: #{project.name}") + .to have_css('.ui-tooltip', text: "Project: #{project.name}") # Adding a time entry @@ -195,7 +195,7 @@ time_logging_modal.shows_field 'user', false expect(page) - .not_to have_selector('.ng-spinner-loader') + .to have_no_css('.ng-spinner-loader') # Expect filtering works time_logging_modal.work_package_field.autocomplete work_package.subject, select: false @@ -222,8 +222,8 @@ within entries_area.area do expect(page) - .to have_selector("td.fc-timegrid-col:nth-of-type(5) .te-calendar--time-entry", - text: other_work_package.subject) + .to have_css("td.fc-timegrid-col:nth-of-type(5) .te-calendar--time-entry", + text: other_work_package.subject) end expect(page) @@ -263,16 +263,16 @@ end expect(page) - .to have_selector('.ui-tooltip', text: "Work package: ##{other_work_package.id}: #{other_work_package.subject}") + .to have_css('.ui-tooltip', text: "Work package: ##{other_work_package.id}: #{other_work_package.subject}") expect(page) - .to have_selector('.ui-tooltip', text: "Hours: 6 h") + .to have_css('.ui-tooltip', text: "Hours: 6 h") expect(page) - .to have_selector('.ui-tooltip', text: "Activity: #{other_activity.name}") + .to have_css('.ui-tooltip', text: "Activity: #{other_activity.name}") expect(page) - .to have_selector('.ui-tooltip', text: "Comment: Some comment") + .to have_css('.ui-tooltip', text: "Comment: Some comment") expect(page) .to have_content "Total: 13 h" @@ -286,9 +286,9 @@ within entries_area.area do expect(page) - .not_to have_selector('.fc-day-header', text: 'Mon') + .to have_no_css('.fc-day-header', text: 'Mon') expect(page) - .not_to have_selector('.fc-duration', text: "6 h") + .to have_no_css('.fc-duration', text: "6 h") end ## Removing the time entry @@ -307,7 +307,7 @@ within entries_area.area do expect(page) - .not_to have_selector("td.fc-timegrid-col:nth-of-type(5) .te-calendar--time-entry") + .to have_no_css("td.fc-timegrid-col:nth-of-type(5) .te-calendar--time-entry") end expect(TimeEntry.where(id: other_visible_time_entry.id)) @@ -322,10 +322,10 @@ .to have_content(/#{Regexp.escape(I18n.t('js.grid.widgets.time_entries_current_user.title'))}/i) expect(page) - .to have_selector(".te-calendar--time-entry", count: 1) + .to have_css(".te-calendar--time-entry", count: 1) expect(page) - .not_to have_selector('.fc-col-header-cell', text: 'Mon') + .to have_no_css('.fc-col-header-cell', text: 'Mon') end # Removing the widget @@ -338,7 +338,7 @@ within nucleus_area.area do expect(page) - .to have_selector(".grid--widget-add") + .to have_css(".grid--widget-add") end end end diff --git a/modules/my_page/spec/features/my/work_package_table_spec.rb b/modules/my_page/spec/features/my/work_package_table_spec.rb index cb573259bf27..05b3b564014c 100644 --- a/modules/my_page/spec/features/my/work_package_table_spec.rb +++ b/modules/my_page/spec/features/my/work_package_table_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../../support/pages/my/page' -RSpec.describe 'Arbitrary WorkPackage query table widget on my page', js: true do +RSpec.describe 'Arbitrary WorkPackage query table widget on my page', :js do let!(:type) { create(:type) } let!(:other_type) { create(:type) } let!(:priority) { create(:default_priority) } @@ -78,7 +78,7 @@ # Using it here as a safeguard to govern speed. created_by_me_area = Components::Grids::GridArea.new('.grid--area.-widgeted:nth-of-type(2)') expect(created_by_me_area.area) - .to have_selector('.subject', text: type_work_package.subject) + .to have_css('.subject', text: type_work_package.subject) my_page.add_widget(1, 2, :column, "Work packages table") @@ -94,10 +94,10 @@ # At the beginning, the default query is displayed expect(filter_area.area) - .to have_selector('.subject', text: type_work_package.subject) + .to have_css('.subject', text: type_work_package.subject) expect(filter_area.area) - .to have_selector('.subject', text: other_type_work_package.subject) + .to have_css('.subject', text: other_type_work_package.subject) # User has the ability to modify the query @@ -113,15 +113,15 @@ columns.remove 'Subject' expect(filter_area.area) - .to have_selector('.id', text: type_work_package.id) + .to have_css('.id', text: type_work_package.id) # as the Subject column is disabled expect(filter_area.area) - .not_to have_selector('.subject', text: type_work_package.subject) + .to have_no_css('.subject', text: type_work_package.subject) # As other_type is filtered out expect(filter_area.area) - .not_to have_selector('.id', text: other_type_work_package.id) + .to have_no_css('.id', text: other_type_work_package.id) scroll_to_element(filter_area.area) within filter_area.area do @@ -142,15 +142,15 @@ filter_area = Components::Grids::GridArea.new('.grid--area.-widgeted:nth-of-type(3)') expect(filter_area.area) - .to have_selector('.id', text: type_work_package.id) + .to have_css('.id', text: type_work_package.id) # as the Subject column is disabled expect(filter_area.area) - .not_to have_selector('.subject', text: type_work_package.subject) + .to have_no_css('.subject', text: type_work_package.subject) # As other_type is filtered out expect(filter_area.area) - .not_to have_selector('.id', text: other_type_work_package.id) + .to have_no_css('.id', text: other_type_work_package.id) within filter_area.area do expect(page).to have_field('editable-toolbar-title', with: 'My WP Filter', wait: 10) diff --git a/modules/my_page/spec/models/grids/my_page_spec.rb b/modules/my_page/spec/models/grids/my_page_spec.rb index 19ca30f8701f..c6e763ec9380 100644 --- a/modules/my_page/spec/models/grids/my_page_spec.rb +++ b/modules/my_page/spec/models/grids/my_page_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -require_relative './shared_model' +require_relative 'shared_model' RSpec.describe Grids::MyPage do let(:instance) { described_class.new(row_count: 5, column_count: 5) } diff --git a/modules/my_page/spec/models/grids/shared_model.rb b/modules/my_page/spec/models/grids/shared_model.rb index a5a410a3f49e..57adc5aeba52 100644 --- a/modules/my_page/spec/models/grids/shared_model.rb +++ b/modules/my_page/spec/models/grids/shared_model.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/my_page/spec/queries/grids/filters/scope_filter_spec.rb b/modules/my_page/spec/queries/grids/filters/scope_filter_spec.rb index 0df97537b8ac..4a96fd9c9611 100644 --- a/modules/my_page/spec/queries/grids/filters/scope_filter_spec.rb +++ b/modules/my_page/spec/queries/grids/filters/scope_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/my_page/spec/queries/grids/query_integration_spec.rb b/modules/my_page/spec/queries/grids/query_integration_spec.rb index e385e2ff540e..1197ed5c1bd3 100644 --- a/modules/my_page/spec/queries/grids/query_integration_spec.rb +++ b/modules/my_page/spec/queries/grids/query_integration_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -46,7 +46,7 @@ context 'without a filter' do describe '#results' do it 'is the same as getting all the grids visible to the user' do - expect(instance.results).to match_array [my_page_grid] + expect(instance.results).to contain_exactly(my_page_grid) end end end @@ -58,7 +58,7 @@ describe '#results' do it 'is the same as handwriting the query' do - expect(instance.results).to match_array [my_page_grid] + expect(instance.results).to contain_exactly(my_page_grid) end end diff --git a/modules/my_page/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb b/modules/my_page/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb index 3abb7c10e655..9175e3717dfd 100644 --- a/modules/my_page/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb +++ b/modules/my_page/spec/requests/api/v3/grids/grids_create_form_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/my_page/spec/requests/api/v3/grids/grids_resource_spec.rb b/modules/my_page/spec/requests/api/v3/grids/grids_resource_spec.rb index 20ccf1492782..7ab52ed79da9 100644 --- a/modules/my_page/spec/requests/api/v3/grids/grids_resource_spec.rb +++ b/modules/my_page/spec/requests/api/v3/grids/grids_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -252,8 +252,7 @@ expect(subject.status).to eq 422 expect(JSON.parse(subject.body)['_embedded']['errors'].map { |e| e['message'] }) - .to match_array ["Widgets is outside of the grid.", - "Number of rows must be greater than 0."] + .to contain_exactly("Widgets is outside of the grid.", "Number of rows must be greater than 0.") end it 'does not persist the changes to widgets' do @@ -380,9 +379,8 @@ .at_path('_type') expect(JSON.parse(subject.body)['_embedded']['errors'].map { |e| e['message'] }) - .to match_array ["Widgets is outside of the grid.", - "Number of rows must be greater than 0.", - "Number of columns must be greater than 0."] + .to contain_exactly("Widgets is outside of the grid.", "Number of rows must be greater than 0.", + "Number of columns must be greater than 0.") end end end diff --git a/modules/my_page/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb b/modules/my_page/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb index 48f7eb705b84..62a9bfb99129 100644 --- a/modules/my_page/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb +++ b/modules/my_page/spec/requests/api/v3/grids/grids_update_form_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/my_page/spec/support/pages/my/page.rb b/modules/my_page/spec/support/pages/my/page.rb index 298d7f939425..40953ee0257c 100644 --- a/modules/my_page/spec/support/pages/my/page.rb +++ b/modules/my_page/spec/support/pages/my/page.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/openid_connect/config/locales/crowdin/ka.yml b/modules/openid_connect/config/locales/crowdin/ka.yml index afba4b168687..ec0c512a25d5 100644 --- a/modules/openid_connect/config/locales/crowdin/ka.yml +++ b/modules/openid_connect/config/locales/crowdin/ka.yml @@ -8,8 +8,8 @@ ka: attributes: openid_connect/provider: name: სახელი - display_name: Display name - identifier: Identifier + display_name: საჩვენებელი სახელი + identifier: იდენტიფიკატორი secret: საიდუმლო scope: ფარგლები limit_self_registration: Limit self registration diff --git a/modules/openid_connect/db/migrate/20221122072857_add_oidc_session_link.rb b/modules/openid_connect/db/migrate/20221122072857_add_oidc_session_link.rb index 12ea97d5026a..f0fb006652b3 100644 --- a/modules/openid_connect/db/migrate/20221122072857_add_oidc_session_link.rb +++ b/modules/openid_connect/db/migrate/20221122072857_add_oidc_session_link.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/openid_connect/lib/open_project/openid_connect/hooks/hook.rb b/modules/openid_connect/lib/open_project/openid_connect/hooks/hook.rb index 1732e55b7002..c3411f64c7df 100644 --- a/modules/openid_connect/lib/open_project/openid_connect/hooks/hook.rb +++ b/modules/openid_connect/lib/open_project/openid_connect/hooks/hook.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is a project management system. -# Copyright (C) 2012-2023 the OpenProject Foundation (OPF) +# Copyright (C) 2012-2024 the OpenProject Foundation (OPF) # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -24,7 +24,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # See COPYRIGHT and LICENSE files for more details. -#+ +# + module OpenProject::OpenIDConnect module Hooks diff --git a/modules/openid_connect/spec/controllers/providers_controller_spec.rb b/modules/openid_connect/spec/controllers/providers_controller_spec.rb index 8344d0c36d2c..807343eb2f8e 100644 --- a/modules/openid_connect/spec/controllers/providers_controller_spec.rb +++ b/modules/openid_connect/spec/controllers/providers_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/openid_connect/spec/lib/session_mapper_spec.rb b/modules/openid_connect/spec/lib/session_mapper_spec.rb index 89cf187bacef..011000df1c90 100644 --- a/modules/openid_connect/spec/lib/session_mapper_spec.rb +++ b/modules/openid_connect/spec/lib/session_mapper_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/openid_connect/spec/models/openid_connect/provider_spec.rb b/modules/openid_connect/spec/models/openid_connect/provider_spec.rb index 24436814075a..8ce328858bfc 100644 --- a/modules/openid_connect/spec/models/openid_connect/provider_spec.rb +++ b/modules/openid_connect/spec/models/openid_connect/provider_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/openid_connect/spec/models/user_session_link_spec.rb b/modules/openid_connect/spec/models/user_session_link_spec.rb index 4e61e7328508..ccbee29d7609 100644 --- a/modules/openid_connect/spec/models/user_session_link_spec.rb +++ b/modules/openid_connect/spec/models/user_session_link_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/openid_connect/spec/requests/openid_connect_spec.rb b/modules/openid_connect/spec/requests/openid_connect_spec.rb index 3fd6409c7fe2..9b5f4687973f 100644 --- a/modules/openid_connect/spec/requests/openid_connect_spec.rb +++ b/modules/openid_connect/spec/requests/openid_connect_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,8 +33,7 @@ c.include OpenIDConnectSpecHelpers end -RSpec.describe 'OpenID Connect', - skip_2fa_stage: true, # Prevent redirects to 2FA stage +RSpec.describe 'OpenID Connect', :skip_2fa_stage, # Prevent redirects to 2FA stage type: :rails_request, with_ee: %i[openid_providers] do let(:host) { OmniAuth::OpenIDConnect::Heroku.new('foo', {}).host } @@ -180,7 +179,7 @@ ) end - it 'will show no option unless EE', with_ee: false do + it 'shows no option unless EE', with_ee: false do get '/login' expect(response.body).not_to match /Google/i expect(response.body).not_to match /Azure/i diff --git a/modules/openid_connect/spec/routing/openid_connect/providers_controller_spec.rb b/modules/openid_connect/spec/routing/openid_connect/providers_controller_spec.rb index 751daa02b10b..3ec5958538e8 100644 --- a/modules/openid_connect/spec/routing/openid_connect/providers_controller_spec.rb +++ b/modules/openid_connect/spec/routing/openid_connect/providers_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/overviews/app/models/grids/overview.rb b/modules/overviews/app/models/grids/overview.rb index 066912f26b6f..7cb8f6000aba 100644 --- a/modules/overviews/app/models/grids/overview.rb +++ b/modules/overviews/app/models/grids/overview.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/overviews/app/services/overviews/copy/widgets_dependent_service.rb b/modules/overviews/app/services/overviews/copy/widgets_dependent_service.rb index a77e46d2c726..0ee4f5756389 100644 --- a/modules/overviews/app/services/overviews/copy/widgets_dependent_service.rb +++ b/modules/overviews/app/services/overviews/copy/widgets_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/overviews/app/services/overviews/copy_service.rb b/modules/overviews/app/services/overviews/copy_service.rb index 792d41b3079e..394350e240d5 100644 --- a/modules/overviews/app/services/overviews/copy_service.rb +++ b/modules/overviews/app/services/overviews/copy_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/overviews/db/migrate/20190826083604_my_project_page_to_grid.rb b/modules/overviews/db/migrate/20190826083604_my_project_page_to_grid.rb index 5569e7e0bfa4..ecc54a71ccfd 100644 --- a/modules/overviews/db/migrate/20190826083604_my_project_page_to_grid.rb +++ b/modules/overviews/db/migrate/20190826083604_my_project_page_to_grid.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/overviews/spec/contracts/grids/create_contract_spec.rb b/modules/overviews/spec/contracts/grids/create_contract_spec.rb index d4c44038b12c..13935632be8c 100644 --- a/modules/overviews/spec/contracts/grids/create_contract_spec.rb +++ b/modules/overviews/spec/contracts/grids/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/overviews/spec/controllers/overviews/overviews_controller_spec.rb b/modules/overviews/spec/controllers/overviews/overviews_controller_spec.rb index 93df472d7637..3c2b2807a9fc 100644 --- a/modules/overviews/spec/controllers/overviews/overviews_controller_spec.rb +++ b/modules/overviews/spec/controllers/overviews/overviews_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/overviews/spec/features/low_permissions_page_creation_spec.rb b/modules/overviews/spec/features/low_permissions_page_creation_spec.rb index 00960b544265..283c24cc60e9 100644 --- a/modules/overviews/spec/features/low_permissions_page_creation_spec.rb +++ b/modules/overviews/spec/features/low_permissions_page_creation_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,8 +30,7 @@ require_relative '../support/pages/overview' -RSpec.describe 'Overview page on the fly creation if user lacks :mange_overview permission', - js: true do +RSpec.describe 'Overview page on the fly creation if user lacks :mange_overview permission', :js do let!(:type) { create(:type) } let!(:project) { create(:project, types: [type]) } let!(:open_status) { create(:default_status) } diff --git a/modules/overviews/spec/features/managing_overview_page_spec.rb b/modules/overviews/spec/features/managing_overview_page_spec.rb index c9bf7b3a16d9..22fe1ae5da6c 100644 --- a/modules/overviews/spec/features/managing_overview_page_spec.rb +++ b/modules/overviews/spec/features/managing_overview_page_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative '../support/pages/overview' -RSpec.describe 'Overview page managing', js: true do +RSpec.describe 'Overview page managing', :js do let!(:type) { create(:type) } let!(:project) { create(:project, types: [type], description: 'My **custom** description') } let!(:open_status) { create(:default_status) } diff --git a/modules/overviews/spec/features/navigation_spec.rb b/modules/overviews/spec/features/navigation_spec.rb index be3fd93b331e..3390a8719b69 100644 --- a/modules/overviews/spec/features/navigation_spec.rb +++ b/modules/overviews/spec/features/navigation_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'Navigate to overview', js: true do +RSpec.describe 'Navigate to overview', :js do let(:project) { create(:project) } let(:permissions) { [] } let(:user) do diff --git a/modules/overviews/spec/requests/api/v3/grids/grids_resource_spec.rb b/modules/overviews/spec/requests/api/v3/grids/grids_resource_spec.rb index 82a358f9ed90..97fcb670edd7 100644 --- a/modules/overviews/spec/requests/api/v3/grids/grids_resource_spec.rb +++ b/modules/overviews/spec/requests/api/v3/grids/grids_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/overviews/spec/services/copy_service_integration_spec.rb b/modules/overviews/spec/services/copy_service_integration_spec.rb index b6a3e8332993..7d24d5deec57 100644 --- a/modules/overviews/spec/services/copy_service_integration_spec.rb +++ b/modules/overviews/spec/services/copy_service_integration_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/overviews/spec/support/pages/overview.rb b/modules/overviews/spec/support/pages/overview.rb index 2cb9df9a7cc9..f79af96f932d 100644 --- a/modules/overviews/spec/support/pages/overview.rb +++ b/modules/overviews/spec/support/pages/overview.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/recaptcha/app/controllers/recaptcha/request_controller.rb b/modules/recaptcha/app/controllers/recaptcha/request_controller.rb index 5e5115469eea..162b29141d20 100644 --- a/modules/recaptcha/app/controllers/recaptcha/request_controller.rb +++ b/modules/recaptcha/app/controllers/recaptcha/request_controller.rb @@ -44,13 +44,13 @@ def verify private - def set_captcha_settings(&block) + def set_captcha_settings(&) if OpenProject::Recaptcha::Configuration.use_hcaptcha? Recaptcha.with_configuration(verify_url: OpenProject::Recaptcha.hcaptcha_verify_url, api_server_url: OpenProject::Recaptcha.hcaptcha_api_server_url, - &block) + &) else - block.call + yield end end diff --git a/modules/recaptcha/config/locales/crowdin/ka.yml b/modules/recaptcha/config/locales/crowdin/ka.yml index d41a28bab291..0cb5c274474f 100644 --- a/modules/recaptcha/config/locales/crowdin/ka.yml +++ b/modules/recaptcha/config/locales/crowdin/ka.yml @@ -9,13 +9,13 @@ ka: verify_account: "Verify your account" error_captcha: "Your account could not be verified. Please contact an administrator." settings: - website_key: 'Website key' + website_key: 'ვებგვერდის გასაღები' response_limit: 'Response limit for HCaptcha' response_limit_text: 'The maximum number of characters to treat the HCaptcha response as valid.' website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' - secret_key: 'Secret key' + secret_key: 'საიდუმლო გასაღები' secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' - type: 'Use reCAPTCHA' + type: 'reCAPTCHA-ის გამოყენება' type_disabled: 'Disable reCAPTCHA' type_v2: 'reCAPTCHA v2' type_v3: 'reCAPTCHA v3' diff --git a/modules/recaptcha/db/migrate/20190905130336_add_recaptcha_entries.rb b/modules/recaptcha/db/migrate/20190905130336_add_recaptcha_entries.rb index 74ee692b33ec..e57013fbb728 100644 --- a/modules/recaptcha/db/migrate/20190905130336_add_recaptcha_entries.rb +++ b/modules/recaptcha/db/migrate/20190905130336_add_recaptcha_entries.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/recaptcha/lib/open_project/recaptcha/engine.rb b/modules/recaptcha/lib/open_project/recaptcha/engine.rb index e283b4a3d14d..312cc01b444d 100644 --- a/modules/recaptcha/lib/open_project/recaptcha/engine.rb +++ b/modules/recaptcha/lib/open_project/recaptcha/engine.rb @@ -12,7 +12,7 @@ class Engine < ::Rails::Engine settings: { default: { recaptcha_type: ::OpenProject::Recaptcha::TYPE_DISABLED, - response_limit: 5000, + response_limit: 5000 } }, bundled: true do diff --git a/modules/reporting/app/controllers/cost_reports_controller.rb b/modules/reporting/app/controllers/cost_reports_controller.rb index aa88d1fba21c..f6afb7d2c62f 100644 --- a/modules/reporting/app/controllers/cost_reports_controller.rb +++ b/modules/reporting/app/controllers/cost_reports_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -117,7 +117,7 @@ def menu_item_to_highlight_on_index def create @query.name = params[:query_name].presence || ::I18n.t(:label_default) @query.public! if make_query_public? - @query.send("#{user_key}=", current_user.id) + @query.send(:"#{user_key}=", current_user.id) @query.save! redirect_params = { action: 'show', id: @query.id } @@ -466,7 +466,7 @@ def http_group_parameters rows = params[:groups]['rows'] columns = params[:groups]['columns'] end - { rows: (rows || []), columns: (columns || []) } + { rows: rows || [], columns: columns || [] } end ## diff --git a/modules/reporting/app/controllers/work_package_costlog_controller.rb b/modules/reporting/app/controllers/work_package_costlog_controller.rb index 480427e7abdb..8e20ab6af5f5 100644 --- a/modules/reporting/app/controllers/work_package_costlog_controller.rb +++ b/modules/reporting/app/controllers/work_package_costlog_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/helpers/reporting_helper.rb b/modules/reporting/app/helpers/reporting_helper.rb index f9c1a418ea21..28f717337ddd 100644 --- a/modules/reporting/app/helpers/reporting_helper.rb +++ b/modules/reporting/app/helpers/reporting_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query.rb b/modules/reporting/app/models/cost_query.rb index c9a8089ed924..795b1798cfac 100644 --- a/modules/reporting/app/models/cost_query.rb +++ b/modules/reporting/app/models/cost_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -87,7 +87,7 @@ def self.exists_in?(project, user) def serialize # have to take the reverse group_bys to retain the original order when deserializing - self.serialized = { filters: (filters.map(&:serialize).reject(&:nil?).sort_by(&:first)), + self.serialized = { filters: filters.map(&:serialize).reject(&:nil?).sort_by(&:first), group_bys: group_bys.map(&:serialize).reject(&:nil?).reverse } end @@ -215,7 +215,7 @@ def size def cache_key deserialize unless @chain parts = [self.class.table_name.sub('_reports', '')] - parts.concat [filters.sort, group_bys].map { |l| l.map(&:cache_key).join(' ') } + parts.concat([filters.sort, group_bys].map { |l| l.map(&:cache_key).join(' ') }) parts.join '/' end diff --git a/modules/reporting/app/models/cost_query/cache.rb b/modules/reporting/app/models/cost_query/cache.rb index 617fbff246f7..a3778c9ca3ba 100644 --- a/modules/reporting/app/models/cost_query/cache.rb +++ b/modules/reporting/app/models/cost_query/cache.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/custom_field_mixin.rb b/modules/reporting/app/models/cost_query/custom_field_mixin.rb index 2f59e7332e43..8c9f35c2891b 100644 --- a/modules/reporting/app/models/cost_query/custom_field_mixin.rb +++ b/modules/reporting/app/models/cost_query/custom_field_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter.rb b/modules/reporting/app/models/cost_query/filter.rb index 565ff8dc33d3..8ed94e871645 100644 --- a/modules/reporting/app/models/cost_query/filter.rb +++ b/modules/reporting/app/models/cost_query/filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/activity_id.rb b/modules/reporting/app/models/cost_query/filter/activity_id.rb index 6a2f3a161eed..266795163489 100644 --- a/modules/reporting/app/models/cost_query/filter/activity_id.rb +++ b/modules/reporting/app/models/cost_query/filter/activity_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/assigned_to_id.rb b/modules/reporting/app/models/cost_query/filter/assigned_to_id.rb index 01c3fdc12acd..0726ff6f3a50 100644 --- a/modules/reporting/app/models/cost_query/filter/assigned_to_id.rb +++ b/modules/reporting/app/models/cost_query/filter/assigned_to_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/author_id.rb b/modules/reporting/app/models/cost_query/filter/author_id.rb index 3bb5d78fd1c9..23bf426aa36f 100644 --- a/modules/reporting/app/models/cost_query/filter/author_id.rb +++ b/modules/reporting/app/models/cost_query/filter/author_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/budget_id.rb b/modules/reporting/app/models/cost_query/filter/budget_id.rb index 2248011927f6..03f3cf8e09ab 100644 --- a/modules/reporting/app/models/cost_query/filter/budget_id.rb +++ b/modules/reporting/app/models/cost_query/filter/budget_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/category_id.rb b/modules/reporting/app/models/cost_query/filter/category_id.rb index 86f87928773a..706ae6fce64e 100644 --- a/modules/reporting/app/models/cost_query/filter/category_id.rb +++ b/modules/reporting/app/models/cost_query/filter/category_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/cost_type_id.rb b/modules/reporting/app/models/cost_query/filter/cost_type_id.rb index ad770ff30200..beea7cb01741 100644 --- a/modules/reporting/app/models/cost_query/filter/cost_type_id.rb +++ b/modules/reporting/app/models/cost_query/filter/cost_type_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/created_on.rb b/modules/reporting/app/models/cost_query/filter/created_on.rb index db747ba9bf9c..935e69773399 100644 --- a/modules/reporting/app/models/cost_query/filter/created_on.rb +++ b/modules/reporting/app/models/cost_query/filter/created_on.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/custom_field_entries.rb b/modules/reporting/app/models/cost_query/filter/custom_field_entries.rb index 4b4f81e1b0d3..8d9ff1d187d9 100644 --- a/modules/reporting/app/models/cost_query/filter/custom_field_entries.rb +++ b/modules/reporting/app/models/cost_query/filter/custom_field_entries.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/due_date.rb b/modules/reporting/app/models/cost_query/filter/due_date.rb index 31096c973c17..bd2c79defcbc 100644 --- a/modules/reporting/app/models/cost_query/filter/due_date.rb +++ b/modules/reporting/app/models/cost_query/filter/due_date.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/logged_by_id.rb b/modules/reporting/app/models/cost_query/filter/logged_by_id.rb index 8d4967f69ae2..10d93d770ff9 100644 --- a/modules/reporting/app/models/cost_query/filter/logged_by_id.rb +++ b/modules/reporting/app/models/cost_query/filter/logged_by_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/no_filter.rb b/modules/reporting/app/models/cost_query/filter/no_filter.rb index 572288f780c9..c2953c116e27 100644 --- a/modules/reporting/app/models/cost_query/filter/no_filter.rb +++ b/modules/reporting/app/models/cost_query/filter/no_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/overridden_costs.rb b/modules/reporting/app/models/cost_query/filter/overridden_costs.rb index 446dd4103b80..0eb28bf1287d 100644 --- a/modules/reporting/app/models/cost_query/filter/overridden_costs.rb +++ b/modules/reporting/app/models/cost_query/filter/overridden_costs.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/permission_filter.rb b/modules/reporting/app/models/cost_query/filter/permission_filter.rb index c44e4fb6d0b4..86adddfcdbe1 100644 --- a/modules/reporting/app/models/cost_query/filter/permission_filter.rb +++ b/modules/reporting/app/models/cost_query/filter/permission_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/priority_id.rb b/modules/reporting/app/models/cost_query/filter/priority_id.rb index 9058c5397270..258c5800d060 100644 --- a/modules/reporting/app/models/cost_query/filter/priority_id.rb +++ b/modules/reporting/app/models/cost_query/filter/priority_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/project_id.rb b/modules/reporting/app/models/cost_query/filter/project_id.rb index 0d445ddeb52d..eeeaa1eb2d94 100644 --- a/modules/reporting/app/models/cost_query/filter/project_id.rb +++ b/modules/reporting/app/models/cost_query/filter/project_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/responsible_id.rb b/modules/reporting/app/models/cost_query/filter/responsible_id.rb index 1f7fdc8b80d1..5cf84ed0c455 100644 --- a/modules/reporting/app/models/cost_query/filter/responsible_id.rb +++ b/modules/reporting/app/models/cost_query/filter/responsible_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/spent_on.rb b/modules/reporting/app/models/cost_query/filter/spent_on.rb index 3b6e8b97daf8..b5a41e662440 100644 --- a/modules/reporting/app/models/cost_query/filter/spent_on.rb +++ b/modules/reporting/app/models/cost_query/filter/spent_on.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/start_date.rb b/modules/reporting/app/models/cost_query/filter/start_date.rb index 8694a95267c3..f52e9f4e18e0 100644 --- a/modules/reporting/app/models/cost_query/filter/start_date.rb +++ b/modules/reporting/app/models/cost_query/filter/start_date.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/status_id.rb b/modules/reporting/app/models/cost_query/filter/status_id.rb index fbb1c0fd5a8d..9dacbdaf7aa8 100644 --- a/modules/reporting/app/models/cost_query/filter/status_id.rb +++ b/modules/reporting/app/models/cost_query/filter/status_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/subject.rb b/modules/reporting/app/models/cost_query/filter/subject.rb index 0f1f053c3899..1d98d6a1a29f 100644 --- a/modules/reporting/app/models/cost_query/filter/subject.rb +++ b/modules/reporting/app/models/cost_query/filter/subject.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/tmonth.rb b/modules/reporting/app/models/cost_query/filter/tmonth.rb index 78dafff511dd..5d62d320fc8b 100644 --- a/modules/reporting/app/models/cost_query/filter/tmonth.rb +++ b/modules/reporting/app/models/cost_query/filter/tmonth.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/tweek.rb b/modules/reporting/app/models/cost_query/filter/tweek.rb index 1cdce4ca62f8..f86c21d7507e 100644 --- a/modules/reporting/app/models/cost_query/filter/tweek.rb +++ b/modules/reporting/app/models/cost_query/filter/tweek.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/tyear.rb b/modules/reporting/app/models/cost_query/filter/tyear.rb index 5dc885530771..5249d7d92888 100644 --- a/modules/reporting/app/models/cost_query/filter/tyear.rb +++ b/modules/reporting/app/models/cost_query/filter/tyear.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/type_id.rb b/modules/reporting/app/models/cost_query/filter/type_id.rb index 59c6df719316..92bcf3b538ff 100644 --- a/modules/reporting/app/models/cost_query/filter/type_id.rb +++ b/modules/reporting/app/models/cost_query/filter/type_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/updated_on.rb b/modules/reporting/app/models/cost_query/filter/updated_on.rb index 4e4576356349..9f379d04bd23 100644 --- a/modules/reporting/app/models/cost_query/filter/updated_on.rb +++ b/modules/reporting/app/models/cost_query/filter/updated_on.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/user_id.rb b/modules/reporting/app/models/cost_query/filter/user_id.rb index 643c8784ded2..215e593850c3 100644 --- a/modules/reporting/app/models/cost_query/filter/user_id.rb +++ b/modules/reporting/app/models/cost_query/filter/user_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -39,7 +39,6 @@ def transformed_values # Map the special 'me' value super .filter_map { |val| replace_me_value(val) } - end def replace_me_value(value) diff --git a/modules/reporting/app/models/cost_query/filter/version_id.rb b/modules/reporting/app/models/cost_query/filter/version_id.rb index 25a79e8a354d..5c17b99382ad 100644 --- a/modules/reporting/app/models/cost_query/filter/version_id.rb +++ b/modules/reporting/app/models/cost_query/filter/version_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/filter/work_package_id.rb b/modules/reporting/app/models/cost_query/filter/work_package_id.rb index 91d8f6d98306..9174407e3e48 100644 --- a/modules/reporting/app/models/cost_query/filter/work_package_id.rb +++ b/modules/reporting/app/models/cost_query/filter/work_package_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by.rb b/modules/reporting/app/models/cost_query/group_by.rb index f8ab40e18fcd..a34ad1f1feb4 100644 --- a/modules/reporting/app/models/cost_query/group_by.rb +++ b/modules/reporting/app/models/cost_query/group_by.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/activity_id.rb b/modules/reporting/app/models/cost_query/group_by/activity_id.rb index 28c79a7e556c..007fbe57311b 100644 --- a/modules/reporting/app/models/cost_query/group_by/activity_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/activity_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/assigned_to_id.rb b/modules/reporting/app/models/cost_query/group_by/assigned_to_id.rb index 5f247dccf08b..14abd4259f12 100644 --- a/modules/reporting/app/models/cost_query/group_by/assigned_to_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/assigned_to_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/author_id.rb b/modules/reporting/app/models/cost_query/group_by/author_id.rb index 2babccc7bbf5..87384d79ba10 100644 --- a/modules/reporting/app/models/cost_query/group_by/author_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/author_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/base.rb b/modules/reporting/app/models/cost_query/group_by/base.rb index 99c743b314f6..095fe9a260d2 100644 --- a/modules/reporting/app/models/cost_query/group_by/base.rb +++ b/modules/reporting/app/models/cost_query/group_by/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/budget_id.rb b/modules/reporting/app/models/cost_query/group_by/budget_id.rb index 19c35967a43e..6476f48643ad 100644 --- a/modules/reporting/app/models/cost_query/group_by/budget_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/budget_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/category_id.rb b/modules/reporting/app/models/cost_query/group_by/category_id.rb index e78f8f7648a9..2f072d33e5d4 100644 --- a/modules/reporting/app/models/cost_query/group_by/category_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/category_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/cost_type_id.rb b/modules/reporting/app/models/cost_query/group_by/cost_type_id.rb index 9e65c8fd6818..b38cb1fb90d8 100644 --- a/modules/reporting/app/models/cost_query/group_by/cost_type_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/cost_type_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/custom_field_entries.rb b/modules/reporting/app/models/cost_query/group_by/custom_field_entries.rb index 47912c55f9f6..49785aed008c 100644 --- a/modules/reporting/app/models/cost_query/group_by/custom_field_entries.rb +++ b/modules/reporting/app/models/cost_query/group_by/custom_field_entries.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/logged_by_id.rb b/modules/reporting/app/models/cost_query/group_by/logged_by_id.rb index f797c3606945..8b638a0cd83b 100644 --- a/modules/reporting/app/models/cost_query/group_by/logged_by_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/logged_by_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/priority_id.rb b/modules/reporting/app/models/cost_query/group_by/priority_id.rb index d1f4f8f9bda1..389ccddcf1c4 100644 --- a/modules/reporting/app/models/cost_query/group_by/priority_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/priority_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/project_id.rb b/modules/reporting/app/models/cost_query/group_by/project_id.rb index 5cbcaf72b17e..374b3f789c3e 100644 --- a/modules/reporting/app/models/cost_query/group_by/project_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/project_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/ruby_aggregation.rb b/modules/reporting/app/models/cost_query/group_by/ruby_aggregation.rb index dcb6284d8a37..898237c99b1a 100644 --- a/modules/reporting/app/models/cost_query/group_by/ruby_aggregation.rb +++ b/modules/reporting/app/models/cost_query/group_by/ruby_aggregation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/singleton_value.rb b/modules/reporting/app/models/cost_query/group_by/singleton_value.rb index da1fde6c7946..22ecc4c1514f 100644 --- a/modules/reporting/app/models/cost_query/group_by/singleton_value.rb +++ b/modules/reporting/app/models/cost_query/group_by/singleton_value.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/spent_on.rb b/modules/reporting/app/models/cost_query/group_by/spent_on.rb index 7a90d6b3935a..ad113a426abd 100644 --- a/modules/reporting/app/models/cost_query/group_by/spent_on.rb +++ b/modules/reporting/app/models/cost_query/group_by/spent_on.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/sql_aggregation.rb b/modules/reporting/app/models/cost_query/group_by/sql_aggregation.rb index 987d8ac52bb2..50a58079876f 100644 --- a/modules/reporting/app/models/cost_query/group_by/sql_aggregation.rb +++ b/modules/reporting/app/models/cost_query/group_by/sql_aggregation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/status_id.rb b/modules/reporting/app/models/cost_query/group_by/status_id.rb index 0cf72a84610d..9f1865eaa8cf 100644 --- a/modules/reporting/app/models/cost_query/group_by/status_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/status_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/tmonth.rb b/modules/reporting/app/models/cost_query/group_by/tmonth.rb index dc3f280498ab..c63dcdfaa558 100644 --- a/modules/reporting/app/models/cost_query/group_by/tmonth.rb +++ b/modules/reporting/app/models/cost_query/group_by/tmonth.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/tweek.rb b/modules/reporting/app/models/cost_query/group_by/tweek.rb index a36adb6e36ea..31f629312851 100644 --- a/modules/reporting/app/models/cost_query/group_by/tweek.rb +++ b/modules/reporting/app/models/cost_query/group_by/tweek.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/tyear.rb b/modules/reporting/app/models/cost_query/group_by/tyear.rb index 1153106ec5c0..f4671ada3e43 100644 --- a/modules/reporting/app/models/cost_query/group_by/tyear.rb +++ b/modules/reporting/app/models/cost_query/group_by/tyear.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/type_id.rb b/modules/reporting/app/models/cost_query/group_by/type_id.rb index 4d9d217ba689..107acb1dc73b 100644 --- a/modules/reporting/app/models/cost_query/group_by/type_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/type_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/user_id.rb b/modules/reporting/app/models/cost_query/group_by/user_id.rb index 6236aff0df6f..88e3c530fd9e 100644 --- a/modules/reporting/app/models/cost_query/group_by/user_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/user_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/version_id.rb b/modules/reporting/app/models/cost_query/group_by/version_id.rb index 13cecf50e59f..e7f2ba434daa 100644 --- a/modules/reporting/app/models/cost_query/group_by/version_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/version_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/week.rb b/modules/reporting/app/models/cost_query/group_by/week.rb index 9489f07a7271..5f7f7292355e 100644 --- a/modules/reporting/app/models/cost_query/group_by/week.rb +++ b/modules/reporting/app/models/cost_query/group_by/week.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/group_by/work_package_id.rb b/modules/reporting/app/models/cost_query/group_by/work_package_id.rb index 3715e28d5300..bff3c75ed0ec 100644 --- a/modules/reporting/app/models/cost_query/group_by/work_package_id.rb +++ b/modules/reporting/app/models/cost_query/group_by/work_package_id.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/operator.rb b/modules/reporting/app/models/cost_query/operator.rb index 7e1608e966df..85675cc42960 100644 --- a/modules/reporting/app/models/cost_query/operator.rb +++ b/modules/reporting/app/models/cost_query/operator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/result.rb b/modules/reporting/app/models/cost_query/result.rb index 2af452787293..50a4a926fbf5 100644 --- a/modules/reporting/app/models/cost_query/result.rb +++ b/modules/reporting/app/models/cost_query/result.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/cost_query/sql_statement.rb b/modules/reporting/app/models/cost_query/sql_statement.rb index 27a4ca1252a5..d7ebfd3d2a8a 100644 --- a/modules/reporting/app/models/cost_query/sql_statement.rb +++ b/modules/reporting/app/models/cost_query/sql_statement.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -93,7 +93,7 @@ def self.unified_entry(model) }) # FIXME: build this subquery from a sql_statement query.from "(SELECT *, #{typed :text, model.model_name.to_s} AS type FROM #{table}) AS #{table}" - send("unify_#{table}", query) + send(:"unify_#{table}", query) end end diff --git a/modules/reporting/app/models/cost_query/table.rb b/modules/reporting/app/models/cost_query/table.rb index 8fefc7677b2e..e63275d85496 100644 --- a/modules/reporting/app/models/cost_query/table.rb +++ b/modules/reporting/app/models/cost_query/table.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/models/entry.rb b/modules/reporting/app/models/entry.rb index bf2a6f1475aa..17a4f515aad3 100644 --- a/modules/reporting/app/models/entry.rb +++ b/modules/reporting/app/models/entry.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -42,9 +42,9 @@ def ===(obj) TimeEntry === obj or CostEntry === obj end - def calculate(type, *args) - a = TimeEntry.calculate(type, *args) - b = CostEntry.calculate(type, *args) + def calculate(type, *) + a = TimeEntry.calculate(type, *) + b = CostEntry.calculate(type, *) case type when :sum, :count then a + b when :avg then (a + b) / 2 @@ -81,16 +81,16 @@ def find_every(options) find_many :find_every, options end def find_from_ids(_args, options) find_many :find_from_ids, options end - def find_one(*args) - TimeEntry.send(*args) || CostEntry.send(*args) + def find_one(*) + TimeEntry.send(*) || CostEntry.send(*) end - def find_many(*args) - TimeEntry.send(*args) + CostEntry.send(*args) + def find_many(*) + TimeEntry.send(*) + CostEntry.send(*) end - def send_all(*args) - [TimeEntry.send(*args), CostEntry.send(*args)] + def send_all(*) + [TimeEntry.send(*), CostEntry.send(*)] end end end diff --git a/modules/reporting/app/seeders/common.yml b/modules/reporting/app/seeders/common.yml index d09d30cd486b..2f3d3e2cb707 100644 --- a/modules/reporting/app/seeders/common.yml +++ b/modules/reporting/app/seeders/common.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/services/cost_query/schedule_export_service.rb b/modules/reporting/app/services/cost_query/schedule_export_service.rb index 059732e89ad5..a3c75b3db457 100644 --- a/modules/reporting/app/services/cost_query/schedule_export_service.rb +++ b/modules/reporting/app/services/cost_query/schedule_export_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/views/cost_reports/_report_menu.html.erb b/modules/reporting/app/views/cost_reports/_report_menu.html.erb index e3fbd7c88487..51924ade9313 100644 --- a/modules/reporting/app/views/cost_reports/_report_menu.html.erb +++ b/modules/reporting/app/views/cost_reports/_report_menu.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/app/views/cost_reports/index.html.erb b/modules/reporting/app/views/cost_reports/index.html.erb index 6a9e4f342910..1d37980e00c2 100644 --- a/modules/reporting/app/views/cost_reports/index.html.erb +++ b/modules/reporting/app/views/cost_reports/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/config/locales/crowdin/af.yml b/modules/reporting/config/locales/crowdin/af.yml index 62806cafe806..6e7ffdd25918 100644 --- a/modules/reporting/config/locales/crowdin/af.yml +++ b/modules/reporting/config/locales/crowdin/af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/ar.yml b/modules/reporting/config/locales/crowdin/ar.yml index b532f1088298..199a6232c1b7 100644 --- a/modules/reporting/config/locales/crowdin/ar.yml +++ b/modules/reporting/config/locales/crowdin/ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/az.yml b/modules/reporting/config/locales/crowdin/az.yml index 47fc202b899c..7445e96ab23c 100644 --- a/modules/reporting/config/locales/crowdin/az.yml +++ b/modules/reporting/config/locales/crowdin/az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/be.yml b/modules/reporting/config/locales/crowdin/be.yml index 0f5d6547e0d7..5ee1acd32be1 100644 --- a/modules/reporting/config/locales/crowdin/be.yml +++ b/modules/reporting/config/locales/crowdin/be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/bg.yml b/modules/reporting/config/locales/crowdin/bg.yml index b1e84f4d0bc3..0cf851377b02 100644 --- a/modules/reporting/config/locales/crowdin/bg.yml +++ b/modules/reporting/config/locales/crowdin/bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/ca.yml b/modules/reporting/config/locales/crowdin/ca.yml index 1f0a68a6ebfa..4ee81df8c716 100644 --- a/modules/reporting/config/locales/crowdin/ca.yml +++ b/modules/reporting/config/locales/crowdin/ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/ckb-IR.yml b/modules/reporting/config/locales/crowdin/ckb-IR.yml index 8cfadbe4dba9..649f7f906233 100644 --- a/modules/reporting/config/locales/crowdin/ckb-IR.yml +++ b/modules/reporting/config/locales/crowdin/ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/cs.yml b/modules/reporting/config/locales/crowdin/cs.yml index 403678c588d3..f36452694e9c 100644 --- a/modules/reporting/config/locales/crowdin/cs.yml +++ b/modules/reporting/config/locales/crowdin/cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -47,7 +47,7 @@ cs: label_is_project_with_subprojects: "je (včetně podprojektů)" label_work_package_attributes: "Atributy pracovního balíčku" label_less: "<" - label_logged_by_reporting: "Logged by" + label_logged_by_reporting: "Zadáno" label_money: "Hotovostní hodnota" label_month_reporting: "Měsíc (stráveno)" label_new_report: "Nový výkaz nákladů" diff --git a/modules/reporting/config/locales/crowdin/da.yml b/modules/reporting/config/locales/crowdin/da.yml index 89781e4fcf62..8b5ad45c0221 100644 --- a/modules/reporting/config/locales/crowdin/da.yml +++ b/modules/reporting/config/locales/crowdin/da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/de.yml b/modules/reporting/config/locales/crowdin/de.yml index c937b953f8d4..4a03eee80385 100644 --- a/modules/reporting/config/locales/crowdin/de.yml +++ b/modules/reporting/config/locales/crowdin/de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/el.yml b/modules/reporting/config/locales/crowdin/el.yml index e9e70379922c..9fb12b302811 100644 --- a/modules/reporting/config/locales/crowdin/el.yml +++ b/modules/reporting/config/locales/crowdin/el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/eo.yml b/modules/reporting/config/locales/crowdin/eo.yml index 92a01ac4f754..aaa6e2c03418 100644 --- a/modules/reporting/config/locales/crowdin/eo.yml +++ b/modules/reporting/config/locales/crowdin/eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/es.yml b/modules/reporting/config/locales/crowdin/es.yml index f849ac4d1b04..32bbc7c08005 100644 --- a/modules/reporting/config/locales/crowdin/es.yml +++ b/modules/reporting/config/locales/crowdin/es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/et.yml b/modules/reporting/config/locales/crowdin/et.yml index 62ebeb5bf6d5..971144151f3f 100644 --- a/modules/reporting/config/locales/crowdin/et.yml +++ b/modules/reporting/config/locales/crowdin/et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/eu.yml b/modules/reporting/config/locales/crowdin/eu.yml index 60c21618dcf7..5115e3ec4900 100644 --- a/modules/reporting/config/locales/crowdin/eu.yml +++ b/modules/reporting/config/locales/crowdin/eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/fa.yml b/modules/reporting/config/locales/crowdin/fa.yml index 9ff07a2bd227..6119a27a57d1 100644 --- a/modules/reporting/config/locales/crowdin/fa.yml +++ b/modules/reporting/config/locales/crowdin/fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/fi.yml b/modules/reporting/config/locales/crowdin/fi.yml index 374aa57a45a6..2ef5c8cc36e1 100644 --- a/modules/reporting/config/locales/crowdin/fi.yml +++ b/modules/reporting/config/locales/crowdin/fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/fil.yml b/modules/reporting/config/locales/crowdin/fil.yml index 79a75038fb1b..554dfd08f9db 100644 --- a/modules/reporting/config/locales/crowdin/fil.yml +++ b/modules/reporting/config/locales/crowdin/fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/fr.yml b/modules/reporting/config/locales/crowdin/fr.yml index d50d17f288b7..44e7c6d5d8f9 100644 --- a/modules/reporting/config/locales/crowdin/fr.yml +++ b/modules/reporting/config/locales/crowdin/fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/he.yml b/modules/reporting/config/locales/crowdin/he.yml index 559eef6593b4..6938e0f9b8cd 100644 --- a/modules/reporting/config/locales/crowdin/he.yml +++ b/modules/reporting/config/locales/crowdin/he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/hi.yml b/modules/reporting/config/locales/crowdin/hi.yml index 2a420db0c984..d69f0308037c 100644 --- a/modules/reporting/config/locales/crowdin/hi.yml +++ b/modules/reporting/config/locales/crowdin/hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/hr.yml b/modules/reporting/config/locales/crowdin/hr.yml index 4cf7f6df95f8..1db3c2025e93 100644 --- a/modules/reporting/config/locales/crowdin/hr.yml +++ b/modules/reporting/config/locales/crowdin/hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/hu.yml b/modules/reporting/config/locales/crowdin/hu.yml index 1b40f8f5f8b4..dd876745be35 100644 --- a/modules/reporting/config/locales/crowdin/hu.yml +++ b/modules/reporting/config/locales/crowdin/hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/id.yml b/modules/reporting/config/locales/crowdin/id.yml index 547274606200..3a7252fd2517 100644 --- a/modules/reporting/config/locales/crowdin/id.yml +++ b/modules/reporting/config/locales/crowdin/id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/it.yml b/modules/reporting/config/locales/crowdin/it.yml index 22dd838967d0..63df5b40ce69 100644 --- a/modules/reporting/config/locales/crowdin/it.yml +++ b/modules/reporting/config/locales/crowdin/it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/ja.yml b/modules/reporting/config/locales/crowdin/ja.yml index 3b9932e2c380..026fb91a6101 100644 --- a/modules/reporting/config/locales/crowdin/ja.yml +++ b/modules/reporting/config/locales/crowdin/ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-af.yml b/modules/reporting/config/locales/crowdin/js-af.yml index 7753cb19a5e7..48d7d6014b7e 100644 --- a/modules/reporting/config/locales/crowdin/js-af.yml +++ b/modules/reporting/config/locales/crowdin/js-af.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-ar.yml b/modules/reporting/config/locales/crowdin/js-ar.yml index a5390e5e782f..db833e2e20cf 100644 --- a/modules/reporting/config/locales/crowdin/js-ar.yml +++ b/modules/reporting/config/locales/crowdin/js-ar.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-az.yml b/modules/reporting/config/locales/crowdin/js-az.yml index d09c5f9fafd7..65510ebf1ca2 100644 --- a/modules/reporting/config/locales/crowdin/js-az.yml +++ b/modules/reporting/config/locales/crowdin/js-az.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-be.yml b/modules/reporting/config/locales/crowdin/js-be.yml index c4cfa6acf554..317f5e65254e 100644 --- a/modules/reporting/config/locales/crowdin/js-be.yml +++ b/modules/reporting/config/locales/crowdin/js-be.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-bg.yml b/modules/reporting/config/locales/crowdin/js-bg.yml index 92c970fa5848..3a6e3e286fa5 100644 --- a/modules/reporting/config/locales/crowdin/js-bg.yml +++ b/modules/reporting/config/locales/crowdin/js-bg.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-ca.yml b/modules/reporting/config/locales/crowdin/js-ca.yml index 412e38333189..67c33a6bed7c 100644 --- a/modules/reporting/config/locales/crowdin/js-ca.yml +++ b/modules/reporting/config/locales/crowdin/js-ca.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-ckb-IR.yml b/modules/reporting/config/locales/crowdin/js-ckb-IR.yml index ca85e1d241ff..3bdfbea839cb 100644 --- a/modules/reporting/config/locales/crowdin/js-ckb-IR.yml +++ b/modules/reporting/config/locales/crowdin/js-ckb-IR.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-cs.yml b/modules/reporting/config/locales/crowdin/js-cs.yml index ae2a9663ba84..e5f7edf9b9db 100644 --- a/modules/reporting/config/locales/crowdin/js-cs.yml +++ b/modules/reporting/config/locales/crowdin/js-cs.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-da.yml b/modules/reporting/config/locales/crowdin/js-da.yml index ff407f1d9167..a8d2eba6849d 100644 --- a/modules/reporting/config/locales/crowdin/js-da.yml +++ b/modules/reporting/config/locales/crowdin/js-da.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-de.yml b/modules/reporting/config/locales/crowdin/js-de.yml index 8d1d1bcd49aa..b88738713fe4 100644 --- a/modules/reporting/config/locales/crowdin/js-de.yml +++ b/modules/reporting/config/locales/crowdin/js-de.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-el.yml b/modules/reporting/config/locales/crowdin/js-el.yml index 19a42a7ee4f7..9e0922fcdba6 100644 --- a/modules/reporting/config/locales/crowdin/js-el.yml +++ b/modules/reporting/config/locales/crowdin/js-el.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-eo.yml b/modules/reporting/config/locales/crowdin/js-eo.yml index ebdcabbc7dda..fb5d34e222c5 100644 --- a/modules/reporting/config/locales/crowdin/js-eo.yml +++ b/modules/reporting/config/locales/crowdin/js-eo.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-es.yml b/modules/reporting/config/locales/crowdin/js-es.yml index 60de751177a2..a1fdb186ade6 100644 --- a/modules/reporting/config/locales/crowdin/js-es.yml +++ b/modules/reporting/config/locales/crowdin/js-es.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-et.yml b/modules/reporting/config/locales/crowdin/js-et.yml index 830712f99159..6d40777eb539 100644 --- a/modules/reporting/config/locales/crowdin/js-et.yml +++ b/modules/reporting/config/locales/crowdin/js-et.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-eu.yml b/modules/reporting/config/locales/crowdin/js-eu.yml index b261048b0510..3bdc68fc1655 100644 --- a/modules/reporting/config/locales/crowdin/js-eu.yml +++ b/modules/reporting/config/locales/crowdin/js-eu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-fa.yml b/modules/reporting/config/locales/crowdin/js-fa.yml index 3f5455dfdbc4..f76bfe3099d7 100644 --- a/modules/reporting/config/locales/crowdin/js-fa.yml +++ b/modules/reporting/config/locales/crowdin/js-fa.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-fi.yml b/modules/reporting/config/locales/crowdin/js-fi.yml index 2338957ae6fb..acad45aaf893 100644 --- a/modules/reporting/config/locales/crowdin/js-fi.yml +++ b/modules/reporting/config/locales/crowdin/js-fi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-fil.yml b/modules/reporting/config/locales/crowdin/js-fil.yml index 023e1628995b..500e32f98e9f 100644 --- a/modules/reporting/config/locales/crowdin/js-fil.yml +++ b/modules/reporting/config/locales/crowdin/js-fil.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-fr.yml b/modules/reporting/config/locales/crowdin/js-fr.yml index 05c670291099..85cee7b5298b 100644 --- a/modules/reporting/config/locales/crowdin/js-fr.yml +++ b/modules/reporting/config/locales/crowdin/js-fr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-he.yml b/modules/reporting/config/locales/crowdin/js-he.yml index 6c1be14dc871..d09eb14b8c97 100644 --- a/modules/reporting/config/locales/crowdin/js-he.yml +++ b/modules/reporting/config/locales/crowdin/js-he.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-hi.yml b/modules/reporting/config/locales/crowdin/js-hi.yml index 223bd1b41a9a..61b7ca9c06be 100644 --- a/modules/reporting/config/locales/crowdin/js-hi.yml +++ b/modules/reporting/config/locales/crowdin/js-hi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-hr.yml b/modules/reporting/config/locales/crowdin/js-hr.yml index 417f7440c023..e66c11e90bbe 100644 --- a/modules/reporting/config/locales/crowdin/js-hr.yml +++ b/modules/reporting/config/locales/crowdin/js-hr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-hu.yml b/modules/reporting/config/locales/crowdin/js-hu.yml index 0cdd9d9b283d..ca3131932123 100644 --- a/modules/reporting/config/locales/crowdin/js-hu.yml +++ b/modules/reporting/config/locales/crowdin/js-hu.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-id.yml b/modules/reporting/config/locales/crowdin/js-id.yml index bd6882e4e76d..73457046864e 100644 --- a/modules/reporting/config/locales/crowdin/js-id.yml +++ b/modules/reporting/config/locales/crowdin/js-id.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-it.yml b/modules/reporting/config/locales/crowdin/js-it.yml index 99df755a21d1..5706c9155519 100644 --- a/modules/reporting/config/locales/crowdin/js-it.yml +++ b/modules/reporting/config/locales/crowdin/js-it.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-ja.yml b/modules/reporting/config/locales/crowdin/js-ja.yml index ad1325c1545d..1d38ed6892c8 100644 --- a/modules/reporting/config/locales/crowdin/js-ja.yml +++ b/modules/reporting/config/locales/crowdin/js-ja.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-ka.yml b/modules/reporting/config/locales/crowdin/js-ka.yml index a689935c48d3..33c83f0fc0b3 100644 --- a/modules/reporting/config/locales/crowdin/js-ka.yml +++ b/modules/reporting/config/locales/crowdin/js-ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-ko.yml b/modules/reporting/config/locales/crowdin/js-ko.yml index 2efd4f79c1bb..1dee0ab16125 100644 --- a/modules/reporting/config/locales/crowdin/js-ko.yml +++ b/modules/reporting/config/locales/crowdin/js-ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-lt.yml b/modules/reporting/config/locales/crowdin/js-lt.yml index 16833aab695a..307f6d7e9ca0 100644 --- a/modules/reporting/config/locales/crowdin/js-lt.yml +++ b/modules/reporting/config/locales/crowdin/js-lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-lv.yml b/modules/reporting/config/locales/crowdin/js-lv.yml index 16efb262b262..0fae958b07db 100644 --- a/modules/reporting/config/locales/crowdin/js-lv.yml +++ b/modules/reporting/config/locales/crowdin/js-lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-mn.yml b/modules/reporting/config/locales/crowdin/js-mn.yml index 9ef4d375e41f..d94a5bcd1ea9 100644 --- a/modules/reporting/config/locales/crowdin/js-mn.yml +++ b/modules/reporting/config/locales/crowdin/js-mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-ne.yml b/modules/reporting/config/locales/crowdin/js-ne.yml index e7dfd92ed146..bebc2303471c 100644 --- a/modules/reporting/config/locales/crowdin/js-ne.yml +++ b/modules/reporting/config/locales/crowdin/js-ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-nl.yml b/modules/reporting/config/locales/crowdin/js-nl.yml index e057b4ffa635..47aac5b1a8c4 100644 --- a/modules/reporting/config/locales/crowdin/js-nl.yml +++ b/modules/reporting/config/locales/crowdin/js-nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-no.yml b/modules/reporting/config/locales/crowdin/js-no.yml index 118f9aca072b..e83f9624eb80 100644 --- a/modules/reporting/config/locales/crowdin/js-no.yml +++ b/modules/reporting/config/locales/crowdin/js-no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-pl.yml b/modules/reporting/config/locales/crowdin/js-pl.yml index 7375d3e114bb..0d279cf70dd5 100644 --- a/modules/reporting/config/locales/crowdin/js-pl.yml +++ b/modules/reporting/config/locales/crowdin/js-pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-pt.yml b/modules/reporting/config/locales/crowdin/js-pt.yml index 9639ed63282a..30c0350863d9 100644 --- a/modules/reporting/config/locales/crowdin/js-pt.yml +++ b/modules/reporting/config/locales/crowdin/js-pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-ro.yml b/modules/reporting/config/locales/crowdin/js-ro.yml index b18fb2c61c4b..4ce2d29c819a 100644 --- a/modules/reporting/config/locales/crowdin/js-ro.yml +++ b/modules/reporting/config/locales/crowdin/js-ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-ru.yml b/modules/reporting/config/locales/crowdin/js-ru.yml index 4159382fa8e1..9682bada043c 100644 --- a/modules/reporting/config/locales/crowdin/js-ru.yml +++ b/modules/reporting/config/locales/crowdin/js-ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-rw.yml b/modules/reporting/config/locales/crowdin/js-rw.yml index dbe3daf6dc20..717d41ff101c 100644 --- a/modules/reporting/config/locales/crowdin/js-rw.yml +++ b/modules/reporting/config/locales/crowdin/js-rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-si.yml b/modules/reporting/config/locales/crowdin/js-si.yml index 4b4c433494e1..466ca230679e 100644 --- a/modules/reporting/config/locales/crowdin/js-si.yml +++ b/modules/reporting/config/locales/crowdin/js-si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-sk.yml b/modules/reporting/config/locales/crowdin/js-sk.yml index 24ed6951d695..57e419ee8234 100644 --- a/modules/reporting/config/locales/crowdin/js-sk.yml +++ b/modules/reporting/config/locales/crowdin/js-sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-sl.yml b/modules/reporting/config/locales/crowdin/js-sl.yml index 076f49e37fc2..53a090d9862f 100644 --- a/modules/reporting/config/locales/crowdin/js-sl.yml +++ b/modules/reporting/config/locales/crowdin/js-sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-sr.yml b/modules/reporting/config/locales/crowdin/js-sr.yml index 7b7e439f7c0f..ad1f8543fe87 100644 --- a/modules/reporting/config/locales/crowdin/js-sr.yml +++ b/modules/reporting/config/locales/crowdin/js-sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-sv.yml b/modules/reporting/config/locales/crowdin/js-sv.yml index f28604ba17ec..9bbfc8cfc513 100644 --- a/modules/reporting/config/locales/crowdin/js-sv.yml +++ b/modules/reporting/config/locales/crowdin/js-sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-th.yml b/modules/reporting/config/locales/crowdin/js-th.yml index 87017266d905..1ba57babdcbf 100644 --- a/modules/reporting/config/locales/crowdin/js-th.yml +++ b/modules/reporting/config/locales/crowdin/js-th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-tr.yml b/modules/reporting/config/locales/crowdin/js-tr.yml index 114d13ad7c93..eef8b29f167d 100644 --- a/modules/reporting/config/locales/crowdin/js-tr.yml +++ b/modules/reporting/config/locales/crowdin/js-tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-uk.yml b/modules/reporting/config/locales/crowdin/js-uk.yml index b87035a94efe..525562242454 100644 --- a/modules/reporting/config/locales/crowdin/js-uk.yml +++ b/modules/reporting/config/locales/crowdin/js-uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-vi.yml b/modules/reporting/config/locales/crowdin/js-vi.yml index 72e15d478a00..292f6427c497 100644 --- a/modules/reporting/config/locales/crowdin/js-vi.yml +++ b/modules/reporting/config/locales/crowdin/js-vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-zh-CN.yml b/modules/reporting/config/locales/crowdin/js-zh-CN.yml index 3226bd44c926..ac6dcdfe7885 100644 --- a/modules/reporting/config/locales/crowdin/js-zh-CN.yml +++ b/modules/reporting/config/locales/crowdin/js-zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/js-zh-TW.yml b/modules/reporting/config/locales/crowdin/js-zh-TW.yml index 4633e8c9b3ec..cbd254cee3c3 100644 --- a/modules/reporting/config/locales/crowdin/js-zh-TW.yml +++ b/modules/reporting/config/locales/crowdin/js-zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/ka.yml b/modules/reporting/config/locales/crowdin/ka.yml index ec3cd0c577c3..9c8661a42742 100644 --- a/modules/reporting/config/locales/crowdin/ka.yml +++ b/modules/reporting/config/locales/crowdin/ka.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: @@ -25,21 +25,21 @@ ka: description: "This plugin allows creating custom cost reports with filtering and grouping created by the OpenProject Time and costs plugin." button_save_as: "Save report as..." comments: "კომენტარი" - cost_reports_title: "Time and costs" - label_cost_report: "Cost report" - label_cost_report_plural: "Cost reports" - description_drill_down: "Show details" + cost_reports_title: "დრო და ღირებულებები" + label_cost_report: "ფასის ანგარიში" + label_cost_report_plural: "ფასის ანგარიშები" + description_drill_down: "დეტალების ჩვენება" description_filter_selection: "მონიშნული" description_multi_select: "Show multiselect" - description_remove_filter: "Remove filter" + description_remove_filter: "ფილტრის წაშლა" information_restricted_depending_on_permission: "Depending on your permissions this page might contain restricted information." - label_click_to_edit: "Click to edit." + label_click_to_edit: "დააწკაპუნეთ ჩასასწორებლად." label_closed: "დახურულია" label_columns: "სვეტები" label_cost_entry_attributes: "Cost entry attributes" label_days_ago: "during the last days" - label_entry: "Cost entry" - label_filter_text: "Filter text" + label_entry: "ფასის ჩანაწერი" + label_filter_text: "ტექსტის ფილტრი" label_filter_value: "მნიშვნელობა" label_filters: "ფილტრი" label_greater: ">" @@ -47,9 +47,9 @@ ka: label_is_project_with_subprojects: "is (includes subprojects)" label_work_package_attributes: "Work package attributes" label_less: "<" - label_logged_by_reporting: "Logged by" - label_money: "Cash value" - label_month_reporting: "Month (Spent)" + label_logged_by_reporting: "ჩანაწერის ავტორი" + label_money: "თანხის მნიშვნელობა" + label_month_reporting: "თვე (დახარჯული)" label_new_report: "New cost report" label_open: "გახსნა" label_operator: "ოპერატორი" @@ -58,19 +58,19 @@ ka: label_public_report_plural: "Public cost reports" label_really_delete_question: "Are you sure you want to delete this report?" label_rows: "მწკრივები" - label_saving: "Saving ..." - label_spent_on_reporting: "Date (Spent)" + label_saving: "შენახვა ..." + label_spent_on_reporting: "თარიღი (დახარჯული)" label_sum: "ჯამი" label_units: "ერთეულები" - label_week_reporting: "Week (Spent)" - label_year_reporting: "Year (Spent)" + label_week_reporting: "კვირა (დახარჯული)" + label_year_reporting: "წელი (დახარჯული)" label_count: "რაოდენობა" label_filter: "ფილტრი" - label_filter_add: "Add Filter" + label_filter_add: "ფილტრის დამატება" label_filter_plural: "ფილტრები" label_group_by: "დაჯგუფება" label_group_by_add: "Add Group-by Attribute" - label_inactive: "«inactive»" + label_inactive: "<არააქტიური>" label_no: "არა" label_none: "(თარიღის გარეშე)" label_no_reports: "There are no cost reports yet." @@ -79,7 +79,7 @@ ka: load_query_question: "Report will have %{size} table cells and may take some time to render. Do you still want to try rendering it?" permission_save_cost_reports: "Save public cost reports" permission_save_private_cost_reports: "Save private cost reports" - project_module_reporting_module: "Cost reports" + project_module_reporting_module: "ფასის ანგარიშები" text_costs_are_rounded_note: "Displayed values are rounded. All calculations are based on the non-rounded values." toggle_multiselect: "activate/deactivate multiselect" units: "ერთეულები" @@ -91,4 +91,4 @@ ka: reporting: group_by: selected_columns: "Selected columns" - selected_rows: "Selected rows" + selected_rows: "მონიშნული მწკრივები" diff --git a/modules/reporting/config/locales/crowdin/ko.yml b/modules/reporting/config/locales/crowdin/ko.yml index 14799cc6d914..53d25170324d 100644 --- a/modules/reporting/config/locales/crowdin/ko.yml +++ b/modules/reporting/config/locales/crowdin/ko.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/lt.yml b/modules/reporting/config/locales/crowdin/lt.yml index 5e609721cc9e..1080958b5516 100644 --- a/modules/reporting/config/locales/crowdin/lt.yml +++ b/modules/reporting/config/locales/crowdin/lt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/lv.yml b/modules/reporting/config/locales/crowdin/lv.yml index 04d903f20f56..6aaff165db1b 100644 --- a/modules/reporting/config/locales/crowdin/lv.yml +++ b/modules/reporting/config/locales/crowdin/lv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/mn.yml b/modules/reporting/config/locales/crowdin/mn.yml index e6cf94774a18..b2be1ec31018 100644 --- a/modules/reporting/config/locales/crowdin/mn.yml +++ b/modules/reporting/config/locales/crowdin/mn.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/ne.yml b/modules/reporting/config/locales/crowdin/ne.yml index 67d9539b8011..94bd796a6afe 100644 --- a/modules/reporting/config/locales/crowdin/ne.yml +++ b/modules/reporting/config/locales/crowdin/ne.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/nl.yml b/modules/reporting/config/locales/crowdin/nl.yml index 131c8d9438af..f486f036adb0 100644 --- a/modules/reporting/config/locales/crowdin/nl.yml +++ b/modules/reporting/config/locales/crowdin/nl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/no.yml b/modules/reporting/config/locales/crowdin/no.yml index 1a00a4d3948e..f74e3dce76f8 100644 --- a/modules/reporting/config/locales/crowdin/no.yml +++ b/modules/reporting/config/locales/crowdin/no.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/pl.yml b/modules/reporting/config/locales/crowdin/pl.yml index 6fb2c54fe646..399372a8ca53 100644 --- a/modules/reporting/config/locales/crowdin/pl.yml +++ b/modules/reporting/config/locales/crowdin/pl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/pt.yml b/modules/reporting/config/locales/crowdin/pt.yml index a2b9e3acd043..5f77c6611e28 100644 --- a/modules/reporting/config/locales/crowdin/pt.yml +++ b/modules/reporting/config/locales/crowdin/pt.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/ro.yml b/modules/reporting/config/locales/crowdin/ro.yml index 204a89c02dbf..ff24b95e8b64 100644 --- a/modules/reporting/config/locales/crowdin/ro.yml +++ b/modules/reporting/config/locales/crowdin/ro.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/ru.yml b/modules/reporting/config/locales/crowdin/ru.yml index b9d26244f2dc..5ff318072c70 100644 --- a/modules/reporting/config/locales/crowdin/ru.yml +++ b/modules/reporting/config/locales/crowdin/ru.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/rw.yml b/modules/reporting/config/locales/crowdin/rw.yml index b6e75791f86c..5394d8215609 100644 --- a/modules/reporting/config/locales/crowdin/rw.yml +++ b/modules/reporting/config/locales/crowdin/rw.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/si.yml b/modules/reporting/config/locales/crowdin/si.yml index a22bb4ec10ff..ed069334bc0b 100644 --- a/modules/reporting/config/locales/crowdin/si.yml +++ b/modules/reporting/config/locales/crowdin/si.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/sk.yml b/modules/reporting/config/locales/crowdin/sk.yml index 59b73fd31454..8ecacfe18797 100644 --- a/modules/reporting/config/locales/crowdin/sk.yml +++ b/modules/reporting/config/locales/crowdin/sk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/sl.yml b/modules/reporting/config/locales/crowdin/sl.yml index 1500ae60a65e..234f6d86f1ea 100644 --- a/modules/reporting/config/locales/crowdin/sl.yml +++ b/modules/reporting/config/locales/crowdin/sl.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/sr.yml b/modules/reporting/config/locales/crowdin/sr.yml index 170062740020..5cb8adf9a5b5 100644 --- a/modules/reporting/config/locales/crowdin/sr.yml +++ b/modules/reporting/config/locales/crowdin/sr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/sv.yml b/modules/reporting/config/locales/crowdin/sv.yml index da1447d23c05..4e4ba069723b 100644 --- a/modules/reporting/config/locales/crowdin/sv.yml +++ b/modules/reporting/config/locales/crowdin/sv.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/th.yml b/modules/reporting/config/locales/crowdin/th.yml index 0b61b7d04c94..26531a9a51e4 100644 --- a/modules/reporting/config/locales/crowdin/th.yml +++ b/modules/reporting/config/locales/crowdin/th.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/tr.yml b/modules/reporting/config/locales/crowdin/tr.yml index faefdb48d41c..bb5e35b7c2a8 100644 --- a/modules/reporting/config/locales/crowdin/tr.yml +++ b/modules/reporting/config/locales/crowdin/tr.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/uk.yml b/modules/reporting/config/locales/crowdin/uk.yml index 3113ba69e6f9..761172fee6d4 100644 --- a/modules/reporting/config/locales/crowdin/uk.yml +++ b/modules/reporting/config/locales/crowdin/uk.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/vi.yml b/modules/reporting/config/locales/crowdin/vi.yml index a2881d8c9803..d108f3a7238e 100644 --- a/modules/reporting/config/locales/crowdin/vi.yml +++ b/modules/reporting/config/locales/crowdin/vi.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/zh-CN.yml b/modules/reporting/config/locales/crowdin/zh-CN.yml index 19081578642e..1d14afbca1ac 100644 --- a/modules/reporting/config/locales/crowdin/zh-CN.yml +++ b/modules/reporting/config/locales/crowdin/zh-CN.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/crowdin/zh-TW.yml b/modules/reporting/config/locales/crowdin/zh-TW.yml index 17e8d2fd394d..06ccbf664319 100644 --- a/modules/reporting/config/locales/crowdin/zh-TW.yml +++ b/modules/reporting/config/locales/crowdin/zh-TW.yml @@ -1,6 +1,6 @@ #-- copyright #OpenProject is an open source project management software. -#Copyright (C) 2012-2023 the OpenProject GmbH +#Copyright (C) 2012-2024 the OpenProject GmbH #This program is free software; you can redistribute it and/or #modify it under the terms of the GNU General Public License version 3. #OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: diff --git a/modules/reporting/config/locales/en.yml b/modules/reporting/config/locales/en.yml index f31e3f22b179..4284ed92ce7b 100644 --- a/modules/reporting/config/locales/en.yml +++ b/modules/reporting/config/locales/en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/config/locales/js-en.yml b/modules/reporting/config/locales/js-en.yml index 339bc7e359a7..82fc9e61fdeb 100644 --- a/modules/reporting/config/locales/js-en.yml +++ b/modules/reporting/config/locales/js-en.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/config/routes.rb b/modules/reporting/config/routes.rb index 6bbfe9c7e118..4642ec9d1927 100644 --- a/modules/reporting/config/routes.rb +++ b/modules/reporting/config/routes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/db/migrate/20180323130704_to_v710_aggregated_reporting_migrations.rb b/modules/reporting/db/migrate/20180323130704_to_v710_aggregated_reporting_migrations.rb index f4033980bf7d..7b4b581cea3e 100644 --- a/modules/reporting/db/migrate/20180323130704_to_v710_aggregated_reporting_migrations.rb +++ b/modules/reporting/db/migrate/20180323130704_to_v710_aggregated_reporting_migrations.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,7 +26,7 @@ # See COPYRIGHT and LICENSE files for more details. #++ -require Rails.root.join("db", "migrate", "migration_utils", "migration_squasher").to_s +require Rails.root.join("db/migrate/migration_utils/migration_squasher").to_s # This migration aggregates the migrations detailed in MIGRATION_FILES class ToV710AggregatedReportingMigrations < ActiveRecord::Migration[5.1] MIGRATION_FILES = <<-MIGRATIONS diff --git a/modules/reporting/lib/engine.rb b/modules/reporting/lib/engine.rb index 160587daef19..be2597af9898 100644 --- a/modules/reporting/lib/engine.rb +++ b/modules/reporting/lib/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/open_project/reporting.rb b/modules/reporting/lib/open_project/reporting.rb index a49b7a70c9ae..c816d48328e9 100644 --- a/modules/reporting/lib/open_project/reporting.rb +++ b/modules/reporting/lib/open_project/reporting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/open_project/reporting/engine.rb b/modules/reporting/lib/open_project/reporting/engine.rb index 205e702a72bc..f9e59e754e64 100644 --- a/modules/reporting/lib/open_project/reporting/engine.rb +++ b/modules/reporting/lib/open_project/reporting/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/open_project/reporting/hooks.rb b/modules/reporting/lib/open_project/reporting/hooks.rb index f697b4b5ecc1..49d97c3ef96f 100644 --- a/modules/reporting/lib/open_project/reporting/hooks.rb +++ b/modules/reporting/lib/open_project/reporting/hooks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/open_project/reporting/patches.rb b/modules/reporting/lib/open_project/reporting/patches.rb index 8e10d2d8cf9a..2e0917d22e01 100644 --- a/modules/reporting/lib/open_project/reporting/patches.rb +++ b/modules/reporting/lib/open_project/reporting/patches.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/open_project/reporting/patches/big_decimal_patch.rb b/modules/reporting/lib/open_project/reporting/patches/big_decimal_patch.rb index d9151fc35a92..589cae4e7624 100644 --- a/modules/reporting/lib/open_project/reporting/patches/big_decimal_patch.rb +++ b/modules/reporting/lib/open_project/reporting/patches/big_decimal_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/open_project/reporting/patches/custom_fields_controller_patch.rb b/modules/reporting/lib/open_project/reporting/patches/custom_fields_controller_patch.rb index 995a038e3318..213b275ec3be 100644 --- a/modules/reporting/lib/open_project/reporting/patches/custom_fields_controller_patch.rb +++ b/modules/reporting/lib/open_project/reporting/patches/custom_fields_controller_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -73,7 +73,7 @@ def build_query(report_engine, filters, groups = {}) end def remove_custom_field_from_session(id) - custom_field_name = "custom_field#{id}".to_sym + custom_field_name = :"custom_field#{id}" report_engine_name = CostQuery.name.underscore.to_sym cookie = session[report_engine_name] diff --git a/modules/reporting/lib/open_project/reporting/patches/setting_seeder_patch.rb b/modules/reporting/lib/open_project/reporting/patches/setting_seeder_patch.rb index 8370dc845d3a..45c7dbb1481b 100644 --- a/modules/reporting/lib/open_project/reporting/patches/setting_seeder_patch.rb +++ b/modules/reporting/lib/open_project/reporting/patches/setting_seeder_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/open_project/reporting/patches/to_date_patch.rb b/modules/reporting/lib/open_project/reporting/patches/to_date_patch.rb index 80064a55fd62..9f53f56f0188 100644 --- a/modules/reporting/lib/open_project/reporting/patches/to_date_patch.rb +++ b/modules/reporting/lib/open_project/reporting/patches/to_date_patch.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/openproject-reporting.rb b/modules/reporting/lib/openproject-reporting.rb index cfac3f6ba43b..a8ef79633a7a 100644 --- a/modules/reporting/lib/openproject-reporting.rb +++ b/modules/reporting/lib/openproject-reporting.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/chainable.rb b/modules/reporting/lib/report/chainable.rb index 9072a23fe3cc..ebf31f7b80d5 100644 --- a/modules/reporting/lib/report/chainable.rb +++ b/modules/reporting/lib/report/chainable.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -176,7 +176,7 @@ def initialize(child = nil, options = {}) unless self.class.extra_options.include? key raise ArgumentError, "may not set #{key}" unless engine.accepted_properties.include? key.to_s - send "#{key}=", value + send :"#{key}=", value end end if child @@ -218,14 +218,14 @@ def reorder(*list) end end - def chain_collect(name, *args, &) - top.subchain_collect(name, *args, &) + def chain_collect(name, *, &) + top.subchain_collect(name, *, &) end # See #chain_collect - def subchain_collect(name, *args, &) - subchain = child.subchain_collect(name, *args, &) unless bottom? - [* send(name, *args, &)].push(*subchain).compact.uniq + def subchain_collect(name, *, &) + subchain = child.subchain_collect(name, *, &) unless bottom? + [* send(name, *, &)].push(*subchain).compact.uniq end # overwrite in subclass to maintain constisten state diff --git a/modules/reporting/lib/report/filter.rb b/modules/reporting/lib/report/filter.rb index 3adb6e732095..282f9ca562d1 100644 --- a/modules/reporting/lib/report/filter.rb +++ b/modules/reporting/lib/report/filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/filter/base.rb b/modules/reporting/lib/report/filter/base.rb index 3522428f71f6..2f59b0c83212 100644 --- a/modules/reporting/lib/report/filter/base.rb +++ b/modules/reporting/lib/report/filter/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/filter/multi_choice.rb b/modules/reporting/lib/report/filter/multi_choice.rb index dee804e7390c..fe3f2a5415d9 100644 --- a/modules/reporting/lib/report/filter/multi_choice.rb +++ b/modules/reporting/lib/report/filter/multi_choice.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/filter/no_filter.rb b/modules/reporting/lib/report/filter/no_filter.rb index 5beb154cf25e..81193f802320 100644 --- a/modules/reporting/lib/report/filter/no_filter.rb +++ b/modules/reporting/lib/report/filter/no_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/group_by.rb b/modules/reporting/lib/report/group_by.rb index 79ca66a9cb36..c58f28421bb1 100644 --- a/modules/reporting/lib/report/group_by.rb +++ b/modules/reporting/lib/report/group_by.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/group_by/base.rb b/modules/reporting/lib/report/group_by/base.rb index f645b2edd6e5..b71d41191371 100644 --- a/modules/reporting/lib/report/group_by/base.rb +++ b/modules/reporting/lib/report/group_by/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/group_by/ruby_aggregation.rb b/modules/reporting/lib/report/group_by/ruby_aggregation.rb index 05947795b772..f67f04b1711e 100644 --- a/modules/reporting/lib/report/group_by/ruby_aggregation.rb +++ b/modules/reporting/lib/report/group_by/ruby_aggregation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/group_by/singleton_value.rb b/modules/reporting/lib/report/group_by/singleton_value.rb index e2a9ea4b8011..f2d0777f799c 100644 --- a/modules/reporting/lib/report/group_by/singleton_value.rb +++ b/modules/reporting/lib/report/group_by/singleton_value.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/group_by/sql_aggregation.rb b/modules/reporting/lib/report/group_by/sql_aggregation.rb index a211b2de3cb8..c82d0ac134db 100644 --- a/modules/reporting/lib/report/group_by/sql_aggregation.rb +++ b/modules/reporting/lib/report/group_by/sql_aggregation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/inherited_attribute.rb b/modules/reporting/lib/report/inherited_attribute.rb index b8293cbfabed..cae9aef5dac4 100644 --- a/modules/reporting/lib/report/inherited_attribute.rb +++ b/modules/reporting/lib/report/inherited_attribute.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -43,7 +43,7 @@ def inherited_attribute(*attributes) return get_inherited_attribute(name, default, list, uniq) if values.empty? if list - old = instance_variable_get("@#{name}") if merge + old = instance_variable_get(:"@#{name}") if merge old ||= [] return set_inherited_attribute(name, values.map(&map) + old) end @@ -58,13 +58,13 @@ def inherited_attribute(*attributes) def define_singleton_method(name, &) singleton_class.send :attr_writer, name singleton_class.class_eval { define_method(name, &) } - define_method(name) { instance_variable_get("@#{name}") or singleton_class.send(name) } + define_method(name) { instance_variable_get(:"@#{name}") or singleton_class.send(name) } end def get_inherited_attribute(name, default = nil, list = false, uniq = false) return get_inherited_attribute(name, default, list, false).uniq if list and uniq - result = instance_variable_get("@#{name}") + result = instance_variable_get(:"@#{name}") super_result = superclass.get_inherited_attribute(name, default, list) if inherit? name if result.nil? super_result || default @@ -86,6 +86,6 @@ def dont_inherit(*attributes) end def set_inherited_attribute(name, value) - instance_variable_set "@#{name}", value + instance_variable_set :"@#{name}", value end end diff --git a/modules/reporting/lib/report/operator.rb b/modules/reporting/lib/report/operator.rb index 4b086df7c750..35654636dbe5 100644 --- a/modules/reporting/lib/report/operator.rb +++ b/modules/reporting/lib/report/operator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -60,7 +60,7 @@ def label new '>t-', label: :label_less_than_ago do include DateRange def modify(query, field, value) - super query, field, -value.to_i, 0 + super(query, field, -value.to_i, 0) end end @@ -82,7 +82,7 @@ def modify(query, field, offset = nil) new 't+', label: :label_in do include DateRange def modify(query, field, *values) - super query, field, values.first.to_i, values.first.to_i + super(query, field, values.first.to_i, values.first.to_i) end end @@ -101,7 +101,7 @@ def modify(query, field, *values) new 't-', label: :label_ago do include DateRange def modify(query, field, *values) - super query, field, -values.first.to_i, -values.first.to_i + super(query, field, -values.first.to_i, -values.first.to_i) end end @@ -137,14 +137,14 @@ def modify(query, field, *values) new 't+', label: :label_in_more_than do include DateRange def modify(query, field, value) - super query, field, value.to_i, nil + super(query, field, value.to_i, nil) end end diff --git a/modules/reporting/lib/report/query_utils.rb b/modules/reporting/lib/report/query_utils.rb index 38aba4cc4865..83ecc312938d 100644 --- a/modules/reporting/lib/report/query_utils.rb +++ b/modules/reporting/lib/report/query_utils.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/result.rb b/modules/reporting/lib/report/result.rb index 6092452eb397..7b3375f25a62 100644 --- a/modules/reporting/lib/report/result.rb +++ b/modules/reporting/lib/report/result.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -42,8 +42,8 @@ def initialize(value) @value = value end - def recursive_each_with_level(level = 0, _depth_first = true, &block) - block.call(level, self) + def recursive_each_with_level(level = 0, _depth_first = true) + yield(level, self) end def recursive_each @@ -229,10 +229,10 @@ def sum_for(field) @sum_for[field] ||= sum { |v| v.send(field) || 0 } end - def recursive_each_with_level(level = 0, depth_first = true, &block) + def recursive_each_with_level(level = 0, depth_first = true, &) if depth_first super - each { |c| c.recursive_each_with_level(level + 1, depth_first, &block) } + each { |c| c.recursive_each_with_level(level + 1, depth_first, &) } else # width-first to_evaluate = [self] lvl = level @@ -240,7 +240,7 @@ def recursive_each_with_level(level = 0, depth_first = true, &block) # evaluate all stored results and find the results we need to evaluate soon to_evaluate_soon = [] to_evaluate.each do |r| - block.call(lvl, r) + yield(lvl, r) to_evaluate_soon.concat r.values if r.size > 0 end # take new results to evaluate @@ -292,9 +292,9 @@ def fields def self.new(value, fields = {}, type = nil, important_fields = []) result = case value - when ActiveRecord::Result, Array then engine::Result::WrappedResult.new value.map { |e| + when ActiveRecord::Result, Array then engine::Result::WrappedResult.new(value.map do |e| new e, {}, nil, important_fields - } + end) when Hash then engine::Result::DirectResult.new value.with_indifferent_access when Base then value else raise ArgumentError, "Cannot create Result from #{value.inspect}" diff --git a/modules/reporting/lib/report/sql_statement.rb b/modules/reporting/lib/report/sql_statement.rb index 5c0386495640..00417cbe07d4 100644 --- a/modules/reporting/lib/report/sql_statement.rb +++ b/modules/reporting/lib/report/sql_statement.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -214,7 +214,7 @@ def select(*fields) if f.size == 2 and f.first.respond_to? :table_name then select field_name_for(f) else select(*f) end - when Hash then select f.map { |k, v| "#{field_name_for v} as #{field_name_for k}" } + when Hash then select(f.map { |k, v| "#{field_name_for v} as #{field_name_for k}" }) when String, Symbol then @select << field_name_for(f) when engine::SqlStatement then @select << f.to_s else raise ArgumentError, "cannot handle #{f.inspect}" diff --git a/modules/reporting/lib/report/table.rb b/modules/reporting/lib/report/table.rb index 0b62ddea04c5..02a86bb43ce6 100644 --- a/modules/reporting/lib/report/table.rb +++ b/modules/reporting/lib/report/table.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/transformer.rb b/modules/reporting/lib/report/transformer.rb index 36e639c7a820..2c988ca06aac 100644 --- a/modules/reporting/lib/report/transformer.rb +++ b/modules/reporting/lib/report/transformer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/validation.rb b/modules/reporting/lib/report/validation.rb index 53c612c31f37..72462dfcb5e8 100644 --- a/modules/reporting/lib/report/validation.rb +++ b/modules/reporting/lib/report/validation.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/validation/dates.rb b/modules/reporting/lib/report/validation/dates.rb index 41e6844df49c..89de1e7bff95 100644 --- a/modules/reporting/lib/report/validation/dates.rb +++ b/modules/reporting/lib/report/validation/dates.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/validation/integers.rb b/modules/reporting/lib/report/validation/integers.rb index 3bfcbb38f28b..3848443a0c67 100644 --- a/modules/reporting/lib/report/validation/integers.rb +++ b/modules/reporting/lib/report/validation/integers.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/report/walker.rb b/modules/reporting/lib/report/walker.rb index 659eb80e2751..201e6002a422 100644 --- a/modules/reporting/lib/report/walker.rb +++ b/modules/reporting/lib/report/walker.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/base.rb b/modules/reporting/lib/widget/base.rb index f1764df8624c..98e213b5c0cb 100644 --- a/modules/reporting/lib/widget/base.rb +++ b/modules/reporting/lib/widget/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/controls.rb b/modules/reporting/lib/widget/controls.rb index e824c9c98701..856e3e666be8 100644 --- a/modules/reporting/lib/widget/controls.rb +++ b/modules/reporting/lib/widget/controls.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/controls/apply.rb b/modules/reporting/lib/widget/controls/apply.rb index 2cee33421b77..aaa12db717d2 100644 --- a/modules/reporting/lib/widget/controls/apply.rb +++ b/modules/reporting/lib/widget/controls/apply.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/controls/clear.rb b/modules/reporting/lib/widget/controls/clear.rb index 49149e9c610c..a08d6bcd59db 100644 --- a/modules/reporting/lib/widget/controls/clear.rb +++ b/modules/reporting/lib/widget/controls/clear.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/controls/delete.rb b/modules/reporting/lib/widget/controls/delete.rb index d12a10eaffe9..a783f9e12e20 100644 --- a/modules/reporting/lib/widget/controls/delete.rb +++ b/modules/reporting/lib/widget/controls/delete.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/controls/query_name.rb b/modules/reporting/lib/widget/controls/query_name.rb index 3a17f16d503b..592861861f8f 100644 --- a/modules/reporting/lib/widget/controls/query_name.rb +++ b/modules/reporting/lib/widget/controls/query_name.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/controls/save.rb b/modules/reporting/lib/widget/controls/save.rb index 0e535a80374d..01bf62c8cfaa 100644 --- a/modules/reporting/lib/widget/controls/save.rb +++ b/modules/reporting/lib/widget/controls/save.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/controls/save_as.rb b/modules/reporting/lib/widget/controls/save_as.rb index 9d34ae3444e7..a97db23bea44 100644 --- a/modules/reporting/lib/widget/controls/save_as.rb +++ b/modules/reporting/lib/widget/controls/save_as.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/cost_types.rb b/modules/reporting/lib/widget/cost_types.rb index ac53a268643c..5ed55afbdfad 100644 --- a/modules/reporting/lib/widget/cost_types.rb +++ b/modules/reporting/lib/widget/cost_types.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/filters.rb b/modules/reporting/lib/widget/filters.rb index 26455803693a..36a1c842d497 100644 --- a/modules/reporting/lib/widget/filters.rb +++ b/modules/reporting/lib/widget/filters.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/filters/base.rb b/modules/reporting/lib/widget/filters/base.rb index 65fad82139d5..2ed489ee84e0 100644 --- a/modules/reporting/lib/widget/filters/base.rb +++ b/modules/reporting/lib/widget/filters/base.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/filters/date.rb b/modules/reporting/lib/widget/filters/date.rb index 0a0748e507e0..95e671764ae9 100644 --- a/modules/reporting/lib/widget/filters/date.rb +++ b/modules/reporting/lib/widget/filters/date.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/filters/heavy.rb b/modules/reporting/lib/widget/filters/heavy.rb index 96eee3b79c35..0cdf94aca22f 100644 --- a/modules/reporting/lib/widget/filters/heavy.rb +++ b/modules/reporting/lib/widget/filters/heavy.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/filters/label.rb b/modules/reporting/lib/widget/filters/label.rb index 2727645e6685..1a062e62a268 100644 --- a/modules/reporting/lib/widget/filters/label.rb +++ b/modules/reporting/lib/widget/filters/label.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/filters/multi_choice.rb b/modules/reporting/lib/widget/filters/multi_choice.rb index ebd4540c861d..fab1ed00456c 100644 --- a/modules/reporting/lib/widget/filters/multi_choice.rb +++ b/modules/reporting/lib/widget/filters/multi_choice.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/filters/multi_values.rb b/modules/reporting/lib/widget/filters/multi_values.rb index dfc35d6683e2..1d11f22d658e 100644 --- a/modules/reporting/lib/widget/filters/multi_values.rb +++ b/modules/reporting/lib/widget/filters/multi_values.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/filters/operators.rb b/modules/reporting/lib/widget/filters/operators.rb index dd11ec8d4808..91057075a24f 100644 --- a/modules/reporting/lib/widget/filters/operators.rb +++ b/modules/reporting/lib/widget/filters/operators.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ class Widget::Filters::Operators < Widget::Filters::Base def render write(content_tag(:div, class: 'advanced-filters--filter-operator') do - hide_select_box = (filter_class.available_operators.count == 1 || filter_class.heavy?) + hide_select_box = filter_class.available_operators.count == 1 || filter_class.heavy? options = { class: 'advanced-filters--select filters-select filter_operator', id: "operators[#{filter_class.underscore_name}]", name: "operators[#{filter_class.underscore_name}]", diff --git a/modules/reporting/lib/widget/filters/option.rb b/modules/reporting/lib/widget/filters/option.rb index bdee35b4a14f..194dd4ecc74b 100644 --- a/modules/reporting/lib/widget/filters/option.rb +++ b/modules/reporting/lib/widget/filters/option.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -37,7 +37,7 @@ def render options = args.first || {} # optional configuration for values level = options[:level] # nesting_level is optional for values name = I18n.t(name) if name.is_a? Symbol - name = name.empty? ? I18n.t(:label_none) : name + name = I18n.t(:label_none) if name.empty? name_prefix = (level && level > 0 ? ((' ' * 2 * level) + '> ') : '') if options[:optgroup] tag :optgroup, label: I18n.t(:label_sector) diff --git a/modules/reporting/lib/widget/filters/project.rb b/modules/reporting/lib/widget/filters/project.rb index fecfc0761d89..496e2e84cbda 100644 --- a/modules/reporting/lib/widget/filters/project.rb +++ b/modules/reporting/lib/widget/filters/project.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/filters/remove_button.rb b/modules/reporting/lib/widget/filters/remove_button.rb index 5e89d3fc73f2..5a431c9a2f7f 100644 --- a/modules/reporting/lib/widget/filters/remove_button.rb +++ b/modules/reporting/lib/widget/filters/remove_button.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/filters/text_box.rb b/modules/reporting/lib/widget/filters/text_box.rb index 33ff8c2dbd9e..eed8cd5c564b 100644 --- a/modules/reporting/lib/widget/filters/text_box.rb +++ b/modules/reporting/lib/widget/filters/text_box.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/group_bys.rb b/modules/reporting/lib/widget/group_bys.rb index 192fbe80f065..d495ccc60fd0 100644 --- a/modules/reporting/lib/widget/group_bys.rb +++ b/modules/reporting/lib/widget/group_bys.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/reporting_widget.rb b/modules/reporting/lib/widget/reporting_widget.rb index 77e073de7766..d894bd981958 100644 --- a/modules/reporting/lib/widget/reporting_widget.rb +++ b/modules/reporting/lib/widget/reporting_widget.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -52,8 +52,8 @@ def protect_against_forgery? false end - def method_missing(name, *args, &) - controller.send(name, *args, &) + def method_missing(name, *, &) + controller.send(name, *, &) rescue NoMethodError raise NoMethodError, "undefined method `#{name}' for #<#{self.class}:0x#{object_id}>" end diff --git a/modules/reporting/lib/widget/settings.rb b/modules/reporting/lib/widget/settings.rb index ae84c65e8357..cc0dd44d65b7 100644 --- a/modules/reporting/lib/widget/settings.rb +++ b/modules/reporting/lib/widget/settings.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/settings/fieldset.rb b/modules/reporting/lib/widget/settings/fieldset.rb index 8c7b70357629..e865930db6f7 100644 --- a/modules/reporting/lib/widget/settings/fieldset.rb +++ b/modules/reporting/lib/widget/settings/fieldset.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/table.rb b/modules/reporting/lib/widget/table.rb index 80d950c8b346..b83c3b5ccc67 100644 --- a/modules/reporting/lib/widget/table.rb +++ b/modules/reporting/lib/widget/table.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/table/entry_table.rb b/modules/reporting/lib/widget/table/entry_table.rb index 8362f980ac75..a5bdb10e0db4 100644 --- a/modules/reporting/lib/widget/table/entry_table.rb +++ b/modules/reporting/lib/widget/table/entry_table.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/lib/widget/table/report_table.rb b/modules/reporting/lib/widget/table/report_table.rb index afc387b9d407..e9d51479a188 100644 --- a/modules/reporting/lib/widget/table/report_table.rb +++ b/modules/reporting/lib/widget/table/report_table.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/controllers/cost_reports_controller_spec.rb b/modules/reporting/spec/controllers/cost_reports_controller_spec.rb index 67b78271cb58..e60ba546b752 100644 --- a/modules/reporting/spec/controllers/cost_reports_controller_spec.rb +++ b/modules/reporting/spec/controllers/cost_reports_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/controllers/custom_fields_controller_spec.rb b/modules/reporting/spec/controllers/custom_fields_controller_spec.rb index d2b6b87ae48e..e36f3b9166bc 100644 --- a/modules/reporting/spec/controllers/custom_fields_controller_spec.rb +++ b/modules/reporting/spec/controllers/custom_fields_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/factories/cost_query_factory.rb b/modules/reporting/spec/factories/cost_query_factory.rb index 0a85ab753906..e407fc5e841d 100644 --- a/modules/reporting/spec/factories/cost_query_factory.rb +++ b/modules/reporting/spec/factories/cost_query_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,8 +28,8 @@ FactoryBot.define do factory :cost_query do - association :user, factory: :user - association :project, factory: :project + association :user + association :project sequence(:name) { |n| "Cost Query #{n}" } factory :private_cost_query do is_public { false } diff --git a/modules/reporting/spec/features/custom_fields_spec.rb b/modules/reporting/spec/features/custom_fields_spec.rb index f83c8ebbf4cd..453140787226 100644 --- a/modules/reporting/spec/features/custom_fields_spec.rb +++ b/modules/reporting/spec/features/custom_fields_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe 'Custom fields reporting', js: true do +RSpec.describe 'Custom fields reporting', :js do let(:type) { create(:type) } let(:project) { create(:project, types: [type]) } @@ -90,24 +90,24 @@ def custom_value_for(cf, str) end it 'filters by the multi CF' do - expect(page).to have_selector('#add_filter_select option', text: 'List CF') + expect(page).to have_css('#add_filter_select option', text: 'List CF') select 'List CF', from: 'add_filter_select' # Adds filter to page, filtering out the time entries on the work package - expect(page).to have_selector("label##{cf_id}") + expect(page).to have_css("label##{cf_id}") custom_field_selector = "##{cf_id}_arg_1_val" select = find(custom_field_selector) - expect(select).to have_selector('option', text: 'First option') - expect(select).to have_selector('option', text: 'Second option') + expect(select).to have_css('option', text: 'First option') + expect(select).to have_css('option', text: 'Second option') select.find('option', text: 'Second option').select_option click_link 'Apply' # Expect empty result table within('#result-table') do - expect(page).not_to have_selector('.top.result', text: '12.50 hours') + expect(page).to have_no_css('.top.result', text: '12.50 hours') end - expect(page).to have_selector('.generic-table--no-results-title') + expect(page).to have_css('.generic-table--no-results-title') # Update filter to value the work package has select = find(custom_field_selector) @@ -116,13 +116,13 @@ def custom_value_for(cf, str) # Expect row of work package within('#result-table') do - expect(page).to have_selector('.top.result', text: '12.50 hours') + expect(page).to have_css('.top.result', text: '12.50 hours') end end it 'groups by the multi CF (Regression #26050)' do - expect(page).to have_selector('#group-by--add-columns') - expect(page).to have_selector('#group-by--add-rows') + expect(page).to have_css('#group-by--add-columns') + expect(page).to have_css('#group-by--add-rows') select 'List CF', from: 'group-by--add-columns' select 'Work package', from: 'group-by--add-rows' @@ -131,13 +131,13 @@ def custom_value_for(cf, str) # Expect row of work package within('#result-table') do - expect(page).to have_selector('a.work_package', text: "#{work_package.type} ##{work_package.id}") + expect(page).to have_css('a.work_package', text: "#{work_package.type} ##{work_package.id}") # There used to be additional and unwanted text after the option name being rendered. - expect(page).to have_selector('th.inner', text: /^First option$/) - expect(page).not_to have_selector('th.inner', text: 'Second option') + expect(page).to have_css('th.inner', text: /^First option$/) + expect(page).to have_no_css('th.inner', text: 'Second option') # Only first option should have content for the work package - expect(page).to have_selector('table.report tbody tr', count: 1) + expect(page).to have_css('table.report tbody tr', count: 1) row_elements = page.all('table.report tr.odd th') expect(row_elements[0].text).to eq(project.name) @@ -183,8 +183,8 @@ def custom_value_for(cf, str) it 'groups by the raw values when an invalid value exists' do expect(work_package2.send(custom_field_2.attribute_getter)).to eq(['invalid not found']) - expect(page).to have_selector('#group-by--add-columns') - expect(page).to have_selector('#group-by--add-rows') + expect(page).to have_css('#group-by--add-columns') + expect(page).to have_css('#group-by--add-rows') select 'Invalid List CF', from: 'group-by--add-columns' select 'Work package', from: 'group-by--add-rows' @@ -194,9 +194,9 @@ def custom_value_for(cf, str) # Expect row of work package within('#result-table') do - expect(page).to have_selector('a.work_package', text: "#{work_package.type} ##{work_package.id}") - expect(page).to have_selector('th.inner', text: '1') - expect(page).not_to have_selector('th.inner', text: 'invalid!') + expect(page).to have_css('a.work_package', text: "#{work_package.type} ##{work_package.id}") + expect(page).to have_css('th.inner', text: '1') + expect(page).to have_no_css('th.inner', text: 'invalid!') end end end @@ -217,8 +217,8 @@ def custom_value_for(cf, str) end it 'groups by a text CF' do - expect(page).to have_selector('#group-by--add-columns') - expect(page).to have_selector('#group-by--add-rows') + expect(page).to have_css('#group-by--add-columns') + expect(page).to have_css('#group-by--add-rows') select 'Text CF', from: 'group-by--add-columns' select 'Work package', from: 'group-by--add-rows' @@ -227,12 +227,12 @@ def custom_value_for(cf, str) # Expect row of work package within('#result-table') do - expect(page).to have_selector('a.work_package', text: "#{work_package.type} ##{work_package.id}") - expect(page).to have_selector('th.inner', text: 'foo') - expect(page).not_to have_selector('th.inner', text: 'None') + expect(page).to have_css('a.work_package', text: "#{work_package.type} ##{work_package.id}") + expect(page).to have_css('th.inner', text: 'foo') + expect(page).to have_no_css('th.inner', text: 'None') # Only first option should have content for the work package - expect(page).to have_selector('table.report tbody tr', count: 1) + expect(page).to have_css('table.report tbody tr', count: 1) row_elements = page.all('table.report tr.odd th') expect(row_elements[0].text).to eq(project.name) diff --git a/modules/reporting/spec/features/export_cost_report_spec.rb b/modules/reporting/spec/features/export_cost_report_spec.rb index 0f2089ee2915..aac374de3117 100644 --- a/modules/reporting/spec/features/export_cost_report_spec.rb +++ b/modules/reporting/spec/features/export_cost_report_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ require_relative '../spec_helper' require_relative 'support/pages/cost_report_page' -RSpec.describe "Cost reports XLS export", js: true do +RSpec.describe "Cost reports XLS export", :js do shared_let(:project) { create(:project) } shared_let(:user) { create(:admin) } shared_let(:cost_type) { create(:cost_type, name: 'Post-war', unit: 'cap', unit_plural: 'caps') } diff --git a/modules/reporting/spec/features/filter_spec.rb b/modules/reporting/spec/features/filter_spec.rb index 503e84111d0b..708398e9176f 100644 --- a/modules/reporting/spec/features/filter_spec.rb +++ b/modules/reporting/spec/features/filter_spec.rb @@ -23,32 +23,32 @@ def reload_page it 'provides filtering' do # Then filter "spent_on" should be visible # And filter "user_id" should be visible - expect(page).to have_selector("#filter_project_id") - expect(page).to have_selector("#filter_spent_on") - expect(page).to have_selector("#filter_user_id") + expect(page).to have_css("#filter_project_id") + expect(page).to have_css("#filter_spent_on") + expect(page).to have_css("#filter_user_id") # Regression #48633 # Remove filter: # And I click on the filter's "Clear" button clear_project_filter # Then filter "project_id" should not be visible - expect(page).not_to have_selector('#filter_project_id') + expect(page).to have_no_css('#filter_project_id') # Remove filters: # And I click on "Clear" click_on 'Clear' # Then filter "spent_on" should not be visible # And filter "user_id" should not be visible - expect(page).not_to have_selector("#filter_spent_on") - expect(page).not_to have_selector("#filter_user_id") + expect(page).to have_no_css("#filter_spent_on") + expect(page).to have_no_css("#filter_user_id") # Reload restores the query # And the user with the login "developer" should be selected for "User Value" # And "!" should be selected for "User Operator Open this filter with 'ALT' and arrow keys." reload_page - expect(page).to have_selector("#filter_spent_on") - expect(page).to have_selector("#filter_user_id") + expect(page).to have_css("#filter_spent_on") + expect(page).to have_css("#filter_user_id") - expect(page).to have_selector("#user_id_arg_1_val", text: 'me') + expect(page).to have_css("#user_id_arg_1_val", text: 'me') end end diff --git a/modules/reporting/spec/features/main_menu_item_spec.rb b/modules/reporting/spec/features/main_menu_item_spec.rb index f22025a6eba8..1a90c2f992d0 100644 --- a/modules/reporting/spec/features/main_menu_item_spec.rb +++ b/modules/reporting/spec/features/main_menu_item_spec.rb @@ -73,7 +73,7 @@ it 'is not rendered' do within '#main-menu' do - expect(page).not_to have_link(I18n.t(:cost_reports_title)) + expect(page).to have_no_link(I18n.t(:cost_reports_title)) end end end diff --git a/modules/reporting/spec/features/me_value_spec.rb b/modules/reporting/spec/features/me_value_spec.rb index 6355cc4c470c..7c969b0c2253 100644 --- a/modules/reporting/spec/features/me_value_spec.rb +++ b/modules/reporting/spec/features/me_value_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -RSpec.describe 'Cost report showing my own times', js: true do +RSpec.describe 'Cost report showing my own times', :js do let(:project) { create(:project) } let(:user) { create(:admin) } let(:user2) { create(:admin) } @@ -39,9 +39,9 @@ check 'query_is_public' find_by_id('query-icon-save-button').click # wait until the save is complete - expect(page).to have_selector('h2', text: 'Query ME value') + expect(page).to have_css('h2', text: 'Query ME value') - expect(page).to have_selector('.report', text: '10.00') + expect(page).to have_css('.report', text: '10.00') report = nil retry_block do @@ -57,8 +57,8 @@ # Create and save cost report visit cost_report_path(report.id, project_id: project.identifier) - expect(page).not_to have_selector('.report', text: '10.00') - expect(page).to have_selector('.report', text: '15.00') + expect(page).to have_no_css('.report', text: '10.00') + expect(page).to have_css('.report', text: '15.00') expect(page).to have_field(filter_selector, text: 'me') end diff --git a/modules/reporting/spec/features/menu_spec.rb b/modules/reporting/spec/features/menu_spec.rb index 12588b5c0e88..7813f0117aba 100644 --- a/modules/reporting/spec/features/menu_spec.rb +++ b/modules/reporting/spec/features/menu_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -98,7 +98,7 @@ find("#main-menu #{test_selector('op-menu--item-action')}", text: 'Time and costs').click # to make sure we're not seeing the project cost reports: - expect(page).not_to have_text('Ponyo') + expect(page).to have_no_text('Ponyo') end end diff --git a/modules/reporting/spec/features/my_time_spec.rb b/modules/reporting/spec/features/my_time_spec.rb index e232bc3ef35b..f3d6e42c4d1c 100644 --- a/modules/reporting/spec/features/my_time_spec.rb +++ b/modules/reporting/spec/features/my_time_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -RSpec.describe 'Cost report showing my own times', js: true do +RSpec.describe 'Cost report showing my own times', :js do let(:project) { create(:project) } let(:user) { create(:admin) } let(:user2) { create(:admin) } @@ -25,7 +25,7 @@ let(:current_user) { user } it 'shows my time' do - expect(page).to have_selector('.report', text: '10.0') + expect(page).to have_css('.report', text: '10.0') end end @@ -33,9 +33,9 @@ let(:current_user) { user2 } it 'shows my time' do - expect(page).not_to have_selector('.report') - expect(page).to have_selector('.generic-table--no-results-title') - expect(page).not_to have_text '10.0' # 1 EUR x 10 + expect(page).to have_no_css('.report') + expect(page).to have_css('.generic-table--no-results-title') + expect(page).to have_no_text '10.0' # 1 EUR x 10 end end end diff --git a/modules/reporting/spec/features/permissions_spec.rb b/modules/reporting/spec/features/permissions_spec.rb index d90e78bbf056..1567a9889fb2 100644 --- a/modules/reporting/spec/features/permissions_spec.rb +++ b/modules/reporting/spec/features/permissions_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' require_relative 'support/pages/cost_report_page' -RSpec.describe 'Cost report calculations', js: true do +RSpec.describe 'Cost report calculations', :js do let(:project) { create(:project) } let(:admin) { create(:admin) } @@ -86,7 +86,7 @@ expect(page).to have_content '5.00 hours' expect(page).to have_content '10.00 hours' report_page.switch_to_type 'Translations' - expect(page).to have_selector('td.units', text: '3.0 plural_unit', wait: 10) + expect(page).to have_css('td.units', text: '3.0 plural_unit', wait: 10) end end @@ -107,9 +107,9 @@ it 'shows his own costs' do expect(page).to have_content '5.00 hours' - expect(page).not_to have_content '10.00 hours' + expect(page).to have_no_content '10.00 hours' report_page.switch_to_type 'Translations' - expect(page).to have_selector('td.units', text: '3.0 plural_unit', wait: 10) + expect(page).to have_css('td.units', text: '3.0 plural_unit', wait: 10) end end @@ -121,11 +121,11 @@ it 'shows his own time only' do expect(page).to have_content '5.00 hours' - expect(page).not_to have_content '10.00 hours' + expect(page).to have_no_content '10.00 hours' report_page.switch_to_type 'Translations' - expect(page).to have_selector('.generic-table--no-results-title') - expect(page).not_to have_selector('td.unit', text: '3.0 plural_unit') + expect(page).to have_css('.generic-table--no-results-title') + expect(page).to have_no_css('td.unit', text: '3.0 plural_unit') end end @@ -136,11 +136,11 @@ end it 'shows his own costs' do - expect(page).to have_selector('.generic-table--no-results-title') - expect(page).not_to have_content '5.00 hours' - expect(page).not_to have_content '10.00 hours' + expect(page).to have_css('.generic-table--no-results-title') + expect(page).to have_no_content '5.00 hours' + expect(page).to have_no_content '10.00 hours' report_page.switch_to_type 'Translations' - expect(page).not_to have_selector('td.unit', text: '3.0 plural_unit') + expect(page).to have_no_css('td.unit', text: '3.0 plural_unit') end end end diff --git a/modules/reporting/spec/features/project_context_spec.rb b/modules/reporting/spec/features/project_context_spec.rb index 806e57d90670..a28f9ffc94e8 100644 --- a/modules/reporting/spec/features/project_context_spec.rb +++ b/modules/reporting/spec/features/project_context_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' require_relative 'support/pages/cost_report_page' -RSpec.describe 'Cost report project context', js: true do +RSpec.describe 'Cost report project context', :js do let(:project1) { create(:project) } let(:project2) { create(:project) } let(:admin) { create(:admin) } @@ -16,9 +16,9 @@ it "switches the project context when visiting another project's cost report" do visit cost_reports_path(project1) - expect(page).to have_selector('.ng-value-label', text: project1.name) + expect(page).to have_css('.ng-value-label', text: project1.name) visit cost_reports_path(project2) - expect(page).to have_selector('.ng-value-label', text: project2.name) + expect(page).to have_css('.ng-value-label', text: project2.name) end end diff --git a/modules/reporting/spec/features/saving_spec.rb b/modules/reporting/spec/features/saving_spec.rb index 564701d88b61..7351eb6bcb78 100644 --- a/modules/reporting/spec/features/saving_spec.rb +++ b/modules/reporting/spec/features/saving_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' require_relative 'support/pages/cost_report_page' -RSpec.describe 'Cost report saving', js: true do +RSpec.describe 'Cost report saving', :js do let(:project) { create(:project) } let(:user) { create(:admin) } @@ -21,9 +21,9 @@ report_page.save as: 'Testreport' # Check if the category is displayed - expect(page).to have_selector('.op-sidemenu--title', text: I18n.t(:label_private_report_plural).upcase) + expect(page).to have_css('.op-sidemenu--title', text: I18n.t(:label_private_report_plural).upcase) # Check if the new report is displayed - expect(page).to have_selector('.op-sidemenu--item-title', text: 'Testreport') + expect(page).to have_css('.op-sidemenu--item-title', text: 'Testreport') report_page.expect_column_element 'Work package' report_page.expect_row_element 'Project' @@ -38,9 +38,9 @@ report_page.save as: 'Public report', public: true # Check if the category is displayed - expect(page).to have_selector('.op-sidemenu--title', text: I18n.t(:label_public_report_plural).upcase) + expect(page).to have_css('.op-sidemenu--title', text: I18n.t(:label_public_report_plural).upcase) # Check if the new report is displayed - expect(page).to have_selector('.op-sidemenu--item-title', text: 'Public report') + expect(page).to have_css('.op-sidemenu--item-title', text: 'Public report') report_page.expect_column_element 'Work package' report_page.expect_row_element 'Project' @@ -54,7 +54,7 @@ end it 'cannot save reports' do - expect(page).not_to have_selector('.buttons', text: 'Save') + expect(page).to have_no_css('.buttons', text: 'Save') end end end diff --git a/modules/reporting/spec/features/subproject_spec.rb b/modules/reporting/spec/features/subproject_spec.rb index b28cac3c4dfd..8e32ca47c97a 100644 --- a/modules/reporting/spec/features/subproject_spec.rb +++ b/modules/reporting/spec/features/subproject_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -RSpec.describe 'Cost report in subproject', js: true do +RSpec.describe 'Cost report in subproject', :js do let!(:project) { create(:project) } let!(:subproject) { create(:project, parent: project) } diff --git a/modules/reporting/spec/features/support/components/cost_reports_base_table.rb b/modules/reporting/spec/features/support/components/cost_reports_base_table.rb index 028ea6fadbfc..8bda2bb010b9 100644 --- a/modules/reporting/spec/features/support/components/cost_reports_base_table.rb +++ b/modules/reporting/spec/features/support/components/cost_reports_base_table.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -39,19 +39,19 @@ def initialize end def rows_count(count) - expect(page).to have_selector('#result-table tbody tr', count:) + expect(page).to have_css('#result-table tbody tr', count:) end def expect_action_icon(icon, row, present: true) if present - expect(page).to have_selector("#{row_selector(row)} .icon-#{icon}") + expect(page).to have_css("#{row_selector(row)} .icon-#{icon}") else - expect(page).not_to have_selector("#{row_selector(row)} .icon-#{icon}") + expect(page).to have_no_css("#{row_selector(row)} .icon-#{icon}") end end def expect_value(value, row) - expect(page).to have_selector("#{row_selector(row)} .units", text: value) + expect(page).to have_css("#{row_selector(row)} .units", text: value) end def edit_time_entry(new_value, row) @@ -78,7 +78,7 @@ def edit_cost_entry(new_value, row, cost_entry_id) SeleniumHubWaiter.wait fill_in('cost_entry_units', with: new_value) click_button 'Save' - expect(page).to have_selector('.op-toast.-success') + expect(page).to have_css('.op-toast.-success') end def delete_entry(row) diff --git a/modules/reporting/spec/features/support/pages/cost_report_page.rb b/modules/reporting/spec/features/support/pages/cost_report_page.rb index 740ffd940b43..2cb80cbe1681 100644 --- a/modules/reporting/spec/features/support/pages/cost_report_page.rb +++ b/modules/reporting/spec/features/support/pages/cost_report_page.rb @@ -14,7 +14,7 @@ def clear # Safeguard to force waiting for the form to be cleared expect(page) - .not_to have_selector('.group-by--selected-element') + .to have_no_css('.group-by--selected-element') end end @@ -65,25 +65,25 @@ def add_to_columns(name) def expect_row_element(text, present: true) if present - expect(page).to have_selector('#group-by--selected-rows .group-by--selected-element', text:) + expect(page).to have_css('#group-by--selected-rows .group-by--selected-element', text:) else - expect(page).not_to have_selector('#group-by--selected-rows .group-by--selected-element', text:) + expect(page).to have_no_css('#group-by--selected-rows .group-by--selected-element', text:) end end def expect_column_element(text, present: true) if present - expect(page).to have_selector('#group-by--selected-columns .group-by--selected-element', text:) + expect(page).to have_css('#group-by--selected-columns .group-by--selected-element', text:) else - expect(page).not_to have_selector('#group-by--selected-columns .group-by--selected-element', text:) + expect(page).to have_no_css('#group-by--selected-columns .group-by--selected-element', text:) end end def show_loading_indicator(present: true) if present - expect(page).to have_selector('#ajax-indicator') + expect(page).to have_css('#ajax-indicator') else - expect(page).not_to have_selector('#ajax-indicator') + expect(page).to have_no_css('#ajax-indicator') end end diff --git a/modules/reporting/spec/features/top_menu_item_spec.rb b/modules/reporting/spec/features/top_menu_item_spec.rb index 6f039971d3e3..dfac4711d12f 100644 --- a/modules/reporting/spec/features/top_menu_item_spec.rb +++ b/modules/reporting/spec/features/top_menu_item_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -43,7 +43,7 @@ def has_menu_items?(*labels) def expect_no_menu_item(*labels) within '.op-app-header' do labels.each do |l| - expect(page).not_to have_link(l) + expect(page).to have_no_link(l) end end end @@ -53,7 +53,7 @@ def click_link_in_open_menu(title) # the click might be ignored within '.op-app-menu--item_has-dropdown .op-app-menu--dropdown[aria-expanded=true]' do - expect(page).not_to have_css('[style~=overflow]') + expect(page).to have_no_css('[style~=overflow]') page.click_link(title) end diff --git a/modules/reporting/spec/features/update_cost_report_spec.rb b/modules/reporting/spec/features/update_cost_report_spec.rb index c929e4fd964e..1c2ef81a5c3e 100644 --- a/modules/reporting/spec/features/update_cost_report_spec.rb +++ b/modules/reporting/spec/features/update_cost_report_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb') require_relative 'support/pages/cost_report_page' -RSpec.describe "updating a cost report's cost type", js: true do +RSpec.describe "updating a cost report's cost type", :js do let(:project) { create(:project_with_types, members: { user => create(:project_role) }) } let(:user) do create(:admin) diff --git a/modules/reporting/spec/features/update_entries_spec.rb b/modules/reporting/spec/features/update_entries_spec.rb index 2976c35e5088..d3c2ae2fe84c 100644 --- a/modules/reporting/spec/features/update_entries_spec.rb +++ b/modules/reporting/spec/features/update_entries_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require_relative 'support/pages/cost_report_page' require_relative 'support/components/cost_reports_base_table' -RSpec.describe 'Updating entries within the cost report', js: true do +RSpec.describe 'Updating entries within the cost report', :js do let(:project) { create(:project) } let(:user) { create(:admin, member_with_permissions: { project => %i[work_package_assigned] }) } let(:work_package) { create(:work_package, project:) } diff --git a/modules/reporting/spec/features/work_package_costlog_spec.rb b/modules/reporting/spec/features/work_package_costlog_spec.rb index 85b8daa9e011..8bb034a5b294 100644 --- a/modules/reporting/spec/features/work_package_costlog_spec.rb +++ b/modules/reporting/spec/features/work_package_costlog_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -RSpec.describe 'Cost report showing my own times', js: true do +RSpec.describe 'Cost report showing my own times', :js do let(:project) { create(:project) } let(:user) do create(:user, member_with_roles: { project => role }) @@ -38,9 +38,9 @@ end within_window new_window do - expect(page).to have_selector('#query_saved_name', text: 'New cost report') + expect(page).to have_css('#query_saved_name', text: 'New cost report') expect(page).to have_field('values[work_package_id][]', with: work_package.id) - expect(page).to have_selector('td.units', text: '10.0 Foobars') + expect(page).to have_css('td.units', text: '10.0 Foobars') end end end diff --git a/modules/reporting/spec/helpers/reporting_helper_spec.rb b/modules/reporting/spec/helpers/reporting_helper_spec.rb index 2a96186d4192..840a206c588e 100644 --- a/modules/reporting/spec/helpers/reporting_helper_spec.rb +++ b/modules/reporting/spec/helpers/reporting_helper_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/lib/open_project/configuration_spec.rb b/modules/reporting/spec/lib/open_project/configuration_spec.rb index 4276b41ce919..bb506bb36d00 100644 --- a/modules/reporting/spec/lib/open_project/configuration_spec.rb +++ b/modules/reporting/spec/lib/open_project/configuration_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/models/cost_query/cache_spec.rb b/modules/reporting/spec/models/cost_query/cache_spec.rb index c22b9ab65d12..2245b4712ad6 100644 --- a/modules/reporting/spec/models/cost_query/cache_spec.rb +++ b/modules/reporting/spec/models/cost_query/cache_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/models/cost_query/chaining_spec.rb b/modules/reporting/spec/models/cost_query/chaining_spec.rb index 0be611424e68..65cd5d4f238e 100644 --- a/modules/reporting/spec/models/cost_query/chaining_spec.rb +++ b/modules/reporting/spec/models/cost_query/chaining_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper") -RSpec.describe CostQuery, reporting_query_helper: true do +RSpec.describe CostQuery, :reporting_query_helper do let(:project) { create(:project) } minimal_query diff --git a/modules/reporting/spec/models/cost_query/filter_spec.rb b/modules/reporting/spec/models/cost_query/filter_spec.rb index 06738075c9b5..745086b4793b 100644 --- a/modules/reporting/spec/models/cost_query/filter_spec.rb +++ b/modules/reporting/spec/models/cost_query/filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/models/cost_query/group_by_spec.rb b/modules/reporting/spec/models/cost_query/group_by_spec.rb index d5de61a315a3..4fbb9c0d4519 100644 --- a/modules/reporting/spec/models/cost_query/group_by_spec.rb +++ b/modules/reporting/spec/models/cost_query/group_by_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -29,7 +29,7 @@ require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper") require File.join(File.dirname(__FILE__), '..', '..', 'support', 'custom_field_filter') -RSpec.describe CostQuery, reporting_query_helper: true do +RSpec.describe CostQuery, :reporting_query_helper do let!(:type) { create(:type) } let!(:project1) { create(:project_with_types, types: [type]) } let!(:work_package1) { create(:work_package, project: project1, type:) } diff --git a/modules/reporting/spec/models/cost_query/integration_spec.rb b/modules/reporting/spec/models/cost_query/integration_spec.rb index 3bddc101b808..3af98ccf1df9 100644 --- a/modules/reporting/spec/models/cost_query/integration_spec.rb +++ b/modules/reporting/spec/models/cost_query/integration_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper") -RSpec.describe CostQuery, reporting_query_helper: true do +RSpec.describe CostQuery, :reporting_query_helper do minimal_query let!(:project1) { create(:project_with_types) } diff --git a/modules/reporting/spec/models/cost_query/operator_spec.rb b/modules/reporting/spec/models/cost_query/operator_spec.rb index a2133f1a9d33..0adef7845b06 100644 --- a/modules/reporting/spec/models/cost_query/operator_spec.rb +++ b/modules/reporting/spec/models/cost_query/operator_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper") -RSpec.describe CostQuery, reporting_query_helper: true do +RSpec.describe CostQuery, :reporting_query_helper do minimal_query let!(:project1) { create(:project, name: "project1", created_at: 5.minutes.ago) } @@ -261,7 +261,7 @@ def create_project(options = {}) # y/n seem are for filtering overridden costs it "does y" do - expect(query_on_entries('overridden_costs', 'y').size).to eq(Entry.all.count { |e| !(e.overridden_costs.nil?) }) + expect(query_on_entries('overridden_costs', 'y').size).to eq(Entry.all.count { |e| !e.overridden_costs.nil? }) end it "does n" do diff --git a/modules/reporting/spec/models/cost_query/result_spec.rb b/modules/reporting/spec/models/cost_query/result_spec.rb index 11d6e97ce72b..28f6c3c38428 100644 --- a/modules/reporting/spec/models/cost_query/result_spec.rb +++ b/modules/reporting/spec/models/cost_query/result_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper") -RSpec.describe CostQuery, reporting_query_helper: true do +RSpec.describe CostQuery, :reporting_query_helper do before do create(:admin) project = create(:project_with_types) diff --git a/modules/reporting/spec/models/cost_query/validation_spec.rb b/modules/reporting/spec/models/cost_query/validation_spec.rb index 35d30665210f..930b57818601 100644 --- a/modules/reporting/spec/models/cost_query/validation_spec.rb +++ b/modules/reporting/spec/models/cost_query/validation_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/models/cost_query/walker_spec.rb b/modules/reporting/spec/models/cost_query/walker_spec.rb index a52a9c762e60..a157fb26cb6f 100644 --- a/modules/reporting/spec/models/cost_query/walker_spec.rb +++ b/modules/reporting/spec/models/cost_query/walker_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require File.expand_path("#{File.dirname(__FILE__)}/../../spec_helper") -RSpec.describe CostQuery, reporting_query_helper: true do +RSpec.describe CostQuery, :reporting_query_helper do minimal_query before do diff --git a/modules/reporting/spec/requests/custom_field_cache_spec.rb b/modules/reporting/spec/requests/custom_field_cache_spec.rb index 0a5341dfe9d4..a36a3cacfd49 100644 --- a/modules/reporting/spec/requests/custom_field_cache_spec.rb +++ b/modules/reporting/spec/requests/custom_field_cache_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/spec_helper.rb b/modules/reporting/spec/spec_helper.rb index 6593ebf910e8..5c944d50187e 100644 --- a/modules/reporting/spec/spec_helper.rb +++ b/modules/reporting/spec/spec_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/support/configuration_helper.rb b/modules/reporting/spec/support/configuration_helper.rb index f8081bd79970..6e644c51a2b3 100644 --- a/modules/reporting/spec/support/configuration_helper.rb +++ b/modules/reporting/spec/support/configuration_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/support/custom_field_filter.rb b/modules/reporting/spec/support/custom_field_filter.rb index d370f8dbf63a..b7941c086b11 100644 --- a/modules/reporting/spec/support/custom_field_filter.rb +++ b/modules/reporting/spec/support/custom_field_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/support/plugin_spec_helper.rb b/modules/reporting/spec/support/plugin_spec_helper.rb index fe7c92198579..83bde0678c7f 100644 --- a/modules/reporting/spec/support/plugin_spec_helper.rb +++ b/modules/reporting/spec/support/plugin_spec_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/reporting/spec/support/query_helper.rb b/modules/reporting/spec/support/query_helper.rb index a8c16a67ae61..7400fead0063 100644 --- a/modules/reporting/spec/support/query_helper.rb +++ b/modules/reporting/spec/support/query_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/errors.rb b/modules/storages/app/common/storages/errors.rb index 574d9272c494..d23156a0ddbc 100644 --- a/modules/storages/app/common/storages/errors.rb +++ b/modules/storages/app/common/storages/errors.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/contracts.rb b/modules/storages/app/common/storages/peripherals/contracts.rb index 126f26b638da..d6566628bdea 100644 --- a/modules/storages/app/common/storages/peripherals/contracts.rb +++ b/modules/storages/app/common/storages/peripherals/contracts.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/oauth_configurations/configuration_interface.rb b/modules/storages/app/common/storages/peripherals/oauth_configurations/configuration_interface.rb index be177b34afff..3ec80707cb44 100644 --- a/modules/storages/app/common/storages/peripherals/oauth_configurations/configuration_interface.rb +++ b/modules/storages/app/common/storages/peripherals/oauth_configurations/configuration_interface.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -42,9 +42,9 @@ def basic_rack_oauth_client = raise ::Storages::Errors::SubclassResponsibility def authorization_check_wrapper case yield - when Net::HTTPSuccess + when 200..299 :success - when Net::HTTPForbidden, Net::HTTPUnauthorized + when 401, 403 :refresh_needed else :error diff --git a/modules/storages/app/common/storages/peripherals/oauth_configurations/nextcloud_configuration.rb b/modules/storages/app/common/storages/peripherals/oauth_configurations/nextcloud_configuration.rb index 979005c1b0d7..7b54125acb71 100644 --- a/modules/storages/app/common/storages/peripherals/oauth_configurations/nextcloud_configuration.rb +++ b/modules/storages/app/common/storages/peripherals/oauth_configurations/nextcloud_configuration.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -44,16 +44,14 @@ def authorization_state_check(token) util = ::Storages::Peripherals::StorageInteraction::Nextcloud::Util authorization_check_wrapper do - Net::HTTP.start(@uri.host, @uri.port, use_ssl: true) do |http| - http.get( - util.join_uri_path(@uri.path, '/ocs/v1.php/cloud/user'), - { - 'Authorization' => "Bearer #{token}", - 'OCS-APIRequest' => 'true', - 'Accept' => 'application/json' - } - ) - end + HTTPX.get( + util.join_uri_path(@uri, '/ocs/v1.php/cloud/user'), + headers: { + 'Authorization' => "Bearer #{token}", + 'OCS-APIRequest' => 'true', + 'Accept' => 'application/json' + } + ).status end end diff --git a/modules/storages/app/common/storages/peripherals/oauth_configurations/one_drive_configuration.rb b/modules/storages/app/common/storages/peripherals/oauth_configurations/one_drive_configuration.rb index 58e4514aa4ea..d22346c04af9 100644 --- a/modules/storages/app/common/storages/peripherals/oauth_configurations/one_drive_configuration.rb +++ b/modules/storages/app/common/storages/peripherals/oauth_configurations/one_drive_configuration.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -45,10 +45,13 @@ def initialize(storage) end def authorization_state_check(access_token) + util = ::Storages::Peripherals::StorageInteraction::OneDrive::Util + authorization_check_wrapper do - Net::HTTP.start(@uri.host, @uri.port, use_ssl: true) do |http| - http.get('/v1.0/me', { 'Authorization' => "Bearer #{access_token}", 'Accept' => 'application/json' }) - end + HTTPX.get( + util.join_uri_path(@uri, '/v1.0/me'), + headers: { 'Authorization' => "Bearer #{access_token}", 'Accept' => 'application/json' } + ).status end end diff --git a/modules/storages/app/common/storages/peripherals/parse_create_params_service.rb b/modules/storages/app/common/storages/peripherals/parse_create_params_service.rb index 30e920537d0d..b3b021a94ad6 100644 --- a/modules/storages/app/common/storages/peripherals/parse_create_params_service.rb +++ b/modules/storages/app/common/storages/peripherals/parse_create_params_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/registry.rb b/modules/storages/app/common/storages/peripherals/registry.rb index 60c808b8ecdc..14e9b1ac7cd5 100644 --- a/modules/storages/app/common/storages/peripherals/registry.rb +++ b/modules/storages/app/common/storages/peripherals/registry.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/scopes.rb b/modules/storages/app/common/storages/peripherals/scopes.rb index c41598c780e0..1478a97da24a 100644 --- a/modules/storages/app/common/storages/peripherals/scopes.rb +++ b/modules/storages/app/common/storages/peripherals/scopes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/service_result_refinements.rb b/modules/storages/app/common/storages/peripherals/service_result_refinements.rb index c478fc614f68..3d3bb1a81144 100644 --- a/modules/storages/app/common/storages/peripherals/service_result_refinements.rb +++ b/modules/storages/app/common/storages/peripherals/service_result_refinements.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/storage_error_helper.rb b/modules/storages/app/common/storages/peripherals/storage_error_helper.rb index 85c43746c159..d33b252ef5e6 100644 --- a/modules/storages/app/common/storages/peripherals/storage_error_helper.rb +++ b/modules/storages/app/common/storages/peripherals/storage_error_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/storage_file_info_converter.rb b/modules/storages/app/common/storages/peripherals/storage_file_info_converter.rb index 4bff762dd45b..de9f3e5b0982 100644 --- a/modules/storages/app/common/storages/peripherals/storage_file_info_converter.rb +++ b/modules/storages/app/common/storages/peripherals/storage_file_info_converter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud.rb index 30a194b19cd9..19299740b441 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/add_user_to_group_command.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/add_user_to_group_command.rb index 8e5896573e8b..47bac702ae23 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/add_user_to_group_command.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/add_user_to_group_command.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -43,21 +43,25 @@ def self.call(storage:, user:, group: storage.group) end def call(user:, group: @group) - response = Util.http(@uri).post( - Util.join_uri_path(@uri.path, 'ocs/v1.php/cloud/users', CGI.escapeURIComponent(user), 'groups'), - "groupid=#{CGI.escapeURIComponent(group)}", - Util - .basic_auth_header(@username, @password) - .merge( - 'OCS-APIRequest' => 'true' - ) - ) + response = Util + .httpx + .basic_auth(@username, @password) + .with(headers: { 'OCS-APIRequest' => 'true' }) + .post( + Util.join_uri_path( + @uri, + 'ocs/v1.php/cloud/users', + CGI.escapeURIComponent(user), + 'groups' + ), + form: { "groupid" => CGI.escapeURIComponent(group) }, + ) error_data = Storages::StorageErrorData.new(source: self.class, payload: response) - case response - when Net::HTTPSuccess - statuscode = Nokogiri::XML(response.body).xpath('/ocs/meta/statuscode').text + case response.status + when 200..299 + statuscode = Nokogiri::XML(response.body.to_s).xpath('/ocs/meta/statuscode').text case statuscode when "100" @@ -73,13 +77,13 @@ def call(user:, group: @group) when "105" Util.error(:error, "Failed to add user to group", error_data) end - when Net::HTTPMethodNotAllowed + when 405 Util.error(:not_allowed, 'Outbound request method not allowed', error_data) - when Net::HTTPNotFound + when 401 Util.error(:not_found, 'Outbound request destination not found', error_data) - when Net::HTTPUnauthorized + when 404 Util.error(:unauthorized, 'Outbound request not authorized', error_data) - when Net::HTTPConflict + when 409 Util.error(:conflict, Util.error_text_from_response(response), error_data) else Util.error(:error, 'Outbound request failed', error_data) diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/copy_template_folder_command.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/copy_template_folder_command.rb index b41c18b35b73..4fa9b23b21fc 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/copy_template_folder_command.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/copy_template_folder_command.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -60,14 +60,14 @@ def build_origin_paths escaped_username = CGI.escapeURIComponent(@username) source = Util.join_uri_path( - @uri.path, + @uri, "remote.php/dav/files", escaped_username, Util.escape_path(input[:source_path]) ) destination = Util.join_uri_path( - @uri.path, + @uri, "remote.php/dav/files", escaped_username, Util.escape_path(input[:destination_path]) @@ -79,17 +79,17 @@ def build_origin_paths def validate_destination ->(urls) do - request = Net::HTTP::Head.new(urls[:destination_url]) - request.initialize_http_header Util.basic_auth_header(@username, @password) + response = Util + .httpx + .basic_auth(@username, @password) + .head(urls[:destination_url]) - response = Util.http(@uri).request(request) - - case response - when Net::HTTPSuccess + case response.status + when 200..299 Util.error(:conflict, 'Destination folder already exists.') - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, "unauthorized (validate_destination)") - when Net::HTTPNotFound + when 404 ServiceResult.success(result: urls) else Util.error(:unknown, "Unexpected response (validate_destination): #{response.code}", response) @@ -97,31 +97,31 @@ def validate_destination end end - # rubocop:disable Metrics/AbcSize def copy_folder ->(urls) do - headers = Util.basic_auth_header(@username, @password) - headers['Destination'] = urls[:destination_url] - headers['Depth'] = 'infinity' - - request = Net::HTTP::Copy.new(urls[:source_url], headers) - response = Util.http(@uri).request(request) - - case response - when Net::HTTPCreated + response = Util + .httpx + .basic_auth(@username, @password) + .request("COPY", + urls[:source_url], + headers: { + 'Destination' => urls[:destination_url], + 'Depth' => 'infinity' + }) + + case response.status + when 200..299 ServiceResult.success(message: 'Folder was successfully copied') - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, "Unauthorized (copy_folder)") - when Net::HTTPNotFound + when 404 Util.error(:not_found, "Project folder not found (copy_folder)") - when Net::HTTPConflict + when 409 Util.error(:conflict, Util.error_text_from_response(response)) else - Util.error(:unknown, "Unexpected response (copy_folder): #{response.code}", response) + Util.error(:unknown, "Unexpected response (copy_folder): #{response.status}", response) end end end - - # rubocop:enable Metrics/AbcSize end end diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/create_folder_command.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/create_folder_command.rb index c8fb5ef03820..1724f7697e1c 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/create_folder_command.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/create_folder_command.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -44,28 +44,34 @@ def self.call(storage:, folder_path:) # rubocop:disable Metrics/AbcSize def call(folder_path:) - response = Util.http(@uri).mkcol( - Util.join_uri_path(@uri.path, "remote.php/dav/files", CGI.escapeURIComponent(@username), Util.escape_path(folder_path)), - nil, - Util.basic_auth_header(@username, @password) - ) + response = Util + .httpx + .basic_auth(@username, @password) + .mkcol( + Util.join_uri_path( + @uri, + "remote.php/dav/files", + CGI.escapeURIComponent(@username), + Util.escape_path(folder_path) + ) + ) error_data = Storages::StorageErrorData.new(source: self.class, payload: response) - case response - when Net::HTTPSuccess + case response.status + when 200..299 ServiceResult.success(message: 'Folder was successfully created.') - when Net::HTTPMethodNotAllowed + when 405 if Util.error_text_from_response(response) == 'The resource you tried to create already exists' ServiceResult.success(message: 'Folder already exists.') else Util.error(:not_allowed, 'Outbound request method not allowed', error_data) end - when Net::HTTPNotFound - Util.error(:not_found, 'Outbound request destination not found', error_data) - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, 'Outbound request not authorized', error_data) - when Net::HTTPConflict + when 404 + Util.error(:not_found, 'Outbound request destination not found', error_data) + when 409 Util.error(:conflict, Util.error_text_from_response(response), error_data) else Util.error(:error, 'Outbound request failed', error_data) diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/delete_folder_command.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/delete_folder_command.rb index 4bd735295e8b..80258309c1fe 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/delete_folder_command.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/delete_folder_command.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/download_link_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/download_link_query.rb index e9a8c56ed694..0184867923a6 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/download_link_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/download_link_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -45,22 +45,24 @@ def self.call(storage:, user:, file_link:) def call(user:, file_link:) result = Util.token(user:, configuration: @configuration) do |token| service_result = begin - response = Util.http(@uri).post( - Util.join_uri_path(@uri.path, '/ocs/v2.php/apps/dav/api/v1/direct'), - { fileId: file_link.origin_id }.to_json, - { - 'Authorization' => "Bearer #{token.access_token}", - 'OCS-APIRequest' => 'true', - 'Accept' => 'application/json', - 'Content-Type' => 'application/json' - } - ) - case response - when Net::HTTPSuccess + response = Util + .httpx + .post( + Util.join_uri_path(@uri, '/ocs/v2.php/apps/dav/api/v1/direct'), + json: { fileId: file_link.origin_id }, + headers: { + 'Authorization' => "Bearer #{token.access_token}", + 'OCS-APIRequest' => 'true', + 'Accept' => 'application/json', + 'Content-Type' => 'application/json' + } + ) + case response.status + when 200..299 ServiceResult.success(result: response) - when Net::HTTPNotFound + when 404 Util.error(:not_found, 'Outbound request destination not found!', response) - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, 'Outbound request not authorized!', response) else Util.error(:error, 'Outbound request failed!') @@ -72,7 +74,7 @@ def call(user:, file_link:) if resp.body.blank? Util.error(:unauthorized, 'Outbound request not authorized!') else - ServiceResult.success(result: resp.body) + ServiceResult.success(result: resp.body.to_s) end end end diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/file_ids_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/file_ids_query.rb index 0f07cea0c583..b5cd033310c9 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/file_ids_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/file_ids_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/file_info_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/file_info_query.rb index 85d4d8384b85..77df6fb07054 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/file_info_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/file_info_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -52,21 +52,19 @@ def call(user:, file_id:) private def file_info(file_id, token) - response = Util.http(@uri).get( - Util.join_uri_path(@uri.path, FILE_INFO_PATH, file_id), - { - 'Authorization' => "Bearer #{token.access_token}", - 'Accept' => 'application/json', - 'OCS-APIRequest' => 'true' - } - ) - - case response - when Net::HTTPSuccess + response = Util + .httpx + .with(headers: { 'Authorization' => "Bearer #{token.access_token}", + 'Accept' => 'application/json', + 'OCS-APIRequest' => 'true' }) + .get(Util.join_uri_path(@uri, FILE_INFO_PATH, file_id)) + + case response.status + when 200..299 ServiceResult.success(result: response.body) - when Net::HTTPNotFound + when 404 Util.error(:not_found, 'Outbound request destination not found!', response) - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, 'Outbound request not authorized!', response) else Util.error(:error, 'Outbound request failed!') @@ -84,7 +82,7 @@ def parse_json def handle_failure ->(response_object) do case response_object.ocs.data.statuscode - when 200 + when 200..299 ServiceResult.success(result: response_object) when 403 Util.error(:forbidden, 'Access to storage file forbidden!', response_object) diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb index 1ad6192aeb42..8d9017a49983 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_info_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -60,22 +60,21 @@ def call(user:, file_ids: []) private def files_info(file_ids, token) - response = Util.http(@uri).post( - Util.join_uri_path(@uri.path, FILES_INFO_PATH), - { fileIds: file_ids }.to_json, - { - 'Authorization' => "Bearer #{token.access_token}", - 'Accept' => 'application/json', - 'Content-Type' => 'application/json', - 'OCS-APIRequest' => 'true' - } - ) - case response - when Net::HTTPSuccess - ServiceResult.success(result: response.body) - when Net::HTTPNotFound + response = Util + .httpx + .with(headers: { 'Authorization' => "Bearer #{token.access_token}", + 'Accept' => 'application/json', + 'Content-Type' => 'application/json', + 'OCS-APIRequest' => 'true' }) + .post(Util.join_uri_path(@uri.to_s, FILES_INFO_PATH), + json: { fileIds: file_ids }) + + case response.status + when 200..299 + ServiceResult.success(result: response.body.to_s) + when 404 Util.error(:not_found, 'Outbound request destination not found!', response) - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, 'Outbound request not authorized!', response) else Util.error(:error, 'Outbound request failed!', response) diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_query.rb index cf33c90830dd..4e96c42d7e02 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/files_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -39,17 +39,19 @@ def self.call(storage:, user:, folder:) def call(user:, folder:) result = Util.token(user:, configuration: @configuration) do |token| - base_path = Util.join_uri_path(@uri.path, "remote.php/dav/files") - @location_prefix = Util.join_uri_path(base_path, token.origin_user_id.gsub(' ', '%20')) - - response = Util.http(@uri).propfind( - Util.join_uri_path(base_path, CGI.escapeURIComponent(token.origin_user_id), requested_folder(folder)), - requested_properties, - { - 'Depth' => '1', - 'Authorization' => "Bearer #{token.access_token}" - } - ) + @location_prefix = Util.join_uri_path(@uri.path, "remote.php/dav/files", token.origin_user_id.gsub(' ', '%20')) + + response = Util + .httpx + .request( + "PROPFIND", + Util.join_uri_path(@uri, "remote.php/dav/files", CGI.escapeURIComponent(token.origin_user_id), requested_folder(folder)), + xml: requested_properties, + headers: { + 'Depth' => '1', + 'Authorization' => "Bearer #{token.access_token}" + } + ) handle_response(response) end @@ -62,12 +64,12 @@ def call(user:, folder:) def handle_response(response) error_data = Storages::StorageErrorData.new(source: self, payload: response) - case response - when Net::HTTPSuccess + case response.status + when 200..299 ServiceResult.success(result: response.body) - when Net::HTTPNotFound + when 404 Util.error(:not_found, 'Outbound request destination not found', error_data) - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, 'Outbound request not authorized', error_data) else Util.error(:error, 'Outbound request failed', error_data) @@ -103,14 +105,10 @@ def requested_properties def storage_files(response) response.map do |xml| - a = Nokogiri::XML(xml) - .xpath('//d:response') - .to_a - - parent, *files = - a.map do |file_element| - storage_file(file_element) - end + parent, *files = Nokogiri::XML(xml) + .xpath('//d:response') + .to_a + .map { |file_element| storage_file(file_element) } ::Storages::StorageFiles.new(files, parent, ancestors(parent.location)) end diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/folder_files_file_ids_deep_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/folder_files_file_ids_deep_query.rb index 2f07bcadfcca..3da2b94fe5e7 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/folder_files_file_ids_deep_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/folder_files_file_ids_deep_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,6 @@ module Storages::Peripherals::StorageInteraction::Nextcloud class FolderFilesFileIdsDeepQuery - def self.call(storage:, path:) ::Storages::Peripherals::Registry .resolve("queries.nextcloud.propfind") diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/group_users_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/group_users_query.rb index 92e63054a8f8..1450e2e41534 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/group_users_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/group_users_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -44,27 +44,28 @@ def self.call(storage:, group: storage.group) # rubocop:disable Metrics/AbcSize def call(group:) - response = Util.http(@uri).get( - Util.join_uri_path(@uri.path, "ocs/v1.php/cloud/groups", CGI.escapeURIComponent(group)), - Util.basic_auth_header(@username, @password).merge('OCS-APIRequest' => 'true') - ) + response = Util + .httpx + .basic_auth(@username, @password) + .with(headers: {'OCS-APIRequest' => 'true'}) + .get(Util.join_uri_path(@uri, "ocs/v1.php/cloud/groups", CGI.escapeURIComponent(group))) error_data = Storages::StorageErrorData.new(source: self.class, payload: response) - case response - when Net::HTTPSuccess - group_users = Nokogiri::XML(response.body) + case response.status + when 200..299 + group_users = Nokogiri::XML(response.body.to_s) .xpath('/ocs/data/users/element') .map(&:text) ServiceResult.success(result: group_users) - when Net::HTTPMethodNotAllowed + when 405 Util.error(:not_allowed, 'Outbound request method not allowed', error_data) - when Net::HTTPNotFound - Util.error(:not_found, 'Outbound request destination not found', error_data) - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, 'Outbound request not authorized', error_data) - when Net::HTTPConflict - Util.error(:conflict, Util.error_text_from_response(response), error_data) + when 404 + Util.error(:not_found, 'Outbound request destination not found', error_data) + when 409 + Util.error(:conflict, error_text_from_response(response), error_data) else Util.error(:error, 'Outbound request failed', error_data) end diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/internal/delete_entity_command.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/internal/delete_entity_command.rb index 04c7e8ab72e6..2c848aeb040e 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/internal/delete_entity_command.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/internal/delete_entity_command.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -32,7 +32,6 @@ class DeleteEntityCommand def initialize(storage) @uri = storage.uri - @base_path = UTIL.join_uri_path(@uri.path, "remote.php/dav/files", CGI.escapeURIComponent(storage.username)) @username = storage.username @password = storage.password end @@ -42,17 +41,20 @@ def self.call(storage:, location:) end def call(location:) - response = UTIL.http(@uri).delete( - UTIL.join_uri_path(@base_path, UTIL.escape_path(location)), - UTIL.basic_auth_header(@username, @password) - ) + response = UTIL + .httpx + .basic_auth(@username, @password) + .delete(UTIL.join_uri_path(@uri, + "remote.php/dav/files", + CGI.escapeURIComponent(@username), + UTIL.escape_path(location))) - case response - when Net::HTTPSuccess + case response.status + when 200..299 ServiceResult.success - when Net::HTTPNotFound + when 404 UTIL.error(:not_found) - when Net::HTTPUnauthorized + when 401 UTIL.error(:unauthorized) else UTIL.error(:error) diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/internal/propfind_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/internal/propfind_query.rb index 866e11fca73d..cd37e9eea165 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/internal/propfind_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/internal/propfind_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -90,22 +90,26 @@ def call(depth:, path:, props:) end end.to_xml - response = UTIL.http(@uri).propfind( - UTIL.join_uri_path( - @uri.path, - 'remote.php/dav/files', - CGI.escapeURIComponent(@username), - UTIL.escape_path(path) - ), - body, - UTIL.basic_auth_header(@username, @password).merge('Depth' => depth) - ) + response = UTIL + .httpx + .basic_auth(@username, @password) + .with(headers: { "Depth" => depth}) + .request( + "PROPFIND", + UTIL.join_uri_path( + @uri, + 'remote.php/dav/files', + CGI.escapeURIComponent(@username), + UTIL.escape_path(path) + ), + xml: body, + ) error_data = Storages::StorageErrorData.new(source: self.class, payload: response) - case response - when Net::HTTPSuccess - doc = Nokogiri::XML response.body + case response.status + when 200..299 + doc = Nokogiri::XML(response.body.to_s) result = {} doc.xpath('/d:multistatus/d:response').each do |resource_section| resource = CGI.unescape(resource_section.xpath("d:href").text.strip) @@ -121,12 +125,12 @@ def call(depth:, path:, props:) end ServiceResult.success(result:) - when Net::HTTPMethodNotAllowed + when 405 UTIL.error(:not_allowed, 'Outbound request method not allowed', error_data) - when Net::HTTPNotFound - UTIL.error(:not_found, 'Outbound request destination not found', error_data) - when Net::HTTPUnauthorized + when 401 UTIL.error(:unauthorized, 'Outbound request not authorized', error_data) + when 404 + UTIL.error(:not_found, 'Outbound request destination not found', error_data) else UTIL.error(:error, 'Outbound request failed', error_data) end diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/open_file_link_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/open_file_link_query.rb index d317cda6dcb7..b7e95f71d67a 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/open_file_link_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/open_file_link_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/open_storage_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/open_storage_query.rb index 34976145a1d7..2aed80596f86 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/open_storage_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/open_storage_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/remove_user_from_group_command.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/remove_user_from_group_command.rb index 06bb0daf0ff4..1fc5f256b628 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/remove_user_from_group_command.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/remove_user_from_group_command.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -43,21 +43,22 @@ def self.call(storage:, user:, group: storage.group) # rubocop:disable Metrics/AbcSize def call(user:, group: @group) - response = Util.http(@uri).delete( - Util.join_uri_path(@uri.path, - "ocs/v1.php/cloud/users", - CGI.escapeURIComponent(user), - "groups?groupid=#{CGI.escapeURIComponent(group)}"), - Util.basic_auth_header(@username, @password).merge( - 'OCS-APIRequest' => 'true' - ) - ) + response = Util + .httpx + .basic_auth(@username, @password) + .with(headers: { 'OCS-APIRequest' => 'true' }) + .delete( + Util.join_uri_path(@uri, + "ocs/v1.php/cloud/users", + CGI.escapeURIComponent(user), + "groups?groupid=#{CGI.escapeURIComponent(group)}") + ) error_data = Storages::StorageErrorData.new(source: self.class, payload: response) - case response - when Net::HTTPSuccess - statuscode = Nokogiri::XML(response.body).xpath('/ocs/meta/statuscode').text + case response.status + when 200..299 + statuscode = Nokogiri::XML(response.body.to_s).xpath('/ocs/meta/statuscode').text case statuscode when "100" ServiceResult.success(message: "User has been removed from group") @@ -73,13 +74,13 @@ def call(user:, group: @group) message = Nokogiri::XML(response.body).xpath('/ocs/meta/message').text Util.error(:error, "Failed to remove user #{user} from group #{group}: #{message}", error_data) end - when Net::HTTPMethodNotAllowed + when 405 Util.error(:not_allowed, 'Outbound request method not allowed', error_data) - when Net::HTTPNotFound - Util.error(:not_found, 'Outbound request destination not found', error_data) - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, 'Outbound request not authorized', error_data) - when Net::HTTPConflict + when 404 + Util.error(:not_found, 'Outbound request destination not found', error_data) + when 409 Util.error(:conflict, Util.error_text_from_response(response), error_data) else Util.error(:error, 'Outbound request failed', error_data) diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/rename_file_command.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/rename_file_command.rb index f4e85a078b51..3a84be73ae72 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/rename_file_command.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/rename_file_command.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,7 +34,7 @@ class RenameFileCommand def initialize(storage) @uri = storage.uri - @base_path = Util.join_uri_path(@uri.path, "remote.php/dav/files", CGI.escapeURIComponent(storage.username)) + @base_path = Util.join_uri_path(@uri, "remote.php/dav/files", CGI.escapeURIComponent(storage.username)) @username = storage.username @password = storage.password end @@ -44,21 +44,25 @@ def self.call(storage:, source:, target:) end def call(source:, target:) - response = Util.http(@uri).move( - Util.join_uri_path(@base_path, Util.escape_path(source)), - Util.basic_auth_header(@username, @password).merge( - 'Destination' => Util.join_uri_path(@base_path, Util.escape_path(target)) - ) - ) + response = Util + .httpx + .basic_auth(@username, @password) + .request( + "MOVE", + Util.join_uri_path(@base_path, Util.escape_path(source)), + headers: { + 'Destination' => Util.join_uri_path(@uri.path, "remote.php/dav/files", CGI.escapeURIComponent(@username), Util.escape_path(target)) + } + ) error_data = Storages::StorageErrorData.new(source: self.class, payload: response) - case response - when Net::HTTPSuccess + case response.status + when 200..299 ServiceResult.success - when Net::HTTPNotFound + when 404 Util.error(:not_found, 'Outbound request destination not found', error_data) - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, 'Outbound request not authorized', error_data) else Util.error(:error, 'Outbound request failed', error_data) diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/set_permissions_command.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/set_permissions_command.rb index 5de94706e7d5..e856b0b965fc 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/set_permissions_command.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/set_permissions_command.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -79,28 +79,31 @@ def call(path:, permissions:) end end.to_xml - response = Util.http(@uri).proppatch( - Util.join_uri_path(@uri.path, - "remote.php/dav/files", - CGI.escapeURIComponent(@username), - Util.escape_path(path)), - body, - Util.basic_auth_header(@username, @password) - ) + response = Util + .httpx + .basic_auth(@username, @password) + .request( + "PROPPATCH", + Util.join_uri_path(@uri, + "remote.php/dav/files", + CGI.escapeURIComponent(@username), + Util.escape_path(path)), + xml: body + ) error_data = Storages::StorageErrorData.new(source: self.class, payload: response) - case response - when Net::HTTPSuccess - doc = Nokogiri::XML(response.body) + case response.status + when 200..299 + doc = Nokogiri::XML(response.body.to_s) if doc.xpath("/d:multistatus/d:response/d:propstat[d:status[text() = 'HTTP/1.1 200 OK']]/d:prop/nc:acl-list").present? ServiceResult.success(result: :success) else Util.error(:error, "nc:acl properly has not been set for #{path}", error_data) end - when Net::HTTPNotFound + when 404 Util.error(:not_found, 'Outbound request destination not found', error_data) - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, 'Outbound request not authorized', error_data) else Util.error(:error, 'Outbound request failed', error_data) diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/upload_link_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/upload_link_query.rb index cbe90cf9d2df..71f7c258ba0b 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/upload_link_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/upload_link_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -66,28 +66,28 @@ def call(user:, data:) private def outbound_response(method:, relative_path:, payload:, token:) - response = Util.http(@uri).post( - Util.join_uri_path(@uri.path, relative_path), - payload.to_json, - { - 'Authorization' => "Bearer #{token.access_token}", - 'Accept' => 'application/json', - 'Content-Type' => 'application/json' - } - ) - case response - when Net::HTTPSuccess + response = Util + .httpx + .with(headers: { 'Authorization' => "Bearer #{token.access_token}", + 'Accept' => 'application/json', + 'Content-Type' => 'application/json' }) + .post( + Util.join_uri_path(@uri, relative_path), + json: payload + ) + case response.status + when 200..299 # The nextcloud API returns a successful response with empty body if the authorization is missing or expired if response.body.present? ServiceResult.success( - result: JSON.parse(response.body, object_class: OpenStruct) # rubocop:disable Style/OpenStructUse + result: JSON.parse(response.body.to_s, object_class: OpenStruct) # rubocop:disable Style/OpenStructUse ) else Util.error(:unauthorized, 'Outbound request not authorized!') end - when Net::HTTPNotFound + when 404 Util.error(:not_found, 'Outbound request destination not found!', response) - when Net::HTTPUnauthorized + when 401 Util.error(:unauthorized, 'Outbound request not authorized!', response) else Util.error(:error, 'Outbound request failed!') diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/util.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/util.rb index 55b29a506062..9f87ba73fed2 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/util.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/nextcloud/util.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -73,10 +73,8 @@ def token(user:, configuration:, &) ) end - def http(uri) - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = uri.scheme == 'https' - http + def httpx + HTTPX.plugin(:basic_auth).plugin(:webdav) end def error_text_from_response(response) diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive.rb index 2b7d449e7453..b0e9abe24f76 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/download_link_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/download_link_query.rb index 6723f7a76f01..ea1ec7ac2e5e 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/download_link_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/download_link_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -44,12 +44,16 @@ def self.call(storage:, user:, file_link:) def call(user:, file_link:) Util.using_user_token(@storage, user) do |token| - response = Net::HTTP.start(@uri.host, @uri.port, use_ssl: true) do |http| - http.get(uri_path_for(file_link.origin_id), { 'Authorization' => "Bearer #{token.access_token}" }) - end + response = HTTPX.get( + Util.join_uri_path( + @uri, + uri_path_for(file_link.origin_id) + ), + headers: { 'Authorization' => "Bearer #{token.access_token}" } + ) - if Net::HTTPRedirection === response - ServiceResult.success(result: response.header['Location']) + if (300..399).include?(response.status) + ServiceResult.success(result: response.headers['Location']) else handle_errors(response) end @@ -60,13 +64,13 @@ def call(user:, file_link:) def handle_errors(response) case response - when Net::HTTPNotFound + when 404 ServiceResult.failure(result: :not_found, errors: ::Storages::StorageError.new(code: :not_found, data: response.body)) - when Net::HTTPForbidden + when 403 ServiceResult.failure(result: :forbidden, errors: ::Storages::StorageError.new(code: :forbidden, data: response.body)) - when Net::HTTPUnauthorized + when 401 ServiceResult.failure(result: :unauthorized, errors: ::Storages::StorageError.new(code: :unauthorized, data: response.body)) else diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/file_info_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/file_info_query.rb index efa64d81ede1..e62a2df071df 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/file_info_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/file_info_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -44,11 +44,21 @@ def initialize(storage) end def call(user:, file_id:) + if file_id.nil? + return ServiceResult.failure( + result: :error, + errors: ::Storages::StorageError.new(code: :error, + data: StorageErrorData.new(source: self), + log_message: 'File ID can not be nil') + ) + end + @delegate.call(user:, drive_item_id: file_id, fields: FIELDS).map(&storage_file_infos) end private + # rubocop:disable Metrics/AbcSize def storage_file_infos ->(json) do StorageFileInfo.new( @@ -66,10 +76,12 @@ def storage_file_infos last_modified_by_name: json.dig(:lastModifiedBy, :user, :displayName), last_modified_by_id: json.dig(:lastModifiedBy, :user, :id), permissions: nil, - location: json.dig(:parentReference, :path) + location: Util.extract_location(json[:parentReference], json[:name]) ) end end + + # rubocop:enable Metrics/AbcSize end end end diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb index acdaa8c3e547..bba2e7ebb2d3 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_info_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_query.rb index a3077561a960..972db4b00245 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/files_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -48,10 +48,10 @@ def initialize(storage) def call(user:, folder:) result = Util.using_user_token(@storage, user) do |token| - # Make the Get Request to the necessary endpoints - response = Net::HTTP.start(@uri.host, @uri.port, use_ssl: true) do |http| - http.get(children_uri_path_for(folder) + FIELDS, { 'Authorization' => "Bearer #{token.access_token}" }) - end + response = HTTPX.get( + Util.join_uri_path(@uri, children_uri_path_for(folder) + FIELDS), + headers: { 'Authorization' => "Bearer #{token.access_token}" } + ) handle_response(response, :value) end @@ -66,16 +66,16 @@ def call(user:, folder:) private def handle_response(response, map_value) - json = MultiJson.load(response.body, symbolize_keys: true) + json = MultiJson.load(response.body.to_s, symbolize_keys: true) error_data = ::Storages::StorageErrorData.new(source: self, payload: json) - case response - when Net::HTTPSuccess - ServiceResult.success(result: MultiJson.load(response.body, symbolize_keys: true)[map_value]) - when Net::HTTPNotFound + case response.status + when 200..299 + ServiceResult.success(result: json.fetch(map_value)) + when 404 ServiceResult.failure(result: :not_found, errors: ::Storages::StorageError.new(code: :not_found, data: error_data)) - when Net::HTTPUnauthorized + when 401 ServiceResult.failure(result: :unauthorized, errors: ::Storages::StorageError.new(code: :unauthorized, data: error_data)) else @@ -101,16 +101,17 @@ def storage_file(json_file) last_modified_at: Time.zone.parse(json_file.dig(:fileSystemInfo, :lastModifiedDateTime)), created_by_name: json_file.dig(:createdBy, :user, :displayName), last_modified_by_name: json_file.dig(:lastModifiedBy, :user, :displayName), - location: extract_location(json_file[:parentReference], json_file[:name]), + location: Util.extract_location(json_file[:parentReference], json_file[:name]), permissions: %i[readable writeable] ) end def empty_response(user, folder) result = Util.using_user_token(@storage, user) do |token| - response = Net::HTTP.start(@uri.host, @uri.port, use_ssl: true) do |http| - http.get(location_uri_path_for(folder) + FIELDS, { 'Authorization' => "Bearer #{token.access_token}" }) - end + response = HTTPX.get( + Util.join_uri_path(@uri, location_uri_path_for(folder) + FIELDS), + headers: { 'Authorization' => "Bearer #{token.access_token}" } + ) handle_response(response, :id) end @@ -131,13 +132,6 @@ def empty_storage_files(path, parent_id) ) end - def extract_location(parent_reference, file_name = '') - location = parent_reference[:path].gsub(/.*root:/, '') - - appendix = file_name.blank? ? '' : "/#{file_name}" - location.empty? ? "/#{file_name}" : "#{location}#{appendix}" - end - def parent(parent_reference) _, _, name = parent_reference[:path].gsub(/.*root:/, '').rpartition '/' @@ -147,7 +141,7 @@ def parent(parent_reference) StorageFile.new( id: parent_reference[:id], name:, - location: extract_location(parent_reference), + location: Util.extract_location(parent_reference), permissions: %i[readable writeable] ) end diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/internal/drive_item_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/internal/drive_item_query.rb index d0125ed5ba02..150af97837d4 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/internal/drive_item_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/internal/drive_item_query.rb @@ -32,27 +32,30 @@ def call(user:, drive_item_id:, fields: []) private def make_file_request(drive_item_id, token, select_url_query) - response_data = Net::HTTP.start(@uri.host, @uri.port, use_ssl: true) do |http| - http.get(uri_path_for(drive_item_id) + select_url_query, { 'Authorization' => "Bearer #{token.access_token}" }) - end - - handle_responses(response_data) + # response = Net::HTTP.start(@uri.host, @uri.port, use_ssl: true) do |http| + # http.get(uri_path_for(drive_item_id) + select_url_query, { 'Authorization' => "Bearer #{token.access_token}" }) + # end + response = HTTPX.get( + UTIL.join_uri_path(@uri, uri_path_for(drive_item_id) + select_url_query), + headers: { 'Authorization' => "Bearer #{token.access_token}" } + ) + handle_responses(response) end def handle_responses(response) - json = MultiJson.load(response.body, symbolize_keys: true) + json = MultiJson.load(response.body.to_s, symbolize_keys: true) error_data = ::Storages::StorageErrorData.new(source: self, payload: json) - case response - when Net::HTTPSuccess + case response.status + when 200..299 ServiceResult.success(result: json) - when Net::HTTPNotFound + when 404 ServiceResult.failure(result: :not_found, errors: ::Storages::StorageError.new(code: :not_found, data: error_data)) - when Net::HTTPForbidden + when 403 ServiceResult.failure(result: :forbidden, errors: ::Storages::StorageError.new(code: :forbidden, data: error_data)) - when Net::HTTPUnauthorized + when 401 ServiceResult.failure(result: :unauthorized, errors: ::Storages::StorageError.new(code: :unauthorized, data: error_data)) else diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/open_file_link_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/open_file_link_query.rb index 1c539ce39e7f..5293235f64fb 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/open_file_link_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/open_file_link_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/open_storage_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/open_storage_query.rb index 57b6be0c4196..6d60844943c0 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/open_storage_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/open_storage_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -51,27 +51,27 @@ def call(user:) private def request_drive(token) - response_data = Net::HTTP.start(@uri.host, @uri.port, use_ssl: true) do |http| - http.get(drive_uri_path, { 'Authorization' => "Bearer #{token.access_token}" }) - end - - handle_responses(response_data) + response = HTTPX.get( + Util.join_uri_path(@uri, drive_uri_path), + headers: { 'Authorization' => "Bearer #{token.access_token}" } + ) + handle_responses(response) end def handle_responses(response) - json = MultiJson.load(response.body, symbolize_keys: true) + json = MultiJson.load(response.body.to_s, symbolize_keys: true) error_data = ::Storages::StorageErrorData.new(source: self, payload: json) - case response - when Net::HTTPSuccess + case response.status + when 200..299 ServiceResult.success(result: json) - when Net::HTTPNotFound + when 404 ServiceResult.failure(result: :not_found, errors: ::Storages::StorageError.new(code: :not_found, data: error_data)) - when Net::HTTPForbidden + when 403 ServiceResult.failure(result: :forbidden, errors: ::Storages::StorageError.new(code: :forbidden, data: error_data)) - when Net::HTTPUnauthorized + when 401 ServiceResult.failure(result: :unauthorized, errors: ::Storages::StorageError.new(code: :unauthorized, data: error_data)) else diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/upload_link_query.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/upload_link_query.rb index 582a2a5bda1e..6093cb9f888a 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/upload_link_query.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/upload_link_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -46,11 +46,13 @@ def call(user:, data:) folder, filename = data.slice('parent', 'file_name').values Util.using_user_token(@storage, user) do |token| - response = Net::HTTP.start(@uri.host, @uri.port, use_ssl: true) do |http| - http.post(uri_path_for(folder, filename), - payload(filename), - { 'Authorization' => "Bearer #{token.access_token}", 'Content-Type' => 'application/json' }) - end + response = HTTPX + .with(headers: { 'Authorization' => "Bearer #{token.access_token}", + 'Content-Type' => 'application/json' }) + .post( + Util.join_uri_path(@uri, uri_path_for(folder, filename)), + json: payload(filename) + ) handle_response(response) end @@ -59,17 +61,17 @@ def call(user:, data:) private def payload(filename) - { item: { "@microsoft.graph.conflictBehavior" => "rename", name: filename } }.to_json + { item: { "@microsoft.graph.conflictBehavior" => "rename", name: filename } } end def handle_response(response) - case response - when Net::HTTPSuccess + case response.status + when 200..299 upload_url = MultiJson.load(response.body, symbolize_keys: true)[:uploadUrl] ServiceResult.success(result: ::Storages::UploadLink.new(URI(upload_url), :put)) - when Net::HTTPNotFound + when 404 ServiceResult.failure(result: :not_found, errors: ::Storages::StorageError.new(code: :not_found)) - when Net::HTTPUnauthorized + when 401 ServiceResult.failure(result: :unauthorized, errors: ::Storages::StorageError.new(code: :unauthorized)) else ServiceResult.failure(result: :error, errors: ::Storages::StorageError.new(code: :error)) diff --git a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/util.rb b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/util.rb index 293b76519f32..dfb8a78e4791 100644 --- a/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/util.rb +++ b/modules/storages/app/common/storages/peripherals/storage_interaction/one_drive/util.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -58,5 +58,20 @@ def using_user_token(storage, user, &) end ) end + + def join_uri_path(uri, *) + # We use `File.join` to ensure single `/` in between every part. This API will break if executed on a + # Windows context, as it used `\` as file separators. But we anticipate that OpenProject + # Server is not run on a Windows context. + # URI::join cannot be used, as it behaves very different for the path parts depending on trailing slashes. + File.join(uri.to_s, *) + end + + def extract_location(parent_reference, file_name = '') + location = parent_reference[:path].gsub(/.*root:/, '') + + appendix = file_name.blank? ? '' : "/#{file_name}" + location.empty? ? "/#{file_name}" : "#{location}#{appendix}" + end end end diff --git a/modules/storages/app/common/storages/peripherals/storage_parent_folder_extractor.rb b/modules/storages/app/common/storages/peripherals/storage_parent_folder_extractor.rb index b4c7388111bd..5469199df27f 100644 --- a/modules/storages/app/common/storages/peripherals/storage_parent_folder_extractor.rb +++ b/modules/storages/app/common/storages/peripherals/storage_parent_folder_extractor.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/automatically_managed_project_folders_info_component.rb b/modules/storages/app/components/storages/admin/automatically_managed_project_folders_info_component.rb index cc1e83256b2b..83e35ba0931a 100644 --- a/modules/storages/app/components/storages/admin/automatically_managed_project_folders_info_component.rb +++ b/modules/storages/app/components/storages/admin/automatically_managed_project_folders_info_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/forms/automatically_managed_project_folders_form_component.html.erb b/modules/storages/app/components/storages/admin/forms/automatically_managed_project_folders_form_component.html.erb index 9da1053623c9..b4a0741049d4 100644 --- a/modules/storages/app/components/storages/admin/forms/automatically_managed_project_folders_form_component.html.erb +++ b/modules/storages/app/components/storages/admin/forms/automatically_managed_project_folders_form_component.html.erb @@ -7,7 +7,7 @@ data: { controller: "storages--automatically-managed-project-folders-form", 'application-target': "dynamic", - 'storages--automatically-managed-project-folders-form-is-automatically-managed-value': storage.automatically_managed?, + 'storages--automatically-managed-project-folders-form-is-automatically-managed-value': storage.automatic_management_enabled?, 'storages--automatically-managed-project-folders-form-done-complete-label-value': I18n.t("storages.buttons.done_complete_setup"), 'storages--automatically-managed-project-folders-form-done-complete-without-label-value': I18n.t("storages.buttons.complete_without_setup"), } @@ -22,7 +22,7 @@ end project_folders_form.with_row(mb: 3) do - render(Storages::Admin::ManagedProjectFolders::AutomaticallyManagedCheckbox.new(form, storage:)) + render(Storages::Admin::ManagedProjectFolders::AutomaticManagementCheckbox.new(form, storage:)) end project_folders_form.with_row(mb: 3, diff --git a/modules/storages/app/components/storages/admin/forms/automatically_managed_project_folders_form_component.rb b/modules/storages/app/components/storages/admin/forms/automatically_managed_project_folders_form_component.rb index 0a95ca480922..b513850f7162 100644 --- a/modules/storages/app/components/storages/admin/forms/automatically_managed_project_folders_form_component.rb +++ b/modules/storages/app/components/storages/admin/forms/automatically_managed_project_folders_form_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -58,7 +58,7 @@ def cancel_button_options private def submit_button_label - if storage.automatically_managed? + if storage.automatic_management_enabled? I18n.t("storages.buttons.done_complete_setup") else I18n.t("storages.buttons.complete_without_setup") @@ -67,7 +67,7 @@ def submit_button_label def application_password_display_options {}.tap do |options_hash| - options_hash[:display] = :none unless storage.automatically_managed? + options_hash[:display] = :none unless storage.automatic_management_enabled? end end diff --git a/modules/storages/app/components/storages/admin/forms/general_info_form_component.rb b/modules/storages/app/components/storages/admin/forms/general_info_form_component.rb index 1d48a6822462..ffd886f32e1b 100644 --- a/modules/storages/app/components/storages/admin/forms/general_info_form_component.rb +++ b/modules/storages/app/components/storages/admin/forms/general_info_form_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/forms/oauth_client_form_component.rb b/modules/storages/app/components/storages/admin/forms/oauth_client_form_component.rb index 202d58b91899..52c4dc0c293e 100644 --- a/modules/storages/app/components/storages/admin/forms/oauth_client_form_component.rb +++ b/modules/storages/app/components/storages/admin/forms/oauth_client_form_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/forms/redirect_uri_form_component.rb b/modules/storages/app/components/storages/admin/forms/redirect_uri_form_component.rb index 67d1e4463358..094d528d8802 100644 --- a/modules/storages/app/components/storages/admin/forms/redirect_uri_form_component.rb +++ b/modules/storages/app/components/storages/admin/forms/redirect_uri_form_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/general_info_component.rb b/modules/storages/app/components/storages/admin/general_info_component.rb index ad3dc0c61c0d..251bb08fce63 100644 --- a/modules/storages/app/components/storages/admin/general_info_component.rb +++ b/modules/storages/app/components/storages/admin/general_info_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/health_status_component.rb b/modules/storages/app/components/storages/admin/health_status_component.rb index 0e69b8b0c786..0df9492fb92e 100644 --- a/modules/storages/app/components/storages/admin/health_status_component.rb +++ b/modules/storages/app/components/storages/admin/health_status_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/new_storage_button_component.rb b/modules/storages/app/components/storages/admin/new_storage_button_component.rb index d46c66385b8b..690c155e608c 100644 --- a/modules/storages/app/components/storages/admin/new_storage_button_component.rb +++ b/modules/storages/app/components/storages/admin/new_storage_button_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/oauth_application_info_component.html.erb b/modules/storages/app/components/storages/admin/oauth_application_info_component.html.erb index e8362189ff1a..f3fbfa3abcc0 100644 --- a/modules/storages/app/components/storages/admin/oauth_application_info_component.html.erb +++ b/modules/storages/app/components/storages/admin/oauth_application_info_component.html.erb @@ -5,7 +5,11 @@ concat(configuration_check_label_for(:openproject_oauth_application_configured)) end - grid.with_area(:description, tag: :div, color: :subtle, test_selector: 'storage-openproject-oauth-application-description') do + grid.with_area(:description, + classes: 'wb-break-word', + tag: :div, + color: :subtle, + test_selector: 'storage-openproject-oauth-application-description') do render(Primer::Beta::Text.new) { openproject_oauth_client_description } end diff --git a/modules/storages/app/components/storages/admin/oauth_application_info_component.rb b/modules/storages/app/components/storages/admin/oauth_application_info_component.rb index 13caa32fb210..5df3bd1ea3aa 100644 --- a/modules/storages/app/components/storages/admin/oauth_application_info_component.rb +++ b/modules/storages/app/components/storages/admin/oauth_application_info_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/oauth_application_info_copy_component.rb b/modules/storages/app/components/storages/admin/oauth_application_info_copy_component.rb index 705e8fed8e18..d5e9fe7e6c07 100644 --- a/modules/storages/app/components/storages/admin/oauth_application_info_copy_component.rb +++ b/modules/storages/app/components/storages/admin/oauth_application_info_copy_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/oauth_client_info_component.html.erb b/modules/storages/app/components/storages/admin/oauth_client_info_component.html.erb index 1444be2c9287..1ac8f96901b2 100644 --- a/modules/storages/app/components/storages/admin/oauth_client_info_component.html.erb +++ b/modules/storages/app/components/storages/admin/oauth_client_info_component.html.erb @@ -9,7 +9,11 @@ concat(configuration_check_label_for(:storage_oauth_client_configured)) end - grid.with_area(:description, tag: :div, color: :subtle, test_selector: 'storage-oauth-client-id-description') do + grid.with_area(:description, + classes: 'wb-break-word', + tag: :div, + color: :subtle, + test_selector: 'storage-oauth-client-id-description') do render(Primer::Beta::Text.new) { provider_oauth_client_description } end diff --git a/modules/storages/app/components/storages/admin/oauth_client_info_component.rb b/modules/storages/app/components/storages/admin/oauth_client_info_component.rb index 1026081b3f31..ac59fc72575f 100644 --- a/modules/storages/app/components/storages/admin/oauth_client_info_component.rb +++ b/modules/storages/app/components/storages/admin/oauth_client_info_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/redirect_uri_component.rb b/modules/storages/app/components/storages/admin/redirect_uri_component.rb index 1fd9c5f8af27..99583f8a51a6 100644 --- a/modules/storages/app/components/storages/admin/redirect_uri_component.rb +++ b/modules/storages/app/components/storages/admin/redirect_uri_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/row_component.rb b/modules/storages/app/components/storages/admin/row_component.rb index 0679dc827e04..bba7d8ecd875 100644 --- a/modules/storages/app/components/storages/admin/row_component.rb +++ b/modules/storages/app/components/storages/admin/row_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/storage_list_component.rb b/modules/storages/app/components/storages/admin/storage_list_component.rb index f8aa797d8443..1901decece57 100644 --- a/modules/storages/app/components/storages/admin/storage_list_component.rb +++ b/modules/storages/app/components/storages/admin/storage_list_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/storage_view_component.rb b/modules/storages/app/components/storages/admin/storage_view_component.rb index 650d075cb424..6668bde2a413 100644 --- a/modules/storages/app/components/storages/admin/storage_view_component.rb +++ b/modules/storages/app/components/storages/admin/storage_view_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/admin/storage_view_information.rb b/modules/storages/app/components/storages/admin/storage_view_information.rb index ccb00e328513..c971ff0f34ab 100644 --- a/modules/storages/app/components/storages/admin/storage_view_information.rb +++ b/modules/storages/app/components/storages/admin/storage_view_information.rb @@ -43,7 +43,7 @@ def automatically_managed_project_folders_status_label test_selector = 'label-managed-project-folders-status' - if storage.automatically_managed? + if storage.automatic_management_enabled? status_label(I18n.t('storages.label_active'), scheme: :success, test_selector:) elsif storage.automatic_management_unspecified? status_label(I18n.t('storages.label_incomplete'), scheme: :attention, test_selector:) diff --git a/modules/storages/app/components/storages/admin/table_component.rb b/modules/storages/app/components/storages/admin/table_component.rb index 6340f4ce355a..ff17ecd5f74b 100644 --- a/modules/storages/app/components/storages/admin/table_component.rb +++ b/modules/storages/app/components/storages/admin/table_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/open_project_storage_modal_component.rb b/modules/storages/app/components/storages/open_project_storage_modal_component.rb index df4584cd065d..802f120ef4c1 100644 --- a/modules/storages/app/components/storages/open_project_storage_modal_component.rb +++ b/modules/storages/app/components/storages/open_project_storage_modal_component.rb @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/open_project_storage_modal_component/body.rb b/modules/storages/app/components/storages/open_project_storage_modal_component/body.rb index 78b4c8d00fca..2f96fb17c538 100644 --- a/modules/storages/app/components/storages/open_project_storage_modal_component/body.rb +++ b/modules/storages/app/components/storages/open_project_storage_modal_component/body.rb @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/project_storages/members/row_component.rb b/modules/storages/app/components/storages/project_storages/members/row_component.rb index 697d029d6a95..4b7587a5a460 100644 --- a/modules/storages/app/components/storages/project_storages/members/row_component.rb +++ b/modules/storages/app/components/storages/project_storages/members/row_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/project_storages/members/table_component.rb b/modules/storages/app/components/storages/project_storages/members/table_component.rb index 5021d090e7a8..12cec49d6c20 100644 --- a/modules/storages/app/components/storages/project_storages/members/table_component.rb +++ b/modules/storages/app/components/storages/project_storages/members/table_component.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/components/storages/project_storages/row_component.rb b/modules/storages/app/components/storages/project_storages/row_component.rb index 67876f683865..cc52af6c0022 100644 --- a/modules/storages/app/components/storages/project_storages/row_component.rb +++ b/modules/storages/app/components/storages/project_storages/row_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -50,8 +50,7 @@ def creator end def button_links - links = [delete_link] - links.prepend(edit_link) if project_storage.storage.provider_type_nextcloud? + links = [edit_link, delete_link] links.prepend(members_connection_status_link) if project_storage.project_folder_automatic? links diff --git a/modules/storages/app/components/storages/project_storages/table_component.rb b/modules/storages/app/components/storages/project_storages/table_component.rb index 4c58c59403b5..bfc3fdf342f0 100644 --- a/modules/storages/app/components/storages/project_storages/table_component.rb +++ b/modules/storages/app/components/storages/project_storages/table_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/constants/storages/admin.rb b/modules/storages/app/constants/storages/admin.rb index b0e8c49c0f8b..28785d3c3a21 100644 --- a/modules/storages/app/constants/storages/admin.rb +++ b/modules/storages/app/constants/storages/admin.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/file_links/create_contract.rb b/modules/storages/app/contracts/storages/file_links/create_contract.rb index d1fb3badadfb..153ea0148aa8 100644 --- a/modules/storages/app/contracts/storages/file_links/create_contract.rb +++ b/modules/storages/app/contracts/storages/file_links/create_contract.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/file_links/delete_contract.rb b/modules/storages/app/contracts/storages/file_links/delete_contract.rb index 3f2e12236d99..fd7f9200c735 100644 --- a/modules/storages/app/contracts/storages/file_links/delete_contract.rb +++ b/modules/storages/app/contracts/storages/file_links/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/last_project_folders/base_contract.rb b/modules/storages/app/contracts/storages/last_project_folders/base_contract.rb index e49fbc4e973e..9edc039b35b7 100644 --- a/modules/storages/app/contracts/storages/last_project_folders/base_contract.rb +++ b/modules/storages/app/contracts/storages/last_project_folders/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/last_project_folders/create_contract.rb b/modules/storages/app/contracts/storages/last_project_folders/create_contract.rb index 6eaa5a3e0834..c074c396130d 100644 --- a/modules/storages/app/contracts/storages/last_project_folders/create_contract.rb +++ b/modules/storages/app/contracts/storages/last_project_folders/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/last_project_folders/delete_contract.rb b/modules/storages/app/contracts/storages/last_project_folders/delete_contract.rb index e5f2414e65bf..4c4841ee2a58 100644 --- a/modules/storages/app/contracts/storages/last_project_folders/delete_contract.rb +++ b/modules/storages/app/contracts/storages/last_project_folders/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/last_project_folders/update_contract.rb b/modules/storages/app/contracts/storages/last_project_folders/update_contract.rb index 3231c009d218..7cd4a1a1c6d3 100644 --- a/modules/storages/app/contracts/storages/last_project_folders/update_contract.rb +++ b/modules/storages/app/contracts/storages/last_project_folders/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/project_storages/base_contract.rb b/modules/storages/app/contracts/storages/project_storages/base_contract.rb index 896572111781..f37e2c0dbb99 100644 --- a/modules/storages/app/contracts/storages/project_storages/base_contract.rb +++ b/modules/storages/app/contracts/storages/project_storages/base_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/project_storages/concerns/manage_storages_guarded.rb b/modules/storages/app/contracts/storages/project_storages/concerns/manage_storages_guarded.rb index a81f3c281952..34a87b602790 100644 --- a/modules/storages/app/contracts/storages/project_storages/concerns/manage_storages_guarded.rb +++ b/modules/storages/app/contracts/storages/project_storages/concerns/manage_storages_guarded.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/project_storages/create_contract.rb b/modules/storages/app/contracts/storages/project_storages/create_contract.rb index 634da0861cbb..ff67e474fb04 100644 --- a/modules/storages/app/contracts/storages/project_storages/create_contract.rb +++ b/modules/storages/app/contracts/storages/project_storages/create_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/project_storages/delete_contract.rb b/modules/storages/app/contracts/storages/project_storages/delete_contract.rb index 693c4f90f2be..717fdf4656ab 100644 --- a/modules/storages/app/contracts/storages/project_storages/delete_contract.rb +++ b/modules/storages/app/contracts/storages/project_storages/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/project_storages/update_contract.rb b/modules/storages/app/contracts/storages/project_storages/update_contract.rb index 30e6c31cc297..fa9c471f57f2 100644 --- a/modules/storages/app/contracts/storages/project_storages/update_contract.rb +++ b/modules/storages/app/contracts/storages/project_storages/update_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/storages/base_contract.rb b/modules/storages/app/contracts/storages/storages/base_contract.rb index 6170682b0454..e58534aa8aad 100644 --- a/modules/storages/app/contracts/storages/storages/base_contract.rb +++ b/modules/storages/app/contracts/storages/storages/base_contract.rb @@ -2,7 +2,7 @@ # -- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/storages/concerns/manage_storages_guarded.rb b/modules/storages/app/contracts/storages/storages/concerns/manage_storages_guarded.rb index c397895231b5..44eec02b1b8d 100644 --- a/modules/storages/app/contracts/storages/storages/concerns/manage_storages_guarded.rb +++ b/modules/storages/app/contracts/storages/storages/concerns/manage_storages_guarded.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/storages/create_contract.rb b/modules/storages/app/contracts/storages/storages/create_contract.rb index 2dc320290ea3..d605623e8e8b 100644 --- a/modules/storages/app/contracts/storages/storages/create_contract.rb +++ b/modules/storages/app/contracts/storages/storages/create_contract.rb @@ -2,7 +2,7 @@ # -- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/storages/delete_contract.rb b/modules/storages/app/contracts/storages/storages/delete_contract.rb index 899b168a3700..fef0efb6c437 100644 --- a/modules/storages/app/contracts/storages/storages/delete_contract.rb +++ b/modules/storages/app/contracts/storages/storages/delete_contract.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/storages/nextcloud_contract.rb b/modules/storages/app/contracts/storages/storages/nextcloud_contract.rb index 2948a92ede63..feca633ea9de 100644 --- a/modules/storages/app/contracts/storages/storages/nextcloud_contract.rb +++ b/modules/storages/app/contracts/storages/storages/nextcloud_contract.rb @@ -2,7 +2,7 @@ # -- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -39,27 +39,27 @@ class NextcloudContract < ::ModelContract attribute :automatically_managed attribute :username - validates :username, presence: true, if: :nextcloud_storage_automatically_managed? + validates :username, presence: true, if: :nextcloud_storage_automatic_management_enabled? validates :username, absence: true, - unless: -> { nextcloud_storage_automatically_managed? || nextcloud_default_storage_username? } + unless: -> { nextcloud_storage_automatic_management_enabled? || nextcloud_default_storage_username? } attribute :password - validates :password, presence: true, if: :nextcloud_storage_automatically_managed? - validates :password, absence: true, unless: :nextcloud_storage_automatically_managed? + validates :password, presence: true, if: :nextcloud_storage_automatic_management_enabled? + validates :password, absence: true, unless: :nextcloud_storage_automatic_management_enabled? validate do - if nextcloud_storage_automatically_managed? && errors.exclude?(:host) && errors.exclude?(:password) + if nextcloud_storage_automatic_management_enabled? && errors.exclude?(:host) && errors.exclude?(:password) NextcloudApplicationCredentialsValidator.new(self).call end end private - def nextcloud_storage_automatically_managed? + def nextcloud_storage_automatic_management_enabled? return false unless nextcloud_storage? - @model.automatically_managed? + @model.automatic_management_enabled? end def nextcloud_default_storage_username? diff --git a/modules/storages/app/contracts/storages/storages/one_drive_contract.rb b/modules/storages/app/contracts/storages/storages/one_drive_contract.rb index fb293f0aaf01..f83fccf6307a 100644 --- a/modules/storages/app/contracts/storages/storages/one_drive_contract.rb +++ b/modules/storages/app/contracts/storages/storages/one_drive_contract.rb @@ -2,7 +2,7 @@ # -- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/contracts/storages/storages/update_contract.rb b/modules/storages/app/contracts/storages/storages/update_contract.rb index f078aa54566f..635ed5b839e1 100644 --- a/modules/storages/app/contracts/storages/storages/update_contract.rb +++ b/modules/storages/app/contracts/storages/storages/update_contract.rb @@ -2,7 +2,7 @@ # -- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/controllers/storages/admin/automatically_managed_project_folders_controller.rb b/modules/storages/app/controllers/storages/admin/automatically_managed_project_folders_controller.rb index 8915bd2beba0..8baa2b509517 100644 --- a/modules/storages/app/controllers/storages/admin/automatically_managed_project_folders_controller.rb +++ b/modules/storages/app/controllers/storages/admin/automatically_managed_project_folders_controller.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -144,7 +144,7 @@ def permitted_storage_params_with_defaults permitted_storage_params.tap do |permitted_params| # If a checkbox is unchecked when its form is submitted, neither the name nor the value is submitted to the server. # See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox - permitted_params.merge!(automatically_managed: false) unless permitted_params.key?('automatically_managed') + permitted_params.merge!(automatic_management_enabled: false) unless permitted_params.key?('automatic_management_enabled') end end @@ -153,6 +153,6 @@ def permitted_storage_params_with_defaults def permitted_storage_params params .require(:storages_nextcloud_storage) - .permit('automatically_managed', 'password') + .permit('automatic_management_enabled', 'password') end end diff --git a/modules/storages/app/controllers/storages/admin/oauth_clients_controller.rb b/modules/storages/app/controllers/storages/admin/oauth_clients_controller.rb index 8e1f649b4640..dd5606725c3f 100644 --- a/modules/storages/app/controllers/storages/admin/oauth_clients_controller.rb +++ b/modules/storages/app/controllers/storages/admin/oauth_clients_controller.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/controllers/storages/admin/project_storages_controller.rb b/modules/storages/app/controllers/storages/admin/project_storages_controller.rb index f2fc25f6ee05..285311a24b9f 100644 --- a/modules/storages/app/controllers/storages/admin/project_storages_controller.rb +++ b/modules/storages/app/controllers/storages/admin/project_storages_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -73,11 +73,7 @@ def new .result @last_project_folders = {} - if @project_storage.storage.present? && @project_storage.storage.provider_type_one_drive? - create - else - render template: '/storages/project_settings/new' - end + render template: '/storages/project_settings/new' end # Create a new ProjectStorage object. diff --git a/modules/storages/app/controllers/storages/admin/storages_controller.rb b/modules/storages/app/controllers/storages/admin/storages_controller.rb index 59a256e27092..a9f288319dff 100644 --- a/modules/storages/app/controllers/storages/admin/storages_controller.rb +++ b/modules/storages/app/controllers/storages/admin/storages_controller.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/controllers/storages/project_settings/project_storage_members_controller.rb b/modules/storages/app/controllers/storages/project_settings/project_storage_members_controller.rb index 5ff4679e99c1..4b54c207765a 100644 --- a/modules/storages/app/controllers/storages/project_settings/project_storage_members_controller.rb +++ b/modules/storages/app/controllers/storages/project_settings/project_storage_members_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/controllers/storages/project_storages_controller.rb b/modules/storages/app/controllers/storages/project_storages_controller.rb index 1e2208a899fe..0e3cd9ffd94e 100644 --- a/modules/storages/app/controllers/storages/project_storages_controller.rb +++ b/modules/storages/app/controllers/storages/project_storages_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/forms/storages/admin/managed_project_folders/application_password_input.rb b/modules/storages/app/forms/storages/admin/managed_project_folders/application_password_input.rb index 7489cd6923c3..780a63cd8e5c 100644 --- a/modules/storages/app/forms/storages/admin/managed_project_folders/application_password_input.rb +++ b/modules/storages/app/forms/storages/admin/managed_project_folders/application_password_input.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/forms/storages/admin/managed_project_folders/automatically_managed_checkbox.rb b/modules/storages/app/forms/storages/admin/managed_project_folders/automatic_management_checkbox.rb similarity index 84% rename from modules/storages/app/forms/storages/admin/managed_project_folders/automatically_managed_checkbox.rb rename to modules/storages/app/forms/storages/admin/managed_project_folders/automatic_management_checkbox.rb index fb59553273b0..cfc7d0e54f38 100644 --- a/modules/storages/app/forms/storages/admin/managed_project_folders/automatically_managed_checkbox.rb +++ b/modules/storages/app/forms/storages/admin/managed_project_folders/automatic_management_checkbox.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,12 +27,12 @@ #++ module Storages::Admin::ManagedProjectFolders - class AutomaticallyManagedCheckbox < ApplicationForm - form do |automatically_managed_form| - automatically_managed_form.check_box( - name: :automatically_managed, + class AutomaticManagementCheckbox < ApplicationForm + form do |automatic_management_form| + automatic_management_form.check_box( + name: :automatic_management_enabled, label: I18n.t(:'storages.label_managed_project_folders.automatically_managed_folders'), - checked: @storage.automatically_managed?, + checked: @storage.automatic_management_enabled?, required: true, data: { action: 'change->storages--automatically-managed-project-folders-form#updateDisplay' diff --git a/modules/storages/app/forms/storages/admin/oauth_client_form.rb b/modules/storages/app/forms/storages/admin/oauth_client_form.rb index 52aa69c0dd8d..58304f42ad78 100644 --- a/modules/storages/app/forms/storages/admin/oauth_client_form.rb +++ b/modules/storages/app/forms/storages/admin/oauth_client_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/forms/storages/admin/provider_drive_id_input_form.rb b/modules/storages/app/forms/storages/admin/provider_drive_id_input_form.rb index 5510722cde31..0d53b78c5147 100644 --- a/modules/storages/app/forms/storages/admin/provider_drive_id_input_form.rb +++ b/modules/storages/app/forms/storages/admin/provider_drive_id_input_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/forms/storages/admin/provider_host_input_form.rb b/modules/storages/app/forms/storages/admin/provider_host_input_form.rb index c671d4b2431b..0e91e5215957 100644 --- a/modules/storages/app/forms/storages/admin/provider_host_input_form.rb +++ b/modules/storages/app/forms/storages/admin/provider_host_input_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/forms/storages/admin/provider_name_input_form.rb b/modules/storages/app/forms/storages/admin/provider_name_input_form.rb index d0f4650c0263..5144ba6ad5a8 100644 --- a/modules/storages/app/forms/storages/admin/provider_name_input_form.rb +++ b/modules/storages/app/forms/storages/admin/provider_name_input_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/forms/storages/admin/provider_tenant_id_input_form.rb b/modules/storages/app/forms/storages/admin/provider_tenant_id_input_form.rb index 271df877fb90..553f1536f733 100644 --- a/modules/storages/app/forms/storages/admin/provider_tenant_id_input_form.rb +++ b/modules/storages/app/forms/storages/admin/provider_tenant_id_input_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/forms/storages/admin/provider_type_hidden_input_form.rb b/modules/storages/app/forms/storages/admin/provider_type_hidden_input_form.rb index 6abdf03bb951..00d72f3c3b72 100644 --- a/modules/storages/app/forms/storages/admin/provider_type_hidden_input_form.rb +++ b/modules/storages/app/forms/storages/admin/provider_type_hidden_input_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/forms/storages/admin/submit_or_cancel_form.rb b/modules/storages/app/forms/storages/admin/submit_or_cancel_form.rb index 0bc365e2bceb..e6a8b227aca0 100644 --- a/modules/storages/app/forms/storages/admin/submit_or_cancel_form.rb +++ b/modules/storages/app/forms/storages/admin/submit_or_cancel_form.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/helpers/storage_login_helper.rb b/modules/storages/app/helpers/storage_login_helper.rb index c4f946dd0c1a..7d0c5a0a785c 100644 --- a/modules/storages/app/helpers/storage_login_helper.rb +++ b/modules/storages/app/helpers/storage_login_helper.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/file_links/file_link_query.rb b/modules/storages/app/models/queries/storages/file_links/file_link_query.rb index 791b81273402..ab61781f0f08 100644 --- a/modules/storages/app/models/queries/storages/file_links/file_link_query.rb +++ b/modules/storages/app/models/queries/storages/file_links/file_link_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/file_links/filter/storage_filter.rb b/modules/storages/app/models/queries/storages/file_links/filter/storage_filter.rb index a8d42929c472..8bf46c738bb6 100644 --- a/modules/storages/app/models/queries/storages/file_links/filter/storage_filter.rb +++ b/modules/storages/app/models/queries/storages/file_links/filter/storage_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/project_storages/filter/project_id_filter.rb b/modules/storages/app/models/queries/storages/project_storages/filter/project_id_filter.rb index 0fb4c64d64c5..8d84220d49fb 100644 --- a/modules/storages/app/models/queries/storages/project_storages/filter/project_id_filter.rb +++ b/modules/storages/app/models/queries/storages/project_storages/filter/project_id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/project_storages/filter/storage_id_filter.rb b/modules/storages/app/models/queries/storages/project_storages/filter/storage_id_filter.rb index 5b0114b4928a..4bcb3891129b 100644 --- a/modules/storages/app/models/queries/storages/project_storages/filter/storage_id_filter.rb +++ b/modules/storages/app/models/queries/storages/project_storages/filter/storage_id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/project_storages/filter/storage_url_filter.rb b/modules/storages/app/models/queries/storages/project_storages/filter/storage_url_filter.rb index 6d233de287a2..cfb7d558abc2 100644 --- a/modules/storages/app/models/queries/storages/project_storages/filter/storage_url_filter.rb +++ b/modules/storages/app/models/queries/storages/project_storages/filter/storage_url_filter.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/project_storages/project_storages_query.rb b/modules/storages/app/models/queries/storages/project_storages/project_storages_query.rb index c4aa3f99b409..297d95e2a42a 100644 --- a/modules/storages/app/models/queries/storages/project_storages/project_storages_query.rb +++ b/modules/storages/app/models/queries/storages/project_storages/project_storages_query.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/projects/filter/storage_filter_mixin.rb b/modules/storages/app/models/queries/storages/projects/filter/storage_filter_mixin.rb index 63aace951ad1..20d2a0f590fa 100644 --- a/modules/storages/app/models/queries/storages/projects/filter/storage_filter_mixin.rb +++ b/modules/storages/app/models/queries/storages/projects/filter/storage_filter_mixin.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/projects/filter/storage_id_filter.rb b/modules/storages/app/models/queries/storages/projects/filter/storage_id_filter.rb index 43d3b1d29d9a..f0ad24f67199 100644 --- a/modules/storages/app/models/queries/storages/projects/filter/storage_id_filter.rb +++ b/modules/storages/app/models/queries/storages/projects/filter/storage_id_filter.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/projects/filter/storage_url_filter.rb b/modules/storages/app/models/queries/storages/projects/filter/storage_url_filter.rb index 45a3e1710bc8..ad5ffc066e95 100644 --- a/modules/storages/app/models/queries/storages/projects/filter/storage_url_filter.rb +++ b/modules/storages/app/models/queries/storages/projects/filter/storage_url_filter.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/storages/storage_query.rb b/modules/storages/app/models/queries/storages/storages/storage_query.rb index 6a81e0466ac9..1fb0577d906f 100644 --- a/modules/storages/app/models/queries/storages/storages/storage_query.rb +++ b/modules/storages/app/models/queries/storages/storages/storage_query.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/work_packages/filter/file_link_origin_id_filter.rb b/modules/storages/app/models/queries/storages/work_packages/filter/file_link_origin_id_filter.rb index e3291a4b733e..3f0162c41267 100644 --- a/modules/storages/app/models/queries/storages/work_packages/filter/file_link_origin_id_filter.rb +++ b/modules/storages/app/models/queries/storages/work_packages/filter/file_link_origin_id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/work_packages/filter/linkable_to_storage_id_filter.rb b/modules/storages/app/models/queries/storages/work_packages/filter/linkable_to_storage_id_filter.rb index 293e947120d9..ca5bbcd169a6 100644 --- a/modules/storages/app/models/queries/storages/work_packages/filter/linkable_to_storage_id_filter.rb +++ b/modules/storages/app/models/queries/storages/work_packages/filter/linkable_to_storage_id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/work_packages/filter/linkable_to_storage_url_filter.rb b/modules/storages/app/models/queries/storages/work_packages/filter/linkable_to_storage_url_filter.rb index a7595593c006..0e48e89526bd 100644 --- a/modules/storages/app/models/queries/storages/work_packages/filter/linkable_to_storage_url_filter.rb +++ b/modules/storages/app/models/queries/storages/work_packages/filter/linkable_to_storage_url_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/work_packages/filter/storage_id_filter.rb b/modules/storages/app/models/queries/storages/work_packages/filter/storage_id_filter.rb index 10c629210471..0bd491f516bc 100644 --- a/modules/storages/app/models/queries/storages/work_packages/filter/storage_id_filter.rb +++ b/modules/storages/app/models/queries/storages/work_packages/filter/storage_id_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/work_packages/filter/storage_url_filter.rb b/modules/storages/app/models/queries/storages/work_packages/filter/storage_url_filter.rb index 01479855b04c..865fecb2918f 100644 --- a/modules/storages/app/models/queries/storages/work_packages/filter/storage_url_filter.rb +++ b/modules/storages/app/models/queries/storages/work_packages/filter/storage_url_filter.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/queries/storages/work_packages/filter/storages_filter_mixin.rb b/modules/storages/app/models/queries/storages/work_packages/filter/storages_filter_mixin.rb index 5eb00fa4443a..49827f6b74f5 100644 --- a/modules/storages/app/models/queries/storages/work_packages/filter/storages_filter_mixin.rb +++ b/modules/storages/app/models/queries/storages/work_packages/filter/storages_filter_mixin.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/storages/file_link.rb b/modules/storages/app/models/storages/file_link.rb index 07d1210a17cf..150f7eaa6d7b 100644 --- a/modules/storages/app/models/storages/file_link.rb +++ b/modules/storages/app/models/storages/file_link.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,42 +26,21 @@ # See COPYRIGHT and LICENSE files for more details. #++ -# A FileLink represents a single file stored in some Storage -# (currently basically a Nextcloud store). Additional attributes -# and constraints are defined in db/migrate/20220113144759_create_file_links.rb -# FileLinks are attached to a "container", which currently has to -# be a WorkPackage. -# -# Purpose: The code below is a standard Ruby model: -# https://guides.rubyonrails.org/active_model_basics.html -# It defines defines checks and permissions on the Ruby level. -# Additional attributes and constraints are defined in -# db/migrate/20220113144759_create_file_links.rb migration. +# A FileLink represents a relation to a single file stored in some cloud file storage. +# Additional attributes and constraints are defined in db/migrate/20220113144759_create_file_links.rb +# FileLinks are attached to a "container", which currently has to be a WorkPackage. class Storages::FileLink < ApplicationRecord - # Every FileLink references its Storage. A "on delete cascade" is defined in - # the migration, so this FileLink will be deleted when deleting the Storage. belongs_to :storage - - # The object who created the FileLink should be of type User. belongs_to :creator, class_name: 'User' - - # FileLinks are attached to a container (currently a WorkPackage) - # Wieland: This needs to become more flexible in the future belongs_to :container, polymorphic: true - # Currently only WorkPackages are supported as containers for FileLinks - # For some reason this case is not handled in the belongs_to above. validates :container_type, inclusion: { in: ["WorkPackage", nil] } - - # origin_id is the Nextcloud ID of the file and should be valid. validates :origin_id, presence: true - # Is this file shared with me in Nextcloud? - # This attribute is _not_ to be stored in the DB - attr_writer :origin_permission + attr_writer :origin_status - def origin_permission - @origin_permission || nil + def origin_status + @origin_status || nil end delegate :project, to: :container diff --git a/modules/storages/app/models/storages/last_project_folder.rb b/modules/storages/app/models/storages/last_project_folder.rb index 701bf376c1c6..613ad557caa2 100644 --- a/modules/storages/app/models/storages/last_project_folder.rb +++ b/modules/storages/app/models/storages/last_project_folder.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/storages/nextcloud_storage.rb b/modules/storages/app/models/storages/nextcloud_storage.rb index 96d437c05e44..538e847d27b7 100644 --- a/modules/storages/app/models/storages/nextcloud_storage.rb +++ b/modules/storages/app/models/storages/nextcloud_storage.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ module Storages class NextcloudStorage < Storage PROVIDER_FIELDS_DEFAULTS = { - automatically_managed: true, + automatic_management_enabled: true, username: 'OpenProject' }.freeze @@ -41,12 +41,32 @@ class NextcloudStorage < Storage store_attribute :provider_fields, :group, :string store_attribute :provider_fields, :group_folder, :string - scope :automatically_managed, -> { where("provider_fields->>'automatically_managed' = 'true'") } + scope :automatic_management_enabled, -> { where("provider_fields->>'automatically_managed' = 'true'") } def oauth_configuration Peripherals::OAuthConfigurations::NextcloudConfiguration.new(self) end + def automatically_managed? + ActiveSupport::Deprecation.warn( + '`#automatically_managed?` is deprecated. Use `#automatic_management_enabled?` instead. ' \ + 'NOTE: The new method name better reflects the actual behavior of the storage. ' \ + "It's not the storage that is automatically managed, rather the Project (Storage) Folder is. " \ + "A storage only has this feature enabled or disabled." + ) + super + end + + def automatic_management_enabled=(value) + self.automatically_managed = value + end + + alias automatic_management_enabled automatically_managed + + def automatic_management_enabled? + !!automatically_managed + end + def automatic_management_new_record? if provider_fields_changed? previous_configuration = provider_fields_change.first diff --git a/modules/storages/app/models/storages/one_drive_storage.rb b/modules/storages/app/models/storages/one_drive_storage.rb index ef51cfd3314a..96f113f492ce 100644 --- a/modules/storages/app/models/storages/one_drive_storage.rb +++ b/modules/storages/app/models/storages/one_drive_storage.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/storages/project_storage.rb b/modules/storages/app/models/storages/project_storage.rb index f15b189dd747..34740da59074 100644 --- a/modules/storages/app/models/storages/project_storage.rb +++ b/modules/storages/app/models/storages/project_storage.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -51,11 +51,11 @@ class Storages::ProjectStorage < ApplicationRecord scope :active_nextcloud_automatically_managed, -> do automatic .active - .where(storages: Storages::NextcloudStorage.automatically_managed) + .where(storages: Storages::NextcloudStorage.automatic_management_enabled) end def automatic_management_possible? - storage.present? && storage.provider_type_nextcloud? && storage.automatically_managed? + storage.present? && storage.provider_type_nextcloud? && storage.automatic_management_enabled? end def project_folder_path diff --git a/modules/storages/app/models/storages/storage.rb b/modules/storages/app/models/storages/storage.rb index a94c37c95023..672930ebb18a 100644 --- a/modules/storages/app/models/storages/storage.rb +++ b/modules/storages/app/models/storages/storage.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/storages/storage/inexistent_storage.rb b/modules/storages/app/models/storages/storage/inexistent_storage.rb index d99a905ec130..4c0f92e4c847 100644 --- a/modules/storages/app/models/storages/storage/inexistent_storage.rb +++ b/modules/storages/app/models/storages/storage/inexistent_storage.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/storages/storage_error.rb b/modules/storages/app/models/storages/storage_error.rb index ce2f314d481a..cfa9232558db 100644 --- a/modules/storages/app/models/storages/storage_error.rb +++ b/modules/storages/app/models/storages/storage_error.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/storages/storage_error_data.rb b/modules/storages/app/models/storages/storage_error_data.rb index fce9b1785ee7..e6e4d5f2f547 100644 --- a/modules/storages/app/models/storages/storage_error_data.rb +++ b/modules/storages/app/models/storages/storage_error_data.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/storages/storage_file.rb b/modules/storages/app/models/storages/storage_file.rb index 40c4f008484a..0603dbe2b0d5 100644 --- a/modules/storages/app/models/storages/storage_file.rb +++ b/modules/storages/app/models/storages/storage_file.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/storages/storage_file_info.rb b/modules/storages/app/models/storages/storage_file_info.rb index 4bece7e87b99..35a7215856bb 100644 --- a/modules/storages/app/models/storages/storage_file_info.rb +++ b/modules/storages/app/models/storages/storage_file_info.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/storages/storage_files.rb b/modules/storages/app/models/storages/storage_files.rb index cf090ccbb9f1..600d9856637f 100644 --- a/modules/storages/app/models/storages/storage_files.rb +++ b/modules/storages/app/models/storages/storage_files.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/models/storages/upload_link.rb b/modules/storages/app/models/storages/upload_link.rb index 2b0b527733bb..f6d26ffd38c3 100644 --- a/modules/storages/app/models/storages/upload_link.rb +++ b/modules/storages/app/models/storages/upload_link.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/seeders/common.yml b/modules/storages/app/seeders/common.yml index 5bfc55082778..5b479528f855 100644 --- a/modules/storages/app/seeders/common.yml +++ b/modules/storages/app/seeders/common.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/projects/copy/file_links_dependent_service.rb b/modules/storages/app/services/projects/copy/file_links_dependent_service.rb index 354330de4b26..4c7ab9c4f757 100644 --- a/modules/storages/app/services/projects/copy/file_links_dependent_service.rb +++ b/modules/storages/app/services/projects/copy/file_links_dependent_service.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/projects/copy/storage_project_folders_dependent_service.rb b/modules/storages/app/services/projects/copy/storage_project_folders_dependent_service.rb index c83cc0473a99..1dc5a589db35 100644 --- a/modules/storages/app/services/projects/copy/storage_project_folders_dependent_service.rb +++ b/modules/storages/app/services/projects/copy/storage_project_folders_dependent_service.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/projects/copy/storages_dependent_service.rb b/modules/storages/app/services/projects/copy/storages_dependent_service.rb index 85fadcf137a3..a90c577ab15f 100644 --- a/modules/storages/app/services/projects/copy/storages_dependent_service.rb +++ b/modules/storages/app/services/projects/copy/storages_dependent_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/file_link_sync_service.rb b/modules/storages/app/services/storages/file_link_sync_service.rb index 93d2d572babc..cbf10178a1c4 100644 --- a/modules/storages/app/services/storages/file_link_sync_service.rb +++ b/modules/storages/app/services/storages/file_link_sync_service.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -58,10 +58,10 @@ def sync_storage_data(storage_id, file_links) .call(storage:, user: @user, file_ids: file_links.map(&:origin_id)) .map { |file_infos| to_hash(file_infos) } .match( - on_success: set_file_link_permissions(file_links), + on_success: set_file_link_status(file_links), on_failure: ->(_) { ServiceResult.success(result: file_links.map do |file_link| - file_link.origin_permission = :error + file_link.origin_status = :error file_link end) } @@ -72,7 +72,7 @@ def to_hash(file_infos) file_infos.index_by { |file_info| file_info.id.to_s }.to_h end - def set_file_link_permissions(file_links) + def set_file_link_status(file_links) ->(file_infos) do resulting_file_links = [] @@ -81,18 +81,15 @@ def set_file_link_permissions(file_links) case file_info.status_code when 200 - next if file_info.trashed - update_file_link(file_link, file_info) - file_link.origin_permission = :view + file_link.origin_status = :view_allowed when 403 - file_link.origin_permission = :not_allowed + file_link.origin_status = :view_not_allowed when 404 - file_link.destroy - next + file_link.origin_status = :not_found else - file_link.origin_permission = :error + file_link.origin_status = :error end resulting_file_links << file_link diff --git a/modules/storages/app/services/storages/file_links/create_service.rb b/modules/storages/app/services/storages/file_links/create_service.rb index 21c2d5b8809a..033c2fc1cad3 100644 --- a/modules/storages/app/services/storages/file_links/create_service.rb +++ b/modules/storages/app/services/storages/file_links/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/file_links/delete_service.rb b/modules/storages/app/services/storages/file_links/delete_service.rb index e5e979ce392a..7ca2e91eb11f 100644 --- a/modules/storages/app/services/storages/file_links/delete_service.rb +++ b/modules/storages/app/services/storages/file_links/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/file_links/set_attributes_service.rb b/modules/storages/app/services/storages/file_links/set_attributes_service.rb index 3ccc2a0d2eb9..44d55ed80609 100644 --- a/modules/storages/app/services/storages/file_links/set_attributes_service.rb +++ b/modules/storages/app/services/storages/file_links/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/group_folder_properties_sync_service.rb b/modules/storages/app/services/storages/group_folder_properties_sync_service.rb index 530e4682ffc6..f1f3a3d01546 100644 --- a/modules/storages/app/services/storages/group_folder_properties_sync_service.rb +++ b/modules/storages/app/services/storages/group_folder_properties_sync_service.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -263,7 +263,7 @@ def remote_group_users def format_and_log_error(error, context = {}) error_message = context.merge({ command: error.data.source, message: error.log_message, - data: { status: error.data.payload.code, body: error.data.payload.body } }) + data: { status: error.data.payload.status.to_s, body: error.data.payload.body.to_s } }) OpenProject.logger.warn error_message.to_json end diff --git a/modules/storages/app/services/storages/last_project_folders/create_service.rb b/modules/storages/app/services/storages/last_project_folders/create_service.rb index 05c5cf6a46c6..000270bab20d 100644 --- a/modules/storages/app/services/storages/last_project_folders/create_service.rb +++ b/modules/storages/app/services/storages/last_project_folders/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/last_project_folders/delete_service.rb b/modules/storages/app/services/storages/last_project_folders/delete_service.rb index 0aa8093a00d7..29ea26bbeff5 100644 --- a/modules/storages/app/services/storages/last_project_folders/delete_service.rb +++ b/modules/storages/app/services/storages/last_project_folders/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/last_project_folders/set_attributes_service.rb b/modules/storages/app/services/storages/last_project_folders/set_attributes_service.rb index 764ac5f64317..a18869c6ca47 100644 --- a/modules/storages/app/services/storages/last_project_folders/set_attributes_service.rb +++ b/modules/storages/app/services/storages/last_project_folders/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/last_project_folders/update_service.rb b/modules/storages/app/services/storages/last_project_folders/update_service.rb index a56c620f1d19..80e702192514 100644 --- a/modules/storages/app/services/storages/last_project_folders/update_service.rb +++ b/modules/storages/app/services/storages/last_project_folders/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/oauth_applications/create_service.rb b/modules/storages/app/services/storages/oauth_applications/create_service.rb index 03e3716cb01e..87906bac1a8d 100644 --- a/modules/storages/app/services/storages/oauth_applications/create_service.rb +++ b/modules/storages/app/services/storages/oauth_applications/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/project_storages/create_service.rb b/modules/storages/app/services/storages/project_storages/create_service.rb index b9ce5fffa574..d567d252b90e 100644 --- a/modules/storages/app/services/storages/project_storages/create_service.rb +++ b/modules/storages/app/services/storages/project_storages/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/project_storages/delete_service.rb b/modules/storages/app/services/storages/project_storages/delete_service.rb index 212d84e9057d..766736f4f3a7 100644 --- a/modules/storages/app/services/storages/project_storages/delete_service.rb +++ b/modules/storages/app/services/storages/project_storages/delete_service.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/project_storages/helper.rb b/modules/storages/app/services/storages/project_storages/helper.rb index 38072c205f43..da9d678f9513 100644 --- a/modules/storages/app/services/storages/project_storages/helper.rb +++ b/modules/storages/app/services/storages/project_storages/helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/project_storages/set_attributes_service.rb b/modules/storages/app/services/storages/project_storages/set_attributes_service.rb index 90e70b4a4625..28807e6442f4 100644 --- a/modules/storages/app/services/storages/project_storages/set_attributes_service.rb +++ b/modules/storages/app/services/storages/project_storages/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -36,7 +36,7 @@ def set_default_attributes(_params) project_storage.creator ||= user project_storage.project_folder_mode ||= - if storage.present? && storage.provider_type_nextcloud? && storage.automatically_managed? + if storage.present? && storage.provider_type_nextcloud? && storage.automatic_management_enabled? "automatic" else "inactive" diff --git a/modules/storages/app/services/storages/project_storages/update_service.rb b/modules/storages/app/services/storages/project_storages/update_service.rb index 908ef2f616d9..731d5b4b8868 100644 --- a/modules/storages/app/services/storages/project_storages/update_service.rb +++ b/modules/storages/app/services/storages/project_storages/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/storages/create_service.rb b/modules/storages/app/services/storages/storages/create_service.rb index 0263f26a1e8d..70e1944a063a 100644 --- a/modules/storages/app/services/storages/storages/create_service.rb +++ b/modules/storages/app/services/storages/storages/create_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/storages/delete_service.rb b/modules/storages/app/services/storages/storages/delete_service.rb index e0b4ba3d69db..5724edf2a55e 100644 --- a/modules/storages/app/services/storages/storages/delete_service.rb +++ b/modules/storages/app/services/storages/storages/delete_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/services/storages/storages/set_attributes_service.rb b/modules/storages/app/services/storages/storages/set_attributes_service.rb index 4d8755d8bab4..62c2b46eaa22 100644 --- a/modules/storages/app/services/storages/storages/set_attributes_service.rb +++ b/modules/storages/app/services/storages/storages/set_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -61,7 +61,7 @@ def unset_nextcloud_application_credentials # E.g. when setting up a new storage for the first time, passthrough, credentials are set in a later stage. return if storage.automatic_management_unspecified? - unless storage.automatically_managed? + unless storage.automatic_management_enabled? %w[username password].each { |field| storage.provider_fields.delete(field) } end end diff --git a/modules/storages/app/services/storages/storages/set_nextcloud_provider_fields_attributes_service.rb b/modules/storages/app/services/storages/storages/set_nextcloud_provider_fields_attributes_service.rb index f7a889d0546f..a083e7456c7d 100644 --- a/modules/storages/app/services/storages/storages/set_nextcloud_provider_fields_attributes_service.rb +++ b/modules/storages/app/services/storages/storages/set_nextcloud_provider_fields_attributes_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,7 +33,7 @@ module Storages::Storages class SetNextcloudProviderFieldsAttributesService < ::BaseServices::SetAttributes def set_default_provider_fields(_params) if storage.automatic_management_unspecified? - storage.automatically_managed = storage.provider_fields_defaults[:automatically_managed] + storage.automatic_management_enabled = storage.provider_fields_defaults[:automatic_management_enabled] end end diff --git a/modules/storages/app/services/storages/storages/update_service.rb b/modules/storages/app/services/storages/storages/update_service.rb index 88c66f41c7a5..10046c578013 100644 --- a/modules/storages/app/services/storages/storages/update_service.rb +++ b/modules/storages/app/services/storages/storages/update_service.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/validator/nextcloud_application_credentials_validator.rb b/modules/storages/app/validator/nextcloud_application_credentials_validator.rb index 8b029fd48727..cfff7a3a5fca 100644 --- a/modules/storages/app/validator/nextcloud_application_credentials_validator.rb +++ b/modules/storages/app/validator/nextcloud_application_credentials_validator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -26,6 +26,8 @@ # See COPYRIGHT and LICENSE files for more details. #++ class NextcloudApplicationCredentialsValidator + UTIL = Storages::Peripherals::StorageInteraction::Nextcloud::Util + attr_reader :contract, :uri def initialize(contract) @@ -36,29 +38,17 @@ def initialize(contract) def call return unless contract.model.password_changed? - case make_http_head_request_from(build_http_head_request) - when Net::HTTPSuccess + response = UTIL + .httpx + .basic_auth(contract.username, contract.password) + .head(UTIL.join_uri_path(uri, "remote.php/dav")) + case response.status + when 200..299 true - when Net::HTTPUnauthorized + when 401 contract.errors.add(:password, :invalid_password) else contract.errors.add(:password, :unknown_error) end end - - private - - def build_http_head_request - request = Net::HTTP::Head.new Storages::Peripherals::StorageInteraction::Nextcloud::Util - .join_uri_path(uri.path, "remote.php/dav") - request.initialize_http_header Storages::Peripherals::StorageInteraction::Nextcloud::Util - .basic_auth_header(contract.username, contract.password) - request - end - - def make_http_head_request_from(request) - Storages::Peripherals::StorageInteraction::Nextcloud::Util - .http(uri) - .request(request) - end end diff --git a/modules/storages/app/validator/nextcloud_compatible_host_validator.rb b/modules/storages/app/validator/nextcloud_compatible_host_validator.rb index 03612e3c4f88..206045b4ae86 100644 --- a/modules/storages/app/validator/nextcloud_compatible_host_validator.rb +++ b/modules/storages/app/validator/nextcloud_compatible_host_validator.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -150,10 +150,8 @@ def request_config_check(host) end def json_response_with_version?(response) - ( - response['content-type'].split(';').first.strip.downcase == 'application/json' \ - && read_version(response) - ) + response['content-type'].split(';').first.strip.downcase == 'application/json' \ + && read_version(response) rescue JSON::ParserError false end diff --git a/modules/storages/app/views/storages/admin/automatically_managed_project_folders/create.turbo_stream.erb b/modules/storages/app/views/storages/admin/automatically_managed_project_folders/create.turbo_stream.erb index 3a4acabc9b4c..19fcdaa04d3f 100644 --- a/modules/storages/app/views/storages/admin/automatically_managed_project_folders/create.turbo_stream.erb +++ b/modules/storages/app/views/storages/admin/automatically_managed_project_folders/create.turbo_stream.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/automatically_managed_project_folders/edit.turbo_stream.erb b/modules/storages/app/views/storages/admin/automatically_managed_project_folders/edit.turbo_stream.erb index 3a4acabc9b4c..19fcdaa04d3f 100644 --- a/modules/storages/app/views/storages/admin/automatically_managed_project_folders/edit.turbo_stream.erb +++ b/modules/storages/app/views/storages/admin/automatically_managed_project_folders/edit.turbo_stream.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/oauth_clients/create.turbo_stream.erb b/modules/storages/app/views/storages/admin/oauth_clients/create.turbo_stream.erb index be86f49d6ed6..ae0615db4a1b 100644 --- a/modules/storages/app/views/storages/admin/oauth_clients/create.turbo_stream.erb +++ b/modules/storages/app/views/storages/admin/oauth_clients/create.turbo_stream.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/oauth_clients/new.turbo_stream.erb b/modules/storages/app/views/storages/admin/oauth_clients/new.turbo_stream.erb index ecf0c5100019..1763cad95ee5 100644 --- a/modules/storages/app/views/storages/admin/oauth_clients/new.turbo_stream.erb +++ b/modules/storages/app/views/storages/admin/oauth_clients/new.turbo_stream.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/oauth_clients/show_redirect_uri.html.erb b/modules/storages/app/views/storages/admin/oauth_clients/show_redirect_uri.html.erb index c003d49d24b9..8ac6b1339104 100644 --- a/modules/storages/app/views/storages/admin/oauth_clients/show_redirect_uri.html.erb +++ b/modules/storages/app/views/storages/admin/oauth_clients/show_redirect_uri.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/oauth_clients/update.turbo_stream.erb b/modules/storages/app/views/storages/admin/oauth_clients/update.turbo_stream.erb index 26c61935601e..d8a529665910 100644 --- a/modules/storages/app/views/storages/admin/oauth_clients/update.turbo_stream.erb +++ b/modules/storages/app/views/storages/admin/oauth_clients/update.turbo_stream.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/storages/_new.html.erb b/modules/storages/app/views/storages/admin/storages/_new.html.erb index 2a58d2c225e1..6b5c457ef701 100644 --- a/modules/storages/app/views/storages/admin/storages/_new.html.erb +++ b/modules/storages/app/views/storages/admin/storages/_new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/storages/automatically_managed_project_folders/edit.html.erb b/modules/storages/app/views/storages/admin/storages/automatically_managed_project_folders/edit.html.erb index d63129b204fa..6e289ff8a700 100644 --- a/modules/storages/app/views/storages/admin/storages/automatically_managed_project_folders/edit.html.erb +++ b/modules/storages/app/views/storages/admin/storages/automatically_managed_project_folders/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/storages/confirm_destroy.html.erb b/modules/storages/app/views/storages/admin/storages/confirm_destroy.html.erb index 44f71232f139..e19d43a5b368 100644 --- a/modules/storages/app/views/storages/admin/storages/confirm_destroy.html.erb +++ b/modules/storages/app/views/storages/admin/storages/confirm_destroy.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/storages/create.turbo_stream.erb b/modules/storages/app/views/storages/admin/storages/create.turbo_stream.erb index 72326bd65475..f679e4ace0df 100644 --- a/modules/storages/app/views/storages/admin/storages/create.turbo_stream.erb +++ b/modules/storages/app/views/storages/admin/storages/create.turbo_stream.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/storages/edit.html.erb b/modules/storages/app/views/storages/admin/storages/edit.html.erb index e46746b17de4..f98b80fddaab 100644 --- a/modules/storages/app/views/storages/admin/storages/edit.html.erb +++ b/modules/storages/app/views/storages/admin/storages/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. @@ -74,7 +74,7 @@ See COPYRIGHT and LICENSE files for more details. <% end %> <% end %> -<% if @storage.provider_type_nextcloud? && @storage.automatically_managed? %> +<% if @storage.provider_type_nextcloud? && @storage.automatic_management_enabled? %> <%= render(Primer::Alpha::Layout.new(stacking_breakpoint: :lg)) do |component| %> <% component.with_main() do %> <%= render(::Storages::Admin::StorageViewComponent.new(@storage)) %> diff --git a/modules/storages/app/views/storages/admin/storages/edit_host.turbo_stream.erb b/modules/storages/app/views/storages/admin/storages/edit_host.turbo_stream.erb index 3e37f5e0dc52..e7513bf48901 100644 --- a/modules/storages/app/views/storages/admin/storages/edit_host.turbo_stream.erb +++ b/modules/storages/app/views/storages/admin/storages/edit_host.turbo_stream.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/storages/new.turbo_stream.erb b/modules/storages/app/views/storages/admin/storages/new.turbo_stream.erb index e61cb32484c8..dcf450dbca8a 100644 --- a/modules/storages/app/views/storages/admin/storages/new.turbo_stream.erb +++ b/modules/storages/app/views/storages/admin/storages/new.turbo_stream.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/storages/replace_oauth_application.turbo_stream.erb b/modules/storages/app/views/storages/admin/storages/replace_oauth_application.turbo_stream.erb index fbaa8255d23b..a2ea7cde2906 100644 --- a/modules/storages/app/views/storages/admin/storages/replace_oauth_application.turbo_stream.erb +++ b/modules/storages/app/views/storages/admin/storages/replace_oauth_application.turbo_stream.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/storages/show_oauth_application.turbo_stream.erb b/modules/storages/app/views/storages/admin/storages/show_oauth_application.turbo_stream.erb index 8c833bccd446..da70f8546b32 100644 --- a/modules/storages/app/views/storages/admin/storages/show_oauth_application.turbo_stream.erb +++ b/modules/storages/app/views/storages/admin/storages/show_oauth_application.turbo_stream.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/admin/storages/upsale.html.erb b/modules/storages/app/views/storages/admin/storages/upsale.html.erb index e77de2d8c28b..9606edca7d76 100644 --- a/modules/storages/app/views/storages/admin/storages/upsale.html.erb +++ b/modules/storages/app/views/storages/admin/storages/upsale.html.erb @@ -1,4 +1,4 @@ -<% html_title(t(:label_administration), t('team_planner.upsale.title')) -%> +<% html_title(t(:label_administration), t('storages.upsale.title')) -%> <% local_assigns[:additional_breadcrumb] = t('storages.upsale.title') %> diff --git a/modules/storages/app/views/storages/project_settings/_project_folder_form.html.erb b/modules/storages/app/views/storages/project_settings/_project_folder_form.html.erb index 8fdadbb09775..92cfe521bc04 100644 --- a/modules/storages/app/views/storages/project_settings/_project_folder_form.html.erb +++ b/modules/storages/app/views/storages/project_settings/_project_folder_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/project_settings/_storage_select_form.html.erb b/modules/storages/app/views/storages/project_settings/_storage_select_form.html.erb index e894c558743e..c6492937a803 100644 --- a/modules/storages/app/views/storages/project_settings/_storage_select_form.html.erb +++ b/modules/storages/app/views/storages/project_settings/_storage_select_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/project_settings/_toast_all_available_storages_already_added.html.erb b/modules/storages/app/views/storages/project_settings/_toast_all_available_storages_already_added.html.erb index 348300101036..249608fb0bbe 100644 --- a/modules/storages/app/views/storages/project_settings/_toast_all_available_storages_already_added.html.erb +++ b/modules/storages/app/views/storages/project_settings/_toast_all_available_storages_already_added.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/project_settings/_toast_no_storage_set_up.html.erb b/modules/storages/app/views/storages/project_settings/_toast_no_storage_set_up.html.erb index 3e7446fdbd29..8633af83d1c7 100644 --- a/modules/storages/app/views/storages/project_settings/_toast_no_storage_set_up.html.erb +++ b/modules/storages/app/views/storages/project_settings/_toast_no_storage_set_up.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/project_settings/destroy_info.html.erb b/modules/storages/app/views/storages/project_settings/destroy_info.html.erb index 66ab18ca7d08..ccf209e08974 100644 --- a/modules/storages/app/views/storages/project_settings/destroy_info.html.erb +++ b/modules/storages/app/views/storages/project_settings/destroy_info.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/project_settings/edit.html.erb b/modules/storages/app/views/storages/project_settings/edit.html.erb index 9ced3b572b2c..5816fd10fb61 100644 --- a/modules/storages/app/views/storages/project_settings/edit.html.erb +++ b/modules/storages/app/views/storages/project_settings/edit.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/project_settings/index.html.erb b/modules/storages/app/views/storages/project_settings/index.html.erb index 210aa57e6b54..f8a608cbfb08 100644 --- a/modules/storages/app/views/storages/project_settings/index.html.erb +++ b/modules/storages/app/views/storages/project_settings/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/project_settings/new.html.erb b/modules/storages/app/views/storages/project_settings/new.html.erb index fa548b44bd37..5f2cdc87c0aa 100644 --- a/modules/storages/app/views/storages/project_settings/new.html.erb +++ b/modules/storages/app/views/storages/project_settings/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/views/storages/project_settings/project_storage_members/index.html.erb b/modules/storages/app/views/storages/project_settings/project_storage_members/index.html.erb index 2142ce30dfee..84b7686031f6 100644 --- a/modules/storages/app/views/storages/project_settings/project_storage_members/index.html.erb +++ b/modules/storages/app/views/storages/project_settings/project_storage_members/index.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/workers/storages/cleanup_uncontainered_file_links_job.rb b/modules/storages/app/workers/storages/cleanup_uncontainered_file_links_job.rb index 0f46560e0d80..0f47e0d6ef77 100644 --- a/modules/storages/app/workers/storages/cleanup_uncontainered_file_links_job.rb +++ b/modules/storages/app/workers/storages/cleanup_uncontainered_file_links_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/workers/storages/manage_nextcloud_integration_cron_job.rb b/modules/storages/app/workers/storages/manage_nextcloud_integration_cron_job.rb index 6989e9acbbae..8114d355a664 100644 --- a/modules/storages/app/workers/storages/manage_nextcloud_integration_cron_job.rb +++ b/modules/storages/app/workers/storages/manage_nextcloud_integration_cron_job.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/workers/storages/manage_nextcloud_integration_events_job.rb b/modules/storages/app/workers/storages/manage_nextcloud_integration_events_job.rb index 6e7ae17a59d3..89485d35f3c0 100644 --- a/modules/storages/app/workers/storages/manage_nextcloud_integration_events_job.rb +++ b/modules/storages/app/workers/storages/manage_nextcloud_integration_events_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/app/workers/storages/manage_nextcloud_integration_job_mixin.rb b/modules/storages/app/workers/storages/manage_nextcloud_integration_job_mixin.rb index 01e8fd4025a2..27cac97c935e 100644 --- a/modules/storages/app/workers/storages/manage_nextcloud_integration_job_mixin.rb +++ b/modules/storages/app/workers/storages/manage_nextcloud_integration_job_mixin.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -39,7 +39,7 @@ def perform timeout_seconds: 0, transaction: false ) do - ::Storages::NextcloudStorage.automatically_managed.includes(:oauth_client).find_each do |storage| + ::Storages::NextcloudStorage.automatic_management_enabled.includes(:oauth_client).find_each do |storage| result = GroupFolderPropertiesSyncService.call(storage) result.match( on_success: ->(_) do diff --git a/modules/storages/config/locales/crowdin/af.yml b/modules/storages/config/locales/crowdin/af.yml index 3c4d24adb9f4..81f362fb8d46 100644 --- a/modules/storages/config/locales/crowdin/af.yml +++ b/modules/storages/config/locales/crowdin/af.yml @@ -1,268 +1,217 @@ -#English strings go here af: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Lêer" - storages/storage: "Storage" attributes: - storages/storage: - name: "Naam" - creator: "Creator" - provider_type: "Provider type" - host: "Gasheer" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Gasheer + name: Naam + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Lêer + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Stoor" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Stel op" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktiewe" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Naam" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Fout + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktiewe + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Lêers" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Naam + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Fout" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/ar.yml b/modules/storages/config/locales/crowdin/ar.yml index dee5e67e6698..b71dbbc276f8 100644 --- a/modules/storages/config/locales/crowdin/ar.yml +++ b/modules/storages/config/locales/crowdin/ar.yml @@ -1,268 +1,217 @@ -#English strings go here ar: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "ملف" - storages/storage: "Storage" attributes: - storages/storage: - name: "الاسم" - creator: "Creator" - provider_type: "Provider type" - host: "المضيف" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: المضيف + name: الاسم + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: ملف + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "حفظ" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "تكوين" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "\"تكامل OpenProject\"" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "مفعّل" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "الاسم" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: خطأ + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "\"تكامل OpenProject\"" + label_active: مفعّل + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "الحالة" - label_files: "الملفّات" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: الاسم + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: الحالة + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "خطأ" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/az.yml b/modules/storages/config/locales/crowdin/az.yml index d78bbd410887..0359ead18ab0 100644 --- a/modules/storages/config/locales/crowdin/az.yml +++ b/modules/storages/config/locales/crowdin/az.yml @@ -1,268 +1,217 @@ -#English strings go here az: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "File" - storages/storage: "Storage" attributes: - storages/storage: - name: "Name" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Name + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: File + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Saxla" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Active" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Name" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Active + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Files" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Name + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/be.yml b/modules/storages/config/locales/crowdin/be.yml index 5f0492102694..bd60ff444feb 100644 --- a/modules/storages/config/locales/crowdin/be.yml +++ b/modules/storages/config/locales/crowdin/be.yml @@ -1,268 +1,217 @@ -#English strings go here be: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "Праглядаць спасылкі на файлы " - permission_manage_file_links: "Кіраваць спасылкамі на файлы" - permission_manage_storages_in_project: "Кіраваць файлавымі сховішчамі ў праекце" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "Файлавыя сховішча" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "File" - storages/storage: "Сховішча" attributes: - storages/storage: - name: "Імя" - creator: "Стваральнік" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin id" + origin_id: Origin id + storages/storage: + creator: Стваральнік + host: Host + name: Імя + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "не звязаны з праектам." + not_linked_to_project: не звязаны з праектам. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: можа быць numeric ці uuid storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "не можа быць звязаны з." - minimal_nextcloud_version_unmet: "не задавальняе мінімальным патрабаванням па версіі (Nextcloud павінен быць 23 ці вышэй)" - not_nextcloud_server: "гэта не сервер Nextcloud" - op_application_not_installed: > - здаецца што прылада "OpenProject integration" не ўсталявана. Калі ласка ўстанавіце яе і паспрабуйце зноў. - authorization_header_missing: > - не ўсталявана поўнасцю. Сервер Nextcloud не атрымаў "Authorization" загаловак, які неабходны для аўтарызацыі запытаў з дапамогай Bearer токенаў. Калі ласка праверце налады вашага HTTP сервера. + authorization_header_missing: не ўсталявана поўнасцю. Сервер Nextcloud не атрымаў "Authorization" загаловак, які неабходны для аўтарызацыі запытаў з дапамогай Bearer токенаў. Калі ласка праверце налады вашага HTTP сервера. + cannot_be_connected_to: не можа быць звязаны з. + minimal_nextcloud_version_unmet: не задавальняе мінімальным патрабаванням па версіі (Nextcloud павінен быць 23 ці вышэй) + not_nextcloud_server: гэта не сервер Nextcloud + op_application_not_installed: здаецца што прылада "OpenProject integration" не ўсталявана. Калі ласка ўстанавіце яе і паспрабуйце зноў. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "можа быць numeric ці uuid" + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: File + storages/storage: Сховішча api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Кіраваць спасылкамі на файлы + permission_manage_storages_in_project: Кіраваць файлавымі сховішчамі ў праекце + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: Праглядаць спасылкі на файлы + permission_write_files: Write files + project_module_storages: Файлавыя сховішча storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Гатова. Працягнуць наладку" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Замяніць OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Save" - save_and_continue: "Save and continue" - save_and_continue_setup: "Захаваць і працягнуць наладку" - save_and_complete_setup: "Захаваць і скончыць наладку" - select_folder: "Select folder" - configure: "Configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Active" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Неактыўны" - label_creator: "Стваральнік" - label_provider: "Provider" - label_file_link: "Файлавая спасылка" - label_file_links: "Файлавыя спасылкі" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Імя" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Active + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Стваральнік + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Неактыўны + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "Новае сховішча" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Сховішча" - label_storages: "Сховішчы" - label_status: "Status" - label_files: "Files" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Імя + label_new_file_storage: New %{provider} storage + label_new_storage: Новае сховішча + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Сховішча + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "Ніводнага сховішча няма." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: Ніводнага сховішча няма. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "напрыклад: Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: 'напрыклад: Nextcloud' one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/bg.yml b/modules/storages/config/locales/crowdin/bg.yml index 8c5c67b91387..b6f8ffdce3e7 100644 --- a/modules/storages/config/locales/crowdin/bg.yml +++ b/modules/storages/config/locales/crowdin/bg.yml @@ -1,268 +1,217 @@ -#English strings go here bg: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Файл" - storages/storage: "Storage" attributes: - storages/storage: - name: "Име" - creator: "Creator" - provider_type: "Provider type" - host: "Хост" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Хост + name: Име + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Файл + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Запази" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Конфигуриране" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Активен" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Име" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Грешка + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Активен + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Състояние" - label_files: "Файлове" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Име + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Състояние + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Грешка" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/ca.yml b/modules/storages/config/locales/crowdin/ca.yml index 6ffd04c86c7c..039639af642d 100644 --- a/modules/storages/config/locales/crowdin/ca.yml +++ b/modules/storages/config/locales/crowdin/ca.yml @@ -1,268 +1,217 @@ -#English strings go here ca: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "Veure els enllaços del fitxer" - permission_manage_file_links: "Administra els enllaços del fitxer" - permission_manage_storages_in_project: "Administra els emmagatzematges de fitxers en el projecte" - permission_read_files: "Llegir fitxers" - permission_write_files: "Editar fitxers" - permission_create_files: "Crear fitxers" - permission_delete_files: "Eliminar fitxers" - permission_share_files: "Compartir fitxers" - project_module_storages: "Emmagatzematges de fitxers" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Fitxer" - storages/storage: "Emmagatzematge" attributes: - storages/storage: - name: "Nom" - creator: "Autor" - provider_type: "Tipus de proveïdor" - host: "Servidor" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "ID d'origen" + origin_id: ID d'origen + storages/storage: + creator: Autor + host: Servidor + name: Nom + provider_type: Tipus de proveïdor + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "encara no està enllaçat a un projecte." + not_linked_to_project: encara no està enllaçat a un projecte. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: només pot ser numèric o uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "no s'ha pogut connectar a." - minimal_nextcloud_version_unmet: "no compleix els requeriments mínims de versió (ha de ser Nextcloud 23 o superior)" - not_nextcloud_server: "no és un servidor de Nextcloud" - op_application_not_installed: > - sembla que l'aplicació "OpenProject integration" no està instal·lada. Si us plau, instal·la-la i torna-ho a provar. - authorization_header_missing: > - no està configurat completament. La instància de Nextcloud no pot rebre la capçalera "Autorització", que és necessària per a autoritzacions d'API basades en tokens Bearer. Si us plau, valida la configuració de servidor HTTP. + authorization_header_missing: no està configurat completament. La instància de Nextcloud no pot rebre la capçalera "Autorització", que és necessària per a autoritzacions d'API basades en tokens Bearer. Si us plau, valida la configuració de servidor HTTP. + cannot_be_connected_to: no s'ha pogut connectar a. + minimal_nextcloud_version_unmet: no compleix els requeriments mínims de versió (ha de ser Nextcloud 23 o superior) + not_nextcloud_server: no és un servidor de Nextcloud + op_application_not_installed: sembla que l'aplicació "OpenProject integration" no està instal·lada. Si us plau, instal·la-la i torna-ho a provar. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "només pot ser numèric o uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Fitxer + storages/storage: Emmagatzematge api_v3: errors: - too_many_elements_created_at_once: "Masses elements creats alhora. S'esperen %{max} com a màxim, i s'han obtingut %{actual}." + too_many_elements_created_at_once: Masses elements creats alhora. S'esperen %{max} com a màxim, i s'han obtingut %{actual}. + permission_create_files: Crear fitxers + permission_delete_files: Eliminar fitxers + permission_manage_file_links: Administra els enllaços del fitxer + permission_manage_storages_in_project: Administra els emmagatzematges de fitxers en el projecte + permission_read_files: Llegir fitxers + permission_share_files: Compartir fitxers + permission_view_file_links: Veure els enllaços del fitxer + permission_write_files: Editar fitxers + project_module_storages: Emmagatzematges de fitxers storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Fet. Continua la instal·lació" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Substitueix l'OAuth d'OpenProject" - replace_provider_type_oauth: "Substitueix l'OAuth de %{provider_type}" - save: "Desa" - save_and_continue: "Save and continue" - save_and_continue_setup: "Desar i continua la configuració" - save_and_complete_setup: "Desar i completa la configuració" - select_folder: "Seleccionar carpeta" - configure: "Configurar" - file_storage_view: - general_information: "General information" - oauth_applications: "Aplicacions OAuth" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirigeix URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "Emmagatzematges de fitxers no disponibles en aquest projecte" - new: "Afegeix un emmagatzematge de fitxers a aquest projecte" - edit: "Editar l'emmagatzematge de fitxers a aquest projecte" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Si us plau, assegura't que tens privilegis d'administrador a la instància Nextcloud i tens la següent aplicació instal·lada abans de fer la configuració:" - type_link_text: "\"Integració d'OpenProject\"" - name: "Dona un nom al teu emmagatzematge per tal que els usuaris el puguin diferenciar d'altres." - host: "Si us plau, afegeix l'adreça d'allotjament del teu emmagatzematge incloent el https://. No pot més llarg de 255 caràcters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "No hi ha emmagatzematges de fitxers configurats encara." - no_specific_folder: "Per defecte, cada usuari començarà a la seva carpeta d'inici en carregar un fitxer." - automatic_folder: "Això crearà automàticament una carpeta per defecte per aquest projecte i administrarà l'accés per a cada membre del projecte." - empty_project_folder_validation: "Per procedir és obligatori seleccionar una carpeta." - not_logged_into_storage: "Per seleccionar una carpeta de projecte, si us plau inicia sessió primer." - existing_manual_folder: > - Pots designar una carpeta existent com la carpeta d'inici per aquest projecte. Tingues en compte que els permisos no es configuren automàticament, els administradors han d'assegurar manualment que els usuaris pertinents tenen accés. La carpeta seleccionada pot ser utilitzada en múltiples projectes. - setting_up_additional_storages: "Per configurar emmagatzematges de fitxers addicionals, si us plau, visita" - setting_up_additional_storages_non_admin: "Els administradors poden configurar emmagatzematges de fitxers addicionals a través d'Administració / Emmagatzematges de fitxers." - setting_up_storages: "Per configurar emmagatzematges de fitxers, si us plau, visita" - setting_up_storages_non_admin: "Els administradors poden configurar emmagatzematges de fitxers a través d'Administració / Emmagatzematges de fitxers." - all_available_storages_already_added: "Tots els emmagatzematges disponibles ja s'han afegit al projecte." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copia aquest valor de" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Administració Nextcloud / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - La carpeta de projecte és la carpeta per defecte on es carregaran els fitxers d'aquest projecte. Tot i això, els usuaris podran carregar fitxers en altres carpetes. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Substitueix l'OAuth de %{provider_type} + save_and_continue: Save and continue + select_folder: Seleccionar carpeta configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Estàs segur? Tots els usuaris hauran d'autoritzar de nou contra OpenProject. + confirm_replace_oauth_client: Estàs segur? Tots els usuaris hauran d'autoritzar de nou contra l'emmagatzematge. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Actiu" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactiu" - label_creator: "Autor" - label_provider: "Provider" - label_file_link: "Enllaç a fitxer" - label_file_links: "Enllaços a fitxer" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completat" - label_incomplete: "Incomplete" - label_name: "Nom" - label_host: "URL d'allotjament" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: Aplicacions OAuth + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirigeix URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pendent + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: La carpeta de projecte és la carpeta per defecte on es carregaran els fitxers d'aquest projecte. Tot i això, els usuaris podran carregar fitxers en altres carpetes. + instructions: + all_available_storages_already_added: Tots els emmagatzematges disponibles ja s'han afegit al projecte. + automatic_folder: Això crearà automàticament una carpeta per defecte per aquest projecte i administrarà l'accés per a cada membre del projecte. + copy_from: Copia aquest valor de + empty_project_folder_validation: Per procedir és obligatori seleccionar una carpeta. + existing_manual_folder: Pots designar una carpeta existent com la carpeta d'inici per aquest projecte. Tingues en compte que els permisos no es configuren automàticament, els administradors han d'assegurar manualment que els usuaris pertinents tenen accés. La carpeta seleccionada pot ser utilitzada en múltiples projectes. + host: Si us plau, afegeix l'adreça d'allotjament del teu emmagatzematge incloent el https://. No pot més llarg de 255 caràcters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Dona un nom al teu emmagatzematge per tal que els usuaris el puguin diferenciar d'altres. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Administració Nextcloud / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: Per defecte, cada usuari començarà a la seva carpeta d'inici en carregar un fitxer. + no_storage_set_up: No hi ha emmagatzematges de fitxers configurats encara. + not_logged_into_storage: Per seleccionar una carpeta de projecte, si us plau inicia sessió primer. + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: Per configurar emmagatzematges de fitxers addicionals, si us plau, visita + setting_up_additional_storages_non_admin: Els administradors poden configurar emmagatzematges de fitxers addicionals a través d'Administració / Emmagatzematges de fitxers. + setting_up_storages: Per configurar emmagatzematges de fitxers, si us plau, visita + setting_up_storages_non_admin: Els administradors poden configurar emmagatzematges de fitxers a través d'Administració / Emmagatzematges de fitxers. + type: 'Si us plau, assegura''t que tens privilegis d''administrador a la instància Nextcloud i tens la següent aplicació instal·lada abans de fer la configuració:' + type_link_text: "\"Integració d'OpenProject\"" + label_active: Actiu + label_add_new_storage: Add new storage + label_automatic_folder: Nova carpeta amb administració de permisos automàtica + label_completed: Completat + label_creation_time: Creation time + label_creator: Autor + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Carpeta existent amb permisos gestionats automàticament + label_file_storage: File storage + label_host: URL d'allotjament + label_inactive: Inactiu + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "Detalls de l'aplicació OAuth" - label_oauth_client_details: "Detalls del client OAuth" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth ID del client" - label_oauth_client_secret: "OAuth secreta del client" - label_information: "Additional information" - label_provider_type: "Tipus de proveïdor" - label_project_folder: "Carpeta del projecte" - label_redirect_uri: "Redirigeix URI" - label_uri: "URI" - label_new_storage: "Nou emmagatzematge" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Carpeta existent amb permisos gestionats automàticament" - label_no_specific_folder: "Cap carpeta específica" - label_automatic_folder: "Nova carpeta amb administració de permisos automàtica" - label_no_selected_folder: "Cap carpeta seleccionada" - label_select_provider: "Select provider" - label_storage: "Emmagatzematge" - label_storages: "Emmagatzematges" - label_status: "Estat" - label_files: "Arxius" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Nom + label_new_file_storage: New %{provider} storage + label_new_storage: Nou emmagatzematge + label_no_selected_folder: Cap carpeta seleccionada + label_no_specific_folder: Cap carpeta específica + label_oauth_client_id: OAuth ID del client + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Carpeta del projecte + label_provider: Provider + label_redirect_uri: Redirigeix URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Estat + label_storage: Emmagatzematge + label_uri: URI member_connection_status: - connected: "Connectat" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No s'han configurat emmagatzematges encara." - members_no_results: "No members to display." + connected: Connectat + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No s'han configurat emmagatzematges encara. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Editar l'emmagatzematge de fitxers a aquest projecte + index: Emmagatzematges de fitxers no disponibles en aquest projecte + members_connection_status: Members connection status + new: Afegeix un emmagatzematge de fitxers a aquest projecte + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Tipus de proveïdor" + label: Tipus de proveïdor nextcloud: - name: "Nextcloud" - name_placeholder: "ex. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: ex. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Estàs segur? Tots els usuaris hauran d'autoritzar de nou contra OpenProject." - confirm_replace_oauth_client: "Estàs segur? Tots els usuaris hauran d'autoritzar de nou contra l'emmagatzematge." - oauth_client_details_missing: "Per tal de completar la configuració, si us plau afegeix les credencials de client OAuth del teu emmagatzematge." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "L'aplicació OAuth d'OpenProject s'ha substituït correctament." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pendent" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/ckb-IR.yml b/modules/storages/config/locales/crowdin/ckb-IR.yml index 5c7140a780c9..00f737504e48 100644 --- a/modules/storages/config/locales/crowdin/ckb-IR.yml +++ b/modules/storages/config/locales/crowdin/ckb-IR.yml @@ -1,268 +1,217 @@ -#English strings go here ckb-IR: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "File" - storages/storage: "Storage" attributes: - storages/storage: - name: "Name" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Name + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: File + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Save" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Active" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Name" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Active + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Files" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Name + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/cs.yml b/modules/storages/config/locales/crowdin/cs.yml index c106894c4ab3..f1f8ab20abc3 100644 --- a/modules/storages/config/locales/crowdin/cs.yml +++ b/modules/storages/config/locales/crowdin/cs.yml @@ -1,268 +1,217 @@ -#English strings go here cs: - plugin_openproject_storages: - name: "Úložiště OpenProject" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "Zobrazit odkazy na soubor" - permission_manage_file_links: "Správa odkazů souborů" - permission_manage_storages_in_project: "Spravovat úložiště souborů v projektu" - permission_read_files: "Číst soubory" - permission_write_files: "Zapisovat soubory" - permission_create_files: "Vytvořit soubory" - permission_delete_files: "Odstranit soubory" - permission_share_files: "Sdílet soubory" - project_module_storages: "Úložiště souborů" - errors: - attributes: - storage_error: - not_authorized: "Nemáte oprávnění k externímu připojení k úložišti." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Soubor" - storages/storage: "Úložiště" attributes: - storages/storage: - name: "Název" - creator: "Autor" - provider_type: "Typ poskytovatele" - host: "Hostitel" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin ID" + origin_id: Origin ID + storages/storage: + creator: Autor + host: Hostitel + name: Název + provider_type: Typ poskytovatele + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "není propojen s projektem." + not_linked_to_project: není propojen s projektem. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: může být pouze numerické nebo uuid storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "není k dispozici pro toto úložiště." + mode_unavailable: není k dispozici pro toto úložiště. storages/storage: attributes: host: - cannot_be_connected_to: "nelze se připojit." - minimal_nextcloud_version_unmet: "nesplňuje minimální požadavky na verzi (musí být Nextcloud 23 nebo vyšší)" - not_nextcloud_server: "není Nextcloud server" - op_application_not_installed: > - Zdá se, že aplikace "OpenProject integration" není nainstalována. Prosím nainstalujte ji a zkuste to znovu. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: nelze se připojit. + minimal_nextcloud_version_unmet: nesplňuje minimální požadavky na verzi (musí být Nextcloud 23 nebo vyšší) + not_nextcloud_server: není Nextcloud server + op_application_not_installed: Zdá se, že aplikace "OpenProject integration" není nainstalována. Prosím nainstalujte ji a zkuste to znovu. password: - invalid_password: "není platné." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "může být pouze numerické nebo uuid" + invalid_password: není platné. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Soubor + storages/storage: Úložiště api_v3: errors: - too_many_elements_created_at_once: "Příliš mnoho prvků vytvořených najednou. Očekáváno nanejvýš %{max} , získáno %{actual}." + too_many_elements_created_at_once: Příliš mnoho prvků vytvořených najednou. Očekáváno nanejvýš %{max} , získáno %{actual}. + permission_create_files: Vytvořit soubory + permission_delete_files: Odstranit soubory + permission_manage_file_links: Správa odkazů souborů + permission_manage_storages_in_project: Spravovat úložiště souborů v projektu + permission_read_files: Číst soubory + permission_share_files: Sdílet soubory + permission_view_file_links: Zobrazit odkazy na soubor + permission_write_files: Zapisovat soubory + project_module_storages: Úložiště souborů storages: - default_name: "Mé úložiště" - unknown_storage: "Neznámé úložiště" buttons: - done_continue: "Done, continue" - done_continue_setup: "Hotovo. Pokračovat v nastavení" - done_complete_setup: "Hotovo, kompletní nastavení" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Nahradit OpenProject OAuth" - replace_provider_type_oauth: "Nahradit %{provider_type} OAuth" - save: "Uložit" - save_and_continue: "Uložit a pokračovat" - save_and_continue_setup: "Uložit a pokračovat v nastavení" - save_and_complete_setup: "Uložit a dokončit nastavení" - select_folder: "Vyberte složku" - configure: "Konfigurace" - file_storage_view: - general_information: "Všeobecné informace" - oauth_applications: "OAuth aplikace" - project_folders: "Project folders" - storage_provider: "Poskytovatel úložiště" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Přesměrovat URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Odstranit úložiště souborů" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "Úložiště souborů v tomto projektu" - new: "Přidat úložiště souborů k tomuto projektu" - edit: "Upravit úložiště souborů pro tento projekt" - delete: "Odstranit úložiště souborů" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Ujistěte se prosím, že máte oprávnění administrace v Nextcloud instanci a máte nainstalovanou následující aplikaci:" - type_link_text: "„Integration OpenProject“" - name: "Dejte svému úložišti jméno, aby uživatelé mohli rozlišovat mezi více úložišti." - host: "Přidejte prosím adresu hostitele vašeho úložiště obsahující https://. Nemělo by být delší než 255 znaků." - managed_project_folders_application_password: > - Zkopírovat tuto hodnotu z: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "Dosud nejsou nastaveny žádné úložiště souborů." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Výběr složky je povinný pro pokračování." - not_logged_into_storage: "Pro výběr složky projektu se prosím nejprve přihlaste" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "Pro nastavení dalších úložišť souborů navštivte prosím" - setting_up_additional_storages_non_admin: "Administrátoři mohou nastavit další úložiště souborů v administraci / Úložiště souborů." - setting_up_storages: "Pro nastavení úložišť souborů navštivte prosím" - setting_up_storages_non_admin: "Administrátoři mohou nastavit další úložiště souborů v administraci / Úložiště souborů." - all_available_storages_already_added: "Do projektu jsou již přidány všechny dostupné úložiště." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Zkopírovat tuto hodnotu z" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administrace / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Hotovo, kompletní nastavení + done_continue: Hotovo, pokračovat + replace_provider_type_oauth: Nahradit %{provider_type} OAuth + save_and_continue: Uložit a pokračovat + select_folder: Vyberte složku configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Jste si jisti? Všichni uživatelé se budou muset znovu autorizovat proti OpenProject. + confirm_replace_oauth_client: Jste si jisti? Všichni uživatelé budou muset znovu autorizovat proti úložišti. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Odstraňte všechny odkazy z pracovních balíčků tohoto projektu do souborů a složek tohoto úložiště." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Smazání úložiště souborů je nevratná akce." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktivní" - label_add_new_storage: "Přidat nové úložiště" - label_delete_storage: "Smazat úložiště" - label_inactive: "Neaktivní" - label_creator: "Vytvořil" - label_provider: "Poskytovatel" - label_file_link: "Odkaz na soubor" - label_file_links: "Odkazy na soubor" - label_file_storage: "Úložiště souborů" - label_creation_time: "" - label_completed: "Dokončeno" - label_incomplete: "Nekompletní" - label_name: "Název:" - label_host: "URL adresa hostitele" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Smazání úložiště souborů je nevratná akce. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Odstraňte všechny odkazy z pracovních balíčků tohoto projektu do souborů a složek tohoto úložiště. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Vyberte prosím platného poskytovatele úložiště. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: Všeobecné informace + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth aplikace + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Projektové složky + redirect_uri: Přesměrovat URI + storage_provider: Poskytovatel úložiště + health: + checked: Last checked %{datetime} + label_error: Chyba + label_healthy: Healthy + label_pending: Nevyřízeno + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: Do projektu jsou již přidány všechny dostupné úložiště. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Zkopírovat tuto hodnotu z + empty_project_folder_validation: Výběr složky je povinný pro pokračování. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Přidejte prosím adresu hostitele vašeho úložiště obsahující https://. Nemělo by být delší než 255 znaků. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Dejte svému úložišti jméno, aby uživatelé mohli rozlišovat mezi více úložišti. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administrace / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: Dosud nejsou nastaveny žádné úložiště souborů. + not_logged_into_storage: Pro výběr složky projektu se prosím nejprve přihlaste + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: Dokumentace o úložištích OneDrive/SharePoint + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: Pro nastavení dalších úložišť souborů navštivte prosím + setting_up_additional_storages_non_admin: Administrátoři mohou nastavit další úložiště souborů v administraci / Úložiště souborů. + setting_up_storages: Pro nastavení úložišť souborů navštivte prosím + setting_up_storages_non_admin: Administrátoři mohou nastavit další úložiště souborů v administraci / Úložiště souborů. + type: 'Ujistěte se prosím, že máte oprávnění administrace v Nextcloud instanci a máte nainstalovanou následující aplikaci:' + type_link_text: "„Integration OpenProject“" + label_active: Aktivní + label_add_new_storage: Přidat nové úložiště + label_automatic_folder: New folder with automatically managed permissions + label_completed: Dokončeno + label_creation_time: + label_creator: Vytvořil + label_delete_storage: Smazat úložiště + label_edit_storage: + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: Úložiště souborů + label_host: URL adresa hostitele + label_inactive: Neaktivní + label_incomplete: Nekompletní label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Heslo aplikace" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "Podrobnosti OAuth aplikace" - label_oauth_client_details: "Podrobnosti OAuth klienta" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth ID klienta" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Další informace" - label_provider_type: "Typ poskytovatele" - label_project_folder: "Složka projektu" - label_redirect_uri: "Přesměrovat URI" - label_uri: "URI" - label_new_storage: "Nové úložiště" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "Žádná specifická složka" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "Žádná vybraná složka" - label_select_provider: "Vyberte poskytovatele" - label_storage: "Úložiště" - label_storages: "Úložiště" - label_status: "Stav" - label_files: "Soubory" + application_password: Heslo aplikace + automatically_managed_folders: Automatically managed folders + label_name: 'Název:' + label_new_file_storage: New %{provider} storage + label_new_storage: Nové úložiště + label_no_selected_folder: Žádná vybraná složka + label_no_specific_folder: Žádná specifická složka + label_oauth_client_id: OAuth ID klienta + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Složka projektu + label_provider: Poskytovatel + label_redirect_uri: Přesměrovat URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Stav + label_storage: Úložiště + label_uri: URI member_connection_status: - connected: "Připojeno" - connected_no_permissions: "Uživatelská role nemá oprávnění k ukládání" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "Zatím nejsou nastaveny žádné úložiště." - members_no_results: "Žádní členové k zobrazení." + connected: Připojeno + connected_no_permissions: Uživatelská role nemá oprávnění k ukládání + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: Žádní členové k zobrazení. + no_results: Zatím nejsou nastaveny žádné úložiště. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: Nyní jste přesměrováváni + waiting: + a: We are setting up your permissions on the project folder. + b: Prosím vydržte, chvilku to může chvíli trvat... + page_titles: + file_storages: + delete: Odstranit úložiště souborů + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Odstranit úložiště souborů + edit: Upravit úložiště souborů pro tento projekt + index: Úložiště souborů v tomto projektu + members_connection_status: Members connection status + new: Přidat úložiště souborů k tomuto projektu + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Typ poskytovatele" + label: Typ poskytovatele nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "např. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Jste si jisti? Všichni uživatelé se budou muset znovu autorizovat proti OpenProject." - confirm_replace_oauth_client: "Jste si jisti? Všichni uživatelé budou muset znovu autorizovat proti úložišti." - oauth_client_details_missing: "Chcete-li dokončit nastavení, přidejte prosím přihlašovací údaje OAuth klienta z vašeho úložiště." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "OpenProject OAuth aplikace byla úspěšně nahrazena." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Nevyřízeno" - label_error: "Chyba" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: např. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: Zatím nemáte žádné úložiště. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrujte OneDrive/SharePoint jako úložiště souborů s OpenProject. Nahrávejte soubory a propojte je přímo s pracovními balíčky v projektu. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/da.yml b/modules/storages/config/locales/crowdin/da.yml index ff0b03c1b672..14084f727697 100644 --- a/modules/storages/config/locales/crowdin/da.yml +++ b/modules/storages/config/locales/crowdin/da.yml @@ -1,268 +1,217 @@ -#English strings go here da: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Fil" - storages/storage: "Storage" attributes: - storages/storage: - name: "Navn" - creator: "Creator" - provider_type: "Provider type" - host: "Vært" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Vært + name: Navn + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Fil + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Gem" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Opsæt" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktiv" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Navn" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Fejl + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktiv + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Filer" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Navn + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Fejl" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/de.yml b/modules/storages/config/locales/crowdin/de.yml index db42839c055f..e78c3282dcc3 100644 --- a/modules/storages/config/locales/crowdin/de.yml +++ b/modules/storages/config/locales/crowdin/de.yml @@ -1,268 +1,217 @@ -#English strings go here de: - plugin_openproject_storages: - name: "OpenProject Speicherplätze" - description: "Ermöglicht die Verknüpfung von Arbeitspaketen mit Dateien in externen Speicherorten, wie beispielsweise Nextcloud." - permission_view_file_links: "Datei-Links anzeigen" - permission_manage_file_links: "Datei-Links verwalten" - permission_manage_storages_in_project: "Dateispeicher im Projekt verwalten" - permission_read_files: "Dateien lesen" - permission_write_files: "Dateien schreiben" - permission_create_files: "Dateien erstellen" - permission_delete_files: "Dateien löschen" - permission_share_files: "Dateien freigeben" - project_module_storages: "Dateispeicher" - errors: - attributes: - storage_error: - not_authorized: "Nicht autorisiert für externe Verbindung zum Speicher." - not_found: "Die angeforderte Ressource konnte im externen Dateispeicher nicht gefunden werden." activerecord: - models: - file_link: "Datei" - storages/storage: "Speicher" attributes: - storages/storage: - name: "Name" - creator: "Ersteller" - provider_type: "Anbieter-Typ" - host: "Host" - tenant: "Verzeichnis (Tenant) ID" storages/file_link: - origin_id: "Ursprungs-ID" + origin_id: Ursprungs-ID + storages/storage: + creator: Ersteller + host: Host + name: Name + provider_type: Anbieter-Typ + tenant: Verzeichnis (Tenant) ID errors: messages: - not_linked_to_project: "ist nicht mit dem Projekt verknüpft." + not_linked_to_project: ist nicht mit dem Projekt verknüpft. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: kann nur numerisch oder uuid sein. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "ist für diesen Speicher nicht verfügbar." + mode_unavailable: ist für diesen Speicher nicht verfügbar. storages/storage: attributes: host: - cannot_be_connected_to: "kann nicht verbunden werden." - minimal_nextcloud_version_unmet: "erfüllt nicht die minimalen Versionsanforderungen (muss Nextcloud 23 oder höher sein)" - not_nextcloud_server: "ist kein Nextcloud-Server" - op_application_not_installed: > - scheint die App "OpenProject Integration" nicht installiert zu haben. Bitte installieren Sie diese zuerst und versuchen es danach erneut. - authorization_header_missing: > - ist nicht vollständig eingerichtet. Die Nextcloud-Instanz erhält nicht den HTTP "Authorization" Header. Dieser ist jedoch für eine auf Bearer-Token basierende Autorisierung von API-Anfragen notwendig. Bitte überprüfen Sie die HTTP-Server-Konfiguration Ihres Nextcloud-Servers. + authorization_header_missing: ist nicht vollständig eingerichtet. Die Nextcloud-Instanz erhält nicht den HTTP "Authorization" Header. Dieser ist jedoch für eine auf Bearer-Token basierende Autorisierung von API-Anfragen notwendig. Bitte überprüfen Sie die HTTP-Server-Konfiguration Ihres Nextcloud-Servers. + cannot_be_connected_to: kann nicht verbunden werden. + minimal_nextcloud_version_unmet: erfüllt nicht die minimalen Versionsanforderungen (muss Nextcloud 23 oder höher sein) + not_nextcloud_server: ist kein Nextcloud-Server + op_application_not_installed: scheint die App "OpenProject Integration" nicht installiert zu haben. Bitte installieren Sie diese zuerst und versuchen es danach erneut. password: - invalid_password: "ist ungültig." - unknown_error: "konnte nicht überprüft werden. Bitte überprüfen Sie Ihre Verbindung zum Dateispeicher und versuchen Sie es erneut." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "kann nur numerisch oder uuid sein." + invalid_password: ist ungültig. + unknown_error: konnte nicht überprüft werden. Bitte überprüfen Sie Ihre Verbindung zum Dateispeicher und versuchen Sie es erneut. + models: + file_link: Datei + storages/storage: Speicher api_v3: errors: - too_many_elements_created_at_once: "Zu viele Elemente gleichzeitig erstellt. Maximal %{max} erwartet, %{actual} bekommen." + too_many_elements_created_at_once: Zu viele Elemente gleichzeitig erstellt. Maximal %{max} erwartet, %{actual} bekommen. + permission_create_files: Dateien erstellen + permission_delete_files: Dateien löschen + permission_manage_file_links: Datei-Links verwalten + permission_manage_storages_in_project: Dateispeicher im Projekt verwalten + permission_read_files: Dateien lesen + permission_share_files: Dateien freigeben + permission_view_file_links: Datei-Links anzeigen + permission_write_files: Dateien schreiben + project_module_storages: Dateispeicher storages: - default_name: "Mein Speicherplatz" - unknown_storage: "Unbekannter Speicher" buttons: - done_continue: "Fertig, Fortfahren" - done_continue_setup: "Fertig. Setup fortsetzen" - done_complete_setup: "Fertig, Einrichtung abgeschlossen" - complete_without_setup: "Ohne fortfahren" - edit_automatically_managed_project_folders: "Automatisch verwaltete Projektordner bearbeiten" - replace_openproject_oauth: "OpenProject OAuth ersetzen" - replace_provider_type_oauth: "Ersetze %{provider_type} OAuth" - save: "Speichern" - save_and_continue: "Speichern und fortsetzen" - save_and_continue_setup: "Speichern und Setup fortsetzen" - save_and_complete_setup: "Speichern und Setup abschließen" - select_folder: "Ordner auswählen" - configure: "Konfigurieren" - file_storage_view: - general_information: "Allgemeine Informationen" - oauth_applications: "OAuth-Anwendungen" - project_folders: "Projektordner" - storage_provider: "Speicheranbieter" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "URI umleiten" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatisch verwaltete Projektordner" - page_titles: - file_storages: - subtitle: "Fügen Sie einen externen Dateispeicher hinzu, um Dateien in Arbeitspaketen hochzuladen, zu verlinken und zu verwalten." - delete: "Dateispeicher löschen" - managed_project_folders: - title: "Automatisch verwaltete Projektordner" - subtitle_short: "Lassen Sie OpenProject Ordner im Dateispeicher automatisch für jedes Projekt anlegen." - subtitle: > - Lassen Sie OpenProject Ordner pro Projekt automatisch erstellen. Dies wird empfohlen, da mit dieser Option jedes Teammitglied immer über die richtigen Zugriffsrechte verfügt. - project_settings: - index: "Dateispeicher in diesem Projekt verfügbar" - new: "Einen Dateispeicher zum Projekt hinzufügen" - edit: "Dateispeicher in diesem Projekt bearbeiten" - delete: "Dateispeicher löschen" - members_connection_status: "Verbindungsstatus der Mitglieder" - project_storage_members: - title: "Verbindungsstatus der Mitglieder" - subtitle: "Überprüfen Sie den Verbindungsstatus für den Speicher- %{storage_name_link} aller Projektmitglieder." - instructions: - type: "Bitte stellen Sie sicher, dass Sie Administrationsrechte in Ihrer Nextcloud-Instanz haben und die folgende Anwendung vor dem Setup installiert wurde:" - type_link_text: "„OpenProject Integration“" - name: "Geben Sie Ihrem Speicher einen Namen, damit Benutzer zwischen mehreren Speichern unterscheiden können." - host: "Bitte ergänzen Sie die Host-Adresse Ihres Speichers (einschließlich https://). Sie sollte nicht länger als 255 Zeichen sein." - managed_project_folders_application_password: > - Diesen Wert kopieren von: - managed_project_folders_application_password_caption: "Automatisch verwaltete Ordner aktivieren, indem Sie diesen Wert kopieren: %{provider_type_link}." - new_storage: "Lesen Sie unsere Dokumentation zur Konfiguration eines %{provider_name} Dateispeichers für weitere Informationen." - no_storage_set_up: "Es sind noch keine Dateispeicher eingerichtet." - no_specific_folder: "Standardmäßig startet jeder Benutzer in seinem eigenen Home-Ordner, wenn er eine Datei hochlädt." - automatic_folder: "Dies wird automatisch einen Stammordner für dieses Projekt erstellen und die Zugriffsberechtigungen für jedes Projektmitglied verwalten." - empty_project_folder_validation: "Die Auswahl eines Ordners ist zwingend erforderlich, um fortzufahren." - not_logged_into_storage: "Bitte melden Sie sich zunächst an, um einen Projektordner auszuwählen" - existing_manual_folder: > - Sie können einen existierenden Ordner als Hauptordner für dieses Projekt definieren. Die Berechtigungen werden jedoch nicht automatisch verwaltet, der Administrator muss manuell sicherstellen, dass relevante Benutzer Zugriff haben. Der ausgewählte Ordner kann von mehreren Projekten verwendet werden. - setting_up_additional_storages: "Um zusätzliche Dateispeicher einzurichten, besuchen Sie bitte" - setting_up_additional_storages_non_admin: "Administratoren können zusätzliche Dateispeicher in Administration / Dateispeicher einrichten." - setting_up_storages: "Zum Einrichten von Dateispeichern besuchen Sie bitte" - setting_up_storages_non_admin: "Administratoren können Dateispeicher in Administration / Dateispeicher einrichten." - all_available_storages_already_added: "Alle verfügbaren Speicher sind dem Projekt bereits hinzugefügt." - oauth_application_details: "Der geheime Client-Schlüssel wird nach dem Schließen dieses Fensters nicht mehr zugänglich sein. Bitte kopieren Sie diese Werte hierher: %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integrationseinstellungen" - copy_from: "Diesen Wert kopieren von" - nextcloud: - provider_configuration: "Bitte stellen Sie sicher, dass Sie Administrationsrechte in Ihrer Nextcloud-Instanz haben und die %{application_link_text} vor dem Setup installiert wurde." - oauth_configuration: "Kopieren Sie diese Werte aus der %{application_link_text}." - application_link_text: "Anwendung „OpenProject Integration“" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Bitte stellen Sie sicher, dass Sie Administrationsrechte im %{application_link_text} haben oder kontaktieren Sie Ihren Microsoft-Administrator, bevor Sie die Installation durchführen. Im Portal müssen Sie auch eine Azure-Anwendung registrieren oder eine vorhandene zur Authentifizierung verwenden. - oauth_configuration: "Kopieren Sie die Werte der gewünschten Anwendung im %{application_link_text}." - application_link_text: "Azure-Portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Kopieren Sie die Anwendungs-ID aus dem Azure-Portal. Diese wird benötigt, um die Umleitungs-URI zu generieren. - oauth_client_secret: > - Falls kein geheimer Anwendungsschlüssel unter Clientanmeldeinformationen existiert, erstellen Sie bitte einen neuen. - oauth_client_redirect_uri: > - Bitte kopieren Sie diesen Wert in eine neue Web-Umleitungs-URI unter Umleitungs-URIs. - missing_client_id_for_redirect_uri: "Bitte füllen Sie die OAuth-Werte aus, um eine URI zu generieren" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name oder UUID" - drive_id: "Bitte kopieren Sie die ID des gewünschten Laufwerks, indem Sie den Schritten der %{drive_id_link_text} folgen." - documentation_link_text: "OneDrive/SharePoint-Dateispeicherdokumentation" - copy_redirect_uri: "Umleitungs-URI kopieren" - help_texts: - project_folder: > - Der Projektordner ist der Standardordner für Datei-Uploads für dieses Projekt. Benutzer können trotzdem Dateien an andere Orte hochladen. + complete_without_setup: Ohne fortfahren + done_complete_setup: Fertig, Einrichtung abgeschlossen + done_continue: Fertig, Fortfahren + replace_provider_type_oauth: Ersetze %{provider_type} OAuth + save_and_continue: Speichern und fortsetzen + select_folder: Ordner auswählen configuration_checks: oauth_client_incomplete: - nextcloud: "Erlauben Sie OpenProject Zugriff auf Nextcloud Daten über OAuth." - one_drive: "Erlauben Sie OpenProject Zugriff auf Azure-Daten über OAuth, um OneDrive/Sharepoint zu verbinden." + nextcloud: Erlauben Sie OpenProject Zugriff auf Nextcloud Daten über OAuth. + one_drive: Erlauben Sie OpenProject Zugriff auf Azure-Daten über OAuth, um OneDrive/Sharepoint zu verbinden. redirect_uri_incomplete: - one_drive: "Schließen Sie das Setup mit der korrekten Umleitungs-URI ab." + one_drive: Schließen Sie das Setup mit der korrekten Umleitungs-URI ab. + confirm_replace_oauth_application: Sind Sie sicher? Alle Benutzer müssen sich erneut gegen OpenProject autorisieren. + confirm_replace_oauth_client: Sind Sie sicher? Alle Benutzer müssen sich erneut gegen den Daten-Speicher autorisieren. delete_warning: - storage: > - Sind Sie sicher, dass Sie %{file_storage} löschen möchten? Um diese Aktion zu bestätigen, geben Sie bitte den Namen in das untenstehende Feld ein. Daraus folgt: - storage_delete_result_1: "Alle eingerichteten Projektdateispeicher, die diesen Dateispeicher verwenden, werden gelöscht." - storage_delete_result_2: "Alle Dateiverknüpfungen aus Arbeitspaketen sämtlicher Projekte zu Dateien und Ordnern auf diesem Dateispeicher werden gelöscht." - storage_delete_result_3: "Hat dieser Dateispeicher automatisch verwaltete Projektordner, so werden diese und die enthaltenen Dateien permanent gelöscht." - project_storage: > - Sind Sie sicher, dass Sie %{file_storage} aus diesem Projekt löschen möchten? Um diese Aktion zu bestätigen, geben Sie bitte den Namen in das untenstehende Feld ein: - project_storage_delete_result_1: "Entfernen Sie alle Links von Arbeitspaketen dieses Projekts zu Dateien und Ordnern dieses Speichers." - project_storage_delete_result_2: "Falls dieser Speicher einen automatisch verwalteten Projektordner hat, werden dieser und seine Dateien unwiderbringlich gelöscht." - input_delete_confirmation: "Geben Sie den Namen %{file_storage} ein, um mit der Löschung fortzufahren." - irreversible_notice: "Die Löschung des Projekts kann nicht rückgängig gemacht werden." - storage_list_blank_slate: - heading: "Sie haben noch keine Dateispeicher." - description: "Fügen Sie einen Dateispeicher hinzu, um ihn hier zu sehen." - error_invalid_provider_type: "Bitte wählen Sie einen gültigen Dateispeicheranbieter aus." - label_active: "Aktiv" - label_add_new_storage: "Neuen Dateispeicher hinzufügen" - label_delete_storage: "Dateispeicher löschen" - label_inactive: "Inaktiv" - label_creator: "Ersteller" - label_provider: "Anbieter" - label_file_link: "Datei-Link" - label_file_links: "Datei-Links" - label_file_storage: "Dateispeicher" - label_creation_time: "Erstellungszeit" - label_completed: "Abgeschlossen" - label_incomplete: "Unvollständig" - label_name: "Name" - label_host: "Host-URL" + input_delete_confirmation: Geben Sie den Namen %{file_storage} ein, um mit der Löschung fortzufahren. + irreversible_notice: Die Löschung des Projekts kann nicht rückgängig gemacht werden. + project_storage: 'Sind Sie sicher, dass Sie %{file_storage} aus diesem Projekt löschen möchten? Um diese Aktion zu bestätigen, geben Sie bitte den Namen in das untenstehende Feld ein:' + project_storage_delete_result_1: Entfernen Sie alle Links von Arbeitspaketen dieses Projekts zu Dateien und Ordnern dieses Speichers. + project_storage_delete_result_2: Falls dieser Speicher einen automatisch verwalteten Projektordner hat, werden dieser und seine Dateien unwiderbringlich gelöscht. + storage: 'Sind Sie sicher, dass Sie %{file_storage} löschen möchten? Um diese Aktion zu bestätigen, geben Sie bitte den Namen in das untenstehende Feld ein. Daraus folgt:' + storage_delete_result_1: Alle eingerichteten Projektdateispeicher, die diesen Dateispeicher verwenden, werden gelöscht. + storage_delete_result_2: Alle Dateiverknüpfungen aus Arbeitspaketen sämtlicher Projekte zu Dateien und Ordnern auf diesem Dateispeicher werden gelöscht. + storage_delete_result_3: Hat dieser Dateispeicher automatisch verwaltete Projektordner, so werden diese und die enthaltenen Dateien permanent gelöscht. + error_invalid_provider_type: Bitte wählen Sie einen gültigen Dateispeicheranbieter aus. + file_storage_view: + automatically_managed_folders: Automatisch verwaltete Projektordner + general_information: Allgemeine Informationen + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth-Anwendungen + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Projektordner + redirect_uri: URI umleiten + storage_provider: Speicheranbieter + health: + checked: Zuletzt geprüft %{datetime} + label_error: Fehler + label_healthy: Fehlerfrei + label_pending: Ausstehend + since: seit %{datetime} + title: Status des verwalteten Ordners + help_texts: + project_folder: Der Projektordner ist der Standardordner für Datei-Uploads für dieses Projekt. Benutzer können trotzdem Dateien an andere Orte hochladen. + instructions: + all_available_storages_already_added: Alle verfügbaren Speicher sind dem Projekt bereits hinzugefügt. + automatic_folder: Dies wird automatisch einen Stammordner für dieses Projekt erstellen und die Zugriffsberechtigungen für jedes Projektmitglied verwalten. + copy_from: Diesen Wert kopieren von + empty_project_folder_validation: Die Auswahl eines Ordners ist zwingend erforderlich, um fortzufahren. + existing_manual_folder: Sie können einen existierenden Ordner als Hauptordner für dieses Projekt definieren. Die Berechtigungen werden jedoch nicht automatisch verwaltet, der Administrator muss manuell sicherstellen, dass relevante Benutzer Zugriff haben. Der ausgewählte Ordner kann von mehreren Projekten verwendet werden. + host: Bitte ergänzen Sie die Host-Adresse Ihres Speichers (einschließlich https://). Sie sollte nicht länger als 255 Zeichen sein. + managed_project_folders_application_password_caption: 'Automatisch verwaltete Ordner aktivieren, indem Sie diesen Wert kopieren: %{provider_type_link}.' + name: Geben Sie Ihrem Speicher einen Namen, damit Benutzer zwischen mehreren Speichern unterscheiden können. + new_storage: Lesen Sie unsere Dokumentation zur Konfiguration eines %{provider_name} Dateispeichers für weitere Informationen. + nextcloud: + application_link_text: Anwendung „OpenProject Integration“ + integration: Nextcloud Administration / OpenProject + oauth_configuration: Kopieren Sie diese Werte aus der %{application_link_text}. + provider_configuration: Bitte stellen Sie sicher, dass Sie Administrationsrechte in Ihrer Nextcloud-Instanz haben und die %{application_link_text} vor dem Setup installiert wurde. + no_specific_folder: Standardmäßig startet jeder Benutzer in seinem eigenen Home-Ordner, wenn er eine Datei hochlädt. + no_storage_set_up: Es sind noch keine Dateispeicher eingerichtet. + not_logged_into_storage: Bitte melden Sie sich zunächst an, um einen Projektordner auszuwählen + oauth_application_details: 'Der geheime Client-Schlüssel wird nach dem Schließen dieses Fensters nicht mehr zugänglich sein. Bitte kopieren Sie diese Werte hierher: %{oauth_application_details_link}.' + oauth_application_details_link_text: Nextcloud OpenProject Integrationseinstellungen + one_drive: + application_link_text: Azure-Portal + copy_redirect_uri: Umleitungs-URI kopieren + documentation_link_text: OneDrive/SharePoint-Dateispeicherdokumentation + drive_id: Bitte kopieren Sie die ID des gewünschten Laufwerks, indem Sie den Schritten der %{drive_id_link_text} folgen. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Bitte füllen Sie die OAuth-Werte aus, um eine URI zu generieren + oauth_client_redirect_uri: Bitte kopieren Sie diesen Wert in eine neue Web-Umleitungs-URI unter Umleitungs-URIs. + oauth_client_secret: Falls kein geheimer Anwendungsschlüssel unter Clientanmeldeinformationen existiert, erstellen Sie bitte einen neuen. + oauth_configuration: Kopieren Sie die Werte der gewünschten Anwendung im %{application_link_text}. + provider_configuration: Bitte stellen Sie sicher, dass Sie Administrationsrechte im %{application_link_text} haben oder kontaktieren Sie Ihren Microsoft-Administrator, bevor Sie die Installation durchführen. Im Portal müssen Sie auch eine Azure-Anwendung registrieren oder eine vorhandene zur Authentifizierung verwenden. + tenant_id: Bitte kopieren Sie die Verzeichnis-ID (Mandant) der gewünschten Anwendung aus den App-Registrierungen im %{application_link_text}. + tenant_id_placeholder: Name oder UUID + setting_up_additional_storages: Um zusätzliche Dateispeicher einzurichten, besuchen Sie bitte + setting_up_additional_storages_non_admin: Administratoren können zusätzliche Dateispeicher in Administration / Dateispeicher einrichten. + setting_up_storages: Zum Einrichten von Dateispeichern besuchen Sie bitte + setting_up_storages_non_admin: Administratoren können Dateispeicher in Administration / Dateispeicher einrichten. + type: 'Bitte stellen Sie sicher, dass Sie Administrationsrechte in Ihrer Nextcloud-Instanz haben und die folgende Anwendung vor dem Setup installiert wurde:' + type_link_text: "„OpenProject Integration“" + label_active: Aktiv + label_add_new_storage: Neuen Dateispeicher hinzufügen + label_automatic_folder: Neuer Ordner mit automatisch verwalteten Berechtigungen + label_completed: Abgeschlossen + label_creation_time: Erstellungszeit + label_creator: Ersteller + label_delete_storage: Dateispeicher löschen + label_edit_storage: Dateispeicher bearbeiten + label_edit_storage_automatically_managed_folders: Automatisch verwaltete Projektordner des Dateispeichers bearbeiten + label_edit_storage_host: Dateispeicher-Host bearbeiten + label_edit_storage_oauth_client: Dateispeicher OAuth-Anwendung bearbeiten + label_existing_manual_folder: Vorhandener Ordner mit manuell verwalteten Berechtigungen + label_file_storage: Dateispeicher + label_host: Host-URL + label_inactive: Inaktiv + label_incomplete: Unvollständig label_managed_project_folders: - automatically_managed_folders: "Automatisch verwaltete Projektordner" - application_password: "Anwendungspasswort" - label_managed_project_folders_breadcrumb: "Automatisch verwaltete Projektordner" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth Anwendungsdetails" - label_oauth_client_details: "OAuth-Client-Details" - label_openproject_oauth_application_id: "OpenProject OAuth Anwendungs-ID" - label_openproject_oauth_application_secret: "OpenProject OAuth geheimer Anwendungsschlüssel" - label_oauth_client_id: "OAuth-Client-ID" - label_oauth_client_secret: "OAuth Client Geheimcode" - label_information: "Zusätzliche Informationen" - label_provider_type: "Anbieter-Typ" - label_project_folder: "Projektordner" - label_redirect_uri: "URI umleiten" - label_uri: "URI" - label_new_storage: "Neuer Speicher" - label_new_file_storage: "Neuer %{provider} Dateispeicher" - label_edit_storage: "Dateispeicher bearbeiten" - label_edit_storage_host: "Dateispeicher-Host bearbeiten" - label_edit_storage_oauth_client: "Dateispeicher OAuth-Anwendung bearbeiten" - label_show_storage_redirect_uri: "Umleitungs-URI anzeigen" - label_edit_storage_automatically_managed_folders: "Automatisch verwaltete Projektordner des Dateispeichers bearbeiten" - label_existing_manual_folder: "Vorhandener Ordner mit manuell verwalteten Berechtigungen" - label_no_specific_folder: "Kein spezifischer Ordner" - label_automatic_folder: "Neuer Ordner mit automatisch verwalteten Berechtigungen" - label_no_selected_folder: "Kein ausgewählter Ordner" - label_select_provider: "Anbieter auswählen" - label_storage: "Speicher" - label_storages: "Speicher" - label_status: "Status" - label_files: "Dateien" + application_password: Anwendungspasswort + automatically_managed_folders: Automatisch verwaltete Projektordner + label_name: Name + label_new_file_storage: Neuer %{provider} Dateispeicher + label_new_storage: Neuer Speicher + label_no_selected_folder: Kein ausgewählter Ordner + label_no_specific_folder: Kein spezifischer Ordner + label_oauth_client_id: OAuth-Client-ID + label_openproject_oauth_application_id: OpenProject OAuth Anwendungs-ID + label_openproject_oauth_application_secret: OpenProject OAuth geheimer Anwendungsschlüssel + label_project_folder: Projektordner + label_provider: Anbieter + label_redirect_uri: URI umleiten + label_show_storage_redirect_uri: Umleitungs-URI anzeigen + label_status: Status + label_storage: Speicher + label_uri: URI member_connection_status: - connected: "Verbunden" - connected_no_permissions: "Benutzerrolle hat keine Speicherberechtigungen" - not_connected: "Nicht verbunden. Der Benutzer sollte sich über diesen %{link} anmelden." - no_results: "Noch keine Dateispeicher eingerichtet." - members_no_results: "Keine Mitglieder zum Anzeigen." + connected: Verbunden + connected_no_permissions: Benutzerrolle hat keine Speicherberechtigungen + not_connected: Nicht verbunden. Der Benutzer sollte sich über diesen %{link} anmelden. + members_no_results: Keine Mitglieder zum Anzeigen. + no_results: Noch keine Dateispeicher eingerichtet. + notice_successful_storage_connection: Dateispeicher erfolgreich verbunden! Denken Sie daran, das Modul und den spezifischen Dateispeicher in den Projekteinstellungen jedes gewünschten Projekts zu aktivieren, um ihn zu benutzen. + open_project_storage_modal: + success: + a: Einrichtung der Integration abgeschlossen + b: Sie werden jetzt weitergeleitet + waiting: + a: Wir richten Ihre Berechtigungen für den Projektordner ein. + b: Einen Moment bitte, dies könnte etwas dauern... + page_titles: + file_storages: + delete: Dateispeicher löschen + subtitle: Fügen Sie einen externen Dateispeicher hinzu, um Dateien in Arbeitspaketen hochzuladen, zu verlinken und zu verwalten. + managed_project_folders: + subtitle: Lassen Sie OpenProject Ordner pro Projekt automatisch erstellen. Dies wird empfohlen, da mit dieser Option jedes Teammitglied immer über die richtigen Zugriffsrechte verfügt. + subtitle_short: Lassen Sie OpenProject Ordner im Dateispeicher automatisch für jedes Projekt anlegen. + title: Automatisch verwaltete Projektordner + project_settings: + delete: Dateispeicher löschen + edit: Dateispeicher in diesem Projekt bearbeiten + index: Dateispeicher in diesem Projekt verfügbar + members_connection_status: Verbindungsstatus der Mitglieder + new: Einen Dateispeicher zum Projekt hinzufügen + project_storage_members: + subtitle: Überprüfen Sie den Verbindungsstatus für den Speicher- %{storage_name_link} aller Projektmitglieder. + title: Verbindungsstatus der Mitglieder provider_types: - label: "Anbieter-Typ" + label: Anbieter-Typ nextcloud: - name: "Nextcloud" - name_placeholder: "z.B. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Anwendungs-ID" - label_oauth_client_secret: "Nextcloud OAuth geheimer Anwendungsschlüssel" + label_oauth_client_id: Nextcloud OAuth Anwendungs-ID + label_oauth_client_secret: Nextcloud OAuth geheimer Anwendungsschlüssel + name: Nextcloud + name_placeholder: z.B. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "z.B. OneDrive" - label_oauth_client_id: "Azure OAuth Anwendungs-ID (Client)" - label_oauth_client_secret: "Azure OAuth geheimer Clientschlüssel Wert" - confirm_replace_oauth_application: "Sind Sie sicher? Alle Benutzer müssen sich erneut gegen OpenProject autorisieren." - confirm_replace_oauth_client: "Sind Sie sicher? Alle Benutzer müssen sich erneut gegen den Daten-Speicher autorisieren." - oauth_client_details_missing: "Um das Setup abzuschließen, fügen Sie bitte die OAuth Client-Anmeldedaten aus Ihrem Speicher hinzu." - automatically_managed_project_folder_missing: "Um die Einrichtung abzuschließen, konfigurieren Sie bitte die automatish verwalteten Projektordner für Ihren Speicher." - notice_oauth_application_replaced: "Die OpenProject OAuth-Anwendung wurde erfolgreich ersetzt." - notice_successful_storage_connection: "Dateispeicher erfolgreich verbunden! Denken Sie daran, das Modul und den spezifischen Dateispeicher in den Projekteinstellungen jedes gewünschten Projekts zu aktivieren, um ihn zu benutzen." - open_project_storage_modal: - waiting: - a: "Wir richten Ihre Berechtigungen für den Projektordner ein." - b: "Einen Moment bitte, dies könnte etwas dauern..." - success: - a: "Einrichtung der Integration abgeschlossen" - b: "Sie werden jetzt weitergeleitet" - health: - title: "Status des verwalteten Ordners" - label_pending: "Ausstehend" - label_error: "Fehler" - label_healthy: "Fehlerfrei" - checked: "Zuletzt geprüft %{datetime}" - since: "seit %{datetime}" + label_oauth_client_id: Azure OAuth Anwendungs-ID (Client) + label_oauth_client_secret: Azure OAuth geheimer Clientschlüssel Wert + name: OneDrive/SharePoint + name_placeholder: z.B. OneDrive + storage_list_blank_slate: + description: Fügen Sie einen Dateispeicher hinzu, um ihn hier zu sehen. + heading: Sie haben noch keine Dateispeicher. upsale: - title: "OneDrive/SharePoint-Integration" - description: 'Integrieren Sie Ihren OneDrive/SharePoint als Dateispeicher mit OpenProject. Laden Sie Dateien hoch und verknüpfen Sie diese direkt mit Arbeitspaketen in einem Projekt.' + description: Integrieren Sie Ihren OneDrive/SharePoint als Dateispeicher mit OpenProject. Laden Sie Dateien hoch und verknüpfen Sie diese direkt mit Arbeitspaketen in einem Projekt. + title: OneDrive/SharePoint-Integration diff --git a/modules/storages/config/locales/crowdin/el.yml b/modules/storages/config/locales/crowdin/el.yml index d945e1ede920..8c551be7ece0 100644 --- a/modules/storages/config/locales/crowdin/el.yml +++ b/modules/storages/config/locales/crowdin/el.yml @@ -1,268 +1,217 @@ -#English strings go here el: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Aρχείο" - storages/storage: "Storage" attributes: - storages/storage: - name: "Όνομα" - creator: "Creator" - provider_type: "Provider type" - host: "Διακομιστής" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Δημιουργός + host: Διακομιστής + name: Όνομα + provider_type: Τύπος παρόχου + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: δεν είναι εξυπηρετητής Nextcloud + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: δεν είναι έγκυρο. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Aρχείο + storages/storage: Αποθηκευτικός χώρος api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Δημιουργία αρχείων + permission_delete_files: Διαγραφή αρχείων + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Αποθήκευση" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Ρύθμιση παραμέτρων" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth εφαρμογές" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Σύνδεσμος Ανακατεύθυνσης (URI)" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Ενεργό" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Ανενεργό" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Ολοκληρωμένο" - label_incomplete: "Incomplete" - label_name: "Όνομα" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth εφαρμογές + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Σύνδεσμος Ανακατεύθυνσης (URI) + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Σφάλμα + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Ενεργό + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Ολοκληρωμένο + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Ανενεργό + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Σύνδεσμος Ανακατεύθυνσης (URI)" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Κατάσταση" - label_files: "Αρχεία" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Όνομα + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Σύνδεσμος Ανακατεύθυνσης (URI) + label_show_storage_redirect_uri: Show redirect URI + label_status: Κατάσταση + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Σφάλμα" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/eo.yml b/modules/storages/config/locales/crowdin/eo.yml index 914a934b55ef..ee72098993d8 100644 --- a/modules/storages/config/locales/crowdin/eo.yml +++ b/modules/storages/config/locales/crowdin/eo.yml @@ -1,268 +1,217 @@ -#English strings go here eo: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Dosiero" - storages/storage: "Storage" attributes: - storages/storage: - name: "Nomo" - creator: "Creator" - provider_type: "Provider type" - host: "Gastiganto" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Gastiganto + name: Nomo + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Dosiero + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Konservi" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Agordi" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Alidirekti URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktiva" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Neaktiva" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Nomo" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Alidirekti URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Eraro + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktiva + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Neaktiva + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Alidirekti URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Stato" - label_files: "Dosieroj" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Nomo + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Alidirekti URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Stato + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Eraro" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/es.yml b/modules/storages/config/locales/crowdin/es.yml index d90c6942b021..364dd02177d8 100644 --- a/modules/storages/config/locales/crowdin/es.yml +++ b/modules/storages/config/locales/crowdin/es.yml @@ -1,268 +1,217 @@ -#English strings go here es: - plugin_openproject_storages: - name: "Almacenamientos de OpenProject" - description: "Permite enlazar paquetes de trabajo a archivos en almacenamientos externos, como Nextcloud." - permission_view_file_links: "Ver enlaces de archivos" - permission_manage_file_links: "Administrar enlaces de archivos" - permission_manage_storages_in_project: "Administrar almacenes de archivos en el proyecto" - permission_read_files: "Leer archivos" - permission_write_files: "Escribir archivos" - permission_create_files: "Crear archivos" - permission_delete_files: "Eliminar archivos" - permission_share_files: "Compartir archivos" - project_module_storages: "Almacenes de archivos" - errors: - attributes: - storage_error: - not_authorized: "No autorizada para la conexión externa al almacenamiento." - not_found: "No se ha podido encontrar el recurso solicitado en el almacén de archivos externo." activerecord: - models: - file_link: "Archivo" - storages/storage: "Almacén" attributes: - storages/storage: - name: "Nombre" - creator: "Autor" - provider_type: "Tipo de proveedor" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Id. de origen" + origin_id: Id. de origen + storages/storage: + creator: Autor + host: Host + name: Nombre + provider_type: Tipo de proveedor + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "no está vinculado al proyecto." + not_linked_to_project: no está vinculado al proyecto. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: solo puede ser numérico o un UUID. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "no está disponible para este almacenamiento." + mode_unavailable: no está disponible para este almacenamiento. storages/storage: attributes: host: - cannot_be_connected_to: "no admite conexiones." - minimal_nextcloud_version_unmet: "no cumple los requisitos mínimos de versión (debe ser Nextcloud 23 o posteriores)" - not_nextcloud_server: "no es un servidor de Nextcloud" - op_application_not_installed: > - parece que no tienes la aplicación "Integración OpenProject" instalada. Por favor, instálala primero y vuelve a intentarlo. - authorization_header_missing: > - no está completamente configurado. La instancia de Nextcloud no recibe la cabecera "Autorización", que es necesaria para la autorización basada en token Bearer de solicitudes API. Por favor, compruebe la configuración de tu servidor HTTP. + authorization_header_missing: no está completamente configurado. La instancia de Nextcloud no recibe la cabecera "Autorización", que es necesaria para la autorización basada en token Bearer de solicitudes API. Por favor, compruebe la configuración de tu servidor HTTP. + cannot_be_connected_to: no admite conexiones. + minimal_nextcloud_version_unmet: no cumple los requisitos mínimos de versión (debe ser Nextcloud 23 o posteriores) + not_nextcloud_server: no es un servidor de Nextcloud + op_application_not_installed: parece que no tienes la aplicación "Integración OpenProject" instalada. Por favor, instálala primero y vuelve a intentarlo. password: - invalid_password: "no es válido." - unknown_error: "no se ha podido validar. Compruebe su conexión de almacenamiento e inténtelo de nuevo." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "solo puede ser numérico o un UUID." + invalid_password: no es válido. + unknown_error: no se ha podido validar. Compruebe su conexión de almacenamiento e inténtelo de nuevo. + models: + file_link: Archivo + storages/storage: Almacén api_v3: errors: - too_many_elements_created_at_once: "Se intentaron crear demasiados elementos a la vez. Se esperaban como máximo %{max}, pero se recibieron %{actual}." + too_many_elements_created_at_once: Se intentaron crear demasiados elementos a la vez. Se esperaban como máximo %{max}, pero se recibieron %{actual}. + permission_create_files: Crear archivos + permission_delete_files: Eliminar archivos + permission_manage_file_links: Administrar enlaces de archivos + permission_manage_storages_in_project: Administrar almacenes de archivos en el proyecto + permission_read_files: Leer archivos + permission_share_files: Compartir archivos + permission_view_file_links: Ver enlaces de archivos + permission_write_files: Escribir archivos + project_module_storages: Almacenes de archivos storages: - default_name: "Mi almacenamiento" - unknown_storage: "Almacenamiento desconocido" buttons: - done_continue: "Hecho, continuar" - done_continue_setup: "Hecho. Continuar configuración" - done_complete_setup: "Hecho, configuración completada" - complete_without_setup: "Completar sin usar" - edit_automatically_managed_project_folders: "Editar carpetas de proyecto administradas automáticamente" - replace_openproject_oauth: "Reemplazar OpenProject OAuth" - replace_provider_type_oauth: "Reemplazar %{provider_type} OAuth" - save: "Guardar" - save_and_continue: "Guardar y continuar" - save_and_continue_setup: "Guardar y continuar configuración" - save_and_complete_setup: "Guardar y completar configuración" - select_folder: "Seleccionar carpeta" - configure: "Configurar" - file_storage_view: - general_information: "Información general" - oauth_applications: "Aplicaciones OAuth" - project_folders: "Carpeta del proyecto" - storage_provider: "Proveedor de almacenamiento" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirigir URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Carpetas gestionadas automáticamente" - page_titles: - file_storages: - subtitle: "Añadir un archivo de almacenamiento externo para subir, enlazar y gestionar los archivos en los paquetes de trabajo." - delete: "Eliminar el almacenamiento de archivos" - managed_project_folders: - title: "Carpetas de proyecto administradas automáticamente" - subtitle_short: "Permitir que OpenProject cree carpetas por proyecto automáticamente." - subtitle: > - Deje que OpenProject cree carpetas por proyecto automáticamente. Esto es recomendable, ya que garantiza que cada miembro del equipo tenga siempre los permisos de acceso correctos. - project_settings: - index: "Hay almacenes de archivos disponibles en este proyecto" - new: "Añadir un almacenamiento de archivos a este proyecto" - edit: "Edite el archivo de almacenamiento a este proyecto" - delete: "Eliminar el almacenamiento de archivos" - members_connection_status: "Estado de conexión de los miembros" - project_storage_members: - title: "Estado de conexión de los miembros" - subtitle: "Compruebe el estado de conexión del almacenamiento %{storage_name_link} de todos los miembros del proyecto." - instructions: - type: "Por favor, asegúrese de tener privilegios de administrador en su instancia de Nextcloud y tener la siguiente aplicación instalada antes de hacer la configuración:" - type_link_text: "“Integración OpenProject”" - name: "Dale un nombre a tu almacenamiento para que los usuarios puedan diferenciar entre múltiples almacenamientos." - host: "Por favor añade la dirección de host de tu almacenamiento incluyendo el https://. No debe tener más de 255 caracteres." - managed_project_folders_application_password: > - Copiar este valor de: - managed_project_folders_application_password_caption: "Habilitar carpetas gestionadas automáticamente copiando este valor de: %{provider_type_link}." - new_storage: "Lea nuestra documentación sobre crear una integración de almacenamiento de archivos de %{provider_name} para más información." - no_storage_set_up: "Aún no se han configurado los almacenamientos de archivos." - no_specific_folder: "Por defecto, cada usuario comenzará en su propia carpeta de inicio cuando cargue un archivo." - automatic_folder: "Esto creará automáticamente una carpeta raíz para este proyecto y gestionará los permisos de acceso para cada miembro del proyecto." - empty_project_folder_validation: "Es obligatorio seleccionar una carpeta para continuar." - not_logged_into_storage: "Para seleccionar una carpeta de proyecto, inicie primero la sesión" - existing_manual_folder: > - Puede designar una carpeta existente como carpeta raíz de este proyecto. Sin embargo, los permisos no se gestionan automáticamente, sino que el administrador debe asegurarse manualmente de que los usuarios pertinentes tienen acceso. La carpeta seleccionada puede ser utilizada por varios proyectos. - setting_up_additional_storages: "Para configurar almacenes de archivos adicionales, visite" - setting_up_additional_storages_non_admin: "Los administradores pueden configurar almacenes de archivos adicionales en Administración > Almacenes de archivos." - setting_up_storages: "Para configurar almacenes de archivos, visite" - setting_up_storages_non_admin: "Los administradores pueden configurar almacenes de archivos en Administración > Almacenes de archivos." - all_available_storages_already_added: "Ya se añadieron todos los almacenes disponibles al proyecto." - oauth_application_details: "La clave secreta de cliente no será accesible una vez se cierre esta ventana. Por favor, copie estos valores en la configuración de %{oauth_application_details_link}" - oauth_application_details_link_text: "Configuración de integración de OpenProject Nextcloud" - copy_from: "Copiar este valor de" - nextcloud: - provider_configuration: "Por favor, asegúrate de tener privilegios de administración en tu instancia de Nextcloud y de que el %{application_link_text} esté instalado antes de realizar la configuración." - oauth_configuration: "Copia estos valores de %{application_link_text}." - application_link_text: "aplicación “Integración OpenProject”" - integration: "Administración de Nextcloud / OpenProject" - one_drive: - provider_configuration: > - Asegúrese de tener privilegios de administración en la %{application_link_text} o póngase en contacto con el administrador de Microsoft antes de realizar la configuración. En el portal, también es necesario registrar una aplicación Azure o utilizar una ya existente para la autenticación. - oauth_configuration: "Copie estos valores de la aplicación deseada en %{application_link_text}." - application_link_text: "Portal de Azure" - integration: "OneDrive/Sharepoint" - oauth_client_id: > - Copie el ID de cliente desde el portal Azure. Esto es necesario para generar la URI de redirección. - oauth_client_secret: > - En caso de que no haya ningún "client secret" de aplicación bajo las credenciales del Cliente, por favor cree uno nuevo. - oauth_client_redirect_uri: > - Por favor, copie este valor a una nueva URI de redirección Web bajo URIs de redirección. - missing_client_id_for_redirect_uri: "Por favor, rellene los valores de OAuth para generar una URI" - tenant_id: > - Copie el Directory (tenant) ID de la aplicación deseada y la aplicación registros en %{application_link_text}. - tenant_id_placeholder: "Nombre o UUID" - drive_id: "Por favor, copie el ID de la unidad deseada siguiendo los pasos en %{drive_id_link_text}." - documentation_link_text: "Documentación de almacenamientos de archivos OneDrive/SharePoint" - copy_redirect_uri: "Copiar URI de redirección" - help_texts: - project_folder: > - La carpeta del proyecto es la carpeta predeterminada para la carga de archivos de este proyecto. No obstante, los usuarios pueden subir archivos a otras ubicaciones. + complete_without_setup: Completar sin usar + done_complete_setup: Hecho, configuración completada + done_continue: Hecho, continuar + replace_provider_type_oauth: Reemplazar %{provider_type} OAuth + save_and_continue: Guardar y continuar + select_folder: Seleccionar carpeta configuration_checks: oauth_client_incomplete: - nextcloud: "Permitir a OpenProject acceder a los datos de Nextcloud usando OAuth." - one_drive: "Permitir a OpenProject acceder a datos Azure usando OAuth para conectar OneDrive/Sharepoint." + nextcloud: Permitir a OpenProject acceder a los datos de Nextcloud usando OAuth. + one_drive: Permitir a OpenProject acceder a datos Azure usando OAuth para conectar OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Completa la configuración con la redirección URI correcta." + one_drive: Completa la configuración con la redirección URI correcta. + confirm_replace_oauth_application: '¿Estás seguro? Todos los usuarios tendrán que autorizar de nuevo contra OpenProject.' + confirm_replace_oauth_client: '¿Estás seguro? Todos los usuarios tendrán que autorizar de nuevo en el almacenamiento.' delete_warning: - storage: > - ¿Está seguro de que desea eliminar %{file_storage}? Para confirmar esta acción, introduzca el nombre de almacenamiento en el campo de abajo, este será: - storage_delete_result_1: "Eliminar todas las configuraciones de almacenamiento de todos los proyectos que utilizan este almacenamiento." - storage_delete_result_2: "Eliminar todos los enlaces de paquetes de trabajo de todos los proyectos a archivos y carpetas de ese almacenamiento." - storage_delete_result_3: "En caso de que este almacenamiento tenga gestión automática de carpetas de proyecto, aquellas y sus archivos contenidos serán eliminados para siempre." - project_storage: > - ¿Seguro que desea eliminar %{file_storage} de este proyecto? Para confirmar esta acción introduzca el nombre del almacenamiento en el campo inferior, esto hará lo siguiente: - project_storage_delete_result_1: "Eliminar todos los enlaces de los paquetes de trabajo de este proyecto a los archivos y carpetas de ese almacén." - project_storage_delete_result_2: "En caso de que este almacenamiento tenga una carpeta de proyecto gestionada automáticamente, esta y sus archivos se eliminarán para siempre." - input_delete_confirmation: "Introduzca el nombre de almacenamiento de archivos %{file_storage} para confirmar la eliminación." - irreversible_notice: "Eliminar un archivo almacenado es una acción irreversible." - storage_list_blank_slate: - heading: "Aún no tiene ningún almacenamiento." - description: "Añade un almacenamiento para verlos aquí." - error_invalid_provider_type: "Por favor, seleccione un proveedor de almacenamiento válido." - label_active: "Activo" - label_add_new_storage: "Añadir nuevo almacenamiento" - label_delete_storage: "Eliminar almacenamiento" - label_inactive: "Inactivo" - label_creator: "Autor" - label_provider: "Proveedor" - label_file_link: "Enlace de archivo" - label_file_links: "Enlaces de archivos" - label_file_storage: "Almacenamiento de archivos" - label_creation_time: "Tiempo de creación" - label_completed: "Completado" - label_incomplete: "Incompleto" - label_name: "Nombre" - label_host: "URL del host" + input_delete_confirmation: Introduzca el nombre de almacenamiento de archivos %{file_storage} para confirmar la eliminación. + irreversible_notice: Eliminar un archivo almacenado es una acción irreversible. + project_storage: '¿Seguro que desea eliminar %{file_storage} de este proyecto? Para confirmar esta acción introduzca el nombre del almacenamiento en el campo inferior, esto hará lo siguiente:' + project_storage_delete_result_1: Eliminar todos los enlaces de los paquetes de trabajo de este proyecto a los archivos y carpetas de ese almacén. + project_storage_delete_result_2: En caso de que este almacenamiento tenga una carpeta de proyecto gestionada automáticamente, esta y sus archivos se eliminarán para siempre. + storage: '¿Está seguro de que desea eliminar %{file_storage}? Para confirmar esta acción, introduzca el nombre de almacenamiento en el campo de abajo, este será:' + storage_delete_result_1: Eliminar todas las configuraciones de almacenamiento de todos los proyectos que utilizan este almacenamiento. + storage_delete_result_2: Eliminar todos los enlaces de paquetes de trabajo de todos los proyectos a archivos y carpetas de ese almacenamiento. + storage_delete_result_3: En caso de que este almacenamiento tenga gestión automática de carpetas de proyecto, aquellas y sus archivos contenidos serán eliminados para siempre. + error_invalid_provider_type: Por favor, seleccione un proveedor de almacenamiento válido. + file_storage_view: + automatically_managed_folders: Carpetas gestionadas automáticamente + general_information: Información general + nextcloud_oauth: Nextcloud OAuth + oauth_applications: Aplicaciones OAuth + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Carpeta del proyecto + redirect_uri: Redirigir URI + storage_provider: Proveedor de almacenamiento + health: + checked: Última comprobación %{datetime} + label_error: Error + label_healthy: Correcto + label_pending: Pendiente + since: desde %{datetime} + title: Estado de carpetas gestionadas + help_texts: + project_folder: La carpeta del proyecto es la carpeta predeterminada para la carga de archivos de este proyecto. No obstante, los usuarios pueden subir archivos a otras ubicaciones. + instructions: + all_available_storages_already_added: Ya se añadieron todos los almacenes disponibles al proyecto. + automatic_folder: Esto creará automáticamente una carpeta raíz para este proyecto y gestionará los permisos de acceso para cada miembro del proyecto. + copy_from: Copiar este valor de + empty_project_folder_validation: Es obligatorio seleccionar una carpeta para continuar. + existing_manual_folder: Puede designar una carpeta existente como carpeta raíz de este proyecto. Sin embargo, los permisos no se gestionan automáticamente, sino que el administrador debe asegurarse manualmente de que los usuarios pertinentes tienen acceso. La carpeta seleccionada puede ser utilizada por varios proyectos. + host: Por favor añade la dirección de host de tu almacenamiento incluyendo el https://. No debe tener más de 255 caracteres. + managed_project_folders_application_password_caption: 'Habilitar carpetas gestionadas automáticamente copiando este valor de: %{provider_type_link}.' + name: Dale un nombre a tu almacenamiento para que los usuarios puedan diferenciar entre múltiples almacenamientos. + new_storage: Lea nuestra documentación sobre crear una integración de almacenamiento de archivos de %{provider_name} para más información. + nextcloud: + application_link_text: aplicación “Integración OpenProject” + integration: Administración de Nextcloud / OpenProject + oauth_configuration: Copia estos valores de %{application_link_text}. + provider_configuration: Por favor, asegúrate de tener privilegios de administración en tu instancia de Nextcloud y de que el %{application_link_text} esté instalado antes de realizar la configuración. + no_specific_folder: Por defecto, cada usuario comenzará en su propia carpeta de inicio cuando cargue un archivo. + no_storage_set_up: Aún no se han configurado los almacenamientos de archivos. + not_logged_into_storage: Para seleccionar una carpeta de proyecto, inicie primero la sesión + oauth_application_details: La clave secreta de cliente no será accesible una vez se cierre esta ventana. Por favor, copie estos valores en la configuración de %{oauth_application_details_link} + oauth_application_details_link_text: Configuración de integración de OpenProject Nextcloud + one_drive: + application_link_text: Portal de Azure + copy_redirect_uri: Copiar URI de redirección + documentation_link_text: Documentación de almacenamientos de archivos OneDrive/SharePoint + drive_id: Por favor, copie el ID de la unidad deseada siguiendo los pasos en %{drive_id_link_text}. + integration: OneDrive/Sharepoint + missing_client_id_for_redirect_uri: Por favor, rellene los valores de OAuth para generar una URI + oauth_client_redirect_uri: Por favor, copie este valor a una nueva URI de redirección Web bajo URIs de redirección. + oauth_client_secret: En caso de que no haya ningún "client secret" de aplicación bajo las credenciales del Cliente, por favor cree uno nuevo. + oauth_configuration: Copie estos valores de la aplicación deseada en %{application_link_text}. + provider_configuration: Asegúrese de tener privilegios de administración en la %{application_link_text} o póngase en contacto con el administrador de Microsoft antes de realizar la configuración. En el portal, también es necesario registrar una aplicación Azure o utilizar una ya existente para la autenticación. + tenant_id: Copie el Directory (tenant) ID de la aplicación deseada y la aplicación registros en %{application_link_text}. + tenant_id_placeholder: Nombre o UUID + setting_up_additional_storages: Para configurar almacenes de archivos adicionales, visite + setting_up_additional_storages_non_admin: Los administradores pueden configurar almacenes de archivos adicionales en Administración > Almacenes de archivos. + setting_up_storages: Para configurar almacenes de archivos, visite + setting_up_storages_non_admin: Los administradores pueden configurar almacenes de archivos en Administración > Almacenes de archivos. + type: 'Por favor, asegúrese de tener privilegios de administrador en su instancia de Nextcloud y tener la siguiente aplicación instalada antes de hacer la configuración:' + type_link_text: "“Integración OpenProject”" + label_active: Activo + label_add_new_storage: Añadir nuevo almacenamiento + label_automatic_folder: Nueva carpeta con permisos gestionados automáticamente + label_completed: Completado + label_creation_time: Tiempo de creación + label_creator: Autor + label_delete_storage: Eliminar almacenamiento + label_edit_storage: Editar almacenamiento + label_edit_storage_automatically_managed_folders: Editar carpetas gestionadas automáticamente + label_edit_storage_host: Editar host del almacenamiento + label_edit_storage_oauth_client: Editar OAuth client del almacenamiento + label_existing_manual_folder: Carpeta existente con permisos gestionados manualmente + label_file_storage: Almacenamiento de archivos + label_host: URL del host + label_inactive: Inactivo + label_incomplete: Incompleto label_managed_project_folders: - automatically_managed_folders: "Carpetas gestionadas automáticamente" - application_password: "Contraseña de aplicación" - label_managed_project_folders_breadcrumb: "Carpetas de proyecto gestionadas automáticamente" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OAuth de OneDrive" - label_oauth_application_details: "Detalles de aplicación OAuth" - label_oauth_client_details: "Detalles del cliente OAuth" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "ID de cliente OAuth" - label_oauth_client_secret: "Clave secreta de cliente OAuth" - label_information: "Información adicional" - label_provider_type: "Tipo de proveedor" - label_project_folder: "Carpeta del proyecto" - label_redirect_uri: "Redirigir URI" - label_uri: "URI" - label_new_storage: "Nuevo almacén" - label_new_file_storage: "Nuevo almacenamiento de %{provider}" - label_edit_storage: "Editar almacenamiento" - label_edit_storage_host: "Editar host del almacenamiento" - label_edit_storage_oauth_client: "Editar OAuth client del almacenamiento" - label_show_storage_redirect_uri: "Mostrar URI de redirección" - label_edit_storage_automatically_managed_folders: "Editar carpetas gestionadas automáticamente" - label_existing_manual_folder: "Carpeta existente con permisos gestionados manualmente" - label_no_specific_folder: "Ninguna carpeta específica" - label_automatic_folder: "Nueva carpeta con permisos gestionados automáticamente" - label_no_selected_folder: "No hay carpeta seleccionada" - label_select_provider: "Seleccionar proveedor" - label_storage: "Almacén" - label_storages: "Almacenes" - label_status: "Estado" - label_files: "Archivos" + application_password: Contraseña de aplicación + automatically_managed_folders: Carpetas gestionadas automáticamente + label_name: Nombre + label_new_file_storage: Nuevo almacenamiento de %{provider} + label_new_storage: Nuevo almacén + label_no_selected_folder: No hay carpeta seleccionada + label_no_specific_folder: Ninguna carpeta específica + label_oauth_client_id: ID de cliente OAuth + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Carpeta del proyecto + label_provider: Proveedor + label_redirect_uri: Redirigir URI + label_show_storage_redirect_uri: Mostrar URI de redirección + label_status: Estado + label_storage: Almacén + label_uri: URI member_connection_status: - connected: "Conectado" - connected_no_permissions: "El rol de usuario no tiene permisos de almacenamiento" - not_connected: "No conectado. El usuario debe iniciar sesión en el almacenamiento a través del siguiente %{link}." - no_results: "Aún no se han configurado almacenes de archivos." - members_no_results: "No hay miembros para mostrar." + connected: Conectado + connected_no_permissions: El rol de usuario no tiene permisos de almacenamiento + not_connected: No conectado. El usuario debe iniciar sesión en el almacenamiento a través del siguiente %{link}. + members_no_results: No hay miembros para mostrar. + no_results: Aún no se han configurado almacenes de archivos. + notice_successful_storage_connection: '¡Almacenamiento conectado con éxito! Recuerda activar el módulo y el almacenamiento específico en la configuración del proyecto de cada proyecto deseado para usarlo.' + open_project_storage_modal: + success: + a: Configuración de integración completada + b: Estás siendo redirigido + waiting: + a: Estamos configurando tus permisos en la carpeta del proyecto. + b: Un momento, por favor, esto puede llevar algún tiempo... + page_titles: + file_storages: + delete: Eliminar el almacenamiento de archivos + subtitle: Añadir un archivo de almacenamiento externo para subir, enlazar y gestionar los archivos en los paquetes de trabajo. + managed_project_folders: + subtitle: Deje que OpenProject cree carpetas por proyecto automáticamente. Esto es recomendable, ya que garantiza que cada miembro del equipo tenga siempre los permisos de acceso correctos. + subtitle_short: Permitir que OpenProject cree carpetas por proyecto automáticamente. + title: Carpetas de proyecto administradas automáticamente + project_settings: + delete: Eliminar el almacenamiento de archivos + edit: Edite el archivo de almacenamiento a este proyecto + index: Hay almacenes de archivos disponibles en este proyecto + members_connection_status: Estado de conexión de los miembros + new: Añadir un almacenamiento de archivos a este proyecto + project_storage_members: + subtitle: Compruebe el estado de conexión del almacenamiento %{storage_name_link} de todos los miembros del proyecto. + title: Estado de conexión de los miembros provider_types: - label: "Tipo de proveedor" + label: Tipo de proveedor nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/Sharepoint" - name_placeholder: "ej. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "¿Estás seguro? Todos los usuarios tendrán que autorizar de nuevo contra OpenProject." - confirm_replace_oauth_client: "¿Estás seguro? Todos los usuarios tendrán que autorizar de nuevo en el almacenamiento." - oauth_client_details_missing: "Para completar la configuración, por favor agregue las credenciales del cliente OAuth desde su almacenamiento." - automatically_managed_project_folder_missing: "Para completar la configuración, configure carpetas de proyecto gestionadas automáticamente para su almacenamiento." - notice_oauth_application_replaced: "La aplicación OpenProject OAuth fue reemplazada con éxito." - notice_successful_storage_connection: "¡Almacenamiento conectado con éxito! Recuerda activar el módulo y el almacenamiento específico en la configuración del proyecto de cada proyecto deseado para usarlo." - open_project_storage_modal: - waiting: - a: "Estamos configurando tus permisos en la carpeta del proyecto." - b: "Un momento, por favor, esto puede llevar algún tiempo..." - success: - a: "Configuración de integración completada" - b: "Estás siendo redirigido" - health: - title: "Estado de carpetas gestionadas" - label_pending: "Pendiente" - label_error: "Error" - label_healthy: "Correcto" - checked: "Última comprobación %{datetime}" - since: "desde %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/Sharepoint + name_placeholder: ej. OneDrive + storage_list_blank_slate: + description: Añade un almacenamiento para verlos aquí. + heading: Aún no tiene ningún almacenamiento. upsale: - title: "Integración con OneDrive/SharePoint" - description: 'Integre su OneDrive/SharePoint como almacenamiento de archivos con OpenProject. Sube archivos y enláguelos directamente a paquetes de trabajo en un proyecto.' + description: Integre su OneDrive/SharePoint como almacenamiento de archivos con OpenProject. Sube archivos y enláguelos directamente a paquetes de trabajo en un proyecto. + title: Integración con OneDrive/SharePoint diff --git a/modules/storages/config/locales/crowdin/et.yml b/modules/storages/config/locales/crowdin/et.yml index 27b88e5773ba..07a530d6ad98 100644 --- a/modules/storages/config/locales/crowdin/et.yml +++ b/modules/storages/config/locales/crowdin/et.yml @@ -1,268 +1,217 @@ -#English strings go here et: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Manus" - storages/storage: "Storage" attributes: - storages/storage: - name: "Nimi" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Nimi + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Manus + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Salvesta" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Seadista" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktiivne" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Nimi" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Tõrge + label_healthy: Healthy + label_pending: Ootel + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktiivne + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Olek" - label_files: "Failid" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Nimi + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Olek + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Ootel" - label_error: "Tõrge" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/eu.yml b/modules/storages/config/locales/crowdin/eu.yml index cdb0ca611e04..53bc6443fc05 100644 --- a/modules/storages/config/locales/crowdin/eu.yml +++ b/modules/storages/config/locales/crowdin/eu.yml @@ -1,268 +1,217 @@ -#English strings go here eu: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "File" - storages/storage: "Storage" attributes: - storages/storage: - name: "Name" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Name + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: File + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Save" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Active" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Name" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Active + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Files" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Name + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/fa.yml b/modules/storages/config/locales/crowdin/fa.yml index f7803004eedd..29e6fd567499 100644 --- a/modules/storages/config/locales/crowdin/fa.yml +++ b/modules/storages/config/locales/crowdin/fa.yml @@ -1,268 +1,217 @@ -#English strings go here fa: - plugin_openproject_storages: - name: "ذخیره سازهای OpenProject " - description: "امکان ارتباط بخش فایل پکیج‌های کاری را با فایل‌ها در ذخیره‌سازی‌های خارجی مانند Nextcloud فراهم می‌کند.\"" - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "فایل" - storages/storage: "Storage" attributes: - storages/storage: - name: "نام" - creator: "Creator" - provider_type: "Provider type" - host: "میزبان" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: میزبان + name: نام + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: فایل + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "ذخیره" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "ویرایش" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "احراز هویت(OAuth) OpenProject" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "احراز هویت (OAuth) Nextcloud " - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Active" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "نام" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: احراز هویت (OAuth) Nextcloud + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: احراز هویت(OAuth) OpenProject + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Active + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "احراز هویت(OAuth) OpenProject" - nextcloud: "احراز هویت (OAuth) Nextcloud " - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Files" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: نام + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "هیچ عضوی برای نمایش نیست." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: هیچ عضوی برای نمایش نیست. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/fi.yml b/modules/storages/config/locales/crowdin/fi.yml index 2ee8cfb39c16..1ecf183d6fe4 100644 --- a/modules/storages/config/locales/crowdin/fi.yml +++ b/modules/storages/config/locales/crowdin/fi.yml @@ -1,268 +1,217 @@ -#English strings go here fi: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Tiedosto" - storages/storage: "Storage" attributes: - storages/storage: - name: "Nimi" - creator: "Creator" - provider_type: "Provider type" - host: "Isäntä" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Isäntä + name: Nimi + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Tiedosto + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Tallenna" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Asetukset" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktiivinen" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Nimi" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Virhe + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktiivinen + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Tila" - label_files: "Tiedostot" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Nimi + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Tila + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Virhe" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/fil.yml b/modules/storages/config/locales/crowdin/fil.yml index e8636b62e3ec..0d1b2586a9f2 100644 --- a/modules/storages/config/locales/crowdin/fil.yml +++ b/modules/storages/config/locales/crowdin/fil.yml @@ -1,268 +1,217 @@ -#English strings go here fil: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "File" - storages/storage: "Storage" attributes: - storages/storage: - name: "Pangalan" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Pangalan + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: File + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "I-save" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "I-configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktibo" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Hindi aktibo" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Pangalan" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Mali + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktibo + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Hindi aktibo + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Estado" - label_files: "Mga file" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Pangalan + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Estado + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Mali" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/fr.yml b/modules/storages/config/locales/crowdin/fr.yml index 2c8adc8a5c53..69667d7c841d 100644 --- a/modules/storages/config/locales/crowdin/fr.yml +++ b/modules/storages/config/locales/crowdin/fr.yml @@ -1,268 +1,217 @@ -#English strings go here fr: - plugin_openproject_storages: - name: "Stockages OpenProject" - description: "Permet de lier des lots de travaux à des fichiers dans des stockages externes, tels que Nextcloud." - permission_view_file_links: "Voir les liens des fichiers" - permission_manage_file_links: "Gérer les liens de fichiers" - permission_manage_storages_in_project: "Gérer les stockages de fichiers dans le projet" - permission_read_files: "Lire les fichiers" - permission_write_files: "Écrire des fichiers" - permission_create_files: "Créer des fichiers" - permission_delete_files: "Supprimer des fichiers" - permission_share_files: "Partage des fichiers" - project_module_storages: "Stockages de fichiers" - errors: - attributes: - storage_error: - not_authorized: "Non autorisé pour la connexion externe à l'espace de stockage." - not_found: "La ressource demandée n'a pas pu être retrouvée dans l'espace de stockage de fichiers externe." activerecord: - models: - file_link: "Fichier" - storages/storage: "Stockage" attributes: - storages/storage: - name: "Nom" - creator: "Créateur" - provider_type: "Type de fournisseur" - host: "Hôte" - tenant: "ID du répertoire (locataire)" storages/file_link: - origin_id: "Id d'origine" + origin_id: Id d'origine + storages/storage: + creator: Créateur + host: Hôte + name: Nom + provider_type: Type de fournisseur + tenant: ID du répertoire (locataire) errors: messages: - not_linked_to_project: "n'est pas lié au projet." + not_linked_to_project: n'est pas lié au projet. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: ne peut être que numérique ou un uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "n'est pas disponible pour cet espace de stockage." + mode_unavailable: n'est pas disponible pour cet espace de stockage. storages/storage: attributes: host: - cannot_be_connected_to: "ne peut pas être connecté." - minimal_nextcloud_version_unmet: "ne répond pas aux exigences minimales de version (doit être Nextcloud 23 ou supérieur)" - not_nextcloud_server: "n'est pas un serveur Nextcloud" - op_application_not_installed: > - semble ne pas avoir installé l'application "Intégration OpenProject" . Veuillez d'abord l'installer puis réessayer. - authorization_header_missing: > - n'est pas entièrement configuré. L'instance Nextcloud ne reçoit pas l'en-tête "Authorization", ce qui est nécessaire pour une autorisation basée sur un jeton Bearer des requêtes API. Veuillez vérifier la configuration de votre serveur HTTP. + authorization_header_missing: n'est pas entièrement configuré. L'instance Nextcloud ne reçoit pas l'en-tête "Authorization", ce qui est nécessaire pour une autorisation basée sur un jeton Bearer des requêtes API. Veuillez vérifier la configuration de votre serveur HTTP. + cannot_be_connected_to: ne peut pas être connecté. + minimal_nextcloud_version_unmet: ne répond pas aux exigences minimales de version (doit être Nextcloud 23 ou supérieur) + not_nextcloud_server: n'est pas un serveur Nextcloud + op_application_not_installed: semble ne pas avoir installé l'application "Intégration OpenProject" . Veuillez d'abord l'installer puis réessayer. password: - invalid_password: "n'est pas valide." - unknown_error: "n'a pas pu être validé. Veuillez vérifier votre connexion à l'espace de stockage et réessayez." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "ne peut être que numérique ou un uuid." + invalid_password: n'est pas valide. + unknown_error: n'a pas pu être validé. Veuillez vérifier votre connexion à l'espace de stockage et réessayez. + models: + file_link: Fichier + storages/storage: Stockage api_v3: errors: - too_many_elements_created_at_once: "Trop d'éléments créés à la fois. %{max} attendu au maximum, obtenu %{actual}." + too_many_elements_created_at_once: Trop d'éléments créés à la fois. %{max} attendu au maximum, obtenu %{actual}. + permission_create_files: Créer des fichiers + permission_delete_files: Supprimer des fichiers + permission_manage_file_links: Gérer les liens de fichiers + permission_manage_storages_in_project: Gérer les stockages de fichiers dans le projet + permission_read_files: Lire les fichiers + permission_share_files: Partage des fichiers + permission_view_file_links: Voir les liens des fichiers + permission_write_files: Écrire des fichiers + project_module_storages: Stockages de fichiers storages: - default_name: "Mon stockage" - unknown_storage: "Espace de stockage inconnu" buttons: - done_continue: "Terminé, continuer" - done_continue_setup: "Terminé. Poursuivre la configuration" - done_complete_setup: "Configuration terminée." - complete_without_setup: "Compléter sans" - edit_automatically_managed_project_folders: "Modifier les dossiers de projet gérés automatiquement" - replace_openproject_oauth: "Remplacer OAuth OpenProject" - replace_provider_type_oauth: "Remplacer OAuth %{provider_type}" - save: "Enregistrer" - save_and_continue: "Sauvegarder et poursuivre" - save_and_continue_setup: "Enregistrer et continuer la configuration" - save_and_complete_setup: "Enregistrer et terminer la configuration" - select_folder: "Sélectionner un dossier" - configure: "Configurer" - file_storage_view: - general_information: "Informations générales" - oauth_applications: "Applications OAuth" - project_folders: "Dossier du projet" - storage_provider: "Fournisseur de stockage" - openproject_oauth: "OAuth OpenProject" - one_drive_oauth: "OAuth Azure" - redirect_uri: "URI de redirection" - nextcloud_oauth: "OAuth Nextcloud" - automatically_managed_folders: "Dossiers gérés automatiquement" - page_titles: - file_storages: - subtitle: "Ajouter un stockage de fichiers externe pour télécharger, lier et gérer les fichiers dans les lots de travaux." - delete: "Supprimer l'espace de stockage de fichiers" - managed_project_folders: - title: "Répertoires de projet gérés automatiquement" - subtitle_short: "Laisser OpenProject créer automatiquement des dossiers par projet." - subtitle: > - Laisser OpenProject créer automatiquement des dossiers par projet. Cette option est recommandée, car elle garantit que chaque membre de l'équipe dispose toujours des autorisations d'accès correctes. - project_settings: - index: "Stockages de fichiers disponibles dans ce projet" - new: "Ajouter un stockage de fichiers à ce projet" - edit: "Modifier l'espace de stockage de fichiers pour ce projet" - delete: "Supprimer l'espace de stockage de fichiers" - members_connection_status: "Statut de connexion des membres" - project_storage_members: - title: "Statut de connexion des membres" - subtitle: "Vérifiez l'état de la connexion pour l'espace de stockage %{storage_name_link} de tous les membres du projet." - instructions: - type: "Veuillez vous assurer que vous avez les privilèges d'administration dans votre instance Nextcloud et que l'application suivante est installée avant de procéder à l'installation :" - type_link_text: "« Intégration OpenProject »" - name: "Donnez à votre stockage un nom pour que les utilisateurs puissent se différencier entre plusieurs stockages." - host: "Veuillez ajouter l'adresse d'hôte de votre stockage, y compris le https://. Il ne doit pas dépasser 255 caractères." - managed_project_folders_application_password: > - Copier cette valeur depuis : - managed_project_folders_application_password_caption: "Activez les dossiers gérés automatiquement en copiant cette valeur depuis : %{provider_type_link}." - new_storage: "Lisez notre documentation sur la configuration d'une intégration avec %{provider_name} pour le stockage de fichiers pour plus d'informations." - no_storage_set_up: "Aucun espace de stockage de fichiers n'a été configuré pour le moment." - no_specific_folder: "Par défaut, chaque utilisateur démarrera dans son propre dossier d'accueil lorsqu'il téléversera un fichier." - automatic_folder: "Cela créera automatiquement un dossier racine pour ce projet et gérera les autorisations d'accès pour chaque membre du projet." - empty_project_folder_validation: "La sélection d'un dossier est nécessaire pour continuer." - not_logged_into_storage: "Pour sélectionner un dossier de projet, veuillez d'abord vous connecter" - existing_manual_folder: > - Vous pouvez désigner un dossier existant comme dossier racine pour ce projet. Les permissions ne sont cependant pas gérées automatiquement, l'administrateur doit s'assurer manuellement que les utilisateurs pertinents y ont accès. Le dossier sélectionné peut être utilisé par plusieurs projets. - setting_up_additional_storages: "Pour configurer des stockages de fichiers supplémentaires, veuillez visiter" - setting_up_additional_storages_non_admin: "Les administrateurs peuvent configurer des stockages de fichiers supplémentaires dans Administration / Stockages de fichiers." - setting_up_storages: "Pour configurer des stockages de fichiers, veuillez visiter" - setting_up_storages_non_admin: "Les administrateurs peuvent configurer des stockages de fichiers dans Administration / Stockages de fichiers." - all_available_storages_already_added: "Tous les stockages disponibles sont déjà ajoutés au projet." - oauth_application_details: "La valeur secrète du client ne sera plus accessible après la fermeture de cette fenêtre. Veuillez copier-coller ces valeurs dans %{oauth_application_details_link}" - oauth_application_details_link_text: "Paramètres d'intégration avec Nextcloud" - copy_from: "Copier cette valeur depuis" - nextcloud: - provider_configuration: "Veuillez vous assurer que vous avez les droits d'administration dans votre instance Nextcloud et que le %{application_link_text} est installé avant de procéder." - oauth_configuration: "Copiez ces valeurs depuis %{application_link_text}." - application_link_text: "application « Intégration OpenProject»" - integration: "Administration Nextcloud / OpenProject" - one_drive: - provider_configuration: > - Veuillez vous assurer que vous disposez des privilèges d'administration dans le %{application_link_text} ou contactez votre administrateur Microsoft avant de procéder à l'installation. Dans le portail, vous devez également enregistrer une application Azure ou utiliser une application existante pour l'authentification. - oauth_configuration: "Copiez ces valeurs de l'application souhaitée dans %{application_link_text}." - application_link_text: "Portal Azure" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copiez l'identifiant du client depuis le portail Azure. Ceci est nécessaire pour générer l'URI de redirection. - oauth_client_secret: > - Dans le cas où il n'y a pas de secret client d'application sous les identifiants du client, veuillez en créer un nouveau. - oauth_client_redirect_uri: > - Veuillez copier cette valeur vers un nouvel URI de redirection web sous les URI de redirection. - missing_client_id_for_redirect_uri: "Veuillez remplir les valeurs OAuth pour générer un URI" - tenant_id: > - Veuillez copier l'identifiant du répertoire (locataire) de l'application concernée et les enregistrements de l'application dans %{application_link_text}. - tenant_id_placeholder: "Nom ou UUID" - drive_id: "Veuillez copier l'ID du lecteur souhaité en suivant les étapes de %{drive_id_link_text}." - documentation_link_text: "Documentation de stockage de fichiers OneDrive/SharePoint" - copy_redirect_uri: "Copier l'URI de redirection" - help_texts: - project_folder: > - Le dossier de projet est le dossier par défaut pour les téléversements de fichiers pour ce projet. Les utilisateurs peuvent néanmoins encore téléverser des fichiers vers d'autres emplacements. + complete_without_setup: Compléter sans + done_complete_setup: Configuration terminée. + done_continue: Terminé, continuer + replace_provider_type_oauth: Remplacer OAuth %{provider_type} + save_and_continue: Sauvegarder et poursuivre + select_folder: Sélectionner un dossier configuration_checks: oauth_client_incomplete: - nextcloud: "Autoriser OpenProject à accéder aux données Nextcloud en utilisant OAuth." - one_drive: "Autoriser OpenProject à accéder aux données Azure en utilisant OAuth pour connecter OneDrive/Sharepoint." + nextcloud: Autoriser OpenProject à accéder aux données Nextcloud en utilisant OAuth. + one_drive: Autoriser OpenProject à accéder aux données Azure en utilisant OAuth pour connecter OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complétez la configuration avec la redirection de l'URI correcte." + one_drive: Complétez la configuration avec la redirection de l'URI correcte. + confirm_replace_oauth_application: Êtes-vous sûr ? Tous les utilisateurs devront réautoriser OpenProject. + confirm_replace_oauth_client: Êtes-vous sûr ? Tous les utilisateurs devront réautoriser sur le stockage. delete_warning: - storage: > - Voulez-vous vraiment supprimer %{file_storage} de ce projet ? Pour confirmer cette action, veuillez saisir le nom de l'espace de stockage dans le champ ci-dessous. Cela va : - storage_delete_result_1: "Supprimer toutes les configurations de stockage pour tous les projets utilisant ce stockage." - storage_delete_result_2: "Supprimer tous les liens des lots de travaux de ce projet vers les fichiers et dossiers dans cet espace de stockage." - storage_delete_result_3: "Si ce stockage contient des dossiers de projet gérés automatiquement, ceux-ci et les fichiers qu'ils contiennent seront supprimés définitivement." - project_storage: > - Voulez-vous vraiment supprimer %{file_storage} de ce projet ? Pour confirmer cette action, veuillez introduire le nom de l'espace de stockage dans le champ ci-dessous, cela permettra de : - project_storage_delete_result_1: "Supprimer tous les liens des lots de travaux de ce projet vers les fichiers et dossiers de cet espace de stockage." - project_storage_delete_result_2: "Si cet espace de stockage a un dossier de projet géré automatiquement, lui et ses fichiers seront définitivement supprimés." - input_delete_confirmation: "Saisissez le nom de l'espace de stockage des fichiers %{file_storage} pour confirmer la suppression." - irreversible_notice: "La suppression d'un espace de stockage de fichiers est une action irréversible." - storage_list_blank_slate: - heading: "Vous n'avez pas encore d'espace de stockage." - description: "Ajoutez un stockage pour les voir ici." - error_invalid_provider_type: "Veuillez sélectionner un fournisseur de stockage valide." - label_active: "Actif" - label_add_new_storage: "Ajouter un nouveau stockage" - label_delete_storage: "Supprimer le stockage" - label_inactive: "Inactif" - label_creator: "Créateur" - label_provider: "Fournisseur" - label_file_link: "Lien du fichier" - label_file_links: "Liens de fichier" - label_file_storage: "Stockage de fichiers" - label_creation_time: "Heure de création" - label_completed: "Terminé" - label_incomplete: "Incomplet" - label_name: "Nom" - label_host: "URL de l'hôte" + input_delete_confirmation: Saisissez le nom de l'espace de stockage des fichiers %{file_storage} pour confirmer la suppression. + irreversible_notice: La suppression d'un espace de stockage de fichiers est une action irréversible. + project_storage: 'Voulez-vous vraiment supprimer %{file_storage} de ce projet ? Pour confirmer cette action, veuillez introduire le nom de l''espace de stockage dans le champ ci-dessous, cela permettra de :' + project_storage_delete_result_1: Supprimer tous les liens des lots de travaux de ce projet vers les fichiers et dossiers de cet espace de stockage. + project_storage_delete_result_2: Si cet espace de stockage a un dossier de projet géré automatiquement, lui et ses fichiers seront définitivement supprimés. + storage: 'Voulez-vous vraiment supprimer %{file_storage} de ce projet ? Pour confirmer cette action, veuillez saisir le nom de l''espace de stockage dans le champ ci-dessous. Cela va :' + storage_delete_result_1: Supprimer toutes les configurations de stockage pour tous les projets utilisant ce stockage. + storage_delete_result_2: Supprimer tous les liens des lots de travaux de ce projet vers les fichiers et dossiers dans cet espace de stockage. + storage_delete_result_3: Si ce stockage contient des dossiers de projet gérés automatiquement, ceux-ci et les fichiers qu'ils contiennent seront supprimés définitivement. + error_invalid_provider_type: Veuillez sélectionner un fournisseur de stockage valide. + file_storage_view: + automatically_managed_folders: Dossiers gérés automatiquement + general_information: Informations générales + nextcloud_oauth: OAuth Nextcloud + oauth_applications: Applications OAuth + one_drive_oauth: OAuth Azure + openproject_oauth: OAuth OpenProject + project_folders: Dossier du projet + redirect_uri: URI de redirection + storage_provider: Fournisseur de stockage + health: + checked: Dernière vérification %{datetime} + label_error: Erreur + label_healthy: Sain + label_pending: En attente + since: depuis %{datetime} + title: Statut des dossiers gérés + help_texts: + project_folder: Le dossier de projet est le dossier par défaut pour les téléversements de fichiers pour ce projet. Les utilisateurs peuvent néanmoins encore téléverser des fichiers vers d'autres emplacements. + instructions: + all_available_storages_already_added: Tous les stockages disponibles sont déjà ajoutés au projet. + automatic_folder: Cela créera automatiquement un dossier racine pour ce projet et gérera les autorisations d'accès pour chaque membre du projet. + copy_from: Copier cette valeur depuis + empty_project_folder_validation: La sélection d'un dossier est nécessaire pour continuer. + existing_manual_folder: Vous pouvez désigner un dossier existant comme dossier racine pour ce projet. Les permissions ne sont cependant pas gérées automatiquement, l'administrateur doit s'assurer manuellement que les utilisateurs pertinents y ont accès. Le dossier sélectionné peut être utilisé par plusieurs projets. + host: Veuillez ajouter l'adresse d'hôte de votre stockage, y compris le https://. Il ne doit pas dépasser 255 caractères. + managed_project_folders_application_password_caption: 'Activez les dossiers gérés automatiquement en copiant cette valeur depuis : %{provider_type_link}.' + name: Donnez à votre stockage un nom pour que les utilisateurs puissent se différencier entre plusieurs stockages. + new_storage: Lisez notre documentation sur la configuration d'une intégration avec %{provider_name} pour le stockage de fichiers pour plus d'informations. + nextcloud: + application_link_text: application « Intégration OpenProject» + integration: Administration Nextcloud / OpenProject + oauth_configuration: Copiez ces valeurs depuis %{application_link_text}. + provider_configuration: Veuillez vous assurer que vous avez les droits d'administration dans votre instance Nextcloud et que le %{application_link_text} est installé avant de procéder. + no_specific_folder: Par défaut, chaque utilisateur démarrera dans son propre dossier d'accueil lorsqu'il téléversera un fichier. + no_storage_set_up: Aucun espace de stockage de fichiers n'a été configuré pour le moment. + not_logged_into_storage: Pour sélectionner un dossier de projet, veuillez d'abord vous connecter + oauth_application_details: La valeur secrète du client ne sera plus accessible après la fermeture de cette fenêtre. Veuillez copier-coller ces valeurs dans %{oauth_application_details_link} + oauth_application_details_link_text: Paramètres d'intégration avec Nextcloud + one_drive: + application_link_text: Portal Azure + copy_redirect_uri: Copier l'URI de redirection + documentation_link_text: Documentation de stockage de fichiers OneDrive/SharePoint + drive_id: Veuillez copier l'ID du lecteur souhaité en suivant les étapes de %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Veuillez remplir les valeurs OAuth pour générer un URI + oauth_client_redirect_uri: Veuillez copier cette valeur vers un nouvel URI de redirection web sous les URI de redirection. + oauth_client_secret: Dans le cas où il n'y a pas de secret client d'application sous les identifiants du client, veuillez en créer un nouveau. + oauth_configuration: Copiez ces valeurs de l'application souhaitée dans %{application_link_text}. + provider_configuration: Veuillez vous assurer que vous disposez des privilèges d'administration dans le %{application_link_text} ou contactez votre administrateur Microsoft avant de procéder à l'installation. Dans le portail, vous devez également enregistrer une application Azure ou utiliser une application existante pour l'authentification. + tenant_id: Veuillez copier l'identifiant du répertoire (locataire) de l'application concernée et les enregistrements de l'application dans %{application_link_text}. + tenant_id_placeholder: Nom ou UUID + setting_up_additional_storages: Pour configurer des stockages de fichiers supplémentaires, veuillez visiter + setting_up_additional_storages_non_admin: Les administrateurs peuvent configurer des stockages de fichiers supplémentaires dans Administration / Stockages de fichiers. + setting_up_storages: Pour configurer des stockages de fichiers, veuillez visiter + setting_up_storages_non_admin: Les administrateurs peuvent configurer des stockages de fichiers dans Administration / Stockages de fichiers. + type: 'Veuillez vous assurer que vous avez les privilèges d''administration dans votre instance Nextcloud et que l''application suivante est installée avant de procéder à l''installation :' + type_link_text: "« Intégration OpenProject »" + label_active: Actif + label_add_new_storage: Ajouter un nouveau stockage + label_automatic_folder: Nouveau dossier avec permissions gérées automatiquement + label_completed: Terminé + label_creation_time: Heure de création + label_creator: Créateur + label_delete_storage: Supprimer le stockage + label_edit_storage: Modifier le stockage + label_edit_storage_automatically_managed_folders: Editer les dossiers automatiquement gérés + label_edit_storage_host: Modifier l'hôte de stockage + label_edit_storage_oauth_client: Modifier le client OAuth de stockage + label_existing_manual_folder: Répertoire existant avec permissions gérées manuellement + label_file_storage: Stockage de fichiers + label_host: URL de l'hôte + label_inactive: Inactif + label_incomplete: Incomplet label_managed_project_folders: - automatically_managed_folders: "Dossiers gérés automatiquement" - application_password: "Mot de passe de l'application" - label_managed_project_folders_breadcrumb: "Répertoires de projet gérés automatiquement" - label_oauth_breadcrumb: - openproject: "OAuth OpenProject" - nextcloud: "OAuth Nextcloud" - one_drive: "OAuth OneDrive" - label_oauth_application_details: "Détails de l'application OAuth" - label_oauth_client_details: "Détails du client OAuth" - label_openproject_oauth_application_id: "ID client OAuth OpenProject" - label_openproject_oauth_application_secret: "Secret du client OAuth d'OpenProject" - label_oauth_client_id: "ID client OAuth" - label_oauth_client_secret: "Secret client OAuth" - label_information: "Informations complémentaires" - label_provider_type: "Type de fournisseur" - label_project_folder: "Dossier du projet" - label_redirect_uri: "URI de redirection" - label_uri: "URI" - label_new_storage: "Nouveau stockage" - label_new_file_storage: "Nouveau stockage %{provider}" - label_edit_storage: "Modifier le stockage" - label_edit_storage_host: "Modifier l'hôte de stockage" - label_edit_storage_oauth_client: "Modifier le client OAuth de stockage" - label_show_storage_redirect_uri: "Afficher l'URI de redirection" - label_edit_storage_automatically_managed_folders: "Editer les dossiers automatiquement gérés" - label_existing_manual_folder: "Répertoire existant avec permissions gérées manuellement" - label_no_specific_folder: "Aucun dossier spécifique" - label_automatic_folder: "Nouveau dossier avec permissions gérées automatiquement" - label_no_selected_folder: "Aucun dossier sélectionné" - label_select_provider: "Sélectionner un fournisseur" - label_storage: "Stockage" - label_storages: "Stockages" - label_status: "Statut" - label_files: "Fichiers" + application_password: Mot de passe de l'application + automatically_managed_folders: Dossiers gérés automatiquement + label_name: Nom + label_new_file_storage: Nouveau stockage %{provider} + label_new_storage: Nouveau stockage + label_no_selected_folder: Aucun dossier sélectionné + label_no_specific_folder: Aucun dossier spécifique + label_oauth_client_id: ID client OAuth + label_openproject_oauth_application_id: ID client OAuth OpenProject + label_openproject_oauth_application_secret: Secret du client OAuth d'OpenProject + label_project_folder: Dossier du projet + label_provider: Fournisseur + label_redirect_uri: URI de redirection + label_show_storage_redirect_uri: Afficher l'URI de redirection + label_status: Statut + label_storage: Stockage + label_uri: URI member_connection_status: - connected: "Connecté" - connected_no_permissions: "Le rôle d'utilisateur n'a pas d'autorisations de stockage" - not_connected: "Non connecté. L'utilisateur doit se connecter au stockage via le lien suivant : %{link}" - no_results: "Aucun espace de stockage n'est configuré pour le moment." - members_no_results: "Aucun membre à afficher." + connected: Connecté + connected_no_permissions: Le rôle d'utilisateur n'a pas d'autorisations de stockage + not_connected: 'Non connecté. L''utilisateur doit se connecter au stockage via le lien suivant : %{link}' + members_no_results: Aucun membre à afficher. + no_results: Aucun espace de stockage n'est configuré pour le moment. + notice_successful_storage_connection: Stockage connecté avec succès ! N'oubliez pas d'activer le module et le stockage spécifique dans les paramètres de chaque projet où vous souhaitez l'utiliser. + open_project_storage_modal: + success: + a: Configuration de l'intégration terminée + b: Vous allez être redirigé + waiting: + a: Nous configurons vos permissions sur le dossier du projet. + b: Un instant, s'il vous plaît, cela peut prendre un peu de temps... + page_titles: + file_storages: + delete: Supprimer l'espace de stockage de fichiers + subtitle: Ajouter un stockage de fichiers externe pour télécharger, lier et gérer les fichiers dans les lots de travaux. + managed_project_folders: + subtitle: Laisser OpenProject créer automatiquement des dossiers par projet. Cette option est recommandée, car elle garantit que chaque membre de l'équipe dispose toujours des autorisations d'accès correctes. + subtitle_short: Laisser OpenProject créer automatiquement des dossiers par projet. + title: Répertoires de projet gérés automatiquement + project_settings: + delete: Supprimer l'espace de stockage de fichiers + edit: Modifier l'espace de stockage de fichiers pour ce projet + index: Stockages de fichiers disponibles dans ce projet + members_connection_status: Statut de connexion des membres + new: Ajouter un stockage de fichiers à ce projet + project_storage_members: + subtitle: Vérifiez l'état de la connexion pour l'espace de stockage %{storage_name_link} de tous les membres du projet. + title: Statut de connexion des membres provider_types: - label: "Type de fournisseur" + label: Type de fournisseur nextcloud: - name: "Nextcloud" - name_placeholder: "par ex. Nextcloud" - label_oauth_client_id: "ID client OAuth Nextcloud" - label_oauth_client_secret: "Secret client OAuth Nextcloud" + label_oauth_client_id: ID client OAuth Nextcloud + label_oauth_client_secret: Secret client OAuth Nextcloud + name: Nextcloud + name_placeholder: par ex. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "par exemple OneDrive" - label_oauth_client_id: "ID de l'application OAuth Azure (client)" - label_oauth_client_secret: "Valeur secrète du client OAuth Azure" - confirm_replace_oauth_application: "Êtes-vous sûr ? Tous les utilisateurs devront réautoriser OpenProject." - confirm_replace_oauth_client: "Êtes-vous sûr ? Tous les utilisateurs devront réautoriser sur le stockage." - oauth_client_details_missing: "Pour terminer la configuration, veuillez ajouter les identifiants du client OAuth depuis votre espace de stockage." - automatically_managed_project_folder_missing: "Pour terminer la configuration, veuillez configurer les dossiers de projet gérés automatiquement pour votre espace de stockage." - notice_oauth_application_replaced: "L'application OAuth OpenProject a bien été remplacée." - notice_successful_storage_connection: "Stockage connecté avec succès ! N'oubliez pas d'activer le module et le stockage spécifique dans les paramètres de chaque projet où vous souhaitez l'utiliser." - open_project_storage_modal: - waiting: - a: "Nous configurons vos permissions sur le dossier du projet." - b: "Un instant, s'il vous plaît, cela peut prendre un peu de temps..." - success: - a: "Configuration de l'intégration terminée" - b: "Vous allez être redirigé" - health: - title: "Statut des dossiers gérés" - label_pending: "En attente" - label_error: "Erreur" - label_healthy: "Sain" - checked: "Dernière vérification %{datetime}" - since: "depuis %{datetime}" + label_oauth_client_id: ID de l'application OAuth Azure (client) + label_oauth_client_secret: Valeur secrète du client OAuth Azure + name: OneDrive/SharePoint + name_placeholder: par exemple OneDrive + storage_list_blank_slate: + description: Ajoutez un stockage pour les voir ici. + heading: Vous n'avez pas encore d'espace de stockage. upsale: - title: "Intégration OneDrive/SharePoint" - description: 'Intégrez votre OneDrive/SharePoint en tant que espace de stockage de fichiers avec OpenProject. Téléchargez des fichiers et liez-les directement aux lots de travaux d''un projet.' + description: Intégrez votre OneDrive/SharePoint en tant que espace de stockage de fichiers avec OpenProject. Téléchargez des fichiers et liez-les directement aux lots de travaux d'un projet. + title: Intégration OneDrive/SharePoint diff --git a/modules/storages/config/locales/crowdin/he.yml b/modules/storages/config/locales/crowdin/he.yml index 6479b28ee42a..7970ef3f6f47 100644 --- a/modules/storages/config/locales/crowdin/he.yml +++ b/modules/storages/config/locales/crowdin/he.yml @@ -1,268 +1,217 @@ -#English strings go here he: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "קובץ" - storages/storage: "Storage" attributes: - storages/storage: - name: "שם" - creator: "Creator" - provider_type: "Provider type" - host: "שרת" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: שרת + name: שם + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: קובץ + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "שמור" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "הגדר" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "פעיל" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "שם" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: שגיאה + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: פעיל + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "מצב" - label_files: "קבצים" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: שם + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: מצב + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "שגיאה" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/hi.yml b/modules/storages/config/locales/crowdin/hi.yml index 1229a7dd7ae1..210a566128d3 100644 --- a/modules/storages/config/locales/crowdin/hi.yml +++ b/modules/storages/config/locales/crowdin/hi.yml @@ -1,268 +1,217 @@ -#English strings go here hi: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "फ़ाइल" - storages/storage: "Storage" attributes: - storages/storage: - name: "नाम" - creator: "Creator" - provider_type: "Provider type" - host: "होस्ट" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: होस्ट + name: नाम + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: फ़ाइल + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "सहेजें" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "सक्रिय" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "नाम" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: त्रुटि + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: सक्रिय + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "अवस्था" - label_files: "फ़ाइलें" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: नाम + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: अवस्था + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "त्रुटि" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/hr.yml b/modules/storages/config/locales/crowdin/hr.yml index a050205dff49..f152b0f74c64 100644 --- a/modules/storages/config/locales/crowdin/hr.yml +++ b/modules/storages/config/locales/crowdin/hr.yml @@ -1,268 +1,217 @@ -#English strings go here hr: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Datoteka" - storages/storage: "Storage" attributes: - storages/storage: - name: "Naziv" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Naziv + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Datoteka + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Spremi" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Postavi" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktivno" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Naziv" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Greška + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktivno + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Datoteke" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Naziv + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Greška" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/hu.yml b/modules/storages/config/locales/crowdin/hu.yml index e39732df39cf..4dca47e6778f 100644 --- a/modules/storages/config/locales/crowdin/hu.yml +++ b/modules/storages/config/locales/crowdin/hu.yml @@ -1,268 +1,217 @@ -#English strings go here hu: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "Fájl hivatkozások megtekintése" - permission_manage_file_links: "Fájl hivatkozások kezelése" - permission_manage_storages_in_project: "Tárterületek kezelése a projektben" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "Tárterületek" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "File" - storages/storage: "Tárhely" attributes: - storages/storage: - name: "Név" - creator: "Creator" - provider_type: "Szolgáltató típusa" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Név + provider_type: Szolgáltató típusa + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "nincs projekthez kapcsolva." + not_linked_to_project: nincs projekthez kapcsolva. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: csak numerikus vagy uuid lehet. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "nem lehet hozzákapcsolni." - minimal_nextcloud_version_unmet: "nem felel meg a minimális verzió követelményeknek (Nextcloud 23 vagy magasabb)" - not_nextcloud_server: "nem egy Nextcloud szerver" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: nem lehet hozzákapcsolni. + minimal_nextcloud_version_unmet: nem felel meg a minimális verzió követelményeknek (Nextcloud 23 vagy magasabb) + not_nextcloud_server: nem egy Nextcloud szerver + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "csak numerikus vagy uuid lehet." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: File + storages/storage: Tárhely api_v3: errors: - too_many_elements_created_at_once: "Egyszerre túl sok elem létrehozása történt. Legfejlebb %{max} lehet, ténylegesen %{actual} volt." + too_many_elements_created_at_once: Egyszerre túl sok elem létrehozása történt. Legfejlebb %{max} lehet, ténylegesen %{actual} volt. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Fájl hivatkozások kezelése + permission_manage_storages_in_project: Tárterületek kezelése a projektben + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: Fájl hivatkozások megtekintése + permission_write_files: Write files + project_module_storages: Tárterületek storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Mentés" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Beállítások" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth alkalmazások" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Átirányítás URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "aktív" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inaktív" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "Fájl hivatkozás" - label_file_links: "Fájl hivatkozások" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Befejeződött" - label_incomplete: "Incomplete" - label_name: "Név" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth alkalmazások + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Átirányítás URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Hiba + label_healthy: Healthy + label_pending: Függő + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: aktív + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Befejeződött + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inaktív + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Szolgáltató típusa" - label_project_folder: "Project folder" - label_redirect_uri: "Átirányítás URI" - label_uri: "URI" - label_new_storage: "Új tárhely" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Tárhely" - label_storages: "Tárhelyek" - label_status: "Állapot" - label_files: "Fájlok" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Név + label_new_file_storage: New %{provider} storage + label_new_storage: Új tárhely + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Átirányítás URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Állapot + label_storage: Tárhely + label_uri: URI member_connection_status: - connected: "Csatlakozva" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Csatlakozva + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Szolgáltató típusa" + label: Szolgáltató típusa nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Függő" - label_error: "Hiba" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/id.yml b/modules/storages/config/locales/crowdin/id.yml index 2621a41ac45d..1a1426e839d4 100644 --- a/modules/storages/config/locales/crowdin/id.yml +++ b/modules/storages/config/locales/crowdin/id.yml @@ -1,268 +1,217 @@ -#English strings go here id: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "Lihat tautan berkas" - permission_manage_file_links: "Kelola tautan berkas" - permission_manage_storages_in_project: "Kelola penyimpanan berkas di proyek" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "Penyimpanan berkas" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "File" - storages/storage: "Penyimpanan" attributes: - storages/storage: - name: "Nama" - creator: "Pembuat" - provider_type: "Tipe penyedia" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Identifikasi Asli" + origin_id: Identifikasi Asli + storages/storage: + creator: Pembuat + host: Host + name: Nama + provider_type: Tipe penyedia + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "tidak terhubungi ke proyek." + not_linked_to_project: tidak terhubungi ke proyek. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "tidak bisa disambungkan ke." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: tidak bisa disambungkan ke. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: File + storages/storage: Penyimpanan api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Kelola tautan berkas + permission_manage_storages_in_project: Kelola penyimpanan berkas di proyek + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: Lihat tautan berkas + permission_write_files: Write files + project_module_storages: Penyimpanan berkas storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Simpan" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Konfigurasi" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Alihkan URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktif" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Tidak aktif" - label_creator: "Pembuat" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Nama" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Alihkan URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Eror + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktif + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Pembuat + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Tidak aktif + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Tipe penyedia" - label_project_folder: "Project folder" - label_redirect_uri: "Alihkan URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Penyimpanan" - label_storages: "Storages" - label_status: "Status" - label_files: "File" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Nama + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Alihkan URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Penyimpanan + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Tipe penyedia" + label: Tipe penyedia nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Eror" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/it.yml b/modules/storages/config/locales/crowdin/it.yml index 8bb9108e6fb9..44ff6bf1325f 100644 --- a/modules/storages/config/locales/crowdin/it.yml +++ b/modules/storages/config/locales/crowdin/it.yml @@ -1,268 +1,217 @@ -#English strings go here it: - plugin_openproject_storages: - name: "Archivi OpenProject" - description: "Consente di collegare macro-attività a file in archivi esterni, come Nextcloud." - permission_view_file_links: "Visualizza link ai file" - permission_manage_file_links: "Gestire link ai file" - permission_manage_storages_in_project: "Gestisci archivi di file nel progetto" - permission_read_files: "Leggi file" - permission_write_files: "Scrivi file" - permission_create_files: "Crea file" - permission_delete_files: "Elimina file" - permission_share_files: "Condividi file" - project_module_storages: "Archivi file" - errors: - attributes: - storage_error: - not_authorized: "Nessuna autorizzazione per la connessione esterna all'archiviazione." - not_found: "Impossibile trovare la risorsa richiesta nell'archivio file esterno." activerecord: - models: - file_link: "File" - storages/storage: "Archivio" attributes: - storages/storage: - name: "Nome" - creator: "Autore" - provider_type: "Tipo di fonte" - host: "Host" - tenant: "ID della directory (tenant)." storages/file_link: - origin_id: "ID origine" + origin_id: ID origine + storages/storage: + creator: Autore + host: Host + name: Nome + provider_type: Tipo di fonte + tenant: ID della directory (tenant). errors: messages: - not_linked_to_project: "non è collegato al progetto." + not_linked_to_project: non è collegato al progetto. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: può essere solo numerico o uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "non è disponibile per questo archivio." + mode_unavailable: non è disponibile per questo archivio. storages/storage: attributes: host: - cannot_be_connected_to: "non può essere collegato." - minimal_nextcloud_version_unmet: "non soddisfa i requisiti minimi di versione (deve essere Nextcloud 23 o superiore)" - not_nextcloud_server: "non è un server Nextcloud" - op_application_not_installed: > - non è installata l'app "Integrazione OpenProject". Installala e riprova. - authorization_header_missing: > - non è completamente configurato. L'istanza Nextcloud non riceve l'intestazione "Authorization", che è necessaria per l'autorizzazione basata su un token Bearer delle richieste API. Controlla la configurazione del server HTTP. + authorization_header_missing: non è completamente configurato. L'istanza Nextcloud non riceve l'intestazione "Authorization", che è necessaria per l'autorizzazione basata su un token Bearer delle richieste API. Controlla la configurazione del server HTTP. + cannot_be_connected_to: non può essere collegato. + minimal_nextcloud_version_unmet: non soddisfa i requisiti minimi di versione (deve essere Nextcloud 23 o superiore) + not_nextcloud_server: non è un server Nextcloud + op_application_not_installed: non è installata l'app "Integrazione OpenProject". Installala e riprova. password: - invalid_password: "non è valido." - unknown_error: "non piò essere convalidato. Controlla la connessione dell'archiviazione e riprova." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "può essere solo numerico o uuid." + invalid_password: non è valido. + unknown_error: non piò essere convalidato. Controlla la connessione dell'archiviazione e riprova. + models: + file_link: File + storages/storage: Archivio api_v3: errors: - too_many_elements_created_at_once: "Troppi elementi creati contemporaneamente. Massimo atteso: %{max}, effettivi: %{actual}." + too_many_elements_created_at_once: 'Troppi elementi creati contemporaneamente. Massimo atteso: %{max}, effettivi: %{actual}.' + permission_create_files: Crea file + permission_delete_files: Elimina file + permission_manage_file_links: Gestire link ai file + permission_manage_storages_in_project: Gestisci archivi di file nel progetto + permission_read_files: Leggi file + permission_share_files: Condividi file + permission_view_file_links: Visualizza link ai file + permission_write_files: Scrivi file + project_module_storages: Archivi file storages: - default_name: "Il mio archivio" - unknown_storage: "Archivio sconosciuto" buttons: - done_continue: "Fatto, continua" - done_continue_setup: "Fatto. Continua la configurazione" - done_complete_setup: "Fatto, configurazione completa" - complete_without_setup: "Completa senza" - edit_automatically_managed_project_folders: "Modifica cartelle di progetto gestite automaticamente" - replace_openproject_oauth: "Sostituisci OpenProject OAuth" - replace_provider_type_oauth: "Sostituisci %{provider_type} OAuth" - save: "Salva" - save_and_continue: "Salva e continua" - save_and_continue_setup: "Salva e continua la configurazione" - save_and_complete_setup: "Salva e completa la configurazione" - select_folder: "Seleziona cartella" - configure: "Configura" - file_storage_view: - general_information: "Informazioni generali" - oauth_applications: "Applicazioni OAuth" - project_folders: "Cartelle del progetto" - storage_provider: "Fornitore di archiviazione" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "URI di reindirizzamento" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Cartelle gestite automaticamente" - page_titles: - file_storages: - subtitle: "Aggiungi un archivio file esterno per caricare, collegare e gestire i file nelle macro-attività." - delete: "Elimina archivio file" - managed_project_folders: - title: "Cartelle di progetto gestite automaticamente" - subtitle_short: "Consenti a OpenProject di creare cartelle per progetto automaticamente." - subtitle: > - Consenti a OpenProject di creare automaticamente cartelle per progetto. Questa impostazione è consigliata in quanto garantisce che ogni membro del team abbia sempre le autorizzazioni di accesso corrette. - project_settings: - index: "File di archiviazione disponibili in questo progetto" - new: "Aggiungi un archivio file al progetto" - edit: "Modifica l'archiviazione dei file per questo progetto" - delete: "Elimina archivio file" - members_connection_status: "Stato della connessione dei membri" - project_storage_members: - title: "Stato della connessione dei membri" - subtitle: "Controlla lo stato della connessione per lo spazio di archiviazione %{storage_name_link} di tutti i membri del progetto." - instructions: - type: "Assicurati di disporre dei privilegi di amministrazione nella tua istanza Nextcloud e di aver installato la seguente applicazione prima di eseguire l'installazione:" - type_link_text: "“Integrazione OpenProject”" - name: "Dai al tuo archivio un nome in modo che gli utenti lo possano distinguere tra più archivi." - host: "Aggiungi l'indirizzo host del tuo spazio di archiviazione incluso https://. Non dovrebbe essere più lungo di 255 caratteri." - managed_project_folders_application_password: > - Copia questo valore da: - managed_project_folders_application_password_caption: "Abilita le cartelle gestite automaticamente copiando questo valore da: %{provider_type_link}." - new_storage: "Leggi la nostra documentazione su come creare un'integrazione %{provider_name} di archiviazione file per maggiori informazioni." - no_storage_set_up: "Ancora nessuna archiviazione di file configurata." - no_specific_folder: "Di default, ogni utente inizierà alla propria cartella home, al caricamento di un file." - automatic_folder: "Questa operazione creerà automaticamente una cartella principale per questo progetto e gestirà le autorizzazioni di accesso per ciascun membro del progetto." - empty_project_folder_validation: "Selezionare una cartella è obbligatorio per procedere." - not_logged_into_storage: "Per selezionare la cartella di un progetto, sei prim pregato di accedere" - existing_manual_folder: > - Puoi designare una cartella esistente come la cartella di root per questo progetto. Le autorizzazioni, tuttavia, non sono gestite automaticamente: l'amministratore necessita di assicurarsi manualmente che gli utenti rilevanti abbiano accesso. La cartella selezionata è utilizzabile per svariati progetti. - setting_up_additional_storages: "Per impostare ulteriori archivi file, visita" - setting_up_additional_storages_non_admin: "Gli amministratori possono impostare ulteriori archivi file in Amministrazione / Archivi file." - setting_up_storages: "Per impostare archivi file, visita" - setting_up_storages_non_admin: "Gli amministratori possono impostare archivi file in Amministrazione / Archivi file." - all_available_storages_already_added: "Tutti gli archivi disponibili sono già stati aggiunti al progetto." - oauth_application_details: "Il valore segreto del client non sarà nuovamente accessibile dopo aver chiuso questa finestra. Copia questi valori nelle %{oauth_application_details_link}" - oauth_application_details_link_text: "Impostazioni di integrazione Nextcloud OpenProject" - copy_from: "Copia questo valore da" - nextcloud: - provider_configuration: "Assicurati di disporre dei privilegi di amministrazione nella tua istanza Nextcloud e che %{application_link_text} sia installato prima di eseguire la configurazione." - oauth_configuration: "Copia questi valori dall'%{application_link_text}." - application_link_text: "applicazione \"Integrazione OpenProject\"" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Assicurati di disporre dei privilegi di amministratore in %{application_link_text} o contatta il tuo amministratore Microsoft prima di eseguire la configurazione. Nel portale è inoltre necessario registrare un'applicazione Azure o utilizzarne una esistente per l'autenticazione. - oauth_configuration: "Copia questi valori dall'applicazione desiderata nel %{application_link_text}." - application_link_text: "portale Azure" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copia l'ID client dal portale di Azure. Ciò è necessario per generare l'URI di reindirizzamento. - oauth_client_secret: > - Nel caso in cui non sia presente alcun segreto client dell'applicazione nelle credenziali del cliente, crearne uno nuovo. - oauth_client_redirect_uri: > - Copia questo valore in un nuovo URI di reindirizzamento web in URI di reindirizzamento. - missing_client_id_for_redirect_uri: "Compila i valori OAuth per generare un URI" - tenant_id: > - Copia l'ID della directory (tenant) dall'applicazione desiderata e dalle registrazioni dell'app in %{application_link_text}. - tenant_id_placeholder: "Nome o UUID" - drive_id: "Copia l'ID dall'archivio desiderato seguendo i passaggi nella %{drive_id_link_text}." - documentation_link_text: "documentazione sull'archiviazione di file OneDrive/SharePoint" - copy_redirect_uri: "Copia URI di reindirizzamento" - help_texts: - project_folder: > - La cartella del progetto è la cartella predefinita per il caricamento dei file per questo progetto. Gli utenti possono, comunque, caricare i file in altre posizioni. + complete_without_setup: Completa senza + done_complete_setup: Fatto, configurazione completa + done_continue: Fatto, continua + replace_provider_type_oauth: Sostituisci %{provider_type} OAuth + save_and_continue: Salva e continua + select_folder: Seleziona cartella configuration_checks: oauth_client_incomplete: - nextcloud: "Consenti a OpenProject di accedere ai dati Nextcloud utilizzando OAuth." - one_drive: "Consenti a OpenProject di accedere ai dati Azure utilizzando OAuth per collegare OneDrive/Sharepoint." + nextcloud: Consenti a OpenProject di accedere ai dati Nextcloud utilizzando OAuth. + one_drive: Consenti a OpenProject di accedere ai dati Azure utilizzando OAuth per collegare OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Completa la configurazione con il corretto reindirizzamento URI." + one_drive: Completa la configurazione con il corretto reindirizzamento URI. + confirm_replace_oauth_application: Procedere? Tutti gli utenti dovranno autorizzarsi nuovamente con OpenProject. + confirm_replace_oauth_client: Procedere? Tutti gli utenti dovranno autorizzarsi nuovamente con l'archivio. delete_warning: - storage: > - Vuoi davvero eliminare %{file_storage}? Per confermare questa azione, inserisci il nome dell'archivio nel campo sottostante. Ciò facendo: - storage_delete_result_1: "Rimuovi tutte le impostazioni di archiviazione per tutti i progetti che utilizzano questo archivio." - storage_delete_result_2: "Rimuovi tutti i collegamenti dalle macro-attività di tutti i progetti ai file e alle cartelle di tale archivio." - storage_delete_result_3: "Nel caso in cui questo archivio gestisca automaticamente le cartelle di progetto, quelle e i file in esse contenuti verranno eliminati per sempre." - project_storage: > - Vuoi davvero eliminare %{file_storage} da questo progetto? Per confermare questa azione, inserisci il nome dell'archivio nel campo sottostante. Ciò facendo: - project_storage_delete_result_1: "Rimuovi tutti i collegamenti dalle macro-attività di questo progetto ai file e alle cartelle di tale archivio." - project_storage_delete_result_2: "Nel caso in cui questo archivio abbia una cartella di progetto gestita automaticamente, questa e i suoi file verranno eliminati per sempre." - input_delete_confirmation: "Inserisci il nome del file di archiviazione %{file_storage} per confermare l'eliminazione." - irreversible_notice: "L'eliminazione di un file di archiviazione è un'azione irreversibile." - storage_list_blank_slate: - heading: "Non hai ancora archivi." - description: "Aggiungi un archivio per vederli qui." - error_invalid_provider_type: "Seleziona un fornitore di archiviazione valido." - label_active: "Attivo" - label_add_new_storage: "Aggiungi nuovo archivio" - label_delete_storage: "Elimina archivio" - label_inactive: "Inattivo" - label_creator: "Autore" - label_provider: "Fornitore" - label_file_link: "Link del File" - label_file_links: "Link dei File" - label_file_storage: "Archiviazione file" - label_creation_time: "Data di creazione" - label_completed: "Completato" - label_incomplete: "Incompleto" - label_name: "Nome" - label_host: "URL dell'host" + input_delete_confirmation: Inserisci il nome del file di archiviazione %{file_storage} per confermare l'eliminazione. + irreversible_notice: L'eliminazione di un file di archiviazione è un'azione irreversibile. + project_storage: 'Vuoi davvero eliminare %{file_storage} da questo progetto? Per confermare questa azione, inserisci il nome dell''archivio nel campo sottostante. Ciò facendo:' + project_storage_delete_result_1: Rimuovi tutti i collegamenti dalle macro-attività di questo progetto ai file e alle cartelle di tale archivio. + project_storage_delete_result_2: Nel caso in cui questo archivio abbia una cartella di progetto gestita automaticamente, questa e i suoi file verranno eliminati per sempre. + storage: 'Vuoi davvero eliminare %{file_storage}? Per confermare questa azione, inserisci il nome dell''archivio nel campo sottostante. Ciò facendo:' + storage_delete_result_1: Rimuovi tutte le impostazioni di archiviazione per tutti i progetti che utilizzano questo archivio. + storage_delete_result_2: Rimuovi tutti i collegamenti dalle macro-attività di tutti i progetti ai file e alle cartelle di tale archivio. + storage_delete_result_3: Nel caso in cui questo archivio gestisca automaticamente le cartelle di progetto, quelle e i file in esse contenuti verranno eliminati per sempre. + error_invalid_provider_type: Seleziona un fornitore di archiviazione valido. + file_storage_view: + automatically_managed_folders: Cartelle gestite automaticamente + general_information: Informazioni generali + nextcloud_oauth: Nextcloud OAuth + oauth_applications: Applicazioni OAuth + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Cartelle del progetto + redirect_uri: URI di reindirizzamento + storage_provider: Fornitore di archiviazione + health: + checked: Ultimo controllo %{datetime} + label_error: Errore + label_healthy: Tutto ok + label_pending: In sospeso + since: dal giorno %{datetime} + title: Stato cartelle gestite + help_texts: + project_folder: La cartella del progetto è la cartella predefinita per il caricamento dei file per questo progetto. Gli utenti possono, comunque, caricare i file in altre posizioni. + instructions: + all_available_storages_already_added: Tutti gli archivi disponibili sono già stati aggiunti al progetto. + automatic_folder: Questa operazione creerà automaticamente una cartella principale per questo progetto e gestirà le autorizzazioni di accesso per ciascun membro del progetto. + copy_from: Copia questo valore da + empty_project_folder_validation: Selezionare una cartella è obbligatorio per procedere. + existing_manual_folder: 'Puoi designare una cartella esistente come la cartella di root per questo progetto. Le autorizzazioni, tuttavia, non sono gestite automaticamente: l''amministratore necessita di assicurarsi manualmente che gli utenti rilevanti abbiano accesso. La cartella selezionata è utilizzabile per svariati progetti.' + host: Aggiungi l'indirizzo host del tuo spazio di archiviazione incluso https://. Non dovrebbe essere più lungo di 255 caratteri. + managed_project_folders_application_password_caption: 'Abilita le cartelle gestite automaticamente copiando questo valore da: %{provider_type_link}.' + name: Dai al tuo archivio un nome in modo che gli utenti lo possano distinguere tra più archivi. + new_storage: Leggi la nostra documentazione su come creare un'integrazione %{provider_name} di archiviazione file per maggiori informazioni. + nextcloud: + application_link_text: applicazione "Integrazione OpenProject" + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copia questi valori dall'%{application_link_text}. + provider_configuration: Assicurati di disporre dei privilegi di amministrazione nella tua istanza Nextcloud e che %{application_link_text} sia installato prima di eseguire la configurazione. + no_specific_folder: Di default, ogni utente inizierà alla propria cartella home, al caricamento di un file. + no_storage_set_up: Ancora nessuna archiviazione di file configurata. + not_logged_into_storage: Per selezionare la cartella di un progetto, sei prim pregato di accedere + oauth_application_details: Il valore segreto del client non sarà nuovamente accessibile dopo aver chiuso questa finestra. Copia questi valori nelle %{oauth_application_details_link} + oauth_application_details_link_text: Impostazioni di integrazione Nextcloud OpenProject + one_drive: + application_link_text: portale Azure + copy_redirect_uri: Copia URI di reindirizzamento + documentation_link_text: documentazione sull'archiviazione di file OneDrive/SharePoint + drive_id: Copia l'ID dall'archivio desiderato seguendo i passaggi nella %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Compila i valori OAuth per generare un URI + oauth_client_redirect_uri: Copia questo valore in un nuovo URI di reindirizzamento web in URI di reindirizzamento. + oauth_client_secret: Nel caso in cui non sia presente alcun segreto client dell'applicazione nelle credenziali del cliente, crearne uno nuovo. + oauth_configuration: Copia questi valori dall'applicazione desiderata nel %{application_link_text}. + provider_configuration: Assicurati di disporre dei privilegi di amministratore in %{application_link_text} o contatta il tuo amministratore Microsoft prima di eseguire la configurazione. Nel portale è inoltre necessario registrare un'applicazione Azure o utilizzarne una esistente per l'autenticazione. + tenant_id: Copia l'ID della directory (tenant) dall'applicazione desiderata e dalle registrazioni dell'app in %{application_link_text}. + tenant_id_placeholder: Nome o UUID + setting_up_additional_storages: Per impostare ulteriori archivi file, visita + setting_up_additional_storages_non_admin: Gli amministratori possono impostare ulteriori archivi file in Amministrazione / Archivi file. + setting_up_storages: Per impostare archivi file, visita + setting_up_storages_non_admin: Gli amministratori possono impostare archivi file in Amministrazione / Archivi file. + type: 'Assicurati di disporre dei privilegi di amministrazione nella tua istanza Nextcloud e di aver installato la seguente applicazione prima di eseguire l''installazione:' + type_link_text: "“Integrazione OpenProject”" + label_active: Attivo + label_add_new_storage: Aggiungi nuovo archivio + label_automatic_folder: Nuova cartella con i permessi gestiti automaticamente + label_completed: Completato + label_creation_time: Data di creazione + label_creator: Autore + label_delete_storage: Elimina archivio + label_edit_storage: Modifica archivio + label_edit_storage_automatically_managed_folders: Modifica cartelle gestite automaticamente dall'archivio + label_edit_storage_host: Modifica host dell'archivio + label_edit_storage_oauth_client: Modifica client OAuth di archiviazione + label_existing_manual_folder: Cartella esistente con autorizzazioni gestite manualmente + label_file_storage: Archiviazione file + label_host: URL dell'host + label_inactive: Inattivo + label_incomplete: Incompleto label_managed_project_folders: - automatically_managed_folders: "Cartelle gestite automaticamente" - application_password: "Password applicazione" - label_managed_project_folders_breadcrumb: "Cartelle di progetto gestite automaticamente" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "Dettagli applicazione OAuth" - label_oauth_client_details: "Dettagli client OAuth" - label_openproject_oauth_application_id: "ID client OpenProject OAuth" - label_openproject_oauth_application_secret: "Segreto client OpenProject OAuth" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Informazioni aggiuntive" - label_provider_type: "Tipo di fonte" - label_project_folder: "Cartella del progetto" - label_redirect_uri: "URI di reindirizzamento" - label_uri: "URI" - label_new_storage: "Nuovo archivio" - label_new_file_storage: "Nuovo archivio %{provider}" - label_edit_storage: "Modifica archivio" - label_edit_storage_host: "Modifica host dell'archivio" - label_edit_storage_oauth_client: "Modifica client OAuth di archiviazione" - label_show_storage_redirect_uri: "Mostra URI di reindirizzamento" - label_edit_storage_automatically_managed_folders: "Modifica cartelle gestite automaticamente dall'archivio" - label_existing_manual_folder: "Cartella esistente con autorizzazioni gestite manualmente" - label_no_specific_folder: "Nessuna cartella specifica" - label_automatic_folder: "Nuova cartella con i permessi gestiti automaticamente" - label_no_selected_folder: "Nessuna cartella selezionata" - label_select_provider: "Seleziona fornitore" - label_storage: "Archivio" - label_storages: "Archivi" - label_status: "Stato" - label_files: "File" + application_password: Password applicazione + automatically_managed_folders: Cartelle gestite automaticamente + label_name: Nome + label_new_file_storage: Nuovo archivio %{provider} + label_new_storage: Nuovo archivio + label_no_selected_folder: Nessuna cartella selezionata + label_no_specific_folder: Nessuna cartella specifica + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: ID client OpenProject OAuth + label_openproject_oauth_application_secret: Segreto client OpenProject OAuth + label_project_folder: Cartella del progetto + label_provider: Fornitore + label_redirect_uri: URI di reindirizzamento + label_show_storage_redirect_uri: Mostra URI di reindirizzamento + label_status: Stato + label_storage: Archivio + label_uri: URI member_connection_status: - connected: "Connesso" - connected_no_permissions: "Il ruolo utente non ha permessi di archiviazione" - not_connected: "Non connesso. L'utente dovrebbe accedere all'archivio tramite il seguente %{link}." - no_results: "Ancora nessun'archiviazione configurata." - members_no_results: "Nessun membro da visualizzare." + connected: Connesso + connected_no_permissions: Il ruolo utente non ha permessi di archiviazione + not_connected: Non connesso. L'utente dovrebbe accedere all'archivio tramite il seguente %{link}. + members_no_results: Nessun membro da visualizzare. + no_results: Ancora nessun'archiviazione configurata. + notice_successful_storage_connection: Spazio di archiviazione connesso correttamente! Ricordati di attivare il modulo e lo spazio di archiviazione specifico nelle impostazioni di progetto di ciascun progetto desiderato per utilizzarlo. + open_project_storage_modal: + success: + a: Configurazione dell'integrazione completata + b: Stai per essere reindirizzato + waiting: + a: Stiamo configurando le tue autorizzazioni sulla cartella del progetto. + b: Aspetta un attimo, potrebbe volerci un po' di tempo... + page_titles: + file_storages: + delete: Elimina archivio file + subtitle: Aggiungi un archivio file esterno per caricare, collegare e gestire i file nelle macro-attività. + managed_project_folders: + subtitle: Consenti a OpenProject di creare automaticamente cartelle per progetto. Questa impostazione è consigliata in quanto garantisce che ogni membro del team abbia sempre le autorizzazioni di accesso corrette. + subtitle_short: Consenti a OpenProject di creare cartelle per progetto automaticamente. + title: Cartelle di progetto gestite automaticamente + project_settings: + delete: Elimina archivio file + edit: Modifica l'archiviazione dei file per questo progetto + index: File di archiviazione disponibili in questo progetto + members_connection_status: Stato della connessione dei membri + new: Aggiungi un archivio file al progetto + project_storage_members: + subtitle: Controlla lo stato della connessione per lo spazio di archiviazione %{storage_name_link} di tutti i membri del progetto. + title: Stato della connessione dei membri provider_types: - label: "Tipo di fonte" + label: Tipo di fonte nextcloud: - name: "Nextcloud" - name_placeholder: "es. Nextcloud" - label_oauth_client_id: "ID client OAuth Nextcloud" - label_oauth_client_secret: "Segreto client OAuth Nextcloud" + label_oauth_client_id: ID client OAuth Nextcloud + label_oauth_client_secret: Segreto client OAuth Nextcloud + name: Nextcloud + name_placeholder: es. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "es. OneDrive" - label_oauth_client_id: "ID dell'applicazione Azure OAuth (client)." - label_oauth_client_secret: "Valore segreto client Azure OAuth" - confirm_replace_oauth_application: "Procedere? Tutti gli utenti dovranno autorizzarsi nuovamente con OpenProject." - confirm_replace_oauth_client: "Procedere? Tutti gli utenti dovranno autorizzarsi nuovamente con l'archivio." - oauth_client_details_missing: "Per completare la configurazione, aggiungi le credenziali del client OAuth dal tuo archivio." - automatically_managed_project_folder_missing: "Per completare la configurazione, configura le cartelle di progetto gestite automaticamente per il tuo spazio di archiviazione." - notice_oauth_application_replaced: "L'applicazione OpenProject OAuth è stata sostituita correttamente." - notice_successful_storage_connection: "Spazio di archiviazione connesso correttamente! Ricordati di attivare il modulo e lo spazio di archiviazione specifico nelle impostazioni di progetto di ciascun progetto desiderato per utilizzarlo." - open_project_storage_modal: - waiting: - a: "Stiamo configurando le tue autorizzazioni sulla cartella del progetto." - b: "Aspetta un attimo, potrebbe volerci un po' di tempo..." - success: - a: "Configurazione dell'integrazione completata" - b: "Stai per essere reindirizzato" - health: - title: "Stato cartelle gestite" - label_pending: "In sospeso" - label_error: "Errore" - label_healthy: "Tutto ok" - checked: "Ultimo controllo %{datetime}" - since: "dal giorno %{datetime}" + label_oauth_client_id: ID dell'applicazione Azure OAuth (client). + label_oauth_client_secret: Valore segreto client Azure OAuth + name: OneDrive/SharePoint + name_placeholder: es. OneDrive + storage_list_blank_slate: + description: Aggiungi un archivio per vederli qui. + heading: Non hai ancora archivi. upsale: - title: "Integrazione OneDrive/SharePoint" - description: 'Integra il tuo OneDrive/SharePoint come archivio file con OpenProject. Carica i file e collegali direttamente a macro-attività in un progetto.' + description: Integra il tuo OneDrive/SharePoint come archivio file con OpenProject. Carica i file e collegali direttamente a macro-attività in un progetto. + title: Integrazione OneDrive/SharePoint diff --git a/modules/storages/config/locales/crowdin/ja.yml b/modules/storages/config/locales/crowdin/ja.yml index 4c6d3f341cc5..4ec497726e3d 100644 --- a/modules/storages/config/locales/crowdin/ja.yml +++ b/modules/storages/config/locales/crowdin/ja.yml @@ -1,268 +1,217 @@ -#English strings go here ja: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "ファイル" - storages/storage: "Storage" attributes: - storages/storage: - name: "名称" - creator: "Creator" - provider_type: "Provider type" - host: "ホスト" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: ホスト + name: 名称 + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: ファイル + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "保存" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "設定" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuthアプリケーション" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "リダイレクトURI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "アクティブ" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "非アクティブ" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "完了しました" - label_incomplete: "Incomplete" - label_name: "名称" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuthアプリケーション + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: リダイレクトURI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: エラー! + label_healthy: Healthy + label_pending: 保留中 + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: アクティブ + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: 完了しました + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: 非アクティブ + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "リダイレクトURI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "ステータス" - label_files: "ファイルを添付する" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: 名称 + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: リダイレクトURI + label_show_storage_redirect_uri: Show redirect URI + label_status: ステータス + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "保留中" - label_error: "エラー!" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/js-af.yml b/modules/storages/config/locales/crowdin/js-af.yml index ac4f2d28e78f..4621f5c580f5 100644 --- a/modules/storages/config/locales/crowdin/js-af.yml +++ b/modules/storages/config/locales/crowdin/js-af.yml @@ -15,6 +15,7 @@ af: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ af: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ af: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-ar.yml b/modules/storages/config/locales/crowdin/js-ar.yml index 66b4a97349cc..5e4debb04d38 100644 --- a/modules/storages/config/locales/crowdin/js-ar.yml +++ b/modules/storages/config/locales/crowdin/js-ar.yml @@ -15,6 +15,7 @@ ar: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ ar: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -84,6 +84,9 @@ ar: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-az.yml b/modules/storages/config/locales/crowdin/js-az.yml index 43fa3c136e23..39c2e7e32802 100644 --- a/modules/storages/config/locales/crowdin/js-az.yml +++ b/modules/storages/config/locales/crowdin/js-az.yml @@ -15,6 +15,7 @@ az: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ az: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ az: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-be.yml b/modules/storages/config/locales/crowdin/js-be.yml index ea4986dfaf8c..c6f6fb3ac06e 100644 --- a/modules/storages/config/locales/crowdin/js-be.yml +++ b/modules/storages/config/locales/crowdin/js-be.yml @@ -15,6 +15,7 @@ be: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Сховішча" information: connection_error: > @@ -47,7 +48,6 @@ be: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -81,6 +81,9 @@ be: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-bg.yml b/modules/storages/config/locales/crowdin/js-bg.yml index 169e6862c9ff..a9b376c151ef 100644 --- a/modules/storages/config/locales/crowdin/js-bg.yml +++ b/modules/storages/config/locales/crowdin/js-bg.yml @@ -15,6 +15,7 @@ bg: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ bg: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ bg: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-ca.yml b/modules/storages/config/locales/crowdin/js-ca.yml index bb5e03147add..3a6090733836 100644 --- a/modules/storages/config/locales/crowdin/js-ca.yml +++ b/modules/storages/config/locales/crowdin/js-ca.yml @@ -15,6 +15,7 @@ ca: choose_location: "Tria ubicació" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Emmagatzematge" information: connection_error: > @@ -47,7 +48,6 @@ ca: empty: > Actualment no hi ha cap fitxer enllaçat a aquest paquet de treball. Comença a enllaçar fitxers amb l'acció de sota o dins de %{storageType}. download: "Descarrega %{fileName}" - no_permission: "No tens permisos per veure aquest fitxer." open: "Obre el fitxer a l'emmagatzematge" open_location: "Obre la ubicació del fitxer" remove: "Elimina l'enllaç del fitxer" @@ -77,6 +77,9 @@ ca: Si us plau, comprova l'última versió de l'aplicació Nextcloud "OpenProject Integration" estigui instal·lada i contacta el teu administrador per més informació. link_uploaded_file_error: > S'ha produït un error en enllaçar els fitxers carregats recentment "%{fileName}" al paquet de treball %{workPackageId}. - not_allowed_tooltip: "Si us plau, inicia sessió a Nextcloud per accedir a aquest fitxer" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "Aquest fitxer ja està enllaçat a aquest paquet de treball." already_linked_directory: "Aquest directori ja està enllaçat a aquest paquet de treball." diff --git a/modules/storages/config/locales/crowdin/js-ckb-IR.yml b/modules/storages/config/locales/crowdin/js-ckb-IR.yml index 50edda5b5356..425bc4063533 100644 --- a/modules/storages/config/locales/crowdin/js-ckb-IR.yml +++ b/modules/storages/config/locales/crowdin/js-ckb-IR.yml @@ -15,6 +15,7 @@ ckb-IR: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ ckb-IR: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ ckb-IR: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-cs.yml b/modules/storages/config/locales/crowdin/js-cs.yml index 2d09eb8cc8ff..248b8a606d1f 100644 --- a/modules/storages/config/locales/crowdin/js-cs.yml +++ b/modules/storages/config/locales/crowdin/js-cs.yml @@ -15,6 +15,7 @@ cs: choose_location: "Vyberte lokalitu" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Úložiště" information: connection_error: > @@ -47,7 +48,6 @@ cs: empty: > V současné době neexistují žádné propojené soubory k tomuto pracovnímu balíčku. Začněte propojovat soubory s akcí níže nebo zevnitř %{storageType}. download: "Stáhnout %{fileName}" - no_permission: "Nemáte oprávnění k zobrazení tohoto souboru." open: "Otevřít soubor v úložišti" open_location: "Otevřít soubor v umístění" remove: "Odstranit odkaz na soubor" @@ -59,9 +59,9 @@ cs: selection: zero: "Vyberte soubory, které chcete propojit" one: "Propojit 1 Soubor" - few: "Link %{count} files" - many: "Link %{count} files" - other: "Link %{count} files" + few: "Propojit %{count} souborů" + many: "Propojit %{count} souborů" + other: "Propojit %{count} souborů" success_create: one: "Odkaz na soubor byl úspěšně vytvořen." few: "Successfully created %{count} file links." @@ -81,6 +81,9 @@ cs: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Pro přístup k tomuto souboru se přihlaste do Nextcloudu" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "Tento soubor je již propojen s tímto pracovním balíčkem." already_linked_directory: "Tento adresář je již propojen s tímto pracovním balíčkem." diff --git a/modules/storages/config/locales/crowdin/js-da.yml b/modules/storages/config/locales/crowdin/js-da.yml index f27435c42af6..0d7484ac01ef 100644 --- a/modules/storages/config/locales/crowdin/js-da.yml +++ b/modules/storages/config/locales/crowdin/js-da.yml @@ -15,6 +15,7 @@ da: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ da: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ da: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-de.yml b/modules/storages/config/locales/crowdin/js-de.yml index c9d4d522684c..81914117beee 100644 --- a/modules/storages/config/locales/crowdin/js-de.yml +++ b/modules/storages/config/locales/crowdin/js-de.yml @@ -15,6 +15,7 @@ de: choose_location: "Speicherort wählen" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Speicher" information: connection_error: > @@ -47,7 +48,6 @@ de: empty: > Derzeit gibt es keine verknüpften Dateien zu diesem Arbeitspaket. Starten Sie die Verknüpfung von Dateien mit der unten stehenden Aktion oder über %{storageType}. download: "%{fileName} herunterladen" - no_permission: "Sie haben keine Berechtigung, diese Datei zu sehen." open: "Datei im Speicher öffnen" open_location: "Datei am Speicherort öffnen" remove: "Datei-Link entfernen" @@ -77,6 +77,9 @@ de: Bitte überprüfen Sie, ob die neueste Version der Nextcloud App "OpenProject Integration" installiert ist und kontaktieren Sie Ihren Administrator für weitere Informationen. link_uploaded_file_error: > Beim Verknüpfen der kürzlich hochgeladenen Datei '%{fileName}' mit dem Arbeitspaket %{workPackageId} ist ein Fehler aufgetreten. - not_allowed_tooltip: "Bitte melden Sie sich bei Nextcloud an, um auf diese Datei zuzugreifen" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "Sie haben keine Berechtigung, diese Datei zu sehen." + not_found: "Diese Datei ist nicht verfügbar." already_linked_file: "Die Datei ist bereits mit diesem Arbeitspaket verknüpft." already_linked_directory: "Das Verzeichnis ist bereits mit diesem Arbeitspaket verknüpft." diff --git a/modules/storages/config/locales/crowdin/js-el.yml b/modules/storages/config/locales/crowdin/js-el.yml index 3246b417f2f2..815d6eaba0da 100644 --- a/modules/storages/config/locales/crowdin/js-el.yml +++ b/modules/storages/config/locales/crowdin/js-el.yml @@ -15,6 +15,7 @@ el: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ el: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ el: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-eo.yml b/modules/storages/config/locales/crowdin/js-eo.yml index ba007deef9c7..3a6457b7ec1e 100644 --- a/modules/storages/config/locales/crowdin/js-eo.yml +++ b/modules/storages/config/locales/crowdin/js-eo.yml @@ -15,6 +15,7 @@ eo: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ eo: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ eo: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-es.yml b/modules/storages/config/locales/crowdin/js-es.yml index 2cdb4e35bee4..170a0102a9b3 100644 --- a/modules/storages/config/locales/crowdin/js-es.yml +++ b/modules/storages/config/locales/crowdin/js-es.yml @@ -15,6 +15,7 @@ es: choose_location: "Seleccionar ubicación" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Almacén" information: connection_error: > @@ -47,7 +48,6 @@ es: empty: > Actualmente no hay archivos enlazados a este paquete de trabajo. Vincule sus primeros archivos usando la acción de abajo o desde %{storageType}. download: "Descargar %{fileName}" - no_permission: "No tienes permisos para ver este archivo." open: "Abrir el fichero en almacenamiento" open_location: "Abrir fichero en su ubicación" remove: "Eliminar vínculo de fichero" @@ -77,6 +77,9 @@ es: Por favor, compruebe que la última versión de la aplicación de Nextcloud "OpenProject Integration" está instalada y póngase en contacto con su administrador para obtener más información. link_uploaded_file_error: > Se ha producido un error al vincular el archivo cargado recientemente "%{fileName}" al paquete de trabajo %{workPackageId}. - not_allowed_tooltip: "Por favor, inicia sesión en Nextcloud para acceder a este archivo" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "No tienes permisos para ver este archivo." + not_found: "No se ha encontrado este archivo." already_linked_file: "El archivo ya está vinculado a este paquete de trabajo." already_linked_directory: "El directorio ya está vinculado a este paquete de trabajo." diff --git a/modules/storages/config/locales/crowdin/js-et.yml b/modules/storages/config/locales/crowdin/js-et.yml index 95a9f444911e..a335045ba47e 100644 --- a/modules/storages/config/locales/crowdin/js-et.yml +++ b/modules/storages/config/locales/crowdin/js-et.yml @@ -15,6 +15,7 @@ et: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ et: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ et: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-eu.yml b/modules/storages/config/locales/crowdin/js-eu.yml index 694f1ea1aabc..d1b5a5be6d98 100644 --- a/modules/storages/config/locales/crowdin/js-eu.yml +++ b/modules/storages/config/locales/crowdin/js-eu.yml @@ -15,6 +15,7 @@ eu: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ eu: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ eu: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-fa.yml b/modules/storages/config/locales/crowdin/js-fa.yml index 19ab06905667..63aa9d59a2aa 100644 --- a/modules/storages/config/locales/crowdin/js-fa.yml +++ b/modules/storages/config/locales/crowdin/js-fa.yml @@ -15,6 +15,7 @@ fa: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ fa: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ fa: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-fi.yml b/modules/storages/config/locales/crowdin/js-fi.yml index d14f96460e7c..f3f11b1ed4b3 100644 --- a/modules/storages/config/locales/crowdin/js-fi.yml +++ b/modules/storages/config/locales/crowdin/js-fi.yml @@ -15,6 +15,7 @@ fi: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ fi: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ fi: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-fil.yml b/modules/storages/config/locales/crowdin/js-fil.yml index d4c05a97a282..9d3067a3b1f8 100644 --- a/modules/storages/config/locales/crowdin/js-fil.yml +++ b/modules/storages/config/locales/crowdin/js-fil.yml @@ -15,6 +15,7 @@ fil: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ fil: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ fil: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-fr.yml b/modules/storages/config/locales/crowdin/js-fr.yml index fd56f711fe54..81014f5f8a88 100644 --- a/modules/storages/config/locales/crowdin/js-fr.yml +++ b/modules/storages/config/locales/crowdin/js-fr.yml @@ -15,6 +15,7 @@ fr: choose_location: "Choisir emplacement" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Stockage" information: connection_error: > @@ -47,7 +48,6 @@ fr: empty: > Il n'y a actuellement aucun fichier lié à ce lot de travaux. Commencez à lier les fichiers avec l'action ci-dessous ou à partir de %{storageType}. download: "Télécharger %{fileName}" - no_permission: "Vous n'avez pas la permission de voir ce fichier." open: "Ouvrir le fichier sur le stockage" open_location: "Ouvrir le fichier à l'emplacement" remove: "Supprimer le lien de fichier" @@ -77,6 +77,9 @@ fr: Veuillez vérifier que la dernière version de l'application Nextcloud "OpenProject Integration" est installée et contactez votre administrateur pour plus d'informations. link_uploaded_file_error: > Une erreur s'est produite lors de la liaison du fichier '%{fileName}' récemment téléversé au lot de travaux %{workPackageId}. - not_allowed_tooltip: "Veuillez vous connecter à Nextcloud pour accéder à ce fichier" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "Vous n'avez pas la permission de voir ce fichier." + not_found: "Impossible de trouver ce fichier." already_linked_file: "Ce fichier est déjà lié à ce lot de travaux." already_linked_directory: "Ce répertoire est déjà lié à ce lot de travaux." diff --git a/modules/storages/config/locales/crowdin/js-he.yml b/modules/storages/config/locales/crowdin/js-he.yml index c8566bd9a872..f7653dd2b676 100644 --- a/modules/storages/config/locales/crowdin/js-he.yml +++ b/modules/storages/config/locales/crowdin/js-he.yml @@ -15,6 +15,7 @@ he: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ he: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -81,6 +81,9 @@ he: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-hi.yml b/modules/storages/config/locales/crowdin/js-hi.yml index 6fa990a1b97a..e5572717e609 100644 --- a/modules/storages/config/locales/crowdin/js-hi.yml +++ b/modules/storages/config/locales/crowdin/js-hi.yml @@ -15,6 +15,7 @@ hi: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ hi: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ hi: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-hr.yml b/modules/storages/config/locales/crowdin/js-hr.yml index 2f62fa139589..5a9ae058be64 100644 --- a/modules/storages/config/locales/crowdin/js-hr.yml +++ b/modules/storages/config/locales/crowdin/js-hr.yml @@ -15,6 +15,7 @@ hr: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ hr: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -79,6 +79,9 @@ hr: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-hu.yml b/modules/storages/config/locales/crowdin/js-hu.yml index 3e11e579a940..7d91107d5d95 100644 --- a/modules/storages/config/locales/crowdin/js-hu.yml +++ b/modules/storages/config/locales/crowdin/js-hu.yml @@ -15,6 +15,7 @@ hu: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Tárhely" information: connection_error: > @@ -47,7 +48,6 @@ hu: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ hu: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-id.yml b/modules/storages/config/locales/crowdin/js-id.yml index b20d64b92639..b4d7600f78ff 100644 --- a/modules/storages/config/locales/crowdin/js-id.yml +++ b/modules/storages/config/locales/crowdin/js-id.yml @@ -15,6 +15,7 @@ id: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Penyimpanan" information: connection_error: > @@ -47,7 +48,6 @@ id: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -75,6 +75,9 @@ id: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-it.yml b/modules/storages/config/locales/crowdin/js-it.yml index 56366ef149b4..2f0c6c7ad7c7 100644 --- a/modules/storages/config/locales/crowdin/js-it.yml +++ b/modules/storages/config/locales/crowdin/js-it.yml @@ -15,6 +15,7 @@ it: choose_location: "Scegli posizione" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Archivio" information: connection_error: > @@ -47,7 +48,6 @@ it: empty: > Correntemente, non esiste alcun file collegato a questo pacchetto di lavoro. Inizia a collegare i file con l'azione seguente o dall'interno di %{storageType}. download: "Scarica %{fileName}" - no_permission: "Non hai i permessi per accedere al file." open: "Apri file su memoria" open_location: "Apri file nella posizione" remove: "Rimuovi collegamento al file" @@ -77,6 +77,9 @@ it: Verifica che la versione più recente di "Integrazione OpenProject" di Nextcloud App sia installata e contatta il tuo amministratore per ulteriori informazioni. link_uploaded_file_error: > Si è verificato un errore caricando il file caricato '%{fileName}' al pacchetto di lavoro %{workPackageId}. - not_allowed_tooltip: "Accedi a Nextcloud per accedere a questo file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "Non hai i permessi per accedere al file." + not_found: "Impossibile trovare questo file." already_linked_file: "Questo file è già collegato a questa macro-attività." already_linked_directory: "Questa directory è già collegata a questa macro-attività." diff --git a/modules/storages/config/locales/crowdin/js-ja.yml b/modules/storages/config/locales/crowdin/js-ja.yml index c8c21867a821..9c8113120d87 100644 --- a/modules/storages/config/locales/crowdin/js-ja.yml +++ b/modules/storages/config/locales/crowdin/js-ja.yml @@ -15,6 +15,7 @@ ja: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ ja: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -75,6 +75,9 @@ ja: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-ka.yml b/modules/storages/config/locales/crowdin/js-ka.yml index b5d2a2b61681..7da4409d009b 100644 --- a/modules/storages/config/locales/crowdin/js-ka.yml +++ b/modules/storages/config/locales/crowdin/js-ka.yml @@ -4,7 +4,7 @@ ka: storages: link_files_in_storage: "Link files in %{storageType}" link_existing_files: "Link existing files" - upload_files: "Upload files" + upload_files: "ფაილების ატვირთვა" drop_files: "Drop files here to upload them to %{name}." drop_or_click_files: "Drop files here or click to upload them to %{name}." login: "%{storageType} login" @@ -15,6 +15,7 @@ ka: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "საცავი" information: connection_error: > @@ -47,19 +48,18 @@ ka: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" remove_confirmation: > Are you sure you want to unlink the file from this work package? Unlinking does not affect the original file and only removes the connection to this work package. - remove_short: "Remove link" - select: "Select files" + remove_short: "ბმულის წაშლა" + select: "ფაილის არჩევა" select_all: "ყველას მონიშვნა" selection: zero: "Select files to link" - one: "Link 1 file" - other: "Link %{count} files" + one: "ბმული 1 ფაილზე" + other: "ბმული %{count} ფაილზე" success_create: one: "Successfully created 1 file link." other: "Successfully created %{count} file links." @@ -77,6 +77,9 @@ ka: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-ko.yml b/modules/storages/config/locales/crowdin/js-ko.yml index 58b651bb144e..913e132ace8d 100644 --- a/modules/storages/config/locales/crowdin/js-ko.yml +++ b/modules/storages/config/locales/crowdin/js-ko.yml @@ -15,6 +15,7 @@ ko: choose_location: "위치 선택" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "저장소" information: connection_error: > @@ -47,7 +48,6 @@ ko: empty: > 현재 이 작업 패키지에 연결된 파일이 없습니다. 아래 작업으로 파일 연결을 시작하거나 %{storageType} 내에서 파일 연결을 시작하세요. download: "%{fileName} 다운로드" - no_permission: "이 파일을 볼 수 있는 권한이 없습니다." open: "저장소의 파일 열기" open_location: "위치의 파일 열기" remove: "파일 링크 제거" @@ -75,6 +75,9 @@ ko: 최신 버전의 Nextcloud 앱 "OpenProject Integration"이 설치되어 있는지 확인하고 자세한 내용은 관리자에게 문의하세요. link_uploaded_file_error: > 최근 업로드된 파일 '%{fileName}'을(를) 작업 패키지 %{workPackageId}에 연결하는 중에 오류가 발생했습니다. - not_allowed_tooltip: "이 파일에 액세스하려면 Nextcloud에 로그인하세요" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "이 파일을 볼 수 있는 권한이 없습니다." + not_found: "이 파일을 찾을 수 없습니다." already_linked_file: "이 파일은 이미 이 작업 패키지에 연결되어 있습니다." already_linked_directory: "이 디렉터리는 이미 이 작업 패키지에 연결되어 있습니다." diff --git a/modules/storages/config/locales/crowdin/js-lt.yml b/modules/storages/config/locales/crowdin/js-lt.yml index 2053c638cdf8..1189b2af9fd2 100644 --- a/modules/storages/config/locales/crowdin/js-lt.yml +++ b/modules/storages/config/locales/crowdin/js-lt.yml @@ -15,6 +15,7 @@ lt: choose_location: "Parinkite vietą" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Saugykla" information: connection_error: > @@ -47,7 +48,6 @@ lt: empty: > Šio metu nėra failų, susietų su šiuo darbo paketu. Pradėkite susieti failus naudodami veiksmą apačioje arba iš %{storageType}. download: "Atsisiųsti %{fileName}" - no_permission: "Jūs neturite teisės žiūrėti šį failą." open: "Atverti failą saugykloje" open_location: "Atverti failą vietoje" remove: "Pašalinti failo nuorodą" @@ -81,6 +81,9 @@ lt: Prašome patikrinti, kad įdiegta paskutinė Nectcloud aplikacija „OpenProject integration“ ir susisiekti su jūsų administratoriumi, jei reikia daugiau informacijos. link_uploaded_file_error: > Susiejant neseniai įkeltą failą „%{fileName}“ su darbo paketu %{workPackageId} įvyko klaida. - not_allowed_tooltip: "Prašome prisijungti prie Nextcloud, kad pasiektumėte failą" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "Jūs neturite teisių matyti šį failą." + not_found: "Nepavyksta rasti šio failo." already_linked_file: "Šis failas jau susietas su šiuo darbo paketu." already_linked_directory: "Šis aplankas jau susietas su šiuo darbo paketu." diff --git a/modules/storages/config/locales/crowdin/js-lv.yml b/modules/storages/config/locales/crowdin/js-lv.yml index f4559e80ec29..da3b3785ced4 100644 --- a/modules/storages/config/locales/crowdin/js-lv.yml +++ b/modules/storages/config/locales/crowdin/js-lv.yml @@ -15,6 +15,7 @@ lv: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ lv: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -78,6 +78,9 @@ lv: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-mn.yml b/modules/storages/config/locales/crowdin/js-mn.yml index c91e7f1dcce2..aa9eed2a0441 100644 --- a/modules/storages/config/locales/crowdin/js-mn.yml +++ b/modules/storages/config/locales/crowdin/js-mn.yml @@ -15,6 +15,7 @@ mn: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ mn: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ mn: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-ne.yml b/modules/storages/config/locales/crowdin/js-ne.yml index eb9f5dce29b6..6b2e62fc823f 100644 --- a/modules/storages/config/locales/crowdin/js-ne.yml +++ b/modules/storages/config/locales/crowdin/js-ne.yml @@ -15,6 +15,7 @@ ne: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ ne: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ ne: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-nl.yml b/modules/storages/config/locales/crowdin/js-nl.yml index 6f341a764ce9..dae98cc15ca2 100644 --- a/modules/storages/config/locales/crowdin/js-nl.yml +++ b/modules/storages/config/locales/crowdin/js-nl.yml @@ -15,6 +15,7 @@ nl: choose_location: "Kies locatie" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Opslag" information: connection_error: > @@ -47,7 +48,6 @@ nl: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Downloaden %{fileName}" - no_permission: "U heeft geen toestemming om dit bestand te bekijken." open: "Open bestand in opslag" open_location: "Open bestand op locatie" remove: "Bestandslink verwijderen" @@ -77,6 +77,9 @@ nl: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Log in op Nextcloud om toegang te krijgen tot dit bestand" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "Dit bestand is al gekoppeld aan dit werkpakket." already_linked_directory: "Deze map is al gekoppeld aan dit werkpakket." diff --git a/modules/storages/config/locales/crowdin/js-no.yml b/modules/storages/config/locales/crowdin/js-no.yml index 79b99ecbbeac..41b831dba9b6 100644 --- a/modules/storages/config/locales/crowdin/js-no.yml +++ b/modules/storages/config/locales/crowdin/js-no.yml @@ -15,6 +15,7 @@ choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-pl.yml b/modules/storages/config/locales/crowdin/js-pl.yml index 65dabd897560..903cb7d54cd4 100644 --- a/modules/storages/config/locales/crowdin/js-pl.yml +++ b/modules/storages/config/locales/crowdin/js-pl.yml @@ -15,6 +15,7 @@ pl: choose_location: "Wybierz lokalizację" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Magazyn" information: connection_error: > @@ -47,7 +48,6 @@ pl: empty: > Obecnie nie ma żadnych powiązanych plików z tym pakietem roboczym. Rozpocznij łączenie plików z poniższą czynnością lub w ciągu %{storageType}. download: "Pobierz %{fileName}" - no_permission: "Nie masz uprawnień, aby zobaczyć ten plik." open: "Otwórz plik w pamięci" open_location: "Otwórz plik w lokalizacji" remove: "Usuń link do pliku" @@ -81,6 +81,9 @@ pl: Sprawdź, czy zainstalowana jest najnowsza wersja aplikacji Nextcloud „OpenProject Integration” i skontaktuj się z administratorem, aby uzyskać więcej informacji. link_uploaded_file_error: > Wystąpił błąd podczas łączenia niedawno przesłanego pliku '%{fileName}' z pakietem roboczym %{workPackageId}. - not_allowed_tooltip: "Zaloguj się do Nextcloud aby uzyskać dostęp do tego pliku" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "Nie masz uprawnień do wyświetlania tego pliku." + not_found: "Nie można znaleźć tego pliku." already_linked_file: "Ten plik jest już powiązany z tym pakietem roboczym." already_linked_directory: "Ten katalog jest już powiązany z tym pakietem roboczym." diff --git a/modules/storages/config/locales/crowdin/js-pt.yml b/modules/storages/config/locales/crowdin/js-pt.yml index ad2baa470546..9d7256fe2e70 100644 --- a/modules/storages/config/locales/crowdin/js-pt.yml +++ b/modules/storages/config/locales/crowdin/js-pt.yml @@ -15,6 +15,7 @@ pt: choose_location: "Escolher localização" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Armazenamento" information: connection_error: > @@ -47,7 +48,6 @@ pt: empty: > Atualmente não há arquivos vinculados a este pacote de trabalho. Vincule os seus primeiros arquivos através da ação abaixo ou a partir de %{storageType}. download: "Baixar %{fileName}" - no_permission: "Você não possui permissão para visualizar este arquivo." open: "Abrir arquivo no armazenamento" open_location: "Abrir arquivo no local" remove: "Remover link de arquivo" @@ -77,6 +77,9 @@ pt: Verifique se a versão mais recente do Nextcloud App "OpenProject Integration" está instalada e entre em contato com seu administrador para obter mais informações. link_uploaded_file_error: > Ocorreu um erro ao vincular o arquivo recém-carregado '%{fileName}' para o pacote de trabalho %{workPackageId} - not_allowed_tooltip: "Faça o login no Nextcloud para acessar este arquivo" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "Você não possui permissão para visualizar este arquivo." + not_found: "Não foi possível encontrar este pedido" already_linked_file: "Este arquivo já está vinculado a este pacote de trabalho." already_linked_directory: "Este diretório já está vinculado a este pacote de trabalho." diff --git a/modules/storages/config/locales/crowdin/js-ro.yml b/modules/storages/config/locales/crowdin/js-ro.yml index 63abcee3d74f..5311fac54f8d 100644 --- a/modules/storages/config/locales/crowdin/js-ro.yml +++ b/modules/storages/config/locales/crowdin/js-ro.yml @@ -15,6 +15,7 @@ ro: choose_location: "Alege Locația" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Depozitare" information: connection_error: > @@ -47,7 +48,6 @@ ro: empty: > În prezent, nu există fișiere legate de acest pachet de lucru. Începeți să legați fișierele cu acțiunea de mai jos sau din interiorul %{storageType}. download: "Descarcă %{fileName}" - no_permission: "Nu aveți permisiunea de a vedea acest fișier." open: "Deschide fişierul pe stocare" open_location: "Deschide fișierul în locație" remove: "Elimină link-ul fișierului" @@ -79,6 +79,9 @@ ro: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > A apărut o eroare la conectarea fișierului încărcat recent '%{fileName}' la pachetul de lucru %{workPackageId}. - not_allowed_tooltip: "Vă rugăm să vă autentificaţi în Nextcloud pentru a accesa acest fişier" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "Acest fișier este deja legat la acest pachet de lucru." already_linked_directory: "Acest director este deja conectat la acest pachet de lucru." diff --git a/modules/storages/config/locales/crowdin/js-ru.yml b/modules/storages/config/locales/crowdin/js-ru.yml index b78dcbdbc1ca..987d316c34c4 100644 --- a/modules/storages/config/locales/crowdin/js-ru.yml +++ b/modules/storages/config/locales/crowdin/js-ru.yml @@ -15,6 +15,7 @@ ru: choose_location: "Выберите местоположение" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Хранилище" information: connection_error: > @@ -47,7 +48,6 @@ ru: empty: > В настоящее время нет файлов связанных с этим пакетом работ. Начните привязку файлов с действием ниже или внутри %{storageType}. download: "Скачать %{fileName}" - no_permission: "У вас недостаточно прав для просмотра этого файла." open: "Открыть файл в хранилище" open_location: "Открыть файл в расположении" remove: "Удалить ссылку на файл" @@ -81,6 +81,9 @@ ru: Пожалуйста, проверьте, что установлена последняя версия приложения Nextcloud "OpenProject Integration", и свяжитесь с вашим администратором для получения дополнительной информации. link_uploaded_file_error: > Произошла ошибка при привязке недавно загруженного файла '%{fileName}' к пакету работ %{workPackageId}. - not_allowed_tooltip: "Войдите в Nextcloud для доступа к этому файлу" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "У вас недостаточно прав для просмотра этого файла." + not_found: "Этот файл не найден." already_linked_file: "Этот файл уже связан с этим пакетом работ." already_linked_directory: "Этот каталог уже связан с этим пакетом работ." diff --git a/modules/storages/config/locales/crowdin/js-rw.yml b/modules/storages/config/locales/crowdin/js-rw.yml index 02a084ee736e..c4eb7947ecb9 100644 --- a/modules/storages/config/locales/crowdin/js-rw.yml +++ b/modules/storages/config/locales/crowdin/js-rw.yml @@ -15,6 +15,7 @@ rw: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ rw: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ rw: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-si.yml b/modules/storages/config/locales/crowdin/js-si.yml index 7223d0c0f66f..bd319fd98280 100644 --- a/modules/storages/config/locales/crowdin/js-si.yml +++ b/modules/storages/config/locales/crowdin/js-si.yml @@ -15,6 +15,7 @@ si: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ si: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ si: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-sk.yml b/modules/storages/config/locales/crowdin/js-sk.yml index ca7edc4463ea..b08e6005470d 100644 --- a/modules/storages/config/locales/crowdin/js-sk.yml +++ b/modules/storages/config/locales/crowdin/js-sk.yml @@ -15,6 +15,7 @@ sk: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ sk: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -81,6 +81,9 @@ sk: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-sl.yml b/modules/storages/config/locales/crowdin/js-sl.yml index adb7fa53d121..ef349ea69985 100644 --- a/modules/storages/config/locales/crowdin/js-sl.yml +++ b/modules/storages/config/locales/crowdin/js-sl.yml @@ -15,6 +15,7 @@ sl: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ sl: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -81,6 +81,9 @@ sl: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-sr.yml b/modules/storages/config/locales/crowdin/js-sr.yml index 21efea3fea3e..0214cb56b03c 100644 --- a/modules/storages/config/locales/crowdin/js-sr.yml +++ b/modules/storages/config/locales/crowdin/js-sr.yml @@ -15,6 +15,7 @@ sr: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ sr: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -79,6 +79,9 @@ sr: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-sv.yml b/modules/storages/config/locales/crowdin/js-sv.yml index d39abdf28938..ccdb98e51e61 100644 --- a/modules/storages/config/locales/crowdin/js-sv.yml +++ b/modules/storages/config/locales/crowdin/js-sv.yml @@ -15,6 +15,7 @@ sv: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ sv: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -77,6 +77,9 @@ sv: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-th.yml b/modules/storages/config/locales/crowdin/js-th.yml index 8a66b7c49887..864e3defa8a4 100644 --- a/modules/storages/config/locales/crowdin/js-th.yml +++ b/modules/storages/config/locales/crowdin/js-th.yml @@ -15,6 +15,7 @@ th: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ th: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -75,6 +75,9 @@ th: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-tr.yml b/modules/storages/config/locales/crowdin/js-tr.yml index dd97a5984f7e..bfd6bfcadba1 100644 --- a/modules/storages/config/locales/crowdin/js-tr.yml +++ b/modules/storages/config/locales/crowdin/js-tr.yml @@ -15,6 +15,7 @@ tr: choose_location: "Konum seç" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Depolama" information: connection_error: > @@ -47,7 +48,6 @@ tr: empty: > Şu anda bu çalışma paketine bağlı dosya yok. Aşağıdaki işlemle veya %{storageType} içinden dosyaları bağlamaya başlayın. download: "%{fileName} dosyasını indir" - no_permission: "Bu dosyayı görme izniniz yok." open: "Dosyayı depoda aç" open_location: "Dosyayı konumda aç" remove: "Dosya bağlantısını kaldır" @@ -77,6 +77,9 @@ tr: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > Yakın zamanda yüklenen '%{fileName}' dosyasını %{workPackageId} iş paketine bağlarken bir hata oluştu. - not_allowed_tooltip: "Bu dosyaya erişmek için lütfen Nextcloud'da oturum açın" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "Bu dosya zaten bu iş paketine bağlı." already_linked_directory: "Bu dizin zaten bu çalışma paketine bağlı." diff --git a/modules/storages/config/locales/crowdin/js-uk.yml b/modules/storages/config/locales/crowdin/js-uk.yml index 8ff99e592176..807fdf55f03f 100644 --- a/modules/storages/config/locales/crowdin/js-uk.yml +++ b/modules/storages/config/locales/crowdin/js-uk.yml @@ -15,6 +15,7 @@ uk: choose_location: "Виберіть папку" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Сховище" information: connection_error: > @@ -47,7 +48,6 @@ uk: empty: > Зараз із цим пакетом робіт не зв’язано жодних файлів. Зв’яжіть їх за допомогою дії нижче або зробіть це в сховищі %{storageType}. download: "Завантажити %{fileName}" - no_permission: "У вас немає дозволу на перегляд цього файлу." open: "Відкрити файл у сховищі" open_location: "Відкрити файл у папці" remove: "Видалити посилання на файл" @@ -81,6 +81,9 @@ uk: Переконайтеся, що у вас установлено останню версію додатка Nextcloud OpenProject Integration, і зверніться до свого адміністратора, щоб дізнатися більше. link_uploaded_file_error: > Під час зв’язування нещодавно вивантаженого файлу «%{fileName}» з пакетом робіт %{workPackageId} сталася помилка. - not_allowed_tooltip: "Щоб отримати доступ до цього файлу, увійдіть у Nextcloud" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "У вас немає дозволу на перегляд цього файлу." + not_found: "Не вдається знайти цей файл." already_linked_file: "Цей файл уже прив’язано до цього пакету робіт." already_linked_directory: "Цей каталог уже прив’язано до цього пакету робіт." diff --git a/modules/storages/config/locales/crowdin/js-vi.yml b/modules/storages/config/locales/crowdin/js-vi.yml index a561d88b9919..a89a88f37d43 100644 --- a/modules/storages/config/locales/crowdin/js-vi.yml +++ b/modules/storages/config/locales/crowdin/js-vi.yml @@ -15,6 +15,7 @@ vi: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: connection_error: > @@ -47,7 +48,6 @@ vi: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -75,6 +75,9 @@ vi: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/js-zh-CN.yml b/modules/storages/config/locales/crowdin/js-zh-CN.yml index d8f4c05f260a..53f1367941be 100644 --- a/modules/storages/config/locales/crowdin/js-zh-CN.yml +++ b/modules/storages/config/locales/crowdin/js-zh-CN.yml @@ -15,6 +15,7 @@ zh-CN: choose_location: "选择地点" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "存储" information: connection_error: > @@ -47,7 +48,6 @@ zh-CN: empty: > 当前的工作包没有链接的文件。请用下面操作或在%{storageType}内开始链接文件。 download: "下载 %{fileName}" - no_permission: "您无权查看此文件。" open: "在存储上打开文件" open_location: "在位置打开文件" remove: "移除文件链接" @@ -75,6 +75,9 @@ zh-CN: 请检查是否安装了最新版本的 Nextcloud 应用程序 "OpenProject Integration",如需更多信息,请联系您的管理员。 link_uploaded_file_error: > 在链接最近上传的文件 '%{fileName}' 到工作包 %{workPackageId} 时出现错误。 - not_allowed_tooltip: "请登录 Nextcloud 访问此文件" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "您无权查看此文件。" + not_found: "找不到此文件。" already_linked_file: "此文件已链接到该工作包。" already_linked_directory: "此目录已连接到该工作包。" diff --git a/modules/storages/config/locales/crowdin/js-zh-TW.yml b/modules/storages/config/locales/crowdin/js-zh-TW.yml index 983752c4af3a..2439df434ccc 100644 --- a/modules/storages/config/locales/crowdin/js-zh-TW.yml +++ b/modules/storages/config/locales/crowdin/js-zh-TW.yml @@ -15,6 +15,7 @@ zh-TW: choose_location: "Choose location" types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "儲存空間" information: connection_error: > @@ -47,7 +48,6 @@ zh-TW: empty: > Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -75,6 +75,9 @@ zh-TW: Please check that the latest version of the Nextcloud App "OpenProject Integration" is installed and contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/locales/crowdin/ka.yml b/modules/storages/config/locales/crowdin/ka.yml index b9cd806a2b33..1512d270ee67 100644 --- a/modules/storages/config/locales/crowdin/ka.yml +++ b/modules/storages/config/locales/crowdin/ka.yml @@ -1,268 +1,217 @@ -#English strings go here ka: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "ფაილი" - storages/storage: "საცავი" attributes: - storages/storage: - name: "სახელი" - creator: "შემქმნელი" - provider_type: "Provider type" - host: "ჰოსტი" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "საწყისის id" + origin_id: საწყისის id + storages/storage: + creator: შემქმნელი + host: ჰოსტი + name: სახელი + provider_type: მომწოდებლის ტიპი + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: არასწორია. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: ფაილი + storages/storage: საცავი api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: ფაილების შექმნა + permission_delete_files: ფაილების წაშლა + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: ფაილების წაკითხვა + permission_share_files: ფაილების გაზიარება + permission_view_file_links: View file links + permission_write_files: ფაილების ჩაწერა + project_module_storages: ფაილების საცავი storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "შენახვა" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "მორგება" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: აირჩიეთ საქაღალდე configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "აქტიური" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "არააქტიური" - label_creator: "შემქმნელი" - label_provider: "მომწოდებელი" - label_file_link: "ფაილის ბმული" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "დასრულებულია" - label_incomplete: "Incomplete" - label_name: "სახელი" - label_host: "ჰოსტის URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: გადამისამართების ბმული + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: შეცდომა + label_healthy: ჯანმრთელი + label_pending: დარჩენილია + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure-ის პორტალი + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: სახელი ან UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: აქტიური + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: დასრულებულია + label_creation_time: შექმნის დრო + label_creator: შემქმნელი + label_delete_storage: Delete storage + label_edit_storage: საცავის ჩასწორება + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: ფაილების საცავი + label_host: ჰოსტის URL + label_inactive: არააქტიური + label_incomplete: დაუსრულებელი label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "საცავი" - label_storages: "საცავები" - label_status: "სტატუსი" - label_files: "ფაილები" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: სახელი + label_new_file_storage: New %{provider} storage + label_new_storage: ახალი საცავი + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: მომწოდებელი + label_redirect_uri: გადამისამართების ბმული + label_show_storage_redirect_uri: Show redirect URI + label_status: სტატუსი + label_storage: საცავი + label_uri: URI member_connection_status: - connected: "დაკავშირებულია" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: დაკავშირებულია + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: მომწოდებლის ტიპი nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "დარჩენილია" - label_error: "შეცდომა" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: მაგ. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/ko.yml b/modules/storages/config/locales/crowdin/ko.yml index c38fbcd650a4..8b56e842dd8d 100644 --- a/modules/storages/config/locales/crowdin/ko.yml +++ b/modules/storages/config/locales/crowdin/ko.yml @@ -1,268 +1,217 @@ -#English strings go here ko: - plugin_openproject_storages: - name: "OpenProject 저장소" - description: "Nextcloud와 같은 외부 저장소의 파일에 작업 패키지를 링크할 수 있습니다." - permission_view_file_links: "파일 링크 보기" - permission_manage_file_links: "파일 링크 관리" - permission_manage_storages_in_project: "프로젝트의 파일 저장소 관리" - permission_read_files: "파일 읽기" - permission_write_files: "파일 쓰기" - permission_create_files: "파일 만들기" - permission_delete_files: "파일 삭제" - permission_share_files: "파일 공유" - project_module_storages: "파일 저장소" - errors: - attributes: - storage_error: - not_authorized: "저장소에 대한 외부 연결이 승인되지 않았습니다." - not_found: "요청한 리소스를 외부 파일 저장소에서 찾을 수 없습니다." activerecord: - models: - file_link: "파일" - storages/storage: "저장소" attributes: - storages/storage: - name: "이름" - creator: "생성자" - provider_type: "공급자 유형" - host: "호스트" - tenant: "디렉터리(테넌트) ID" storages/file_link: - origin_id: "원본 ID" + origin_id: 원본 ID + storages/storage: + creator: 생성자 + host: 호스트 + name: 이름 + provider_type: 공급자 유형 + tenant: 디렉터리(테넌트) ID errors: messages: - not_linked_to_project: "- 프로젝트에 연결되지 않았습니다." + not_linked_to_project: '- 프로젝트에 연결되지 않았습니다.' models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: '- 숫자 또는 uuid만 가능합니다.' storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "- 이 저장소에 사용할 수 없습니다." + mode_unavailable: '- 이 저장소에 사용할 수 없습니다.' storages/storage: attributes: host: - cannot_be_connected_to: "- 연결할 수 없습니다." - minimal_nextcloud_version_unmet: "- 최소 버전 요구 사항을 충족하지 않습니다(Nextcloud 23 이상이어야 함)." - not_nextcloud_server: "- Nextcloud 서버가 아닙니다." - op_application_not_installed: > - "OpenProject Integration" 앱이 설치되지 않은 것 같습니다. 먼저 설치한 후 다시 시도하세요. - authorization_header_missing: > - 완전히 설정되지 않았습니다. Nextcloud 인스턴스는 API 요청에 대한 Bearer 토큰 기반 인증에 필요한 "Authorization" 헤더를 수신하지 않습니다. HTTP 서버 구성을 다시 확인하세요. + authorization_header_missing: 완전히 설정되지 않았습니다. Nextcloud 인스턴스는 API 요청에 대한 Bearer 토큰 기반 인증에 필요한 "Authorization" 헤더를 수신하지 않습니다. HTTP 서버 구성을 다시 확인하세요. + cannot_be_connected_to: '- 연결할 수 없습니다.' + minimal_nextcloud_version_unmet: '- 최소 버전 요구 사항을 충족하지 않습니다(Nextcloud 23 이상이어야 함).' + not_nextcloud_server: '- Nextcloud 서버가 아닙니다.' + op_application_not_installed: '"OpenProject Integration" 앱이 설치되지 않은 것 같습니다. 먼저 설치한 후 다시 시도하세요.' password: - invalid_password: "- 유효하지 않습니다." - unknown_error: "- 유효성을 검사할 수 없습니다. 저장소 연결을 확인하고 다시 시도하세요." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "- 숫자 또는 uuid만 가능합니다." + invalid_password: '- 유효하지 않습니다.' + unknown_error: '- 유효성을 검사할 수 없습니다. 저장소 연결을 확인하고 다시 시도하세요.' + models: + file_link: 파일 + storages/storage: 저장소 api_v3: errors: - too_many_elements_created_at_once: "한 번에 너무 많은 요소가 생성되었습니다. 최대 개수는 %{max}개이지만 %{actual}개가 있습니다." + too_many_elements_created_at_once: 한 번에 너무 많은 요소가 생성되었습니다. 최대 개수는 %{max}개이지만 %{actual}개가 있습니다. + permission_create_files: 파일 만들기 + permission_delete_files: 파일 삭제 + permission_manage_file_links: 파일 링크 관리 + permission_manage_storages_in_project: 프로젝트의 파일 저장소 관리 + permission_read_files: 파일 읽기 + permission_share_files: 파일 공유 + permission_view_file_links: 파일 링크 보기 + permission_write_files: 파일 쓰기 + project_module_storages: 파일 저장소 storages: - default_name: "내 저장소" - unknown_storage: "알 수 없는 저장소" buttons: - done_continue: "완료, 계속" - done_continue_setup: "완료. 설정을 계속하세요." - done_complete_setup: "완료, 설정 완료" - complete_without_setup: "이것 없이 완료" - edit_automatically_managed_project_folders: "자동으로 관리되는 프로젝트 폴더 편집" - replace_openproject_oauth: "OpenProject OAuth 바꾸기" - replace_provider_type_oauth: "%{provider_type} OAuth 바꾸기" - save: "저장" - save_and_continue: "저장 및 계속" - save_and_continue_setup: "저장하고 설정 계속하기" - save_and_complete_setup: "저장하고 설정 완료" - select_folder: "폴더 선택" - configure: "구성" - file_storage_view: - general_information: "일반 정보" - oauth_applications: "OAuth 애플리케이션" - project_folders: "프로젝트 폴더" - storage_provider: "저장소 공급자" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "리디렉션 URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "자동으로 관리되는 폴더" - page_titles: - file_storages: - subtitle: "작업 패키지의 파일을 업로드하고, 링크하고, 관리하려면 외부 파일 저장소를 추가하세요." - delete: "파일 저장소 삭제" - managed_project_folders: - title: "자동으로 관리되는 프로젝트 폴더" - subtitle_short: "OpenProject가 프로젝트별 폴더를 자동으로 생성하도록 하세요." - subtitle: > - OpenProject가 프로젝트별 폴더를 자동으로 생성하도록 합니다. 각 팀원이 항상 올바른 액세스 권한을 갖도록 보장하므로 권장됩니다. - project_settings: - index: "이 프로젝트에서 사용 가능한 파일 저장소" - new: "이 프로젝트에 파일 저장소 추가" - edit: "이 프로젝트에 대한 파일 저장소 편집" - delete: "파일 저장소 삭제" - members_connection_status: "멤버 연결 상태" - project_storage_members: - title: "멤버 연결 상태" - subtitle: "모든 프로젝트 멤버의 저장소 %{storage_name_link}에 대한 연결 상태를 확인하세요." - instructions: - type: "설정을 수행하기 전에 Nextcloud 인스턴스에서 관리 권한이 있고 다음 애플리케이션이 설치되어 있는지 확인하세요." - type_link_text: "“Integration OpenProject”" - name: "사용자가 여러 저장소 간에 구별할 수 있도록 저장소에 이름을 지정하세요." - host: "https://를 포함하여 저장소의 호스트 주소를 추가하세요. 255자 이하여야 합니다." - managed_project_folders_application_password: > - 다음에서 이 값 복사: - managed_project_folders_application_password_caption: "다음에서 이 값을 복사하여 자동으로 관리되는 폴더 활성화: %{provider_type_link}." - new_storage: "자세한 내용은 %{provider_name} 파일 저장소 설정 통합에 대한 문서를 참조하세요." - no_storage_set_up: "아직 파일 저장소가 설정되지 않았습니다." - no_specific_folder: "기본적으로 각 사용자는 파일을 업로드할 때 고유한 홈 폴더에서 시작합니다." - automatic_folder: "이렇게 하면 이 프로젝트의 루트 폴더가 자동으로 생성되고 각 프로젝트 멤버의 액세스 권한이 관리됩니다." - empty_project_folder_validation: "계속하려면 폴더 선택이 필수적입니다." - not_logged_into_storage: "프로젝트 폴더를 선택하려면 먼저 로그인하세요" - existing_manual_folder: > - 기존 폴더를 이 프로젝트의 루트 폴더로 지정할 수 있습니다. 그러나 권한은 자동으로 관리되지 않으며, 관리자는 관련 사용자에게 액세스 권한이 있는지 수동으로 확인해야 합니다. 선택한 폴더는 여러 프로젝트에서 사용할 수 있습니다. - setting_up_additional_storages: "추가 파일 저장소를 설정하려면 다음을 방문하세요:" - setting_up_additional_storages_non_admin: "관리자는 관리/파일 저장소에서 추가 파일 저장소를 설정할 수 있습니다." - setting_up_storages: "파일 저장소를 설정하려면 다음을 방문하세요:" - setting_up_storages_non_admin: "관리자는 관리/파일 저장소에서 파일 저장소를 설정할 수 있습니다." - all_available_storages_already_added: "사용 가능한 모든 저장소가 이미 프로젝트에 추가되었습니다." - oauth_application_details: "이 창을 닫으면 클라이언트 비밀 값에 다시 액세스할 수 없습니다. 다음 값을 %{oauth_application_details_link}에 복사하세요." - oauth_application_details_link_text: "Nextcloud OpenProject 통합 설정" - copy_from: "다음에서 이 값 복사:" - nextcloud: - provider_configuration: "설정을 수행하기 전에 Nextcloud 인스턴스에서 관리 권한이 있고 %{application_link_text}이(가) 설치되어 있는지 확인하세요." - oauth_configuration: "%{application_link_text}에서 이러한 값을 복사합니다." - application_link_text: "애플리케이션 “Integration OpenProject”" - integration: "Nextcloud 관리/OpenProject" - one_drive: - provider_configuration: > - %{application_link_text}에서 관리 권한이 있는지 확인하거나 설정을 수행하기 전에 Microsoft 관리자에게 문의하세요. 또한 포털에서 Azure 애플리케이션을 등록하거나 인증을 위해 기존 애플리케이션을 사용해야 합니다. - oauth_configuration: "%{application_link_text}에서 원하는 애플리케이션의 해당 값을 복사합니다." - application_link_text: "Azure 포털" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Azure 포털에서 클라이언트 ID를 복사합니다. 리디렉션 URI를 생성하는 데 필요합니다. - oauth_client_secret: > - 클라이언트 자격 증명 아래에 애플리케이션 클라이언트 비밀번호가 없는 경우 새로운 비밀번호를 생성하세요. - oauth_client_redirect_uri: > - 이 값을 리디렉션 URI 아래의 새로운 웹 리디렉션 URI에 복사하세요. - missing_client_id_for_redirect_uri: "URI를 생성하려면 OAuth 값을 입력하세요" - tenant_id: > - %{application_link_text}의 원하는 애플리케이션 및 앱 등록에서 디렉터리(테넌트) ID를 복사하세요. - tenant_id_placeholder: "이름 또는 UUID" - drive_id: "%{drive_id_link_text}의 단계에 따라 원하는 드라이브의 ID를 복사하세요." - documentation_link_text: "OneDrive/SharePoint 파일 저장소 문서" - copy_redirect_uri: "리디렉션 URI 복사" - help_texts: - project_folder: > - 프로젝트 폴더는 이 프로젝트에 대한 파일 업로드의 기본 폴더입니다. 사용자는 다른 위치에 파일을 계속 업로드할 수 있습니다. + complete_without_setup: 이것 없이 완료 + done_complete_setup: 완료, 설정 완료 + done_continue: 완료, 계속 + replace_provider_type_oauth: '%{provider_type} OAuth 바꾸기' + save_and_continue: 저장 및 계속 + select_folder: 폴더 선택 configuration_checks: oauth_client_incomplete: - nextcloud: "OpenProject가 OAuth를 사용하여 Nextcloud 데이터에 액세스하도록 허용합니다." - one_drive: "OpenProject가 OAuth를 사용하여 Azure 데이터에 액세스하고 OneDrive/Sharepoint에 연결하도록 허용합니다." + nextcloud: OpenProject가 OAuth를 사용하여 Nextcloud 데이터에 액세스하도록 허용합니다. + one_drive: OpenProject가 OAuth를 사용하여 Azure 데이터에 액세스하고 OneDrive/Sharepoint에 연결하도록 허용합니다. redirect_uri_incomplete: - one_drive: "올바른 URI 리디렉션으로 설정을 완료합니다." + one_drive: 올바른 URI 리디렉션으로 설정을 완료합니다. + confirm_replace_oauth_application: 계속하시겠습니까? 모든 사용자는 OpenProject에 대해 다시 권한을 부여해야 합니다. + confirm_replace_oauth_client: 계속하시겠습니까? 모든 사용자는 저장소에 대해 다시 권한을 부여해야 합니다. delete_warning: - storage: > - %{file_storage}을(를) 삭제하시겠습니까? 이 작업을 확인하려면 아래 필드에 저장소 이름을 입력하세요. 이렇게 하면 다음이 허용됩니다. - storage_delete_result_1: "이 저장소를 사용하는 모든 프로젝트의 모든 저장소 설정을 제거합니다." - storage_delete_result_2: "모든 프로젝트의 작업 패키지에서 해당 저장소의 파일 및 폴더에 대한 모든 링크를 제거합니다." - storage_delete_result_3: "이 저장소에 자동으로 관리되는 프로젝트 폴더가 있는 경우 이 폴더와 포함된 해당 파일이 영구적으로 삭제됩니다." - project_storage: > - 이 프로젝트에서 %{file_storage}을(를) 삭제하시겠습니까? 이 작업을 확인하려면 아래 필드에 저장소 이름을 입력하세요. 이렇게 하면 다음이 허용됩니다. - project_storage_delete_result_1: "이 프로젝트의 작업 패키지에서 해당 저장소의 파일 및 폴더에 대한 모든 링크를 제거합니다." - project_storage_delete_result_2: "이 저장소에 자동으로 관리되는 프로젝트 폴더가 있는 경우 이 폴더와 해당 파일이 영구적으로 삭제됩니다." - input_delete_confirmation: "파일 저장소 이름 %{file_storage}을(를) 입력하여 삭제를 확인합니다." - irreversible_notice: "파일 저장소를 삭제하면 되돌릴 수 없습니다." - storage_list_blank_slate: - heading: "아직 저장소가 없습니다." - description: "여기에서 보려면 저장소를 추가합니다." - error_invalid_provider_type: "유효한 저장소 공급자를 선택하세요." - label_active: "활성" - label_add_new_storage: "새로운 저장소 추가" - label_delete_storage: "저장소 삭제" - label_inactive: "비활성" - label_creator: "생성자" - label_provider: "공급자" - label_file_link: "파일 링크" - label_file_links: "파일 링크" - label_file_storage: "파일 저장소" - label_creation_time: "생성 시간" - label_completed: "완료" - label_incomplete: "미완료" - label_name: "이름" - label_host: "호스트 URL" + input_delete_confirmation: 파일 저장소 이름 %{file_storage}을(를) 입력하여 삭제를 확인합니다. + irreversible_notice: 파일 저장소를 삭제하면 되돌릴 수 없습니다. + project_storage: '이 프로젝트에서 %{file_storage}을(를) 삭제하시겠습니까? 이 작업을 확인하려면 아래 필드에 저장소 이름을 입력하세요. 이렇게 하면 다음이 허용됩니다.' + project_storage_delete_result_1: 이 프로젝트의 작업 패키지에서 해당 저장소의 파일 및 폴더에 대한 모든 링크를 제거합니다. + project_storage_delete_result_2: 이 저장소에 자동으로 관리되는 프로젝트 폴더가 있는 경우 이 폴더와 해당 파일이 영구적으로 삭제됩니다. + storage: '%{file_storage}을(를) 삭제하시겠습니까? 이 작업을 확인하려면 아래 필드에 저장소 이름을 입력하세요. 이렇게 하면 다음이 허용됩니다.' + storage_delete_result_1: 이 저장소를 사용하는 모든 프로젝트의 모든 저장소 설정을 제거합니다. + storage_delete_result_2: 모든 프로젝트의 작업 패키지에서 해당 저장소의 파일 및 폴더에 대한 모든 링크를 제거합니다. + storage_delete_result_3: 이 저장소에 자동으로 관리되는 프로젝트 폴더가 있는 경우 이 폴더와 포함된 해당 파일이 영구적으로 삭제됩니다. + error_invalid_provider_type: 유효한 저장소 공급자를 선택하세요. + file_storage_view: + automatically_managed_folders: 자동으로 관리되는 폴더 + general_information: 일반 정보 + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth 애플리케이션 + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: 프로젝트 폴더 + redirect_uri: 리디렉션 URI + storage_provider: 저장소 공급자 + health: + checked: '마지막 확인: %{datetime}' + label_error: 오류 + label_healthy: 정상 + label_pending: 대기 중 + since: '%{datetime} 이후' + title: 관리되는 폴더 상태 + help_texts: + project_folder: 프로젝트 폴더는 이 프로젝트에 대한 파일 업로드의 기본 폴더입니다. 사용자는 다른 위치에 파일을 계속 업로드할 수 있습니다. + instructions: + all_available_storages_already_added: 사용 가능한 모든 저장소가 이미 프로젝트에 추가되었습니다. + automatic_folder: 이렇게 하면 이 프로젝트의 루트 폴더가 자동으로 생성되고 각 프로젝트 멤버의 액세스 권한이 관리됩니다. + copy_from: '다음에서 이 값 복사:' + empty_project_folder_validation: 계속하려면 폴더 선택이 필수적입니다. + existing_manual_folder: 기존 폴더를 이 프로젝트의 루트 폴더로 지정할 수 있습니다. 그러나 권한은 자동으로 관리되지 않으며, 관리자는 관련 사용자에게 액세스 권한이 있는지 수동으로 확인해야 합니다. 선택한 폴더는 여러 프로젝트에서 사용할 수 있습니다. + host: https://를 포함하여 저장소의 호스트 주소를 추가하세요. 255자 이하여야 합니다. + managed_project_folders_application_password_caption: '다음에서 이 값을 복사하여 자동으로 관리되는 폴더 활성화: %{provider_type_link}.' + name: 사용자가 여러 저장소 간에 구별할 수 있도록 저장소에 이름을 지정하세요. + new_storage: 자세한 내용은 %{provider_name} 파일 저장소 설정 통합에 대한 문서를 참조하세요. + nextcloud: + application_link_text: 애플리케이션 “Integration OpenProject” + integration: Nextcloud 관리/OpenProject + oauth_configuration: '%{application_link_text}에서 이러한 값을 복사합니다.' + provider_configuration: 설정을 수행하기 전에 Nextcloud 인스턴스에서 관리 권한이 있고 %{application_link_text}이(가) 설치되어 있는지 확인하세요. + no_specific_folder: 기본적으로 각 사용자는 파일을 업로드할 때 고유한 홈 폴더에서 시작합니다. + no_storage_set_up: 아직 파일 저장소가 설정되지 않았습니다. + not_logged_into_storage: 프로젝트 폴더를 선택하려면 먼저 로그인하세요 + oauth_application_details: 이 창을 닫으면 클라이언트 비밀 값에 다시 액세스할 수 없습니다. 다음 값을 %{oauth_application_details_link}에 복사하세요. + oauth_application_details_link_text: Nextcloud OpenProject 통합 설정 + one_drive: + application_link_text: Azure 포털 + copy_redirect_uri: 리디렉션 URI 복사 + documentation_link_text: OneDrive/SharePoint 파일 저장소 문서 + drive_id: '%{drive_id_link_text}의 단계에 따라 원하는 드라이브의 ID를 복사하세요.' + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: URI를 생성하려면 OAuth 값을 입력하세요 + oauth_client_redirect_uri: 이 값을 리디렉션 URI 아래의 새로운 웹 리디렉션 URI에 복사하세요. + oauth_client_secret: 클라이언트 자격 증명 아래에 애플리케이션 클라이언트 비밀번호가 없는 경우 새로운 비밀번호를 생성하세요. + oauth_configuration: '%{application_link_text}에서 원하는 애플리케이션의 해당 값을 복사합니다.' + provider_configuration: '%{application_link_text}에서 관리 권한이 있는지 확인하거나 설정을 수행하기 전에 Microsoft 관리자에게 문의하세요. 또한 포털에서 Azure 애플리케이션을 등록하거나 인증을 위해 기존 애플리케이션을 사용해야 합니다.' + tenant_id: '%{application_link_text}의 원하는 애플리케이션 및 앱 등록에서 디렉터리(테넌트) ID를 복사하세요.' + tenant_id_placeholder: 이름 또는 UUID + setting_up_additional_storages: '추가 파일 저장소를 설정하려면 다음을 방문하세요:' + setting_up_additional_storages_non_admin: 관리자는 관리/파일 저장소에서 추가 파일 저장소를 설정할 수 있습니다. + setting_up_storages: '파일 저장소를 설정하려면 다음을 방문하세요:' + setting_up_storages_non_admin: 관리자는 관리/파일 저장소에서 파일 저장소를 설정할 수 있습니다. + type: '설정을 수행하기 전에 Nextcloud 인스턴스에서 관리 권한이 있고 다음 애플리케이션이 설치되어 있는지 확인하세요.' + type_link_text: "“Integration OpenProject”" + label_active: 활성 + label_add_new_storage: 새로운 저장소 추가 + label_automatic_folder: 자동으로 관리되는 권한이 있는 새 폴더 + label_completed: 완료 + label_creation_time: 생성 시간 + label_creator: 생성자 + label_delete_storage: 저장소 삭제 + label_edit_storage: 저장소 편집 + label_edit_storage_automatically_managed_folders: 저장소 자동 관리 폴더 편집 + label_edit_storage_host: 저장소 호스트 편집 + label_edit_storage_oauth_client: 저장소 OAuth 클라이언트 편집 + label_existing_manual_folder: 수동으로 관리되는 권한이 있는 기존 폴더 + label_file_storage: 파일 저장소 + label_host: 호스트 URL + label_inactive: 비활성 + label_incomplete: 미완료 label_managed_project_folders: - automatically_managed_folders: "자동으로 관리되는 폴더" - application_password: "애플리케이션 암호" - label_managed_project_folders_breadcrumb: "자동으로 관리되는 프로젝트 폴더" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth 애플리케이션 세부 정보" - label_oauth_client_details: "OAuth 클라이언트 세부 정보" - label_openproject_oauth_application_id: "OpenProject OAuth 클라이언트 ID" - label_openproject_oauth_application_secret: "OpenProject OAuth 클라이언트 비밀번호" - label_oauth_client_id: "OAuth 클라이언트 ID" - label_oauth_client_secret: "OAuth 클라이언트 비밀" - label_information: "추가 정보" - label_provider_type: "공급자 유형" - label_project_folder: "프로젝트 폴더" - label_redirect_uri: "리디렉션 URI" - label_uri: "URI" - label_new_storage: "새로운 저장소" - label_new_file_storage: "새로운 %{provider} 저장소" - label_edit_storage: "저장소 편집" - label_edit_storage_host: "저장소 호스트 편집" - label_edit_storage_oauth_client: "저장소 OAuth 클라이언트 편집" - label_show_storage_redirect_uri: "리디렉션 URI 표시" - label_edit_storage_automatically_managed_folders: "저장소 자동 관리 폴더 편집" - label_existing_manual_folder: "수동으로 관리되는 권한이 있는 기존 폴더" - label_no_specific_folder: "특정 폴더 없음" - label_automatic_folder: "자동으로 관리되는 권한이 있는 새 폴더" - label_no_selected_folder: "선택된 폴더 없음" - label_select_provider: "공급자 선택" - label_storage: "저장소" - label_storages: "저장소" - label_status: "상태" - label_files: "파일" + application_password: 애플리케이션 암호 + automatically_managed_folders: 자동으로 관리되는 폴더 + label_name: 이름 + label_new_file_storage: 새로운 %{provider} 저장소 + label_new_storage: 새로운 저장소 + label_no_selected_folder: 선택된 폴더 없음 + label_no_specific_folder: 특정 폴더 없음 + label_oauth_client_id: OAuth 클라이언트 ID + label_openproject_oauth_application_id: OpenProject OAuth 클라이언트 ID + label_openproject_oauth_application_secret: OpenProject OAuth 클라이언트 비밀번호 + label_project_folder: 프로젝트 폴더 + label_provider: 공급자 + label_redirect_uri: 리디렉션 URI + label_show_storage_redirect_uri: 리디렉션 URI 표시 + label_status: 상태 + label_storage: 저장소 + label_uri: URI member_connection_status: - connected: "연결됨" - connected_no_permissions: "사용자 역할에 저장소 권한이 없습니다" - not_connected: "연결되지 않았습니다. 사용자는 다음 %{link}을(를) 통해 저장소에 로그인해야 합니다." - no_results: "아직 저장소가 설정되지 않았습니다." - members_no_results: "표시할 멤버가 없습니다." + connected: 연결됨 + connected_no_permissions: 사용자 역할에 저장소 권한이 없습니다 + not_connected: 연결되지 않았습니다. 사용자는 다음 %{link}을(를) 통해 저장소에 로그인해야 합니다. + members_no_results: 표시할 멤버가 없습니다. + no_results: 아직 저장소가 설정되지 않았습니다. + notice_successful_storage_connection: 저장소가 연결되었습니다! 이 저장소를 사용하려면 원하는 각 프로젝트의 프로젝트 설정에서 모듈과 특정 저장소를 활성화해야 합니다. + open_project_storage_modal: + success: + a: 통합 설정 완료됨 + b: 리디렉션 중입니다 + waiting: + a: 프로젝트 폴더에 대한 권한을 설정하는 중입니다. + b: 잠시 기다려 주세요. 시간이 좀 걸릴 수 있습니다. + page_titles: + file_storages: + delete: 파일 저장소 삭제 + subtitle: 작업 패키지의 파일을 업로드하고, 링크하고, 관리하려면 외부 파일 저장소를 추가하세요. + managed_project_folders: + subtitle: OpenProject가 프로젝트별 폴더를 자동으로 생성하도록 합니다. 각 팀원이 항상 올바른 액세스 권한을 갖도록 보장하므로 권장됩니다. + subtitle_short: OpenProject가 프로젝트별 폴더를 자동으로 생성하도록 하세요. + title: 자동으로 관리되는 프로젝트 폴더 + project_settings: + delete: 파일 저장소 삭제 + edit: 이 프로젝트에 대한 파일 저장소 편집 + index: 이 프로젝트에서 사용 가능한 파일 저장소 + members_connection_status: 멤버 연결 상태 + new: 이 프로젝트에 파일 저장소 추가 + project_storage_members: + subtitle: 모든 프로젝트 멤버의 저장소 %{storage_name_link}에 대한 연결 상태를 확인하세요. + title: 멤버 연결 상태 provider_types: - label: "공급자 유형" + label: 공급자 유형 nextcloud: - name: "Nextcloud" - name_placeholder: "예: Nextcloud" - label_oauth_client_id: "Nextcloud OAuth 클라이언트 ID" - label_oauth_client_secret: "Nextcloud OAuth 클라이언트 비밀번호" + label_oauth_client_id: Nextcloud OAuth 클라이언트 ID + label_oauth_client_secret: Nextcloud OAuth 클라이언트 비밀번호 + name: Nextcloud + name_placeholder: '예: Nextcloud' one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "예: OneDrive" - label_oauth_client_id: "Azure OAuth 애플리케이션(클라이언트) ID" - label_oauth_client_secret: "Azure OAuth 클라이언트 비밀번호 값" - confirm_replace_oauth_application: "계속하시겠습니까? 모든 사용자는 OpenProject에 대해 다시 권한을 부여해야 합니다." - confirm_replace_oauth_client: "계속하시겠습니까? 모든 사용자는 저장소에 대해 다시 권한을 부여해야 합니다." - oauth_client_details_missing: "설정을 완료하려면 저장소에서 OAuth 클라이언트 자격 증명을 추가하세요." - automatically_managed_project_folder_missing: "설정을 완료하려면 저장소에 대해 자동으로 관리되는 프로젝트 폴더를 구성하세요." - notice_oauth_application_replaced: "OpenProject OAuth 애플리케이션이 성공적으로 교체되었습니다." - notice_successful_storage_connection: "저장소가 연결되었습니다! 이 저장소를 사용하려면 원하는 각 프로젝트의 프로젝트 설정에서 모듈과 특정 저장소를 활성화해야 합니다." - open_project_storage_modal: - waiting: - a: "프로젝트 폴더에 대한 권한을 설정하는 중입니다." - b: "잠시 기다려 주세요. 시간이 좀 걸릴 수 있습니다." - success: - a: "통합 설정 완료됨" - b: "리디렉션 중입니다" - health: - title: "관리되는 폴더 상태" - label_pending: "대기 중" - label_error: "오류" - label_healthy: "정상" - checked: "마지막 확인: %{datetime}" - since: "%{datetime} 이후" + label_oauth_client_id: Azure OAuth 애플리케이션(클라이언트) ID + label_oauth_client_secret: Azure OAuth 클라이언트 비밀번호 값 + name: OneDrive/SharePoint + name_placeholder: '예: OneDrive' + storage_list_blank_slate: + description: 여기에서 보려면 저장소를 추가합니다. + heading: 아직 저장소가 없습니다. upsale: - title: "OneDrive/SharePoint 통합" - description: 'OpenProject를 사용하여 OneDrive/SharePoint를 파일 저장소로 통합합니다. 파일을 업로드하고 프로젝트의 작업 패키지에 직접 링크합니다.' + description: OpenProject를 사용하여 OneDrive/SharePoint를 파일 저장소로 통합합니다. 파일을 업로드하고 프로젝트의 작업 패키지에 직접 링크합니다. + title: OneDrive/SharePoint 통합 diff --git a/modules/storages/config/locales/crowdin/lt.yml b/modules/storages/config/locales/crowdin/lt.yml index 241fa52d41ef..0023be22b889 100644 --- a/modules/storages/config/locales/crowdin/lt.yml +++ b/modules/storages/config/locales/crowdin/lt.yml @@ -1,268 +1,217 @@ -#English strings go here lt: - plugin_openproject_storages: - name: "OpenProject saugyklos" - description: "Leidžia susieti darbo paketus su failais išorinėse saugyklose, tokiose kaip Nextcloud." - permission_view_file_links: "Žiūrėti failo nuorodas" - permission_manage_file_links: "Tvarkyti failo nuorodas" - permission_manage_storages_in_project: "Tvarkyti failų saugyklas projekte" - permission_read_files: "Skaityti failus" - permission_write_files: "Rašyti failus" - permission_create_files: "Kurti failus" - permission_delete_files: "Trinti failus" - permission_share_files: "Bendrinti failus" - project_module_storages: "Failų saugyklos" - errors: - attributes: - storage_error: - not_authorized: "Neautorizuota išoriniam prisijungimui prie saugyklos." - not_found: "Prašytas resursas nerastas išorinėje failų saugykloje." activerecord: - models: - file_link: "Failas" - storages/storage: "Saugykla" attributes: - storages/storage: - name: "Vardas" - creator: "Kūrėjas" - provider_type: "Tiekėjo tipas" - host: "Serveris" - tenant: "Direktorijos (savininko) ID" storages/file_link: - origin_id: "Kilmės Id" + origin_id: Kilmės Id + storages/storage: + creator: Kūrėjas + host: Serveris + name: Vardas + provider_type: Tiekėjo tipas + tenant: Direktorijos (savininko) ID errors: messages: - not_linked_to_project: "nesusietas su projektu." + not_linked_to_project: nesusietas su projektu. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: gali būti tik skaitinis ar uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "negalimas šiai saugyklai." + mode_unavailable: negalimas šiai saugyklai. storages/storage: attributes: host: - cannot_be_connected_to: "negali būti prijungtas prie." - minimal_nextcloud_version_unmet: "neatitinka minimalių versijos reikalavimų (turi būti Nextcloud 23 ar aukštesnis)" - not_nextcloud_server: "nėra Nextcloud serveris" - op_application_not_installed: > - panašu neturi įdiegtos „OpenProject integracijos“ aplikacijos. Prašome ją įdiegti ir bandyti dar kartą. - authorization_header_missing: > - nėra pilnai nustatytas. Nextcloud egzempliorius negauna „Autorizacijos“ antraštės, kuri būtina Turėtojo žetonu paremtoms autorizacijos API užklausoms. Prašome patikrinti jūsų HTTP serverio konfigūraciją. + authorization_header_missing: nėra pilnai nustatytas. Nextcloud egzempliorius negauna „Autorizacijos“ antraštės, kuri būtina Turėtojo žetonu paremtoms autorizacijos API užklausoms. Prašome patikrinti jūsų HTTP serverio konfigūraciją. + cannot_be_connected_to: negali būti prijungtas prie. + minimal_nextcloud_version_unmet: neatitinka minimalių versijos reikalavimų (turi būti Nextcloud 23 ar aukštesnis) + not_nextcloud_server: nėra Nextcloud serveris + op_application_not_installed: panašu neturi įdiegtos „OpenProject integracijos“ aplikacijos. Prašome ją įdiegti ir bandyti dar kartą. password: - invalid_password: "netinkamas." - unknown_error: "nepavyko patikrinti. Prašome patikrinti jūsų saugyklos jungtį ir bandyti dar kartą." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "gali būti tik skaitinis ar uuid." + invalid_password: netinkamas. + unknown_error: nepavyko patikrinti. Prašome patikrinti jūsų saugyklos jungtį ir bandyti dar kartą. + models: + file_link: Failas + storages/storage: Saugykla api_v3: errors: - too_many_elements_created_at_once: "Per daug elementu vienu metu. Tikėtasi daugiausia %{max}, gauta %{actual}." + too_many_elements_created_at_once: Per daug elementu vienu metu. Tikėtasi daugiausia %{max}, gauta %{actual}. + permission_create_files: Kurti failus + permission_delete_files: Trinti failus + permission_manage_file_links: Tvarkyti failo nuorodas + permission_manage_storages_in_project: Tvarkyti failų saugyklas projekte + permission_read_files: Skaityti failus + permission_share_files: Bendrinti failus + permission_view_file_links: Žiūrėti failo nuorodas + permission_write_files: Rašyti failus + project_module_storages: Failų saugyklos storages: - default_name: "Mano saugykla" - unknown_storage: "Nežinoma saugykla" buttons: - done_continue: "Baigta, tęsti" - done_continue_setup: "Atlikta. Tęsti nustatymą" - done_complete_setup: "Atlikta, baigti nustatymą" - complete_without_setup: "Baigti be jo" - edit_automatically_managed_project_folders: "Keisti automatiškai sukonfigūruotus projekto aplankus" - replace_openproject_oauth: "Keisti OpenProject OAuth" - replace_provider_type_oauth: "Keisti %{provider_type} OAuth" - save: "Įrašyti" - save_and_continue: "Įrašyti ir tęsti" - save_and_continue_setup: "Įrašyti r tęsti nustatymą" - save_and_complete_setup: "Įrašyti ir baigti nustatymą" - select_folder: "Parinkti aplanką" - configure: "Konfigūruoti" - file_storage_view: - general_information: "Bendra informacija" - oauth_applications: "OAuth aplikacijos" - project_folders: "Projekto aplankai" - storage_provider: "Saugyklos tiekėjas" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Peradresavimo URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatiškai valdomi aplankai" - page_titles: - file_storages: - subtitle: "Pridėkite išorinę failų saugyklą, jei norite įkelti, susieti ir valdyti failus darbo paketuose." - delete: "Trinti failų saugyklą" - managed_project_folders: - title: "Automatiškai valdomi projekto aplankai" - subtitle_short: "Leisti OpenProject kurti aplankus projektams automatiškai" - subtitle: > - Leisti OpenProject automatiškai kurti projektų aplankus. Tai rekomenduojama, nes užtikrina, kad kiekvienas komandos narys visada turi reikiamas prieigos teises. - project_settings: - index: "Šiame projekte prieinamos failų saugyklos." - new: "Pridėti failų saugyklą šiam projektui" - edit: "Keisti šio projekto failų saugyklą" - delete: "Trinti failų saugyklą" - members_connection_status: "Narių jungties būsena" - project_storage_members: - title: "Narių jungties būsena" - subtitle: "Patikrinkite saugyklos %{storage_name_link} jungties būseną visiems projekto nariams." - instructions: - type: "Prašome įsitikinti, kad turite administratoriaus teises jūsų Nextcloud egzemplioriuje bei kad įdiegtos šios aplikacijos, prieš tęsiant nustatymą:" - type_link_text: "„Integration OpenProject“" - name: "Suteikite jūsų saugyklai pavadinimą, kad naudotojai galėtų atskirti tarp skirtingų saugyklų." - host: "Prašome pridėti jūsų saugyklos stoties adresą, įskaitant https://. Jis turi būti ne ilgesnis už 255 simbolius." - managed_project_folders_application_password: > - Kopijuoti šią reikšmę iš - managed_project_folders_application_password_caption: "Įjunkite automatiškai valdomus aplankus nukopijuodami šią reikšmę iš: %{provider_type_link}" - new_storage: "Daugiau informacijos rasite mūsų dokumentacijoje apie %{provider_name} failų saugyklos nustatymą ir integraciją." - no_storage_set_up: "Dar nėra nustatyta nei viena failų saugykla." - no_specific_folder: "Pagal nutylėjimą visi naudotojai įkeldami naujus failus pradės savo namų aplanke." - automatic_folder: "Tai automatiškai sukurs šakninį aplanką šiam projektui ir tvarkys prieigos teises kiekvienam projekto nariui." - empty_project_folder_validation: "Norint tęsti būtina parinkti aplanką." - not_logged_into_storage: "Prieš parinkdami projekto aplanką turite prisijungti" - existing_manual_folder: > - Jūs galite esamą aplanką paskirti šakniniu šiam projektui. Kaip bebūtų, teisės automatiškai netvarkomos, administratoriui reikia rankiniu būdu užtikrinti, kad atitinkami naudotojai turėtų prieigą. Parintktą aplanką gali naudoti keli projektai. - setting_up_additional_storages: "Norėdami sukurti papildomas failų saugyklas, prašome aplankyti" - setting_up_additional_storages_non_admin: "Administratoriai gali sukurti papildomas failų saugyklas: Administravimas / Failų saugyklos." - setting_up_storages: "Norėdami nustatyti failų saugyklas aplankykite" - setting_up_storages_non_admin: "Administratoriai gali nustatyti failų saugyklas: Administravimas / Failų saugyklos" - all_available_storages_already_added: "Visos galimos failų saugyklos jau pridėtos į projektą." - oauth_application_details: "Kliento slapta reikšmė daugiau nebebus prieinama po to, kai uždarysite šį langą. Prašome nukopijuoti šias reikšmes į %{oauth_application_details_link}:" - oauth_application_details_link_text: "Nextcloud OpenProject integracijos nustatymai" - copy_from: "Kopijuoti reikšmę iš" - nextcloud: - provider_configuration: "Prašome prieš vykdant nustatymus įsitikinti, kad turite administratoriaus teises jūsų Nextcloud egzemplioriuje ir %{application_link_text} yra įdiegta." - oauth_configuration: "Kopijuoti šias reikšmes iš %{application_link_text}." - application_link_text: "aplikacija „Integration OpenProject“" - integration: "Nextclout Administravimas / OpenProject" - one_drive: - provider_configuration: > - Prašome įsitikinti, kad turite %{application_link_text} administratoriaus privilegijas arba susisiekite su savo Microsoft administratoriumi prieš darydami nustatymus. Portale jums taipogi reikia registruoti Azure aplikaciją arba naudoti esamą autentifikacijai. - oauth_configuration: "Kopijuoti šias reikšmes iš norimos aplikacijos %{application_link_text}." - application_link_text: "Azure portalas" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Kopijuoti kliento id iš Azure portalo. Tai reikalinga nukreipimo URI generavimui. - oauth_client_secret: > - Jei su kliento duomenimis nėra aplikacjos paslapties, prašome tokią sukurti. - oauth_client_redirect_uri: > - Prašome nukopijuoti šią reikšmę į naują Tinklo peradresavimo URI prie jūsų Peradresavimo URI. - missing_client_id_for_redirect_uri: "Prašome užpildyti OAuth reikšmes, kad sugeneruotumėte URI" - tenant_id: > - Prašome nukopijuoti direktorijos (tiekėjo) ID iš norimos aplikacijos ir App registracijas %{application_link_text}. - tenant_id_placeholder: "Vardas ar UUID" - drive_id: "Prašome nukopijuokite ID iš norimo disko sekdami žingsnius %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint failų saugyklų dokumentacija" - copy_redirect_uri: "Kopijuoti peradresavimo ID" - help_texts: - project_folder: > - Projekto aplankas yra numatytasis aplankas failų įkėlimui šiame projekte. Naudotojai gali įkelti failus ir į kitas vietas. + complete_without_setup: Baigti be jo + done_complete_setup: Atlikta, baigti nustatymą + done_continue: Baigta, tęsti + replace_provider_type_oauth: Keisti %{provider_type} OAuth + save_and_continue: Įrašyti ir tęsti + select_folder: Parinkti aplanką configuration_checks: oauth_client_incomplete: - nextcloud: "Leisti OpenProject prieigą prie Nextcloud duomenų naudojant OAuth." - one_drive: "Leisti OpenProject prieigą prie Azure duomenų naudojant OAuth prisijungimui prie OneDrive/Sharepoint." + nextcloud: Leisti OpenProject prieigą prie Nextcloud duomenų naudojant OAuth. + one_drive: Leisti OpenProject prieigą prie Azure duomenų naudojant OAuth prisijungimui prie OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Baigti nustatymą su tinkamu URI peradresavimu." + one_drive: Baigti nustatymą su tinkamu URI peradresavimu. + confirm_replace_oauth_application: Ar jūs įsitikinę? Visi naudotojai turės iš naujo autorizuotis su OpenProject. + confirm_replace_oauth_client: Ar jūs įsitikinę? Visi naudotojai turės iš naujo autorizuotis su saugykla. delete_warning: - storage: > - Ar tikrai norite ištrinti %{file_storage}? Šio veiksmo patvirtinimui prašome įvesti saugyklos pavadinimą lake žemiau: - storage_delete_result_1: "Išimti visus nustatymus visuose projektuose, naudojančiuose šią saugyklą." - storage_delete_result_2: "Išimti iš visų projektų darbo paketų visas nuorodas į failus ir aplankus šioje saugykloje." - storage_delete_result_3: "Jei saugykla turi automatiškai valdomus projekto aplankus, jie ir juose esantys failai bus ištrinti visam laikui." - project_storage: > - Ar tikrai norite ištrinti %{file_storage} iš šio projekto? Šio veiksmo patvirtinimui prašome įvesti saugyklos pavadinimą lauke žemiau, tai: - project_storage_delete_result_1: "Išims iš šio projekto darbo paketų visas nuorodas į tos saugyklos failus ir aplankus." - project_storage_delete_result_2: "Jei saugykla turi automatiškai tvarkomą projekto aplanką, tai ir jo failai bus visam laikui ištrinti." - input_delete_confirmation: "Įveskite failų saugyklos pavadinimą %{file_storage}, kad patvirtintumėte trynimą." - irreversible_notice: "Failų saugyklos trynimas yra neatstatomas veiksmas." - storage_list_blank_slate: - heading: "Jūs dar neturite jokių saugyklų." - description: "Pridėkite saugyklą, kad matytumėte ją čia." - error_invalid_provider_type: "Prašome pažymėti tinkamą saugyklos tiekėją." - label_active: "Aktyvus" - label_add_new_storage: "Pridėti naują saugyklą" - label_delete_storage: "Trinti saugyklą" - label_inactive: "Neaktyvus" - label_creator: "Kūrėjas" - label_provider: "Tiekėjas" - label_file_link: "Failo nuoroda" - label_file_links: "Failo nuorodos" - label_file_storage: "Failų saugykla" - label_creation_time: "Sukūrimo laikas" - label_completed: "Baigta" - label_incomplete: "Nebaigtas" - label_name: "Pavadinimas" - label_host: "Stoties URL" + input_delete_confirmation: Įveskite failų saugyklos pavadinimą %{file_storage}, kad patvirtintumėte trynimą. + irreversible_notice: Failų saugyklos trynimas yra neatstatomas veiksmas. + project_storage: 'Ar tikrai norite ištrinti %{file_storage} iš šio projekto? Šio veiksmo patvirtinimui prašome įvesti saugyklos pavadinimą lauke žemiau, tai:' + project_storage_delete_result_1: Išims iš šio projekto darbo paketų visas nuorodas į tos saugyklos failus ir aplankus. + project_storage_delete_result_2: Jei saugykla turi automatiškai tvarkomą projekto aplanką, tai ir jo failai bus visam laikui ištrinti. + storage: 'Ar tikrai norite ištrinti %{file_storage}? Šio veiksmo patvirtinimui prašome įvesti saugyklos pavadinimą lake žemiau:' + storage_delete_result_1: Išimti visus nustatymus visuose projektuose, naudojančiuose šią saugyklą. + storage_delete_result_2: Išimti iš visų projektų darbo paketų visas nuorodas į failus ir aplankus šioje saugykloje. + storage_delete_result_3: Jei saugykla turi automatiškai valdomus projekto aplankus, jie ir juose esantys failai bus ištrinti visam laikui. + error_invalid_provider_type: Prašome pažymėti tinkamą saugyklos tiekėją. + file_storage_view: + automatically_managed_folders: Automatiškai valdomi aplankai + general_information: Bendra informacija + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth aplikacijos + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Projekto aplankai + redirect_uri: Peradresavimo URI + storage_provider: Saugyklos tiekėjas + health: + checked: Paskutinį kartą tikrinta %{datetime} + label_error: Klaida + label_healthy: Sveikas + label_pending: Laukiama + since: nuo %{datetime} + title: Valdomų aplankų būsena + help_texts: + project_folder: Projekto aplankas yra numatytasis aplankas failų įkėlimui šiame projekte. Naudotojai gali įkelti failus ir į kitas vietas. + instructions: + all_available_storages_already_added: Visos galimos failų saugyklos jau pridėtos į projektą. + automatic_folder: Tai automatiškai sukurs šakninį aplanką šiam projektui ir tvarkys prieigos teises kiekvienam projekto nariui. + copy_from: Kopijuoti reikšmę iš + empty_project_folder_validation: Norint tęsti būtina parinkti aplanką. + existing_manual_folder: Jūs galite esamą aplanką paskirti šakniniu šiam projektui. Kaip bebūtų, teisės automatiškai netvarkomos, administratoriui reikia rankiniu būdu užtikrinti, kad atitinkami naudotojai turėtų prieigą. Parintktą aplanką gali naudoti keli projektai. + host: Prašome pridėti jūsų saugyklos stoties adresą, įskaitant https://. Jis turi būti ne ilgesnis už 255 simbolius. + managed_project_folders_application_password_caption: 'Įjunkite automatiškai valdomus aplankus nukopijuodami šią reikšmę iš: %{provider_type_link}' + name: Suteikite jūsų saugyklai pavadinimą, kad naudotojai galėtų atskirti tarp skirtingų saugyklų. + new_storage: Daugiau informacijos rasite mūsų dokumentacijoje apie %{provider_name} failų saugyklos nustatymą ir integraciją. + nextcloud: + application_link_text: aplikacija „Integration OpenProject“ + integration: Nextclout Administravimas / OpenProject + oauth_configuration: Kopijuoti šias reikšmes iš %{application_link_text}. + provider_configuration: Prašome prieš vykdant nustatymus įsitikinti, kad turite administratoriaus teises jūsų Nextcloud egzemplioriuje ir %{application_link_text} yra įdiegta. + no_specific_folder: Pagal nutylėjimą visi naudotojai įkeldami naujus failus pradės savo namų aplanke. + no_storage_set_up: Dar nėra nustatyta nei viena failų saugykla. + not_logged_into_storage: Prieš parinkdami projekto aplanką turite prisijungti + oauth_application_details: 'Kliento slapta reikšmė daugiau nebebus prieinama po to, kai uždarysite šį langą. Prašome nukopijuoti šias reikšmes į %{oauth_application_details_link}:' + oauth_application_details_link_text: Nextcloud OpenProject integracijos nustatymai + one_drive: + application_link_text: Azure portalas + copy_redirect_uri: Kopijuoti peradresavimo ID + documentation_link_text: OneDrive/SharePoint failų saugyklų dokumentacija + drive_id: Prašome nukopijuokite ID iš norimo disko sekdami žingsnius %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Prašome užpildyti OAuth reikšmes, kad sugeneruotumėte URI + oauth_client_redirect_uri: Prašome nukopijuoti šią reikšmę į naują Tinklo peradresavimo URI prie jūsų Peradresavimo URI. + oauth_client_secret: Jei su kliento duomenimis nėra aplikacjos paslapties, prašome tokią sukurti. + oauth_configuration: Kopijuoti šias reikšmes iš norimos aplikacijos %{application_link_text}. + provider_configuration: Prašome įsitikinti, kad turite %{application_link_text} administratoriaus privilegijas arba susisiekite su savo Microsoft administratoriumi prieš darydami nustatymus. Portale jums taipogi reikia registruoti Azure aplikaciją arba naudoti esamą autentifikacijai. + tenant_id: Prašome nukopijuoti direktorijos (tiekėjo) ID iš norimos aplikacijos ir App registracijas %{application_link_text}. + tenant_id_placeholder: Vardas ar UUID + setting_up_additional_storages: Norėdami sukurti papildomas failų saugyklas, prašome aplankyti + setting_up_additional_storages_non_admin: 'Administratoriai gali sukurti papildomas failų saugyklas: Administravimas / Failų saugyklos.' + setting_up_storages: Norėdami nustatyti failų saugyklas aplankykite + setting_up_storages_non_admin: 'Administratoriai gali nustatyti failų saugyklas: Administravimas / Failų saugyklos' + type: 'Prašome įsitikinti, kad turite administratoriaus teises jūsų Nextcloud egzemplioriuje bei kad įdiegtos šios aplikacijos, prieš tęsiant nustatymą:' + type_link_text: "„Integration OpenProject“" + label_active: Aktyvus + label_add_new_storage: Pridėti naują saugyklą + label_automatic_folder: Naujas aplankas su automatiškai valdomomis teisėmis + label_completed: Baigta + label_creation_time: Sukūrimo laikas + label_creator: Kūrėjas + label_delete_storage: Trinti saugyklą + label_edit_storage: Keisti saugyklą + label_edit_storage_automatically_managed_folders: Keisti saugyklos automatiškai tvarkomus aplankus + label_edit_storage_host: Keisti saugyklos adresą + label_edit_storage_oauth_client: Keisti saugyklos OAuth klientą + label_existing_manual_folder: Esamas aplankas su rankiniu būdu valdomomis teisėmis + label_file_storage: Failų saugykla + label_host: Stoties URL + label_inactive: Neaktyvus + label_incomplete: Nebaigtas label_managed_project_folders: - automatically_managed_folders: "Automatiškai valdomi aplankai" - application_password: "Aplikacijos slaptažpdis" - label_managed_project_folders_breadcrumb: "Automatiškai valdomi projekto aplankai" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth aplikacijos detalės" - label_oauth_client_details: "OAuth kliento detalės" - label_openproject_oauth_application_id: "OpenProject OAuth kliento ID" - label_openproject_oauth_application_secret: "OpenProject OAuth kliento paslaptis" - label_oauth_client_id: "OAuth kliento ID" - label_oauth_client_secret: "OAuth kliento paslaptis" - label_information: "Papildoma informacija" - label_provider_type: "Tiekėjo tipas" - label_project_folder: "Projekto aplankas" - label_redirect_uri: "Peradresavimo URI" - label_uri: "URI" - label_new_storage: "Nauja saugykla" - label_new_file_storage: "Nauja %{provider} saugykla" - label_edit_storage: "Keisti saugyklą" - label_edit_storage_host: "Keisti saugyklos adresą" - label_edit_storage_oauth_client: "Keisti saugyklos OAuth klientą" - label_show_storage_redirect_uri: "Rodyti peradresavimo URI" - label_edit_storage_automatically_managed_folders: "Keisti saugyklos automatiškai tvarkomus aplankus" - label_existing_manual_folder: "Esamas aplankas su rankiniu būdu valdomomis teisėmis" - label_no_specific_folder: "Jokio konkretaus aplanko" - label_automatic_folder: "Naujas aplankas su automatiškai valdomomis teisėmis" - label_no_selected_folder: "Nėra prinkto aplanko" - label_select_provider: "Parinkite tiekėją" - label_storage: "Saugykla" - label_storages: "Saugyklos" - label_status: "Būsena" - label_files: "Failai" + application_password: Aplikacijos slaptažpdis + automatically_managed_folders: Automatiškai valdomi aplankai + label_name: Pavadinimas + label_new_file_storage: Nauja %{provider} saugykla + label_new_storage: Nauja saugykla + label_no_selected_folder: Nėra prinkto aplanko + label_no_specific_folder: Jokio konkretaus aplanko + label_oauth_client_id: OAuth kliento ID + label_openproject_oauth_application_id: OpenProject OAuth kliento ID + label_openproject_oauth_application_secret: OpenProject OAuth kliento paslaptis + label_project_folder: Projekto aplankas + label_provider: Tiekėjas + label_redirect_uri: Peradresavimo URI + label_show_storage_redirect_uri: Rodyti peradresavimo URI + label_status: Būsena + label_storage: Saugykla + label_uri: URI member_connection_status: - connected: "Prisijungta" - connected_no_permissions: "Naudotojo vaidmuo neturi saugyklos teisių" - not_connected: "Neprisijungta. Naudotojas turi prisijungti prie saugyklos per šį %{link}." - no_results: "Dar nenustatyta jokia saugykla." - members_no_results: "Nėra narių rodymui." + connected: Prisijungta + connected_no_permissions: Naudotojo vaidmuo neturi saugyklos teisių + not_connected: Neprisijungta. Naudotojas turi prisijungti prie saugyklos per šį %{link}. + members_no_results: Nėra narių rodymui. + no_results: Dar nenustatyta jokia saugykla. + notice_successful_storage_connection: Saugykla sėkmingai prijungta! Nepamirškite aktyvuoti modulį ir konkrečią saugyklą visų projektų, kuriuose norite ją naudoti, nustatymuose. + open_project_storage_modal: + success: + a: Integracijos nustatymas baigtas + b: Jūs dabar peradresuoti + waiting: + a: Mes nustatome jūsų teises projekto aplankui. + b: Minutėlę, tai gali užtrukti šiek tiek laiko... + page_titles: + file_storages: + delete: Trinti failų saugyklą + subtitle: Pridėkite išorinę failų saugyklą, jei norite įkelti, susieti ir valdyti failus darbo paketuose. + managed_project_folders: + subtitle: Leisti OpenProject automatiškai kurti projektų aplankus. Tai rekomenduojama, nes užtikrina, kad kiekvienas komandos narys visada turi reikiamas prieigos teises. + subtitle_short: Leisti OpenProject kurti aplankus projektams automatiškai + title: Automatiškai valdomi projekto aplankai + project_settings: + delete: Trinti failų saugyklą + edit: Keisti šio projekto failų saugyklą + index: Šiame projekte prieinamos failų saugyklos. + members_connection_status: Narių jungties būsena + new: Pridėti failų saugyklą šiam projektui + project_storage_members: + subtitle: Patikrinkite saugyklos %{storage_name_link} jungties būseną visiems projekto nariams. + title: Narių jungties būsena provider_types: - label: "Tiekėjo tipas" + label: Tiekėjo tipas nextcloud: - name: "Nextcloud" - name_placeholder: "pvz. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth kliento ID" - label_oauth_client_secret: "Nextcloud OAuth kliento paslaptis" + label_oauth_client_id: Nextcloud OAuth kliento ID + label_oauth_client_secret: Nextcloud OAuth kliento paslaptis + name: Nextcloud + name_placeholder: pvz. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "pvz. OneDrive" - label_oauth_client_id: "Azure OAuth Application (kliento) ID" - label_oauth_client_secret: "Azure OAuth kliento slapta reikšmė" - confirm_replace_oauth_application: "Ar jūs įsitikinę? Visi naudotojai turės iš naujo autorizuotis su OpenProject." - confirm_replace_oauth_client: "Ar jūs įsitikinę? Visi naudotojai turės iš naujo autorizuotis su saugykla." - oauth_client_details_missing: "Norėdami baigti nustatymą, prašome pridėti OAuth kliento prisijungimo duomenis iš jūsų saugyklos." - automatically_managed_project_folder_missing: "Kad užbaigtumėte nustatymą, prašome jūsų saugykloje sukonfigūruoti automatiškai valdumus projekto aplankus." - notice_oauth_application_replaced: "OpenProject OAuth aplikacija buvo sėkmingai pakeista." - notice_successful_storage_connection: "Saugykla sėkmingai prijungta! Nepamirškite aktyvuoti modulį ir konkrečią saugyklą visų projektų, kuriuose norite ją naudoti, nustatymuose." - open_project_storage_modal: - waiting: - a: "Mes nustatome jūsų teises projekto aplankui." - b: "Minutėlę, tai gali užtrukti šiek tiek laiko..." - success: - a: "Integracijos nustatymas baigtas" - b: "Jūs dabar peradresuoti" - health: - title: "Valdomų aplankų būsena" - label_pending: "Laukiama" - label_error: "Klaida" - label_healthy: "Sveikas" - checked: "Paskutinį kartą tikrinta %{datetime}" - since: "nuo %{datetime}" + label_oauth_client_id: Azure OAuth Application (kliento) ID + label_oauth_client_secret: Azure OAuth kliento slapta reikšmė + name: OneDrive/SharePoint + name_placeholder: pvz. OneDrive + storage_list_blank_slate: + description: Pridėkite saugyklą, kad matytumėte ją čia. + heading: Jūs dar neturite jokių saugyklų. upsale: - title: "OneDrive/SharePoint integracija" - description: 'Integruokite jūsų OneDrive/SharePoint kaip failų saugyklą su OpenProject. Įkelkite failus ir susiekite juos tiesiogiai su projekto darbo paketais.' + description: Integruokite jūsų OneDrive/SharePoint kaip failų saugyklą su OpenProject. Įkelkite failus ir susiekite juos tiesiogiai su projekto darbo paketais. + title: OneDrive/SharePoint integracija diff --git a/modules/storages/config/locales/crowdin/lv.yml b/modules/storages/config/locales/crowdin/lv.yml index 5da52d4e0d35..19b6b81690c7 100644 --- a/modules/storages/config/locales/crowdin/lv.yml +++ b/modules/storages/config/locales/crowdin/lv.yml @@ -1,268 +1,217 @@ -#English strings go here lv: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Fails" - storages/storage: "Storage" attributes: - storages/storage: - name: "Nosaukums" - creator: "Creator" - provider_type: "Provider type" - host: "Serveris" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Serveris + name: Nosaukums + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Fails + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Saglabāt" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktīvs" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Nosaukums" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktīvs + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Statuss" - label_files: "Faili" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Nosaukums + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Statuss + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/mn.yml b/modules/storages/config/locales/crowdin/mn.yml index fa88395e69cb..5f3cbc5f24d1 100644 --- a/modules/storages/config/locales/crowdin/mn.yml +++ b/modules/storages/config/locales/crowdin/mn.yml @@ -1,268 +1,217 @@ -#English strings go here mn: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "File" - storages/storage: "Storage" attributes: - storages/storage: - name: "Name" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Name + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: File + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Save" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Active" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Name" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Active + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Files" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Name + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/ne.yml b/modules/storages/config/locales/crowdin/ne.yml index 0eeb308655f4..3d1ecf96a05a 100644 --- a/modules/storages/config/locales/crowdin/ne.yml +++ b/modules/storages/config/locales/crowdin/ne.yml @@ -1,268 +1,217 @@ -#English strings go here ne: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "फाइल" - storages/storage: "Storage" attributes: - storages/storage: - name: "Name" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Name + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: फाइल + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Save" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Active" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "पूरा भयो" - label_incomplete: "Incomplete" - label_name: "Name" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Active + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: पूरा भयो + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Files" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Name + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/nl.yml b/modules/storages/config/locales/crowdin/nl.yml index a611bd3306c4..bb7500f3872a 100644 --- a/modules/storages/config/locales/crowdin/nl.yml +++ b/modules/storages/config/locales/crowdin/nl.yml @@ -1,268 +1,217 @@ -#English strings go here nl: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "Bekijk bestandslinks" - permission_manage_file_links: "Bestandslinks beheren" - permission_manage_storages_in_project: "Beheer bestandsopslag in het project" - permission_read_files: "Lees bestanden" - permission_write_files: "Schrijf bestanden" - permission_create_files: "Bestanden maken" - permission_delete_files: "Bestanden verwijderen" - permission_share_files: "Bestanden delen" - project_module_storages: "Bestandsopslag" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Bestand" - storages/storage: "Opslagruimte" attributes: - storages/storage: - name: "Naam" - creator: "Maker" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Oorsprong ID" + origin_id: Oorsprong ID + storages/storage: + creator: Maker + host: Host + name: Naam + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is niet gekoppeld aan het project." + not_linked_to_project: is niet gekoppeld aan het project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: kan alleen numeriek of uuid zijn. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "kan niet mee verbonden worden." - minimal_nextcloud_version_unmet: "voldoet niet aan minimale versie vereisten (moet Nextcloud 23 of hoger zijn)" - not_nextcloud_server: "is geen Nextcloud server" - op_application_not_installed: > - lijkt de app "OpenProject integratie" niet te hebben geïnstalleerd. Installeer het eerst en probeer het dan opnieuw. - authorization_header_missing: > - is niet volledig ingesteld. De Nextcloud instantie ontvangt geen "Autorisatie" header, wat nodig is voor een Bearer token gebaseerd op API verzoeken. Controleer de configuratie van uw HTTP-server. + authorization_header_missing: is niet volledig ingesteld. De Nextcloud instantie ontvangt geen "Autorisatie" header, wat nodig is voor een Bearer token gebaseerd op API verzoeken. Controleer de configuratie van uw HTTP-server. + cannot_be_connected_to: kan niet mee verbonden worden. + minimal_nextcloud_version_unmet: voldoet niet aan minimale versie vereisten (moet Nextcloud 23 of hoger zijn) + not_nextcloud_server: is geen Nextcloud server + op_application_not_installed: lijkt de app "OpenProject integratie" niet te hebben geïnstalleerd. Installeer het eerst en probeer het dan opnieuw. password: - invalid_password: "is niet geldig." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "kan alleen numeriek of uuid zijn." + invalid_password: is niet geldig. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Bestand + storages/storage: Opslagruimte api_v3: errors: - too_many_elements_created_at_once: "Te veel elementen gemaakt tegelijk. %{max} verwacht hoogstens %{actual}." + too_many_elements_created_at_once: Te veel elementen gemaakt tegelijk. %{max} verwacht hoogstens %{actual}. + permission_create_files: Bestanden maken + permission_delete_files: Bestanden verwijderen + permission_manage_file_links: Bestandslinks beheren + permission_manage_storages_in_project: Beheer bestandsopslag in het project + permission_read_files: Lees bestanden + permission_share_files: Bestanden delen + permission_view_file_links: Bekijk bestandslinks + permission_write_files: Schrijf bestanden + project_module_storages: Bestandsopslag storages: - default_name: "My storage" - unknown_storage: "Onbekende opslag" buttons: - done_continue: "Done, continue" - done_continue_setup: "Klaar. Ga verder met instellen" - done_complete_setup: "Voltooid, installatie voltooien" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Vervang OpenProject OAuth" - replace_provider_type_oauth: "Vervang %{provider_type} OAuth" - save: "Opslaan" - save_and_continue: "Save and continue" - save_and_continue_setup: "Opslaan en doorgaan met instellen" - save_and_complete_setup: "Opslaan en de installatie voltooien" - select_folder: "Selecteer map" - configure: "Configureren" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth toepassingen" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "URI omleiden" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatisch beheerde mappen" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Verwijder bestandsopslag" - managed_project_folders: - title: "Automatisch beheerde projectmappen" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "Bestandsopslag beschikbaar in dit project" - new: "Voeg een bestandsopslag toe aan dit project" - edit: "Bewerk de bestandsopslag voor dit project" - delete: "Verwijder bestandsopslag" - members_connection_status: "Verbindingsstatus leden" - project_storage_members: - title: "Verbindingsstatus leden" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Zorg ervoor dat u beheerrechten heeft in uw Nextcloud en dat de volgende applicatie geïnstalleerd is voordat u de installatie uitvoert:" - type_link_text: "Integratie met OpenProject\"" - name: "Geef uw opslag een naam zodat gebruikers onderscheid kunnen maken tussen meerdere opslagplaatsen." - host: "Voeg het hostadres van je opslag toe, inclusief de https://. Het mag niet langer dan 255 tekens zijn." - managed_project_folders_application_password: > - Kopieer deze waarde van: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "Er zijn nog geen bestandsopslagplaatsen ingesteld." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Het selecteren van een map is verplicht om door te gaan." - not_logged_into_storage: "Om een projectmap te selecteren, moet u eerst inloggen" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "Voor het opzetten van extra bestandsopslag, bezoek a.u.b." - setting_up_additional_storages_non_admin: "Beheerders kunnen extra bestandsopslag instellen in Administratie / Bestandsopslag." - setting_up_storages: "Voor het opzetten van extra bestandsopslag, bezoek a.u.b." - setting_up_storages_non_admin: "Beheerders kunnen bestandsopslag in Administratie / Bestandsopslag instellen." - all_available_storages_already_added: "Alle beschikbare opslagplaatsen zijn al toegevoegd aan het project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Kopieer deze waarde van" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud administratie / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Voltooid, installatie voltooien + done_continue: Done, continue + replace_provider_type_oauth: Vervang %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Selecteer map configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Weet je het zeker? Alle gebruikers zullen opnieuw toestemming moeten geven tegen OpenProject. + confirm_replace_oauth_client: Weet je het zeker? Alle gebruikers zullen opnieuw toestemming moeten geven tegen de opslag. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Voer de bestandsnaam %{file_storage} in om de verwijdering te bevestigen." - irreversible_notice: "Het verwijderen van een bestandsopslag is een onomkeerbare actie." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Actief" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactief" - label_creator: "Maker" - label_provider: "Provider" - label_file_link: "Bestand link" - label_file_links: "Bestand links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Voltooid" - label_incomplete: "Incomplete" - label_name: "Naam" - label_host: "Host URL" + input_delete_confirmation: Voer de bestandsnaam %{file_storage} in om de verwijdering te bevestigen. + irreversible_notice: Het verwijderen van een bestandsopslag is een onomkeerbare actie. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatisch beheerde mappen + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth toepassingen + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: URI omleiden + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Fout + label_healthy: Healthy + label_pending: Lopende + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: Alle beschikbare opslagplaatsen zijn al toegevoegd aan het project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Kopieer deze waarde van + empty_project_folder_validation: Het selecteren van een map is verplicht om door te gaan. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Voeg het hostadres van je opslag toe, inclusief de https://. Het mag niet langer dan 255 tekens zijn. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Geef uw opslag een naam zodat gebruikers onderscheid kunnen maken tussen meerdere opslagplaatsen. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud administratie / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: Er zijn nog geen bestandsopslagplaatsen ingesteld. + not_logged_into_storage: Om een projectmap te selecteren, moet u eerst inloggen + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: Voor het opzetten van extra bestandsopslag, bezoek a.u.b. + setting_up_additional_storages_non_admin: Beheerders kunnen extra bestandsopslag instellen in Administratie / Bestandsopslag. + setting_up_storages: Voor het opzetten van extra bestandsopslag, bezoek a.u.b. + setting_up_storages_non_admin: Beheerders kunnen bestandsopslag in Administratie / Bestandsopslag instellen. + type: 'Zorg ervoor dat u beheerrechten heeft in uw Nextcloud en dat de volgende applicatie geïnstalleerd is voordat u de installatie uitvoert:' + type_link_text: "Integratie met OpenProject\"" + label_active: Actief + label_add_new_storage: Add new storage + label_automatic_folder: Nieuwe map met automatisch beheerde machtigingen + label_completed: Voltooid + label_creation_time: Creation time + label_creator: Maker + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Bestaande map met handmatig beheerde machtigingen + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactief + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatisch beheerde mappen" - application_password: "App wachtwoord" - label_managed_project_folders_breadcrumb: "Automatisch beheerde projectmappen" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth applicatie details" - label_oauth_client_details: "OAuth clientdetails" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Projectmap" - label_redirect_uri: "URI omleiden" - label_uri: "URI" - label_new_storage: "Nieuwe opslag" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Bestaande map met handmatig beheerde machtigingen" - label_no_specific_folder: "Geen specifieke map" - label_automatic_folder: "Nieuwe map met automatisch beheerde machtigingen" - label_no_selected_folder: "Geen geselecteerde map" - label_select_provider: "Select provider" - label_storage: "Opslag" - label_storages: "Opslagplaatsen" - label_status: "Status" - label_files: "Bestanden" + application_password: App wachtwoord + automatically_managed_folders: Automatisch beheerde mappen + label_name: Naam + label_new_file_storage: New %{provider} storage + label_new_storage: Nieuwe opslag + label_no_selected_folder: Geen geselecteerde map + label_no_specific_folder: Geen specifieke map + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Projectmap + label_provider: Provider + label_redirect_uri: URI omleiden + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Opslag + label_uri: URI member_connection_status: - connected: "Verbonden" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "Er zijn nog geen opslagplaatsen ingesteld." - members_no_results: "Geen leden om weer te geven." + connected: Verbonden + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: Geen leden om weer te geven. + no_results: Er zijn nog geen opslagplaatsen ingesteld. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Verwijder bestandsopslag + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatisch beheerde projectmappen + project_settings: + delete: Verwijder bestandsopslag + edit: Bewerk de bestandsopslag voor dit project + index: Bestandsopslag beschikbaar in dit project + members_connection_status: Verbindingsstatus leden + new: Voeg een bestandsopslag toe aan dit project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Verbindingsstatus leden provider_types: - label: "Type provider" + label: Type provider nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Weet je het zeker? Alle gebruikers zullen opnieuw toestemming moeten geven tegen OpenProject." - confirm_replace_oauth_client: "Weet je het zeker? Alle gebruikers zullen opnieuw toestemming moeten geven tegen de opslag." - oauth_client_details_missing: "Om de installatie te voltooien, moet u OAuth client referenties toevoegen vanuit uw opslag." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "De OpenProject OAuth applicatie is succesvol vervangen." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Lopende" - label_error: "Fout" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/no.yml b/modules/storages/config/locales/crowdin/no.yml index dac538d8fde3..44a351e1f124 100644 --- a/modules/storages/config/locales/crowdin/no.yml +++ b/modules/storages/config/locales/crowdin/no.yml @@ -1,268 +1,217 @@ -#English strings go here "no": - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Fil" - storages/storage: "Storage" attributes: - storages/storage: - name: "Navn" - creator: "Skaper" - provider_type: "Provider type" - host: "Vert" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Skaper + host: Vert + name: Navn + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Fil + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Lagre" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Konfigurer" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Omdiriger URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktiv" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inaktiv" - label_creator: "Skaper" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Navn" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Omdiriger URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Feil + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktiv + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Skaper + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inaktiv + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Omdiriger URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Filer" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Navn + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Omdiriger URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Feil" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/pl.yml b/modules/storages/config/locales/crowdin/pl.yml index 7882121f64a2..7b3c4c54ece2 100644 --- a/modules/storages/config/locales/crowdin/pl.yml +++ b/modules/storages/config/locales/crowdin/pl.yml @@ -1,268 +1,217 @@ -#English strings go here pl: - plugin_openproject_storages: - name: "Magazyny OpenProject" - description: "Umożliwia powiązywanie pakietów roboczych z plikami w magazynach zewnętrznych, takich jak Nextcloud." - permission_view_file_links: "Wyświetl linki do plików" - permission_manage_file_links: "Zarządzaj linkami do plików" - permission_manage_storages_in_project: "Zarządzaj magazynami plików w projekcie" - permission_read_files: "Odczyt plików" - permission_write_files: "Zapisywanie w plikach" - permission_create_files: "Tworzenie plików" - permission_delete_files: "Usuwanie plików" - permission_share_files: "Udostępnianie plików" - project_module_storages: "Magazyny plików" - errors: - attributes: - storage_error: - not_authorized: "Brak uprawnień do zewnętrznego połączenia z magazynem." - not_found: "Żądany zasób nie został znaleziony w zewnętrznym magazynie plików." activerecord: - models: - file_link: "Plik" - storages/storage: "Magazyn" attributes: - storages/storage: - name: "Nazwa" - creator: "Twórca" - provider_type: "Typ dostawcy" - host: "Host" - tenant: "Identyfikator katalogu (dzierżawcy)" storages/file_link: - origin_id: "Identyfikator pochodzenia" + origin_id: Identyfikator pochodzenia + storages/storage: + creator: Twórca + host: Host + name: Nazwa + provider_type: Typ dostawcy + tenant: Identyfikator katalogu (dzierżawcy) errors: messages: - not_linked_to_project: "nie ma powiązania z projektem." + not_linked_to_project: nie ma powiązania z projektem. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: może być tylko wartością liczbową lub uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "jest niedostępny dla tego magazynu." + mode_unavailable: jest niedostępny dla tego magazynu. storages/storage: attributes: host: - cannot_be_connected_to: "nie można połączyć." - minimal_nextcloud_version_unmet: "nie spełnia wymagań wersji minimalnej (konieczna Nextcloud 23 lub wyższa)" - not_nextcloud_server: "nie jest serwerem Nextcloud" - op_application_not_installed: > - wydaje się, że aplikacja "OpenProject integration" nie jest zainstalowana. Zainstaluj ją najpierw i spróbuj ponownie. - authorization_header_missing: > - nie jest w pełni skonfigurowany. Instancja Nextcloud nie otrzymuje nagłówka "Autoryzacja", który jest niezbędny do autoryzacji żądań API na podstawie tokena Bearer. Sprawdź konfigurację serwera HTTP. + authorization_header_missing: nie jest w pełni skonfigurowany. Instancja Nextcloud nie otrzymuje nagłówka "Autoryzacja", który jest niezbędny do autoryzacji żądań API na podstawie tokena Bearer. Sprawdź konfigurację serwera HTTP. + cannot_be_connected_to: nie można połączyć. + minimal_nextcloud_version_unmet: nie spełnia wymagań wersji minimalnej (konieczna Nextcloud 23 lub wyższa) + not_nextcloud_server: nie jest serwerem Nextcloud + op_application_not_installed: wydaje się, że aplikacja "OpenProject integration" nie jest zainstalowana. Zainstaluj ją najpierw i spróbuj ponownie. password: - invalid_password: "jest nieprawidłowe" - unknown_error: "— nie można sprawdzić poprawności. Sprawdź połączenie z magazynem i spróbuj ponownie." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "może być tylko wartością liczbową lub uuid." + invalid_password: jest nieprawidłowe + unknown_error: '— nie można sprawdzić poprawności. Sprawdź połączenie z magazynem i spróbuj ponownie.' + models: + file_link: Plik + storages/storage: Magazyn api_v3: errors: - too_many_elements_created_at_once: "Zbyt wiele elementów utworzonych jednocześnie. Oczekiwano co najwyżej %{max} , otrzymano %{actual}." + too_many_elements_created_at_once: Zbyt wiele elementów utworzonych jednocześnie. Oczekiwano co najwyżej %{max} , otrzymano %{actual}. + permission_create_files: Tworzenie plików + permission_delete_files: Usuwanie plików + permission_manage_file_links: Zarządzaj linkami do plików + permission_manage_storages_in_project: Zarządzaj magazynami plików w projekcie + permission_read_files: Odczyt plików + permission_share_files: Udostępnianie plików + permission_view_file_links: Wyświetl linki do plików + permission_write_files: Zapisywanie w plikach + project_module_storages: Magazyny plików storages: - default_name: "Mój magazyn" - unknown_storage: "Nieznany magazyn" buttons: - done_continue: "Gotowe, kontynuuj" - done_continue_setup: "Gotowe. Kontynuuj konfigurację" - done_complete_setup: "Gotowe, konfiguracja ukończona" - complete_without_setup: "Ukończ bez tego" - edit_automatically_managed_project_folders: "Edytuj automatycznie zarządzane foldery projektu" - replace_openproject_oauth: "Zastąp OpenProject OAuth" - replace_provider_type_oauth: "Zastąp %{provider_type} OAuth" - save: "Zapisz" - save_and_continue: "Zapisz i kontynuuj" - save_and_continue_setup: "Zapisz i kontynuuj konfigurację" - save_and_complete_setup: "Zapisz i zakończ konfigurację" - select_folder: "Wybierz folder" - configure: "Konfiguruj" - file_storage_view: - general_information: "Informacje ogólne" - oauth_applications: "Aplikacje OAuth" - project_folders: "Foldery projektu" - storage_provider: "Dostawca magazynu" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Przekieruj URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatycznie zarządzane foldery" - page_titles: - file_storages: - subtitle: "Dodaj zewnętrzny magazyn plików w celu przesyłania plików, ich powiązywania i zarządzania nimi w pakietach roboczych." - delete: "Usuń magazyn plików" - managed_project_folders: - title: "Automatycznie zarządzane foldery projektu" - subtitle_short: "Pozwól OpenProject automatycznie tworzyć foldery dla każdego projektu." - subtitle: > - Pozwól OpenProject automatycznie tworzyć foldery dla każdego projektu. Jest to zalecane, ponieważ zapewnia, że każdy członek zespołu zawsze ma prawidłowe uprawnienia dostępu. - project_settings: - index: "Magazyny plików dostępne w tym projekcie" - new: "Dodaj magazyn plików do tego projektu" - edit: "Edytuj magazyn plików tego projektu" - delete: "Usuń magazyn plików" - members_connection_status: "Status połączenia członków" - project_storage_members: - title: "Status połączenia członków" - subtitle: "Sprawdź status połączenia magazynu %{storage_name_link} wszystkich członków projektu." - instructions: - type: "Upewnij się, że masz uprawnienia administracyjne w swojej instancji Nextcloud oraz zainstalowaną następującą aplikację, przed wykonaniem konfiguracji:" - type_link_text: "“Integration OpenProject”" - name: "Nazwij swój magazyn pamięci, aby użytkownicy mogli je rozróżniać, jeśli występuje ich wiele." - host: "Proszę dodać adres hosta magazynu wraz z https://. Nie powinien być dłuższy niż 255 znaków." - managed_project_folders_application_password: > - Skopiuj tę wartość z: - managed_project_folders_application_password_caption: "Włącz automatycznie zarządzane foldery, kopiując tę wartość z: %{provider_type_link}." - new_storage: "Aby uzyskać więcej informacji, przeczytaj naszą dokumentację na temat konfigurowania integracji magazynu plików %{provider_name}." - no_storage_set_up: "Nie ma jeszcze skonfigurowanych magazynów plików." - no_specific_folder: "Domyślnie każdy użytkownik rozpocznie we własnym folderze domowym po przesłaniu pliku." - automatic_folder: "Spowoduje to automatyczne utworzenie katalogu głównego dla tego projektu i zarządzanie uprawnieniami dostępu każdego członka projektu." - empty_project_folder_validation: "Wybranie folderu jest obowiązkowe w celu kontynuacji." - not_logged_into_storage: "Aby wybrać folder projektu, najpierw się zaloguj" - existing_manual_folder: > - Możesz wyznaczyć istniejący folder jako folder główny tego projektu. Uprawnienia nie są jednak zarządzane automatycznie, administrator musi ręcznie upewnić się, że odpowiedni użytkownicy mają dostęp. Wybrany folder może być używany przez wiele projektów. - setting_up_additional_storages: "Aby skonfigurować dodatkowe magazyny plików, odwiedź" - setting_up_additional_storages_non_admin: "Administratorzy mogą skonfigurować dodatkowe magazyny plików w obszarze Administracja / Magazyny plików." - setting_up_storages: "Aby skonfigurować magazyny plików, odwiedź" - setting_up_storages_non_admin: "Administratorzy mogą skonfigurować magazyny plików w obszarze Administracja / Magazyny plików." - all_available_storages_already_added: "Wszystkie dostępne magazyny zostały już dodane do projektu." - oauth_application_details: "Wartość tajnego klucza klienta nie będzie ponownie dostępna po zamknięciu tego okna. Skopiuj te wartości do %{oauth_application_details_link}." - oauth_application_details_link_text: "Ustawienia Nextcloud OpenProject Integration" - copy_from: "Skopiuj tę wartość z" - nextcloud: - provider_configuration: "Przed wykonaniem konfiguracji upewnij się, że masz uprawnienia administracyjne w swoim wystąpieniu Nextcloud oraz zainstalowaną aplikację %{application_link_text}." - oauth_configuration: "Skopiuj te wartości z %{application_link_text}." - application_link_text: "aplikacji „Integration OpenProject”" - integration: "Administracja Nextcloud / OpenProject" - one_drive: - provider_configuration: > - Przed przystąpieniem do konfiguracji upewnij się, że masz uprawnienia administracyjne w %{application_link_text} lub skontaktuj się z administratorem z firmy Microsoft. W portalu musisz również zarejestrować aplikację Azure lub użyć istniejącej do uwierzytelniania. - oauth_configuration: "Skopiuj te wartości z żądanej aplikacji w %{application_link_text}." - application_link_text: "Portal Azure" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Skopiuj identyfikator klienta z portalu Azure. Jest to potrzebne do wygenerowania identyfikatora URI przekierowania. - oauth_client_secret: > - Jeśli w sekcji Poświadczenia klienta nie ma tajnego klucza klienta aplikacji, utwórz nowy. - oauth_client_redirect_uri: > - Skopiuj tę wartość do nowego identyfikatora URI przekierowania sieci Web w sekcji Przekieruj URI. - missing_client_id_for_redirect_uri: "Wprowadź wartości OAuth, aby wygenerować identyfikator URI" - tenant_id: > - Skopiuj identyfikator katalogu (dzierżawcy) z żądanej aplikacji i rejestracje aplikacji w %{application_link_text}. - tenant_id_placeholder: "Nazwa lub identyfikator UUID" - drive_id: "Skopiuj identyfikator z żądanego dysku, wykonując kroki opisane w %{drive_id_link_text}." - documentation_link_text: "dokumentacji plików OneDrive/SharePoint" - copy_redirect_uri: "Skopiuj identyfikator URI przekierowania" - help_texts: - project_folder: > - Folder projektu jest domyślnym folderem do przesyłania plików tego projektu. Użytkownicy mogą jednak przesyłać pliki do innych lokalizacji. + complete_without_setup: Ukończ bez tego + done_complete_setup: Gotowe, konfiguracja ukończona + done_continue: Gotowe, kontynuuj + replace_provider_type_oauth: Zastąp %{provider_type} OAuth + save_and_continue: Zapisz i kontynuuj + select_folder: Wybierz folder configuration_checks: oauth_client_incomplete: - nextcloud: "Zezwalaj OpenProject na dostęp do danych Nextcloud przy użyciu OAuth." - one_drive: "Zezwalaj OpenProject na dostęp do danych Azure przy użyciu OAuth w celu połączenia z usługą OneDrive lub SharePoint." + nextcloud: Zezwalaj OpenProject na dostęp do danych Nextcloud przy użyciu OAuth. + one_drive: Zezwalaj OpenProject na dostęp do danych Azure przy użyciu OAuth w celu połączenia z usługą OneDrive lub SharePoint. redirect_uri_incomplete: - one_drive: "Ukończ konfigurację z poprawnym przekierowaniem identyfikatora URI." + one_drive: Ukończ konfigurację z poprawnym przekierowaniem identyfikatora URI. + confirm_replace_oauth_application: Na pewno? Wszyscy użytkownicy będą musieli dokonać ponownej autoryzacji w stosunku do OpenProject. + confirm_replace_oauth_client: Na pewno? Wszyscy użytkownicy będą musieli ponownie autoryzować swoje magazyny pamięci. delete_warning: - storage: > - Czy na pewno chcesz usunąć %{file_storage}? Aby potwierdzić to działanie, wprowadź nazwę magazynu w polu poniżej, spowoduje to: - storage_delete_result_1: "Usunięcie wszystkich konfiguracji magazynu ze wszystkich korzystających z niego projektów." - storage_delete_result_2: "Usunięcie wszystkich linków z pakietów roboczych wszystkich projektów do plików i folderów z tego magazynu." - storage_delete_result_3: "W przypadku, gdy ten magazyn zawiera automatycznie zarządzane foldery projektów, foldery te i zawarte w nich pliki zostaną bezpowrotnie usunięte." - project_storage: > - Czy na pewno chcesz usunąć %{file_storage} z tego projektu? Aby potwierdzić to działanie, wprowadź nazwę magazynu w polu poniżej, spowoduje to: - project_storage_delete_result_1: "Usuń wszystkie linki z pakietów roboczych tego projektu do plików i folderów tego magazynu." - project_storage_delete_result_2: "W przypadku, gdy ten magazyn zawiera automatycznie zarządzany folder projektu, folder ten i jego pliki zostaną bezpowrotnie usunięte." - input_delete_confirmation: "Aby potwierdzić usunięcie, wprowadź nazwę magazynu plików %{file_storage}." - irreversible_notice: "Usunięcie magazynu plików jest działaniem nieodwracalnym." - storage_list_blank_slate: - heading: "Nie masz jeszcze żadnych magazynów." - description: "Dodaj magazyn, aby zobaczyć go tutaj." - error_invalid_provider_type: "Wybierz właściwego dostawcę magazynu." - label_active: "Aktywny" - label_add_new_storage: "Dodaj nowy magazyn" - label_delete_storage: "Usuń magazyn" - label_inactive: "Nieaktywny" - label_creator: "Twórca" - label_provider: "Dostawca" - label_file_link: "Link do pliku" - label_file_links: "Linki do plików" - label_file_storage: "Magazyn plików" - label_creation_time: "Czas utworzenia" - label_completed: "Ukończono" - label_incomplete: "Niekompletny" - label_name: "Nazwa" - label_host: "Adres URL hosta " + input_delete_confirmation: Aby potwierdzić usunięcie, wprowadź nazwę magazynu plików %{file_storage}. + irreversible_notice: Usunięcie magazynu plików jest działaniem nieodwracalnym. + project_storage: 'Czy na pewno chcesz usunąć %{file_storage} z tego projektu? Aby potwierdzić to działanie, wprowadź nazwę magazynu w polu poniżej, spowoduje to:' + project_storage_delete_result_1: Usuń wszystkie linki z pakietów roboczych tego projektu do plików i folderów tego magazynu. + project_storage_delete_result_2: W przypadku, gdy ten magazyn zawiera automatycznie zarządzany folder projektu, folder ten i jego pliki zostaną bezpowrotnie usunięte. + storage: 'Czy na pewno chcesz usunąć %{file_storage}? Aby potwierdzić to działanie, wprowadź nazwę magazynu w polu poniżej, spowoduje to:' + storage_delete_result_1: Usunięcie wszystkich konfiguracji magazynu ze wszystkich korzystających z niego projektów. + storage_delete_result_2: Usunięcie wszystkich linków z pakietów roboczych wszystkich projektów do plików i folderów z tego magazynu. + storage_delete_result_3: W przypadku, gdy ten magazyn zawiera automatycznie zarządzane foldery projektów, foldery te i zawarte w nich pliki zostaną bezpowrotnie usunięte. + error_invalid_provider_type: Wybierz właściwego dostawcę magazynu. + file_storage_view: + automatically_managed_folders: Automatycznie zarządzane foldery + general_information: Informacje ogólne + nextcloud_oauth: Nextcloud OAuth + oauth_applications: Aplikacje OAuth + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Foldery projektu + redirect_uri: Przekieruj URI + storage_provider: Dostawca magazynu + health: + checked: Ostatnio sprawdzono %{datetime} + label_error: Błąd + label_healthy: Zdrowe + label_pending: Oczekujący + since: od %{datetime} + title: Status zarządzanych folderów + help_texts: + project_folder: Folder projektu jest domyślnym folderem do przesyłania plików tego projektu. Użytkownicy mogą jednak przesyłać pliki do innych lokalizacji. + instructions: + all_available_storages_already_added: Wszystkie dostępne magazyny zostały już dodane do projektu. + automatic_folder: Spowoduje to automatyczne utworzenie katalogu głównego dla tego projektu i zarządzanie uprawnieniami dostępu każdego członka projektu. + copy_from: Skopiuj tę wartość z + empty_project_folder_validation: Wybranie folderu jest obowiązkowe w celu kontynuacji. + existing_manual_folder: Możesz wyznaczyć istniejący folder jako folder główny tego projektu. Uprawnienia nie są jednak zarządzane automatycznie, administrator musi ręcznie upewnić się, że odpowiedni użytkownicy mają dostęp. Wybrany folder może być używany przez wiele projektów. + host: Proszę dodać adres hosta magazynu wraz z https://. Nie powinien być dłuższy niż 255 znaków. + managed_project_folders_application_password_caption: 'Włącz automatycznie zarządzane foldery, kopiując tę wartość z: %{provider_type_link}.' + name: Nazwij swój magazyn pamięci, aby użytkownicy mogli je rozróżniać, jeśli występuje ich wiele. + new_storage: Aby uzyskać więcej informacji, przeczytaj naszą dokumentację na temat konfigurowania integracji magazynu plików %{provider_name}. + nextcloud: + application_link_text: aplikacji „Integration OpenProject” + integration: Administracja Nextcloud / OpenProject + oauth_configuration: Skopiuj te wartości z %{application_link_text}. + provider_configuration: Przed wykonaniem konfiguracji upewnij się, że masz uprawnienia administracyjne w swoim wystąpieniu Nextcloud oraz zainstalowaną aplikację %{application_link_text}. + no_specific_folder: Domyślnie każdy użytkownik rozpocznie we własnym folderze domowym po przesłaniu pliku. + no_storage_set_up: Nie ma jeszcze skonfigurowanych magazynów plików. + not_logged_into_storage: Aby wybrać folder projektu, najpierw się zaloguj + oauth_application_details: Wartość tajnego klucza klienta nie będzie ponownie dostępna po zamknięciu tego okna. Skopiuj te wartości do %{oauth_application_details_link}. + oauth_application_details_link_text: Ustawienia Nextcloud OpenProject Integration + one_drive: + application_link_text: Portal Azure + copy_redirect_uri: Skopiuj identyfikator URI przekierowania + documentation_link_text: dokumentacji plików OneDrive/SharePoint + drive_id: Skopiuj identyfikator z żądanego dysku, wykonując kroki opisane w %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Wprowadź wartości OAuth, aby wygenerować identyfikator URI + oauth_client_redirect_uri: Skopiuj tę wartość do nowego identyfikatora URI przekierowania sieci Web w sekcji Przekieruj URI. + oauth_client_secret: Jeśli w sekcji Poświadczenia klienta nie ma tajnego klucza klienta aplikacji, utwórz nowy. + oauth_configuration: Skopiuj te wartości z żądanej aplikacji w %{application_link_text}. + provider_configuration: Przed przystąpieniem do konfiguracji upewnij się, że masz uprawnienia administracyjne w %{application_link_text} lub skontaktuj się z administratorem z firmy Microsoft. W portalu musisz również zarejestrować aplikację Azure lub użyć istniejącej do uwierzytelniania. + tenant_id: Skopiuj identyfikator katalogu (dzierżawcy) z żądanej aplikacji i rejestracje aplikacji w %{application_link_text}. + tenant_id_placeholder: Nazwa lub identyfikator UUID + setting_up_additional_storages: Aby skonfigurować dodatkowe magazyny plików, odwiedź + setting_up_additional_storages_non_admin: Administratorzy mogą skonfigurować dodatkowe magazyny plików w obszarze Administracja / Magazyny plików. + setting_up_storages: Aby skonfigurować magazyny plików, odwiedź + setting_up_storages_non_admin: Administratorzy mogą skonfigurować magazyny plików w obszarze Administracja / Magazyny plików. + type: 'Upewnij się, że masz uprawnienia administracyjne w swojej instancji Nextcloud oraz zainstalowaną następującą aplikację, przed wykonaniem konfiguracji:' + type_link_text: "“Integration OpenProject”" + label_active: Aktywny + label_add_new_storage: Dodaj nowy magazyn + label_automatic_folder: Nowy folder z automatycznie zarządzanymi uprawnieniami + label_completed: Ukończono + label_creation_time: Czas utworzenia + label_creator: Twórca + label_delete_storage: Usuń magazyn + label_edit_storage: Edytuj magazyn + label_edit_storage_automatically_managed_folders: Edytuj automatycznie zarządzane foldery magazynu + label_edit_storage_host: Edytuj hosta magazynu + label_edit_storage_oauth_client: Edytuj klienta OAuth magazynu + label_existing_manual_folder: Istniejący folder z ręcznie zarządzanymi uprawnieniami + label_file_storage: Magazyn plików + label_host: Adres URL hosta + label_inactive: Nieaktywny + label_incomplete: Niekompletny label_managed_project_folders: - automatically_managed_folders: "Automatycznie zarządzane foldery" - application_password: "Hasło aplikacji" - label_managed_project_folders_breadcrumb: "Automatycznie zarządzane foldery projektu" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OAuth OneDrive" - label_oauth_application_details: "Szczegóły aplikacji OAuth" - label_oauth_client_details: "Szczegóły klienta OAuth" - label_openproject_oauth_application_id: "Identyfikator klienta OAuth OpenProject" - label_openproject_oauth_application_secret: "Tajny klucz klienta OAuth OpenProject" - label_oauth_client_id: "ID klienta OAuth" - label_oauth_client_secret: "Klucz klienta OAuth" - label_information: "Dodatkowe informacje" - label_provider_type: "Typ dostawcy" - label_project_folder: "Folder projektu" - label_redirect_uri: "Przekieruj URI" - label_uri: "URI" - label_new_storage: "Nowy magazyn" - label_new_file_storage: "Nowy magazyn %{provider}" - label_edit_storage: "Edytuj magazyn" - label_edit_storage_host: "Edytuj hosta magazynu" - label_edit_storage_oauth_client: "Edytuj klienta OAuth magazynu" - label_show_storage_redirect_uri: "Pokaż identyfikator URI przekierowania" - label_edit_storage_automatically_managed_folders: "Edytuj automatycznie zarządzane foldery magazynu" - label_existing_manual_folder: "Istniejący folder z ręcznie zarządzanymi uprawnieniami" - label_no_specific_folder: "Brak konkretnego folderu" - label_automatic_folder: "Nowy folder z automatycznie zarządzanymi uprawnieniami" - label_no_selected_folder: "Nie wybrano folderu" - label_select_provider: "Wybierz dostawcę" - label_storage: "Magazyn" - label_storages: "Magazyny" - label_status: "Status" - label_files: "Pliki" + application_password: Hasło aplikacji + automatically_managed_folders: Automatycznie zarządzane foldery + label_name: Nazwa + label_new_file_storage: Nowy magazyn %{provider} + label_new_storage: Nowy magazyn + label_no_selected_folder: Nie wybrano folderu + label_no_specific_folder: Brak konkretnego folderu + label_oauth_client_id: ID klienta OAuth + label_openproject_oauth_application_id: Identyfikator klienta OAuth OpenProject + label_openproject_oauth_application_secret: Tajny klucz klienta OAuth OpenProject + label_project_folder: Folder projektu + label_provider: Dostawca + label_redirect_uri: Przekieruj URI + label_show_storage_redirect_uri: Pokaż identyfikator URI przekierowania + label_status: Status + label_storage: Magazyn + label_uri: URI member_connection_status: - connected: "Połączono" - connected_no_permissions: "Rola użytkownika nie ma uprawnień do magazynów" - not_connected: "Nie połączono. Użytkownik powinien zalogować się do magazynu za pomocą %{link}." - no_results: "Brak skonfigurowanych magazynów." - members_no_results: "Brak członków do wyświetlenia." + connected: Połączono + connected_no_permissions: Rola użytkownika nie ma uprawnień do magazynów + not_connected: Nie połączono. Użytkownik powinien zalogować się do magazynu za pomocą %{link}. + members_no_results: Brak członków do wyświetlenia. + no_results: Brak skonfigurowanych magazynów. + notice_successful_storage_connection: Magazyn został podłączony! Pamiętaj, aby aktywować moduł i konkretny magazyn w ustawieniach każdego żądanego projektu, aby móc z nich korzystać. + open_project_storage_modal: + success: + a: Ukończono konfigurację integracji + b: Następuje przekierowanie + waiting: + a: Konfigurujemy Twoje uprawnienia do folderu projektu. + b: Chwileczkę, to może zająć trochę czasu... + page_titles: + file_storages: + delete: Usuń magazyn plików + subtitle: Dodaj zewnętrzny magazyn plików w celu przesyłania plików, ich powiązywania i zarządzania nimi w pakietach roboczych. + managed_project_folders: + subtitle: Pozwól OpenProject automatycznie tworzyć foldery dla każdego projektu. Jest to zalecane, ponieważ zapewnia, że każdy członek zespołu zawsze ma prawidłowe uprawnienia dostępu. + subtitle_short: Pozwól OpenProject automatycznie tworzyć foldery dla każdego projektu. + title: Automatycznie zarządzane foldery projektu + project_settings: + delete: Usuń magazyn plików + edit: Edytuj magazyn plików tego projektu + index: Magazyny plików dostępne w tym projekcie + members_connection_status: Status połączenia członków + new: Dodaj magazyn plików do tego projektu + project_storage_members: + subtitle: Sprawdź status połączenia magazynu %{storage_name_link} wszystkich członków projektu. + title: Status połączenia członków provider_types: - label: "Typ dostawcy" + label: Typ dostawcy nextcloud: - name: "Nextcloud" - name_placeholder: "np. Nextcloud" - label_oauth_client_id: "Identyfikator klienta OAuth Nextcloud" - label_oauth_client_secret: "Tajny klucz klienta OAuth Nextcloud" + label_oauth_client_id: Identyfikator klienta OAuth Nextcloud + label_oauth_client_secret: Tajny klucz klienta OAuth Nextcloud + name: Nextcloud + name_placeholder: np. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "np. OneDrive" - label_oauth_client_id: "Identyfikator aplikacji OAuth Azure (klienta)" - label_oauth_client_secret: "Tajny klucz klienta OAuth Azure" - confirm_replace_oauth_application: "Na pewno? Wszyscy użytkownicy będą musieli dokonać ponownej autoryzacji w stosunku do OpenProject." - confirm_replace_oauth_client: "Na pewno? Wszyscy użytkownicy będą musieli ponownie autoryzować swoje magazyny pamięci." - oauth_client_details_missing: "Aby zakończyć konfigurację, dodaj poświadczenia klienta OAuth ze swojego magazynu pamięci." - automatically_managed_project_folder_missing: "Aby ukończyć konfigurację, skonfiguruj foldery projektu automatycznie zarządzane w magazynie." - notice_oauth_application_replaced: "Aplikacja OpenProject OAuth została pomyślnie zastąpiona." - notice_successful_storage_connection: "Magazyn został podłączony! Pamiętaj, aby aktywować moduł i konkretny magazyn w ustawieniach każdego żądanego projektu, aby móc z nich korzystać." - open_project_storage_modal: - waiting: - a: "Konfigurujemy Twoje uprawnienia do folderu projektu." - b: "Chwileczkę, to może zająć trochę czasu..." - success: - a: "Ukończono konfigurację integracji" - b: "Następuje przekierowanie" - health: - title: "Status zarządzanych folderów" - label_pending: "Oczekujący" - label_error: "Błąd" - label_healthy: "Zdrowe" - checked: "Ostatnio sprawdzono %{datetime}" - since: "od %{datetime}" + label_oauth_client_id: Identyfikator aplikacji OAuth Azure (klienta) + label_oauth_client_secret: Tajny klucz klienta OAuth Azure + name: OneDrive/SharePoint + name_placeholder: np. OneDrive + storage_list_blank_slate: + description: Dodaj magazyn, aby zobaczyć go tutaj. + heading: Nie masz jeszcze żadnych magazynów. upsale: - title: "Integracja OneDrive/SharePoint" - description: 'Zintegruj swoją usługę OneDrive/SharePoint z OpenProject jako magazyn plików. Prześlij pliki i powiąż je bezpośrednio z pakietami roboczymi w projekcie.' + description: Zintegruj swoją usługę OneDrive/SharePoint z OpenProject jako magazyn plików. Prześlij pliki i powiąż je bezpośrednio z pakietami roboczymi w projekcie. + title: Integracja OneDrive/SharePoint diff --git a/modules/storages/config/locales/crowdin/pt.yml b/modules/storages/config/locales/crowdin/pt.yml index eff401e5795d..3fb52cc8f722 100644 --- a/modules/storages/config/locales/crowdin/pt.yml +++ b/modules/storages/config/locales/crowdin/pt.yml @@ -1,268 +1,217 @@ -#English strings go here pt: - plugin_openproject_storages: - name: "Armazenamentos do OpenProject" - description: "Permite associar pacotes de trabalho a pastas em armazenamentos externos, como a Nextcloud." - permission_view_file_links: "Exibir vínculos de arquivos" - permission_manage_file_links: "Gerenciar vínculos de arquivos" - permission_manage_storages_in_project: "Gerenciar armazenamentos de arquivos no projeto" - permission_read_files: "Ler arquivos" - permission_write_files: "Escrever arquivos" - permission_create_files: "Criar arquivos" - permission_delete_files: "Excluir arquivos" - permission_share_files: "Compartilhar arquivos" - project_module_storages: "Armazenamento de arquivos" - errors: - attributes: - storage_error: - not_authorized: "Não possui autorização para conexão externa ao armazenamento." - not_found: "O recurso solicitado não pôde ser encontrado no armazenamento externo de arquivos." activerecord: - models: - file_link: "Arquivo" - storages/storage: "Armazenamento" attributes: - storages/storage: - name: "Nome" - creator: "Criador" - provider_type: "Tipo de provedor" - host: "Servidor" - tenant: "ID do diretório (locatário)" storages/file_link: - origin_id: "Id da origem" + origin_id: Id da origem + storages/storage: + creator: Criador + host: Servidor + name: Nome + provider_type: Tipo de provedor + tenant: ID do diretório (locatário) errors: messages: - not_linked_to_project: "não está vinculado ao projeto." + not_linked_to_project: não está vinculado ao projeto. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: somente pode ser numérico ou uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "não está disponível para este armazenamento." + mode_unavailable: não está disponível para este armazenamento. storages/storage: attributes: host: - cannot_be_connected_to: "não pode ser conectado." - minimal_nextcloud_version_unmet: "não atende aos requisitos mínimos de versão (deve ser Nextcloud 23 ou superior)" - not_nextcloud_server: "não é um servidor Nextcloud" - op_application_not_installed: > - Parece não possui o aplicativo "OpenProject integration" instalado. Instale-o primeiro e depois tente novamente. - authorization_header_missing: > - se não totalmente configurado. A instância Nextcloud não recebe o cabeçalho "Autorização", que é necessário para um token Bearer com base na autorização de solicitações de API. Verifique novamente suas configurações de servidor HTTP. + authorization_header_missing: se não totalmente configurado. A instância Nextcloud não recebe o cabeçalho "Autorização", que é necessário para um token Bearer com base na autorização de solicitações de API. Verifique novamente suas configurações de servidor HTTP. + cannot_be_connected_to: não pode ser conectado. + minimal_nextcloud_version_unmet: não atende aos requisitos mínimos de versão (deve ser Nextcloud 23 ou superior) + not_nextcloud_server: não é um servidor Nextcloud + op_application_not_installed: Parece não possui o aplicativo "OpenProject integration" instalado. Instale-o primeiro e depois tente novamente. password: - invalid_password: "não é válido." - unknown_error: "não foi possível validar. ,Verifique sua conexão com o armazenamento e tente novamente." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "somente pode ser numérico ou uuid." + invalid_password: não é válido. + unknown_error: não foi possível validar. ,Verifique sua conexão com o armazenamento e tente novamente. + models: + file_link: Arquivo + storages/storage: Armazenamento api_v3: errors: - too_many_elements_created_at_once: "Muitos elementos criados ao mesmo tempo. Esperado %{max} no máximo, obteve %{actual}." + too_many_elements_created_at_once: Muitos elementos criados ao mesmo tempo. Esperado %{max} no máximo, obteve %{actual}. + permission_create_files: Criar arquivos + permission_delete_files: Excluir arquivos + permission_manage_file_links: Gerenciar vínculos de arquivos + permission_manage_storages_in_project: Gerenciar armazenamentos de arquivos no projeto + permission_read_files: Ler arquivos + permission_share_files: Compartilhar arquivos + permission_view_file_links: Exibir vínculos de arquivos + permission_write_files: Escrever arquivos + project_module_storages: Armazenamento de arquivos storages: - default_name: "Meu armazenamento" - unknown_storage: "Armazenamento desconhecido" buttons: - done_continue: "Pronto, continuar" - done_continue_setup: "Concluído. Continuar configuração" - done_complete_setup: "Pronto, concluir configuração" - complete_without_setup: "Concluir sem isso" - edit_automatically_managed_project_folders: "Editar pastas do projeto gerenciadas automaticamente" - replace_openproject_oauth: "Substituir OAuth OpenProject" - replace_provider_type_oauth: "Substituir OAuth %{provider_type}" - save: "Salvar" - save_and_continue: "Salvar e continuar" - save_and_continue_setup: "Salvar e continuar configuração" - save_and_complete_setup: "Salvar e concluir configuração" - select_folder: "Selecionar pastas" - configure: "Configurar" - file_storage_view: - general_information: "Informações gerais" - oauth_applications: "Aplicações OAuth" - project_folders: "Pastas do projeto" - storage_provider: "Provedor de armazenamento" - openproject_oauth: "OAuth OpenProject" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirecionar URI" - nextcloud_oauth: "OAuth Nextcloud" - automatically_managed_folders: "Pastas gerenciadas automaticamente" - page_titles: - file_storages: - subtitle: "Adicione um armazenamento de arquivos externo para carregar, vincular e gerenciar arquivos em pacotes de trabalho." - delete: "Excluir armazenamento de arquivos" - managed_project_folders: - title: "Pastas do projeto gerenciadas automaticamente" - subtitle_short: "Deixe o OpenProject criar pastas por projeto automaticamente." - subtitle: > - Deixe o OpenProject criar pastas por projeto automaticamente. Esta ação é recomendada, pois garante que cada membro da equipe sempre tenha as permissões de acesso corretas. - project_settings: - index: "Armazenamento de arquivos disponíveis neste projeto" - new: "Adicionar um armazenamento de arquivos a este projeto" - edit: "Editar o armazenamento de arquivos para este projeto" - delete: "Excluir armazenamento de arquivos" - members_connection_status: "Status da conexão dos membros" - project_storage_members: - title: "Status da conexão dos membros" - subtitle: "Verifique o status da conexão para o armazenamento %{storage_name_link} de todos os membros do projeto" - instructions: - type: "Certifique-se de ter privilégios de administração em sua instância Nextcloud e de ter o seguinte aplicativo instalado antes de realizar a configuração:" - type_link_text: "“Integração OpenProject”" - name: "Dê um nome a seu armazenamento para que os usuários possam diferenciar vários armazenamentos." - host: "Adicione o endereço do host de seu armazenamento incluindo o https://. Ele não deve ter mais de 255 caracteres." - managed_project_folders_application_password: > - Copiar este valor de: - managed_project_folders_application_password_caption: "Habilitar as pastas gerenciadas automaticamente copiando este valor de: %{provider_type_link}." - new_storage: "Para mais informações, leia a nossa documentação sobre configuração de uma integração de armazenamento de arquivos de %{provider_name}." - no_storage_set_up: "Ainda não há armazenamento de arquivos configurado." - no_specific_folder: "Por padrão, cada usuário iniciará em sua própria pasta pessoal quando fizer upload de um arquivo." - automatic_folder: "Isto irá criar automaticamente uma pasta raiz para este projeto e gerenciará as permissões de acesso para cada membro do projeto." - empty_project_folder_validation: "Selecionar uma pasta é obrigatório para continuar." - not_logged_into_storage: "Para selecionar uma pasta de projeto, primeiro faça login" - existing_manual_folder: > - Você pode designar uma pasta existente como a pasta raiz desse projeto. No entanto, as permissões não são gerenciadas automaticamente; o administrador precisa garantir manualmente que os usuários relevantes tenham acesso. A pasta selecionada pode ser usada por vários projetos. - setting_up_additional_storages: "Para configurar armazenamentos de arquivos adicionais, por favor visite" - setting_up_additional_storages_non_admin: "Os administradores podem configurar armazenamentos adicionais em Administração/Armazenamento de arquivos." - setting_up_storages: "Para configurar armazenamentos de arquivos, visite" - setting_up_storages_non_admin: "Administradores podem configurar armazenamentos de arquivos em Administração / Armazenamento de arquivos." - all_available_storages_already_added: "Todos os armazenamentos disponíveis já foram adicionados ao projeto." - oauth_application_details: "O valor secreto do cliente não poderá ser acessado novamente após esta janela ser fechada. Copie estes valores em %{oauth_application_details_link}:" - oauth_application_details_link_text: "Configurações de integração do Nextcloud OpenProject" - copy_from: "Copiar este valor de" - nextcloud: - provider_configuration: "Certifique-se de ter os privilégios de administração em sua instância de Nextcloud e de que o %{application_link_text} está instalado antes de realizar a configuração:" - oauth_configuration: "Copie estes valores de %{application_link_text}." - application_link_text: "aplicativo “Integration OpenProject”" - integration: "Administração de Nextcloud / OpenProject" - one_drive: - provider_configuration: > - Certifique-se de ter privilégios de administração no %{application_link_text} ou entre em contato com seu administrador da Microsoft antes de fazer a configuração. No portal, você também precisa registrar um aplicativo Azure ou usar um existente para autenticação. - oauth_configuration: "Copie estes valores do aplicativo pretendido no %{application_link_text}." - application_link_text: "Portal Azure" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copie o ID do cliente do portal Azure. Isto é necessário para gerar o URI de redirecionamento. - oauth_client_secret: > - Caso não haja um segredo do cliente do aplicativo sob as credenciais do cliente, crie um novo. - oauth_client_redirect_uri: > - Copie este valor para um novo URI de redirecionamento da Web em URI de redirecionamento. - missing_client_id_for_redirect_uri: "Preencha os valores OAuth para gerar um URI" - tenant_id: > - Copie o ID do diretório (inquilino) do aplicativo desejado e dos registros de aplicativos no %{application_link_text}. - tenant_id_placeholder: "Nome ou UUID" - drive_id: "Copie o ID da unidade desejada seguindo as etapas em %{drive_id_link_text}." - documentation_link_text: "Documentação de armazenamento de arquivos OneDrive/SharePoint" - copy_redirect_uri: "Copiar URI de redirecionamento" - help_texts: - project_folder: > - A pasta do projeto é a pasta padrão para uploads de arquivos para esse projeto. No entanto, os usuários ainda podem carregar arquivos em outros locais. + complete_without_setup: Concluir sem isso + done_complete_setup: Pronto, concluir configuração + done_continue: Pronto, continuar + replace_provider_type_oauth: Substituir OAuth %{provider_type} + save_and_continue: Salvar e continuar + select_folder: Selecionar pastas configuration_checks: oauth_client_incomplete: - nextcloud: "Permitir que o OpenProject acesse os dados da Nextcloud usando o OAuth." - one_drive: "Permitir que o OpenProject acesse os dados Azure utilizando o OAuth para conectar o OneDrive/Sharepoint." + nextcloud: Permitir que o OpenProject acesse os dados da Nextcloud usando o OAuth. + one_drive: Permitir que o OpenProject acesse os dados Azure utilizando o OAuth para conectar o OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Conclua a configuração com o redirecionamento correto do URI." + one_drive: Conclua a configuração com o redirecionamento correto do URI. + confirm_replace_oauth_application: Tem certeza? Todos os usuários terão que autorizar novamente com o OpenProject. + confirm_replace_oauth_client: Tem certeza? Todos os usuários terão que autorizar novamente no armazenamento. delete_warning: - storage: > - Tem certeza de que deseja excluir %{file_storage}? Para confirmar esta ação, introduza o nome do armazenamento no campo abaixo, isto irá: - storage_delete_result_1: "Remover todas as configurações de armazenamento para todos os projetos que utilizam este armazenamento." - storage_delete_result_2: "Remover todos os links do pacotes de trabalho de todos os projetos para arquivos e pastas desse armazenamento." - storage_delete_result_3: "Caso este armazenamento tenha pastas de projeto gerenciadas automaticamente, estas, e os seus arquivos, serão excluídos para sempre." - project_storage: > - Tem certeza de que deseja excluir %{file_storage} deste projeto? Para confirmar esta ação, introduza o nome do armazenamento no campo abaixo, isto irá: - project_storage_delete_result_1: "Remover todos os links dos pacotes de trabalho deste projeto para arquivos e pastas desse armazenamento." - project_storage_delete_result_2: "Caso este armazenamento tenha uma pasta de projeto gerenciado automaticamente, este e seus arquivos serão excluídos para sempre." - input_delete_confirmation: "Insira o nome do armazenamento de arquivos %{file_storage} para confirmar a exclusão." - irreversible_notice: "Excluir um armazenamento de arquivos é uma ação irreversível." - storage_list_blank_slate: - heading: "Ainda não tem nenhum armazenamento." - description: "Adicione um armazenamento para vê-lo aqui." - error_invalid_provider_type: "Selecione um provedor de armazenamento válido." - label_active: "Ativo" - label_add_new_storage: "Adicionar novo armazenamento" - label_delete_storage: "Excluir armazenamento" - label_inactive: "Inativo" - label_creator: "Criador" - label_provider: "Provedor" - label_file_link: "Vínculo do arquivo" - label_file_links: "Vínculos dos arquivos" - label_file_storage: "Armazenamento de arquivos" - label_creation_time: "Hora de criação" - label_completed: "Concluído" - label_incomplete: "Incompleto" - label_name: "Nome" - label_host: "URL do host" + input_delete_confirmation: Insira o nome do armazenamento de arquivos %{file_storage} para confirmar a exclusão. + irreversible_notice: Excluir um armazenamento de arquivos é uma ação irreversível. + project_storage: 'Tem certeza de que deseja excluir %{file_storage} deste projeto? Para confirmar esta ação, introduza o nome do armazenamento no campo abaixo, isto irá:' + project_storage_delete_result_1: Remover todos os links dos pacotes de trabalho deste projeto para arquivos e pastas desse armazenamento. + project_storage_delete_result_2: Caso este armazenamento tenha uma pasta de projeto gerenciado automaticamente, este e seus arquivos serão excluídos para sempre. + storage: 'Tem certeza de que deseja excluir %{file_storage}? Para confirmar esta ação, introduza o nome do armazenamento no campo abaixo, isto irá:' + storage_delete_result_1: Remover todas as configurações de armazenamento para todos os projetos que utilizam este armazenamento. + storage_delete_result_2: Remover todos os links do pacotes de trabalho de todos os projetos para arquivos e pastas desse armazenamento. + storage_delete_result_3: Caso este armazenamento tenha pastas de projeto gerenciadas automaticamente, estas, e os seus arquivos, serão excluídos para sempre. + error_invalid_provider_type: Selecione um provedor de armazenamento válido. + file_storage_view: + automatically_managed_folders: Pastas gerenciadas automaticamente + general_information: Informações gerais + nextcloud_oauth: OAuth Nextcloud + oauth_applications: Aplicações OAuth + one_drive_oauth: Azure OAuth + openproject_oauth: OAuth OpenProject + project_folders: Pastas do projeto + redirect_uri: Redirecionar URI + storage_provider: Provedor de armazenamento + health: + checked: Última verificação em %{datetime} + label_error: Erro + label_healthy: Saudável + label_pending: Pendente + since: desde %{datetime} + title: Situação das pastas gerenciadas + help_texts: + project_folder: A pasta do projeto é a pasta padrão para uploads de arquivos para esse projeto. No entanto, os usuários ainda podem carregar arquivos em outros locais. + instructions: + all_available_storages_already_added: Todos os armazenamentos disponíveis já foram adicionados ao projeto. + automatic_folder: Isto irá criar automaticamente uma pasta raiz para este projeto e gerenciará as permissões de acesso para cada membro do projeto. + copy_from: Copiar este valor de + empty_project_folder_validation: Selecionar uma pasta é obrigatório para continuar. + existing_manual_folder: Você pode designar uma pasta existente como a pasta raiz desse projeto. No entanto, as permissões não são gerenciadas automaticamente; o administrador precisa garantir manualmente que os usuários relevantes tenham acesso. A pasta selecionada pode ser usada por vários projetos. + host: Adicione o endereço do host de seu armazenamento incluindo o https://. Ele não deve ter mais de 255 caracteres. + managed_project_folders_application_password_caption: 'Habilitar as pastas gerenciadas automaticamente copiando este valor de: %{provider_type_link}.' + name: Dê um nome a seu armazenamento para que os usuários possam diferenciar vários armazenamentos. + new_storage: Para mais informações, leia a nossa documentação sobre configuração de uma integração de armazenamento de arquivos de %{provider_name}. + nextcloud: + application_link_text: aplicativo “Integration OpenProject” + integration: Administração de Nextcloud / OpenProject + oauth_configuration: Copie estes valores de %{application_link_text}. + provider_configuration: 'Certifique-se de ter os privilégios de administração em sua instância de Nextcloud e de que o %{application_link_text} está instalado antes de realizar a configuração:' + no_specific_folder: Por padrão, cada usuário iniciará em sua própria pasta pessoal quando fizer upload de um arquivo. + no_storage_set_up: Ainda não há armazenamento de arquivos configurado. + not_logged_into_storage: Para selecionar uma pasta de projeto, primeiro faça login + oauth_application_details: 'O valor secreto do cliente não poderá ser acessado novamente após esta janela ser fechada. Copie estes valores em %{oauth_application_details_link}:' + oauth_application_details_link_text: Configurações de integração do Nextcloud OpenProject + one_drive: + application_link_text: Portal Azure + copy_redirect_uri: Copiar URI de redirecionamento + documentation_link_text: Documentação de armazenamento de arquivos OneDrive/SharePoint + drive_id: Copie o ID da unidade desejada seguindo as etapas em %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Preencha os valores OAuth para gerar um URI + oauth_client_redirect_uri: Copie este valor para um novo URI de redirecionamento da Web em URI de redirecionamento. + oauth_client_secret: Caso não haja um segredo do cliente do aplicativo sob as credenciais do cliente, crie um novo. + oauth_configuration: Copie estes valores do aplicativo pretendido no %{application_link_text}. + provider_configuration: Certifique-se de ter privilégios de administração no %{application_link_text} ou entre em contato com seu administrador da Microsoft antes de fazer a configuração. No portal, você também precisa registrar um aplicativo Azure ou usar um existente para autenticação. + tenant_id: Copie o ID do diretório (inquilino) do aplicativo desejado e dos registros de aplicativos no %{application_link_text}. + tenant_id_placeholder: Nome ou UUID + setting_up_additional_storages: Para configurar armazenamentos de arquivos adicionais, por favor visite + setting_up_additional_storages_non_admin: Os administradores podem configurar armazenamentos adicionais em Administração/Armazenamento de arquivos. + setting_up_storages: Para configurar armazenamentos de arquivos, visite + setting_up_storages_non_admin: Administradores podem configurar armazenamentos de arquivos em Administração / Armazenamento de arquivos. + type: 'Certifique-se de ter privilégios de administração em sua instância Nextcloud e de ter o seguinte aplicativo instalado antes de realizar a configuração:' + type_link_text: "“Integração OpenProject”" + label_active: Ativo + label_add_new_storage: Adicionar novo armazenamento + label_automatic_folder: Nova pasta com permissões gerenciadas automaticamente + label_completed: Concluído + label_creation_time: Hora de criação + label_creator: Criador + label_delete_storage: Excluir armazenamento + label_edit_storage: Editar armazenamento + label_edit_storage_automatically_managed_folders: Editar pastas gerencias automaticamente de armazenamento + label_edit_storage_host: Editar host de armazenamento + label_edit_storage_oauth_client: Editar cliente OAuth de armazenamento + label_existing_manual_folder: Pasta existente com permissões gerenciadas manualmente + label_file_storage: Armazenamento de arquivos + label_host: URL do host + label_inactive: Inativo + label_incomplete: Incompleto label_managed_project_folders: - automatically_managed_folders: "Pastas gerenciadas automaticamente" - application_password: "Senha do aplicativo" - label_managed_project_folders_breadcrumb: "Pastas do projeto gerenciadas automaticamente" - label_oauth_breadcrumb: - openproject: "OAuth OpenProject" - nextcloud: "OAuth Nextcloud" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "Detalhes do aplicativo OAuth" - label_oauth_client_details: "Detalhes do cliente OAuth" - label_openproject_oauth_application_id: "ID de Cliente OAuth OpenProject" - label_openproject_oauth_application_secret: "Segredo de cliente OAuth OpenProject" - label_oauth_client_id: "ID do cliente Oauth2" - label_oauth_client_secret: "Cliente Secreto OAuth" - label_information: "Informação adicional" - label_provider_type: "Tipo de provedor" - label_project_folder: "Pasta do projeto" - label_redirect_uri: "Redirecionar URI" - label_uri: "URI" - label_new_storage: "Novo armazenamento" - label_new_file_storage: "Novo armazenamento %{provider}" - label_edit_storage: "Editar armazenamento" - label_edit_storage_host: "Editar host de armazenamento" - label_edit_storage_oauth_client: "Editar cliente OAuth de armazenamento" - label_show_storage_redirect_uri: "Exibir URI de redirecionamento" - label_edit_storage_automatically_managed_folders: "Editar pastas gerencias automaticamente de armazenamento" - label_existing_manual_folder: "Pasta existente com permissões gerenciadas manualmente" - label_no_specific_folder: "Nenhuma pasta específica" - label_automatic_folder: "Nova pasta com permissões gerenciadas automaticamente" - label_no_selected_folder: "Nenhuma pasta selecionada" - label_select_provider: "Selecione provedor" - label_storage: "Armazenamento" - label_storages: "Armazenamentos" - label_status: "Status" - label_files: "Arquivos" + application_password: Senha do aplicativo + automatically_managed_folders: Pastas gerenciadas automaticamente + label_name: Nome + label_new_file_storage: Novo armazenamento %{provider} + label_new_storage: Novo armazenamento + label_no_selected_folder: Nenhuma pasta selecionada + label_no_specific_folder: Nenhuma pasta específica + label_oauth_client_id: ID do cliente Oauth2 + label_openproject_oauth_application_id: ID de Cliente OAuth OpenProject + label_openproject_oauth_application_secret: Segredo de cliente OAuth OpenProject + label_project_folder: Pasta do projeto + label_provider: Provedor + label_redirect_uri: Redirecionar URI + label_show_storage_redirect_uri: Exibir URI de redirecionamento + label_status: Status + label_storage: Armazenamento + label_uri: URI member_connection_status: - connected: "Conectado" - connected_no_permissions: "A função de usuário não tem permissões de armazenamento" - not_connected: "Não conectado. O usuário deve iniciar sessão no armazenamento por meio do seguinte %{link}." - no_results: "Ainda não há armazenamento configurado." - members_no_results: "Nenhum membro para exibir." + connected: Conectado + connected_no_permissions: A função de usuário não tem permissões de armazenamento + not_connected: Não conectado. O usuário deve iniciar sessão no armazenamento por meio do seguinte %{link}. + members_no_results: Nenhum membro para exibir. + no_results: Ainda não há armazenamento configurado. + notice_successful_storage_connection: Armazenamento conectado com sucesso! Lembre-se de ativar o módulo e o armazenamento específico nas configurações do projeto de cada projeto desejado para utilizá-lo. + open_project_storage_modal: + success: + a: Configuração de integração concluída + b: Você está sendo redirecionado + waiting: + a: Estamos definindo suas permissões na pasta do projeto. + b: Aguarde um momento, esta ação pode demorar um pouco... + page_titles: + file_storages: + delete: Excluir armazenamento de arquivos + subtitle: Adicione um armazenamento de arquivos externo para carregar, vincular e gerenciar arquivos em pacotes de trabalho. + managed_project_folders: + subtitle: Deixe o OpenProject criar pastas por projeto automaticamente. Esta ação é recomendada, pois garante que cada membro da equipe sempre tenha as permissões de acesso corretas. + subtitle_short: Deixe o OpenProject criar pastas por projeto automaticamente. + title: Pastas do projeto gerenciadas automaticamente + project_settings: + delete: Excluir armazenamento de arquivos + edit: Editar o armazenamento de arquivos para este projeto + index: Armazenamento de arquivos disponíveis neste projeto + members_connection_status: Status da conexão dos membros + new: Adicionar um armazenamento de arquivos a este projeto + project_storage_members: + subtitle: Verifique o status da conexão para o armazenamento %{storage_name_link} de todos os membros do projeto + title: Status da conexão dos membros provider_types: - label: "Tipo de provedor" + label: Tipo de provedor nextcloud: - name: "Nextcloud" - name_placeholder: "Ex.: Nextcloud" - label_oauth_client_id: "ID do cliente Nextcloud OAuth" - label_oauth_client_secret: "Segredo do cliente Nextcloud OAuth" + label_oauth_client_id: ID do cliente Nextcloud OAuth + label_oauth_client_secret: Segredo do cliente Nextcloud OAuth + name: Nextcloud + name_placeholder: 'Ex.: Nextcloud' one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "por ex.: OneDrive" - label_oauth_client_id: "ID do aplicativo Azure OAuth (cliente)" - label_oauth_client_secret: "Valor secreto do cliente Azure OAuth" - confirm_replace_oauth_application: "Tem certeza? Todos os usuários terão que autorizar novamente com o OpenProject." - confirm_replace_oauth_client: "Tem certeza? Todos os usuários terão que autorizar novamente no armazenamento." - oauth_client_details_missing: "Para concluir a configuração, adicione as credenciais do cliente OAuth do seu armazenamento." - automatically_managed_project_folder_missing: "Para concluir o ajuste, configure as pastas do projeto gerenciado automaticamente para o seu armazenamento." - notice_oauth_application_replaced: "O aplicativo OAuth OpenProject foi substituído com sucesso." - notice_successful_storage_connection: "Armazenamento conectado com sucesso! Lembre-se de ativar o módulo e o armazenamento específico nas configurações do projeto de cada projeto desejado para utilizá-lo." - open_project_storage_modal: - waiting: - a: "Estamos definindo suas permissões na pasta do projeto." - b: "Aguarde um momento, esta ação pode demorar um pouco..." - success: - a: "Configuração de integração concluída" - b: "Você está sendo redirecionado" - health: - title: "Situação das pastas gerenciadas" - label_pending: "Pendente" - label_error: "Erro" - label_healthy: "Saudável" - checked: "Última verificação em %{datetime}" - since: "desde %{datetime}" + label_oauth_client_id: ID do aplicativo Azure OAuth (cliente) + label_oauth_client_secret: Valor secreto do cliente Azure OAuth + name: OneDrive/SharePoint + name_placeholder: 'por ex.: OneDrive' + storage_list_blank_slate: + description: Adicione um armazenamento para vê-lo aqui. + heading: Ainda não tem nenhum armazenamento. upsale: - title: "Integração OneDrive/SharePoint" - description: 'Integre seu OneDrive/SharePoint como um armazenamento de arquivos com o OpenProject. Carregue arquivos e vincule-os diretamente aos pacotes de trabalho em um projeto.' + description: Integre seu OneDrive/SharePoint como um armazenamento de arquivos com o OpenProject. Carregue arquivos e vincule-os diretamente aos pacotes de trabalho em um projeto. + title: Integração OneDrive/SharePoint diff --git a/modules/storages/config/locales/crowdin/ro.yml b/modules/storages/config/locales/crowdin/ro.yml index a33092076689..c50918e9e781 100644 --- a/modules/storages/config/locales/crowdin/ro.yml +++ b/modules/storages/config/locales/crowdin/ro.yml @@ -1,268 +1,217 @@ -#English strings go here ro: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "Vizualizați link-urile fișierului" - permission_manage_file_links: "Gestionează link-urile fișierelor" - permission_manage_storages_in_project: "Gestionați stocarea fișierelor în proiect" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "Stocuri de fișiere" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Fișier" - storages/storage: "Depozitare" attributes: - storages/storage: - name: "Nume" - creator: "Creator" - provider_type: "Tip flux" - host: "Server gazdă" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Id de origine" + origin_id: Id de origine + storages/storage: + creator: Creator + host: Server gazdă + name: Nume + provider_type: Tip flux + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "nu este legat de proiect." + not_linked_to_project: nu este legat de proiect. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: poate fi doar numeric sau uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "nu poate fi conectat la acesta." - minimal_nextcloud_version_unmet: "nu îndeplinește cerințele minime de versiune (trebuie să fie Nextcloud 23 sau mai mare)" - not_nextcloud_server: "nu este un server Nextcloud" - op_application_not_installed: > - pare să nu aibă aplicația "OpenProject integration". Vă rugăm să o instalați mai întâi și apoi să încercați din nou. - authorization_header_missing: > - nu este complet configurat. Instanța Nextcloud nu primește headerul de "Autorizare", care este necesar pentru un token purtător pe baza autorizării cererilor API. Vă rugăm să verificaţi de două ori configuraţia serverului HTTP. + authorization_header_missing: nu este complet configurat. Instanța Nextcloud nu primește headerul de "Autorizare", care este necesar pentru un token purtător pe baza autorizării cererilor API. Vă rugăm să verificaţi de două ori configuraţia serverului HTTP. + cannot_be_connected_to: nu poate fi conectat la acesta. + minimal_nextcloud_version_unmet: nu îndeplinește cerințele minime de versiune (trebuie să fie Nextcloud 23 sau mai mare) + not_nextcloud_server: nu este un server Nextcloud + op_application_not_installed: pare să nu aibă aplicația "OpenProject integration". Vă rugăm să o instalați mai întâi și apoi să încercați din nou. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "poate fi doar numeric sau uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Fișier + storages/storage: Depozitare api_v3: errors: - too_many_elements_created_at_once: "Prea multe elemente create simultan. Se așteaptă cel mult %{max} , a luat %{actual}." + too_many_elements_created_at_once: Prea multe elemente create simultan. Se așteaptă cel mult %{max} , a luat %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Gestionează link-urile fișierelor + permission_manage_storages_in_project: Gestionați stocarea fișierelor în proiect + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: Vizualizați link-urile fișierului + permission_write_files: Write files + project_module_storages: Stocuri de fișiere storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Terminat. Continuă configurarea" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Înlocuiește OpenProject OAuth" - replace_provider_type_oauth: "Înlocuiește %{provider_type} OAuth" - save: "Salvare" - save_and_continue: "Save and continue" - save_and_continue_setup: "Salvează și continuă configurarea" - save_and_complete_setup: "Salvează și finalizează configurarea" - select_folder: "Select folder" - configure: "Configurare" - file_storage_view: - general_information: "General information" - oauth_applications: "Aplicație OAuth" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirecționați URI" - nextcloud_oauth: "Ecran Nextcloud" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "Stocare de fișiere disponibile în acest proiect" - new: "Adaugă un fișier de stocare în acest proiect" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Asigurați-vă că aveți drepturi de administrare în instanța Nextcloud și că aveți următoarea aplicație instalată înainte de a face configurarea:" - type_link_text: "Integrare OpenProject”" - name: "Dați un nume stocării pentru ca utilizatorii să poată diferenția între mai multe spațiul de stocare." - host: "Vă rugăm să adăugați adresa de găzduire a spațiului de stocare, inclusiv https://. Nu trebuie să fie mai lungă de 255 de caractere." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "Nu există încă nici un fișier de stocare configurat." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "Pentru a configura fişiere de stocare suplimentare, vă rugăm să vizitaţi" - setting_up_additional_storages_non_admin: "Administratorii pot configura fişiere de stocare suplimentare în Administrare / Stocare fişiere." - setting_up_storages: "Pentru configurarea fișierelor, vă rugăm să vizitați" - setting_up_storages_non_admin: "Administratorii pot configura spațiul de stocare în Administrare / Stocare fișiere." - all_available_storages_already_added: "Toate depozitele disponibile sunt deja adăugate la proiect." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copiază această valoare de la" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Administrare Nextcloud / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Înlocuiește %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Ești sigur? Toți utilizatorii vor trebui să autorizeze din nou împotriva OpenProject. + confirm_replace_oauth_client: Ești sigur? Toți utilizatorii vor trebui să autorizeze din nou împotriva stocării. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Activ" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactiv" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "Link-ul fișierului" - label_file_links: "Link-uri fișier" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Finalizat" - label_incomplete: "Incomplete" - label_name: "Nume" - label_host: "URL Gazdă" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Ecran Nextcloud + oauth_applications: Aplicație OAuth + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirecționați URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Eroare + label_healthy: Healthy + label_pending: în așteptare + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: Toate depozitele disponibile sunt deja adăugate la proiect. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copiază această valoare de la + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Vă rugăm să adăugați adresa de găzduire a spațiului de stocare, inclusiv https://. Nu trebuie să fie mai lungă de 255 de caractere. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Dați un nume stocării pentru ca utilizatorii să poată diferenția între mai multe spațiul de stocare. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Administrare Nextcloud / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: Nu există încă nici un fișier de stocare configurat. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: Pentru a configura fişiere de stocare suplimentare, vă rugăm să vizitaţi + setting_up_additional_storages_non_admin: Administratorii pot configura fişiere de stocare suplimentare în Administrare / Stocare fişiere. + setting_up_storages: Pentru configurarea fișierelor, vă rugăm să vizitați + setting_up_storages_non_admin: Administratorii pot configura spațiul de stocare în Administrare / Stocare fișiere. + type: 'Asigurați-vă că aveți drepturi de administrare în instanța Nextcloud și că aveți următoarea aplicație instalată înainte de a face configurarea:' + type_link_text: "Integrare OpenProject”" + label_active: Activ + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Finalizat + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: URL Gazdă + label_inactive: Inactiv + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Ecran Nextcloud" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "Detalii aplicație OAuth" - label_oauth_client_details: "Detalii client OAuth" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Tip flux" - label_project_folder: "Project folder" - label_redirect_uri: "Redirecționați URI" - label_uri: "URI" - label_new_storage: "Stocare nouă" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Depozitare" - label_storages: "Depozite" - label_status: "Stare" - label_files: "Fişiere" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Nume + label_new_file_storage: New %{provider} storage + label_new_storage: Stocare nouă + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirecționați URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Stare + label_storage: Depozitare + label_uri: URI member_connection_status: - connected: "Conectat" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "Nu sunt încă setate stocări." - members_no_results: "No members to display." + connected: Conectat + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: Nu sunt încă setate stocări. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: Stocare de fișiere disponibile în acest proiect + members_connection_status: Members connection status + new: Adaugă un fișier de stocare în acest proiect + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Tip furnizor" + label: Tip furnizor nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Ești sigur? Toți utilizatorii vor trebui să autorizeze din nou împotriva OpenProject." - confirm_replace_oauth_client: "Ești sigur? Toți utilizatorii vor trebui să autorizeze din nou împotriva stocării." - oauth_client_details_missing: "Pentru a finaliza configurarea, vă rugăm să adăugați credențialele clientului OAuth din spațiul de stocare." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "Aplicația OpenProject OAuth a fost înlocuită cu succes." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "în așteptare" - label_error: "Eroare" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/ru.yml b/modules/storages/config/locales/crowdin/ru.yml index 1878fed0ed46..ddac00c8d3c1 100644 --- a/modules/storages/config/locales/crowdin/ru.yml +++ b/modules/storages/config/locales/crowdin/ru.yml @@ -1,268 +1,217 @@ -#English strings go here ru: - plugin_openproject_storages: - name: "OpenProject хранилища" - description: "Позволяет связывать пакеты работ с файлами внешних накопителей, например, Nextcloud." - permission_view_file_links: "Просмотр ссылок на файл" - permission_manage_file_links: "Управление ссылками файлов" - permission_manage_storages_in_project: "Управление файловыми хранилищами в проекте" - permission_read_files: "Чтение файлов" - permission_write_files: "Записать файлы" - permission_create_files: "Создать файлы" - permission_delete_files: "Удалить файлы" - permission_share_files: "Поделиться файлами" - project_module_storages: "Файловые хранилища" - errors: - attributes: - storage_error: - not_authorized: "Не авторизован для внешнего подключения к хранилищу." - not_found: "Запрошенный ресурс во внешнем файловом хранилище найти не удалось." activerecord: - models: - file_link: "Файл" - storages/storage: "Хранилище" attributes: - storages/storage: - name: "Имя" - creator: "Создатель" - provider_type: "Тип поставщика" - host: "Хост" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "ID оригинала" + origin_id: ID оригинала + storages/storage: + creator: Создатель + host: Хост + name: Имя + provider_type: Тип поставщика + tenant: ID каталога (арендатора) errors: messages: - not_linked_to_project: "не связан с проектом." + not_linked_to_project: не связан с проектом. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: может быть только числовым или uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "не доступен для этого хранилища." + mode_unavailable: не доступен для этого хранилища. storages/storage: attributes: host: - cannot_be_connected_to: "не может быть подключен." - minimal_nextcloud_version_unmet: "не соответствует минимальным требованиям к версии (должен быть Nextcloud 23 или выше)" - not_nextcloud_server: "не является сервером Nextcloud" - op_application_not_installed: > - похоже, что приложение "Интеграция с OpenProject" не установлено. Сначала установите его и повторите попытку. - authorization_header_missing: > - не полностью настроено. Экземпляр Nextcloud не получает заголовок "Authorization", который необходим для подтверждения запросов API на основе токена Bearer. Пожалуйста, проверьте конфигурацию HTTP сервера. + authorization_header_missing: не полностью настроено. Экземпляр Nextcloud не получает заголовок "Authorization", который необходим для подтверждения запросов API на основе токена Bearer. Пожалуйста, проверьте конфигурацию HTTP сервера. + cannot_be_connected_to: не может быть подключен. + minimal_nextcloud_version_unmet: не соответствует минимальным требованиям к версии (должен быть Nextcloud 23 или выше) + not_nextcloud_server: не является сервером Nextcloud + op_application_not_installed: похоже, что приложение "Интеграция с OpenProject" не установлено. Сначала установите его и повторите попытку. password: - invalid_password: "недействителен." - unknown_error: "не удалось пройти проверку. Пожалуйста, проверьте подключение к вашему хранилищу и повторите попытку." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "может быть только числовым или uuid." + invalid_password: недействителен. + unknown_error: не удалось пройти проверку. Пожалуйста, проверьте подключение к вашему хранилищу и повторите попытку. + models: + file_link: Файл + storages/storage: Хранилище api_v3: errors: - too_many_elements_created_at_once: "Слишком много элементов, созданных сразу. Ожидалось %{max} максимум - получено %{actual}." + too_many_elements_created_at_once: Слишком много элементов, созданных сразу. Ожидалось %{max} максимум - получено %{actual}. + permission_create_files: Создать файлы + permission_delete_files: Удалить файлы + permission_manage_file_links: Управление ссылками файлов + permission_manage_storages_in_project: Управление файловыми хранилищами в проекте + permission_read_files: Чтение файлов + permission_share_files: Поделиться файлами + permission_view_file_links: Просмотр ссылок на файл + permission_write_files: Записать файлы + project_module_storages: Файловые хранилища storages: - default_name: "Моё хранилище" - unknown_storage: "Неизвестное хранилище" buttons: - done_continue: "Готово, продолжить" - done_continue_setup: "Готово. Продолжить установку" - done_complete_setup: "Готово, завершить установку" - complete_without_setup: "Обходитесь без этого" - edit_automatically_managed_project_folders: "Редактировать автоматически управляемые папки проекта" - replace_openproject_oauth: "Заменить OAuth OpenProject" - replace_provider_type_oauth: "Заменить %{provider_type} OAuth" - save: "Сохранить" - save_and_continue: "Сохранить и продолжить" - save_and_continue_setup: "Сохранить и продолжить установку" - save_and_complete_setup: "Сохранить и завершить установку" - select_folder: "Выберите папку" - configure: "Настроить" - file_storage_view: - general_information: "Информация общего характера" - oauth_applications: "Приложения OAuth" - project_folders: "Папки проекта" - storage_provider: "Поставщик хранилища" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "URI перенаправления" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Автоматически управляемые папки" - page_titles: - file_storages: - subtitle: "Добавьте внешнее хранилище файлов для загрузки, чтобы связывать и управлять файлами в пакетах работ." - delete: "Удалить хранилище файлов" - managed_project_folders: - title: "Автоматически управляемые папки проектов" - subtitle_short: "Позволить OpenProject создавать папки для каждого проекта автоматически." - subtitle: > - Пусть OpenProject создает папки для каждого проекта автоматически. Это рекомендуется для того, чтобы каждый член команды всегда имел правильные права доступа. - project_settings: - index: "Файловые хранилища, доступные в этом проекте" - new: "Добавить хранилище файлов в этот проект" - edit: "Редактировать хранилище файлов для этого проекта" - delete: "Удалить хранилище файлов" - members_connection_status: "Статус подключения участников" - project_storage_members: - title: "Статус подключения участников" - subtitle: "Проверьте статус подключения для хранилища %{storage_name_link} всех участников проекта." - instructions: - type: "Перед установкой убедитесь, что у вас есть права администрирования в вашем экземпляре Nextcloud и что перед установкой установлено следующее приложение:" - type_link_text: "«Интеграционный OpenProject»" - name: "Дайте вашему хранилищу имя, чтобы пользователи могли различать между несколькими хранилищами." - host: "Пожалуйста, добавьте адрес вашего хранилища, включая https://. Он не должен быть длиннее 255 символов." - managed_project_folders_application_password: > - Скопировать это значение из: - managed_project_folders_application_password_caption: "Включите автоматические управляемые папки, копируя это значение из: %{provider_type_link}." - new_storage: "Прочтите нашу документацию по настройке интеграции файлового хранилища %{provider_name} для получения дополнительной информации." - no_storage_set_up: "Нет настроенных хранилищ файлов." - no_specific_folder: "По умолчанию каждый пользователь при загрузке файла начинает работу со своей собственной домашней папки." - automatic_folder: "Это автоматически создаст корневую папку для этого проекта и будет управлять правами доступа для каждого участника проекта." - empty_project_folder_validation: "Выбор папки является обязательным для продолжения." - not_logged_into_storage: "Чтобы выбрать папку проекта, сначала войдите" - existing_manual_folder: > - Вы можете назначить существующую папку в качестве корневой папки для этого проекта. Однако разрешения не управляются автоматически, администратору необходимо вручную обеспечить доступ соответствующим пользователям. Выбранная папка может использоваться несколькими проектами. - setting_up_additional_storages: "Для настройки дополнительных файловых хранилищ посетите" - setting_up_additional_storages_non_admin: "Администраторы могут настроить дополнительные файловые хранилища в Администрировании / Файловых хранилищах." - setting_up_storages: "Для настройки файловых хранилищ посетите" - setting_up_storages_non_admin: "Администраторы могут настроить файловые хранилища в Администрировании / Файловых хранилищах." - all_available_storages_already_added: "Все доступные хранилища уже добавлены в проект." - oauth_application_details: "Секретное значение клиента не будет доступно снова после закрытия этого окна. Пожалуйста, скопируйте эти значения в %{oauth_application_details_link}." - oauth_application_details_link_text: "Настройки интеграции Nextcloud OpenProject" - copy_from: "Скопировать это значение из" - nextcloud: - provider_configuration: "Пожалуйста, убедитесь, что у вас есть права администрирования в копии Nextcloud, и перед установкой настроен %{application_link_text}." - oauth_configuration: "Скопируйте эти значения из %{application_link_text}." - application_link_text: "Приложение «Интеграция OpenProject»" - integration: "Администрирование NextCloud / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Скопируйте идентификатор клиента из портала Azure. Это необходимо для генерации редиректного URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Скопируйте это значение в новый Web redirect URI под URI перенаправления. - missing_client_id_for_redirect_uri: "Пожалуйста, заполните значения OAuth для генерации URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Имя или UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Копировать перенаправление URI" - help_texts: - project_folder: > - Папка проекта является папкой по умолчанию для загрузки файлов для этого проекта. Тем не менее, пользователи по-прежнему могут загружать файлы в другие места. + complete_without_setup: Обходитесь без этого + done_complete_setup: Готово, завершить установку + done_continue: Готово, продолжить + replace_provider_type_oauth: Заменить %{provider_type} OAuth + save_and_continue: Сохранить и продолжить + select_folder: Выберите папку configuration_checks: oauth_client_incomplete: - nextcloud: "Разрешить OpenProject доступ к данным Nextcloud с помощью OAuth." - one_drive: "Разрешить OpenProject доступ к данным Azure, используя OAuth для подключения OneDrive/Sharepoint." + nextcloud: Разрешить OpenProject доступ к данным Nextcloud с помощью OAuth. + one_drive: Разрешить OpenProject доступ к данным Azure, используя OAuth для подключения OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Завершите установку с правильным перенаправлением URI. + confirm_replace_oauth_application: Вы уверены? Всем пользователям придется снова авторизоваться в OpenProject. + confirm_replace_oauth_client: Вы уверены? Все пользователи должны будут снова авторизоваться на хранилище. delete_warning: - storage: > - Вы уверены, что хотите удалить %{file_storage}? Чтобы подтвердить это действие, введите имя хранилища в поле ниже. Это: - storage_delete_result_1: "Удалить все настройки хранилища для всех проектов, использующих это хранилище." - storage_delete_result_2: "Удалить все ссылки из пакетов работ всех проектов в файлы и папки этого хранилища." - storage_delete_result_3: "В случае, если хранилище имеет автоматически управляемые папки проектов, они и содержащиеся в них файлы будут удалены навсегда." - project_storage: > - Вы уверены, что хотите удалить %{file_storage} из этого проекта? Для подтверждения этого действия, пожалуйста, введите имя хранилища в поле ниже, это позволит: - project_storage_delete_result_1: "Удалить все ссылки из пакетов работ этого проекта в файлы и папки этого хранилища." - project_storage_delete_result_2: "В случае, если хранилище имеет автоматически управляемую папку проекта, она и ее файлы будут удалены навсегда." - input_delete_confirmation: "Введите имя хранилища файлов %{file_storage} для подтверждения удаления." - irreversible_notice: "Удаление хранилища файлов является необратимым действием." - storage_list_blank_slate: - heading: "У вас пока нет хранилищ." - description: "Добавьте хранилище, чтобы увидеть его здесь." - error_invalid_provider_type: "Пожалуйста, выберите допустимого поставщика хранилища." - label_active: "Активный" - label_add_new_storage: "Добавить новое хранилище" - label_delete_storage: "Удалить хранилище" - label_inactive: "Неактивный" - label_creator: "Создатель" - label_provider: "Поставщик" - label_file_link: "Ссылка на файл" - label_file_links: "Ссылки на файл" - label_file_storage: "Файловое хранилище" - label_creation_time: "Время создания" - label_completed: "Выполнено" - label_incomplete: "Не завершено" - label_name: "Имя" - label_host: "URL хоста" + input_delete_confirmation: Введите имя хранилища файлов %{file_storage} для подтверждения удаления. + irreversible_notice: Удаление хранилища файлов является необратимым действием. + project_storage: 'Вы уверены, что хотите удалить %{file_storage} из этого проекта? Для подтверждения этого действия, пожалуйста, введите имя хранилища в поле ниже, это позволит:' + project_storage_delete_result_1: Удалить все ссылки из пакетов работ этого проекта в файлы и папки этого хранилища. + project_storage_delete_result_2: В случае, если хранилище имеет автоматически управляемую папку проекта, она и ее файлы будут удалены навсегда. + storage: 'Вы уверены, что хотите удалить %{file_storage}? Чтобы подтвердить это действие, введите имя хранилища в поле ниже. Это:' + storage_delete_result_1: Удалить все настройки хранилища для всех проектов, использующих это хранилище. + storage_delete_result_2: Удалить все ссылки из пакетов работ всех проектов в файлы и папки этого хранилища. + storage_delete_result_3: В случае, если хранилище имеет автоматически управляемые папки проектов, они и содержащиеся в них файлы будут удалены навсегда. + error_invalid_provider_type: Пожалуйста, выберите допустимого поставщика хранилища. + file_storage_view: + automatically_managed_folders: Автоматически управляемые папки + general_information: Информация общего характера + nextcloud_oauth: Nextcloud OAuth + oauth_applications: Приложения OAuth + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Папки проекта + redirect_uri: URI перенаправления + storage_provider: Поставщик хранилища + health: + checked: Последняя проверка %{datetime} + label_error: Ошибка + label_healthy: Здоровые + label_pending: В ожидании + since: с %{datetime} + title: Статус управляемых папок + help_texts: + project_folder: Папка проекта является папкой по умолчанию для загрузки файлов для этого проекта. Тем не менее, пользователи по-прежнему могут загружать файлы в другие места. + instructions: + all_available_storages_already_added: Все доступные хранилища уже добавлены в проект. + automatic_folder: Это автоматически создаст корневую папку для этого проекта и будет управлять правами доступа для каждого участника проекта. + copy_from: Скопировать это значение из + empty_project_folder_validation: Выбор папки является обязательным для продолжения. + existing_manual_folder: Вы можете назначить существующую папку в качестве корневой папки для этого проекта. Однако разрешения не управляются автоматически, администратору необходимо вручную обеспечить доступ соответствующим пользователям. Выбранная папка может использоваться несколькими проектами. + host: Пожалуйста, добавьте адрес вашего хранилища, включая https://. Он не должен быть длиннее 255 символов. + managed_project_folders_application_password_caption: 'Включите автоматические управляемые папки, копируя это значение из: %{provider_type_link}.' + name: Дайте вашему хранилищу имя, чтобы пользователи могли различать между несколькими хранилищами. + new_storage: Прочтите нашу документацию по настройке интеграции файлового хранилища %{provider_name} для получения дополнительной информации. + nextcloud: + application_link_text: Приложение «Интеграция OpenProject» + integration: Администрирование NextCloud / OpenProject + oauth_configuration: Скопируйте эти значения из %{application_link_text}. + provider_configuration: Пожалуйста, убедитесь, что у вас есть права администрирования в копии Nextcloud, и перед установкой настроен %{application_link_text}. + no_specific_folder: По умолчанию каждый пользователь при загрузке файла начинает работу со своей собственной домашней папки. + no_storage_set_up: Нет настроенных хранилищ файлов. + not_logged_into_storage: Чтобы выбрать папку проекта, сначала войдите + oauth_application_details: Секретное значение клиента не будет доступно снова после закрытия этого окна. Пожалуйста, скопируйте эти значения в %{oauth_application_details_link}. + oauth_application_details_link_text: Настройки интеграции Nextcloud OpenProject + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Копировать перенаправление URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Пожалуйста, заполните значения OAuth для генерации URI + oauth_client_redirect_uri: Скопируйте это значение в новый Web redirect URI под URI перенаправления. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Имя или UUID + setting_up_additional_storages: Для настройки дополнительных файловых хранилищ посетите + setting_up_additional_storages_non_admin: Администраторы могут настроить дополнительные файловые хранилища в Администрировании / Файловых хранилищах. + setting_up_storages: Для настройки файловых хранилищ посетите + setting_up_storages_non_admin: Администраторы могут настроить файловые хранилища в Администрировании / Файловых хранилищах. + type: 'Перед установкой убедитесь, что у вас есть права администрирования в вашем экземпляре Nextcloud и что перед установкой установлено следующее приложение:' + type_link_text: "«Интеграционный OpenProject»" + label_active: Активный + label_add_new_storage: Добавить новое хранилище + label_automatic_folder: Новая папка с автоматически управляемыми правами + label_completed: Выполнено + label_creation_time: Время создания + label_creator: Создатель + label_delete_storage: Удалить хранилище + label_edit_storage: Редактировать хранилище + label_edit_storage_automatically_managed_folders: Редактирование хранилища автоматически управляемых папок + label_edit_storage_host: Изменить узел хранения + label_edit_storage_oauth_client: Редактировать хранилище OAuth клиента + label_existing_manual_folder: Существующая папка с разрешениями, управляемыми вручную + label_file_storage: Файловое хранилище + label_host: URL хоста + label_inactive: Неактивный + label_incomplete: Не завершено label_managed_project_folders: - automatically_managed_folders: "Автоматически управляемые папки" - application_password: "Пароль приложения" - label_managed_project_folders_breadcrumb: "Автоматически управляемые папки проектов" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "Подробности приложения OAuth" - label_oauth_client_details: "Детали клиента OAuth" - label_openproject_oauth_application_id: "OpenProject OAuth ID клиента" - label_openproject_oauth_application_secret: "Секрет клиента OpenProject OAuth" - label_oauth_client_id: "OAuth ID клиента" - label_oauth_client_secret: "Секрет клиента OAuth" - label_information: "Дополнительная информация" - label_provider_type: "Тип поставщика" - label_project_folder: "Папка проекта" - label_redirect_uri: "URI перенаправления" - label_uri: "URI (ссылка)" - label_new_storage: "Новое хранилище" - label_new_file_storage: "Новая %{provider} хранилище" - label_edit_storage: "Редактировать хранилище" - label_edit_storage_host: "Изменить узел хранения" - label_edit_storage_oauth_client: "Редактировать хранилище OAuth клиента" - label_show_storage_redirect_uri: "Показать перенаправление URI" - label_edit_storage_automatically_managed_folders: "Редактирование хранилища автоматически управляемых папок" - label_existing_manual_folder: "Существующая папка с разрешениями, управляемыми вручную" - label_no_specific_folder: "Нет конкретной папки" - label_automatic_folder: "Новая папка с автоматически управляемыми правами" - label_no_selected_folder: "Папка не выбрана" - label_select_provider: "Выберите поставщика" - label_storage: "Хранилище" - label_storages: "Хранилища" - label_status: "Статус" - label_files: "Файлы" + application_password: Пароль приложения + automatically_managed_folders: Автоматически управляемые папки + label_name: Имя + label_new_file_storage: Новая %{provider} хранилище + label_new_storage: Новое хранилище + label_no_selected_folder: Папка не выбрана + label_no_specific_folder: Нет конкретной папки + label_oauth_client_id: OAuth ID клиента + label_openproject_oauth_application_id: OpenProject OAuth ID клиента + label_openproject_oauth_application_secret: Секрет клиента OpenProject OAuth + label_project_folder: Папка проекта + label_provider: Поставщик + label_redirect_uri: URI перенаправления + label_show_storage_redirect_uri: Показать перенаправление URI + label_status: Статус + label_storage: Хранилище + label_uri: URI (ссылка) member_connection_status: - connected: "Подключено" - connected_no_permissions: "Роль пользователя не имеет разрешения на хранение" - not_connected: "Не подключено. Пользователь должен войти в хранилище с помощью следующего %{link}." - no_results: "Хранилища еще не настроены." - members_no_results: "Нет участников для отображения." + connected: Подключено + connected_no_permissions: Роль пользователя не имеет разрешения на хранение + not_connected: Не подключено. Пользователь должен войти в хранилище с помощью следующего %{link}. + members_no_results: Нет участников для отображения. + no_results: Хранилища еще не настроены. + notice_successful_storage_connection: Хранилище успешно подключено! Не забудьте активировать модуль и определенное хранилище в настройках проекта для его использования. + open_project_storage_modal: + success: + a: Установка интеграции завершена + b: Вы будете перенаправлены + waiting: + a: Мы настраиваем ваши права доступа к папке проекта. + b: Одну минутку, пожалуйста, это может занять некоторое время... + page_titles: + file_storages: + delete: Удалить хранилище файлов + subtitle: Добавьте внешнее хранилище файлов для загрузки, чтобы связывать и управлять файлами в пакетах работ. + managed_project_folders: + subtitle: Пусть OpenProject создает папки для каждого проекта автоматически. Это рекомендуется для того, чтобы каждый член команды всегда имел правильные права доступа. + subtitle_short: Позволить OpenProject создавать папки для каждого проекта автоматически. + title: Автоматически управляемые папки проектов + project_settings: + delete: Удалить хранилище файлов + edit: Редактировать хранилище файлов для этого проекта + index: Файловые хранилища, доступные в этом проекте + members_connection_status: Статус подключения участников + new: Добавить хранилище файлов в этот проект + project_storage_members: + subtitle: Проверьте статус подключения для хранилища %{storage_name_link} всех участников проекта. + title: Статус подключения участников provider_types: - label: "Тип поставщика" + label: Тип поставщика nextcloud: - name: "Nextcloud" - name_placeholder: "например, Nextcloud" - label_oauth_client_id: "ID клиента Nextcloud OAuth" - label_oauth_client_secret: "Секрет клиента Nextcloud OAuth" + label_oauth_client_id: ID клиента Nextcloud OAuth + label_oauth_client_secret: Секрет клиента Nextcloud OAuth + name: Nextcloud + name_placeholder: например, Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "напр. OneDrive" - label_oauth_client_id: "ID приложения (клиента) Azure OAuth" - label_oauth_client_secret: "Секретное значение клиента Azure OAuth" - confirm_replace_oauth_application: "Вы уверены? Всем пользователям придется снова авторизоваться в OpenProject." - confirm_replace_oauth_client: "Вы уверены? Все пользователи должны будут снова авторизоваться на хранилище." - oauth_client_details_missing: "Чтобы завершить установку, пожалуйста, добавьте учетные данные клиента OAuth из вашего хранилища." - automatically_managed_project_folder_missing: "Для завершения установки, пожалуйста, настройте автоматически управляемые папки проекта для вашего хранилища." - notice_oauth_application_replaced: "Приложение OpenProject OAuth успешно заменено." - notice_successful_storage_connection: "Хранилище успешно подключено! Не забудьте активировать модуль и определенное хранилище в настройках проекта для его использования." - open_project_storage_modal: - waiting: - a: "Мы настраиваем ваши права доступа к папке проекта." - b: "Одну минутку, пожалуйста, это может занять некоторое время..." - success: - a: "Установка интеграции завершена" - b: "Вы будете перенаправлены" - health: - title: "Статус управляемых папок" - label_pending: "В ожидании" - label_error: "Ошибка" - label_healthy: "Здоровые" - checked: "Последняя проверка %{datetime}" - since: "с %{datetime}" + label_oauth_client_id: ID приложения (клиента) Azure OAuth + label_oauth_client_secret: Секретное значение клиента Azure OAuth + name: OneDrive/SharePoint + name_placeholder: напр. OneDrive + storage_list_blank_slate: + description: Добавьте хранилище, чтобы увидеть его здесь. + heading: У вас пока нет хранилищ. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/rw.yml b/modules/storages/config/locales/crowdin/rw.yml index 33be4f306a19..27713dc9b3d9 100644 --- a/modules/storages/config/locales/crowdin/rw.yml +++ b/modules/storages/config/locales/crowdin/rw.yml @@ -1,268 +1,217 @@ -#English strings go here rw: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "File" - storages/storage: "Storage" attributes: - storages/storage: - name: "Name" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Name + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: File + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Save" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Active" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Name" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Active + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Files" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Name + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/si.yml b/modules/storages/config/locales/crowdin/si.yml index 233b871154f4..6cc384a4453a 100644 --- a/modules/storages/config/locales/crowdin/si.yml +++ b/modules/storages/config/locales/crowdin/si.yml @@ -1,268 +1,217 @@ -#English strings go here si: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "ගොනුව" - storages/storage: "Storage" attributes: - storages/storage: - name: "නම" - creator: "Creator" - provider_type: "Provider type" - host: "සත්කාරක" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: සත්කාරක + name: නම + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: ගොනුව + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "සුරකින්න" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "සකසන්න" - file_storage_view: - general_information: "General information" - oauth_applications: "OAUTH අයදුම්පත්" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "නැවත හරවා යැවීමේ URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "ක්රියාකාරී" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "අක්රිය" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "නම" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAUTH අයදුම්පත් + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: නැවත හරවා යැවීමේ URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: දෝෂය + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: ක්රියාකාරී + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: අක්රිය + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "නැවත හරවා යැවීමේ URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "තත්වය" - label_files: "ගොනු" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: නම + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: නැවත හරවා යැවීමේ URI + label_show_storage_redirect_uri: Show redirect URI + label_status: තත්වය + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "දෝෂය" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/sk.yml b/modules/storages/config/locales/crowdin/sk.yml index b1a7c9b29296..5f7c4b3dac27 100644 --- a/modules/storages/config/locales/crowdin/sk.yml +++ b/modules/storages/config/locales/crowdin/sk.yml @@ -1,268 +1,217 @@ -#English strings go here sk: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Súbor" - storages/storage: "Storage" attributes: - storages/storage: - name: "Názov" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Názov + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Súbor + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Uložiť" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Konfigurovať" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth aplikácie" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Presmerovať URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktívny" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Neaktívny" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Názov" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth aplikácie + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Presmerovať URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Chyba + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktívny + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Neaktívny + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Presmerovať URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Stav" - label_files: "Súbory" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Názov + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Presmerovať URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Stav + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Chyba" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/sl.yml b/modules/storages/config/locales/crowdin/sl.yml index 9a9073881eea..315b368a84ee 100644 --- a/modules/storages/config/locales/crowdin/sl.yml +++ b/modules/storages/config/locales/crowdin/sl.yml @@ -1,268 +1,217 @@ -#English strings go here sl: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Datoteka" - storages/storage: "Storage" attributes: - storages/storage: - name: "Ime" - creator: "Creator" - provider_type: "Provider type" - host: "Gostitelj" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Gostitelj + name: Ime + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Datoteka + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Shrani" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Nastavi" - file_storage_view: - general_information: "General information" - oauth_applications: "Aplikacija OAuth" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Preusmeritev URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktivno" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Neaktiven" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Zaključeno" - label_incomplete: "Incomplete" - label_name: "Ime" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: Aplikacija OAuth + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Preusmeritev URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Napaka + label_healthy: Healthy + label_pending: Čakajoče + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktivno + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Zaključeno + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Neaktiven + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Preusmeritev URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Stanje" - label_files: "Datoteke" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Ime + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Preusmeritev URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Stanje + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Čakajoče" - label_error: "Napaka" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/sr.yml b/modules/storages/config/locales/crowdin/sr.yml index e4200da1fb71..b1a2b1e5762b 100644 --- a/modules/storages/config/locales/crowdin/sr.yml +++ b/modules/storages/config/locales/crowdin/sr.yml @@ -1,268 +1,217 @@ -#English strings go here sr: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "File" - storages/storage: "Storage" attributes: - storages/storage: - name: "Name" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Name + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: File + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Save" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Active" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Name" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Active + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Files" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Name + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/sv.yml b/modules/storages/config/locales/crowdin/sv.yml index 5f31c15f7f71..9c2f4027b38a 100644 --- a/modules/storages/config/locales/crowdin/sv.yml +++ b/modules/storages/config/locales/crowdin/sv.yml @@ -1,268 +1,217 @@ -#English strings go here sv: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Fil" - storages/storage: "Storage" attributes: - storages/storage: - name: "Namn" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Namn + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Fil + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Spara" - save_and_continue: "Spara och fortsätt" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Konfigurera" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applikationer" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Omdirigerings-URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Spara och fortsätt + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktiv" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inaktiv" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Namn" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applikationer + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Omdirigerings-URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Fel + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Aktiv + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inaktiv + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Omdirigerings-URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Filer" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Namn + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Omdirigerings-URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "t. ex. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: t. ex. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "t. ex. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Fel" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: t. ex. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/th.yml b/modules/storages/config/locales/crowdin/th.yml index c8184893e857..259fb924f1b5 100644 --- a/modules/storages/config/locales/crowdin/th.yml +++ b/modules/storages/config/locales/crowdin/th.yml @@ -1,268 +1,217 @@ -#English strings go here th: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "ไฟล์" - storages/storage: "Storage" attributes: - storages/storage: - name: "ชื่อ" - creator: "Creator" - provider_type: "Provider type" - host: "โฮสต์" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: โฮสต์ + name: ชื่อ + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: ไฟล์ + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "บันทึก" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "กำหนดค่า" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "ใช้งานอยู่" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "ชื่อ" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: ข้อผิดพลาด + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: ใช้งานอยู่ + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "สถานะ" - label_files: "ไฟล์" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: ชื่อ + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: สถานะ + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "ข้อผิดพลาด" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/tr.yml b/modules/storages/config/locales/crowdin/tr.yml index 9fc62edfead2..d3a8b6b519a6 100644 --- a/modules/storages/config/locales/crowdin/tr.yml +++ b/modules/storages/config/locales/crowdin/tr.yml @@ -1,268 +1,217 @@ -#English strings go here tr: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "Dosya bağlantılarını görüntüle" - permission_manage_file_links: "Dosya bağlantılarını yönet" - permission_manage_storages_in_project: "Projedeki dosya depolarını yönetin" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "Dosya depoları" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Dosya" - storages/storage: "Depolama" attributes: - storages/storage: - name: "İsim" - creator: "Oluşturan" - provider_type: "Sağlayıcı türü" - host: "Sunucu" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Kaynak kimliği" + origin_id: Kaynak kimliği + storages/storage: + creator: Oluşturan + host: Sunucu + name: İsim + provider_type: Sağlayıcı türü + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "projeye bağlı değildir." + not_linked_to_project: projeye bağlı değildir. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: yalnızca sayısal veya uuid olabilir. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "ile bağlanamaz." - minimal_nextcloud_version_unmet: "minimum sürüm gereksinimlerini karşılamıyor (Nextcloud 23 veya üstü olmalıdır)" - not_nextcloud_server: "bir Nextcloud sunucusu değil" - op_application_not_installed: > - "OpenProject entegrasyonu" uygulamasının yüklü olmadığı görülüyor. Lütfen önce kurun ve sonra tekrar deneyin. - authorization_header_missing: > - tam olarak kurulmamıştır. Nextcloud örneği, API isteklerinin Taşıyıcı belirteci tabanlı yetkilendirmesi için gerekli olan "Yetkilendirme" başlığını almaz. Lütfen HTTP sunucu yapılandırmanızı iki kez kontrol edin. + authorization_header_missing: tam olarak kurulmamıştır. Nextcloud örneği, API isteklerinin Taşıyıcı belirteci tabanlı yetkilendirmesi için gerekli olan "Yetkilendirme" başlığını almaz. Lütfen HTTP sunucu yapılandırmanızı iki kez kontrol edin. + cannot_be_connected_to: ile bağlanamaz. + minimal_nextcloud_version_unmet: minimum sürüm gereksinimlerini karşılamıyor (Nextcloud 23 veya üstü olmalıdır) + not_nextcloud_server: bir Nextcloud sunucusu değil + op_application_not_installed: '"OpenProject entegrasyonu" uygulamasının yüklü olmadığı görülüyor. Lütfen önce kurun ve sonra tekrar deneyin.' password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "yalnızca sayısal veya uuid olabilir." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Dosya + storages/storage: Depolama api_v3: errors: - too_many_elements_created_at_once: "Aynı anda çok fazla öğe oluşturuldu. En fazla %{max} bekleniyordu, %{actual} alındı." + too_many_elements_created_at_once: Aynı anda çok fazla öğe oluşturuldu. En fazla %{max} bekleniyordu, %{actual} alındı. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Dosya bağlantılarını yönet + permission_manage_storages_in_project: Projedeki dosya depolarını yönetin + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: Dosya bağlantılarını görüntüle + permission_write_files: Write files + project_module_storages: Dosya depoları storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Tamamlandı. Kuruluma devam et" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "OpenProject OAuth'u değiştirin" - replace_provider_type_oauth: "%{provider_type} OAuth'u değiştirin" - save: "Kaydet" - save_and_continue: "Save and continue" - save_and_continue_setup: "Kaydet ve kuruluma devam et" - save_and_complete_setup: "Kaydet ve kurulumu tamamla" - select_folder: "Select folder" - configure: "Düzenle" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth uygulamaları" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Yönlendirme URL'si" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "Bu projedeki mevcut dosya depoları" - new: "Bu projeye bir dosya deposu ekle" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Lütfen Nextcloud bulut sunucunuzda yönetici ayrıcalıklarına sahip olduğunuzdan ve kurulumu yapmadan önce aşağıdaki uygulamanın kurulu olduğundan emin olun:" - type_link_text: "“Entegrasyon OpenProject”" - name: "Kullanıcıların birden fazla depolama alanı arasında ayrım yapabilmesi için depolama alanınıza bir ad verin." - host: "Lütfen https dahil olmak üzere depolama alanınızın ana bilgisayar adresini ekleyin:" - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "Henüz ayarlanmış dosya deposu yok." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "Ek dosya depoları ayarlamak için lütfen adresi ziyaret edin." - setting_up_additional_storages_non_admin: "Yöneticiler, Yönetim'de ek dosya depoları kurabilir" - setting_up_storages: "Dosya depolarını ayarlamak için lütfen adresi ziyaret edin." - setting_up_storages_non_admin: "Yöneticiler, Yönetim'de dosya depoları kurabilir" - all_available_storages_already_added: "Mevcut tüm depolar zaten projeye eklenmiştir." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Bu değeri şuradan kopyala" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Yönetimi / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: '%{provider_type} OAuth''u değiştirin' + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Emin misiniz? Tüm kullanıcıların OpenProject'e karşı yeniden yetkilendirmesi gerekecektir. + confirm_replace_oauth_client: Emin misiniz? Tüm kullanıcılar, depolamaya karşı yeniden yetkilendirme yapmak zorunda kalacak. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Aktif" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Etkin değil" - label_creator: "Oluşturan" - label_provider: "Provider" - label_file_link: "Dosya bağlantısı" - label_file_links: "Dosya bağlantıları" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Tamamlandı" - label_incomplete: "Incomplete" - label_name: "İsim" - label_host: "Barındırıcı URL'si" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth uygulamaları + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Yönlendirme URL'si + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Hata + label_healthy: Healthy + label_pending: Bekliyor + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: Mevcut tüm depolar zaten projeye eklenmiştir. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Bu değeri şuradan kopyala + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: 'Lütfen https dahil olmak üzere depolama alanınızın ana bilgisayar adresini ekleyin:' + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Kullanıcıların birden fazla depolama alanı arasında ayrım yapabilmesi için depolama alanınıza bir ad verin. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Yönetimi / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: Henüz ayarlanmış dosya deposu yok. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: Ek dosya depoları ayarlamak için lütfen adresi ziyaret edin. + setting_up_additional_storages_non_admin: Yöneticiler, Yönetim'de ek dosya depoları kurabilir + setting_up_storages: Dosya depolarını ayarlamak için lütfen adresi ziyaret edin. + setting_up_storages_non_admin: Yöneticiler, Yönetim'de dosya depoları kurabilir + type: 'Lütfen Nextcloud bulut sunucunuzda yönetici ayrıcalıklarına sahip olduğunuzdan ve kurulumu yapmadan önce aşağıdaki uygulamanın kurulu olduğundan emin olun:' + type_link_text: "“Entegrasyon OpenProject”" + label_active: Aktif + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Tamamlandı + label_creation_time: Creation time + label_creator: Oluşturan + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Barındırıcı URL'si + label_inactive: Etkin değil + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth uygulaması ayrıntıları" - label_oauth_client_details: "OAuth istemci ayrıntıları" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth İstemci Kimliği" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Sağlayıcı türü" - label_project_folder: "Project folder" - label_redirect_uri: "Yönlendirme URL'si" - label_uri: "URI" - label_new_storage: "Yeni depolama" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Depolama" - label_storages: "Depolamalar" - label_status: "Durum" - label_files: "Dosyalar" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: İsim + label_new_file_storage: New %{provider} storage + label_new_storage: Yeni depolama + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth İstemci Kimliği + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Yönlendirme URL'si + label_show_storage_redirect_uri: Show redirect URI + label_status: Durum + label_storage: Depolama + label_uri: URI member_connection_status: - connected: "Bağlandı" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "Henüz ayarlanmış depolama alanı yok." - members_no_results: "No members to display." + connected: Bağlandı + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: Henüz ayarlanmış depolama alanı yok. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: Bu projedeki mevcut dosya depoları + members_connection_status: Members connection status + new: Bu projeye bir dosya deposu ekle + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Sağlayıcı türü" + label: Sağlayıcı türü nextcloud: - name: "Nextcloud" - name_placeholder: "ör. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: ör. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Emin misiniz? Tüm kullanıcıların OpenProject'e karşı yeniden yetkilendirmesi gerekecektir." - confirm_replace_oauth_client: "Emin misiniz? Tüm kullanıcılar, depolamaya karşı yeniden yetkilendirme yapmak zorunda kalacak." - oauth_client_details_missing: "Kurulumu tamamlamak için lütfen depolama alanınızdan OAuth istemci kimlik bilgilerini ekleyin." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "OpenProject OAuth uygulaması başarıyla değiştirildi." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Bekliyor" - label_error: "Hata" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/uk.yml b/modules/storages/config/locales/crowdin/uk.yml index 30600409be08..075b508ee474 100644 --- a/modules/storages/config/locales/crowdin/uk.yml +++ b/modules/storages/config/locales/crowdin/uk.yml @@ -1,268 +1,217 @@ -#English strings go here uk: - plugin_openproject_storages: - name: "Сховища OpenProject" - description: "" - permission_view_file_links: "Перегляд посилань на файл" - permission_manage_file_links: "Керування посиланнями на файл" - permission_manage_storages_in_project: "Керування файловими сховищами в проєкті" - permission_read_files: "Перегляд файлів" - permission_write_files: "Редагування файлів" - permission_create_files: "Створення файлів" - permission_delete_files: "Видалення файлів" - permission_share_files: "Надсилання файлів" - project_module_storages: "Файлові сховища" - errors: - attributes: - storage_error: - not_authorized: "Немає дозволу на зовнішнє підключення до сховища." - not_found: "Не вдалося знайти потрібний ресурс у зовнішньому файловому сховищі." activerecord: - models: - file_link: "Файл" - storages/storage: "Сховище" attributes: - storages/storage: - name: "Назва" - creator: "Автор" - provider_type: "Тип постачальника" - host: "Хост" - tenant: "ID каталогу (клієнта)" storages/file_link: - origin_id: "Код джерела" + origin_id: Код джерела + storages/storage: + creator: Автор + host: Хост + name: Назва + provider_type: Тип постачальника + tenant: ID каталогу (клієнта) errors: messages: - not_linked_to_project: "– не пов’язано з проєктом." + not_linked_to_project: '– не пов’язано з проєктом.' models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: '– може бути тільки числом або ідентифікатором uuid.' storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "– недоступно для цього сховища." + mode_unavailable: '– недоступно для цього сховища.' storages/storage: attributes: host: - cannot_be_connected_to: "– не можна підключитися." - minimal_nextcloud_version_unmet: "– не відповідає мінімальним вимогам до версії (Nextcloud 23 або новішої версії)" - not_nextcloud_server: "– не є сервером Nextcloud." - op_application_not_installed: > - схоже, у вас не встановлено додаток OpenProject integration. Спочатку встановіть його, а потім спробуйте знову. - authorization_header_missing: > - налаштовано не повністю. Екземпляр Nextcloud не отримує заголовка «Authorization», який необхідний для авторизації запитів API на основі маркерів власника. Перевірте свою конфігурацію сервера HTTP. + authorization_header_missing: налаштовано не повністю. Екземпляр Nextcloud не отримує заголовка «Authorization», який необхідний для авторизації запитів API на основі маркерів власника. Перевірте свою конфігурацію сервера HTTP. + cannot_be_connected_to: '– не можна підключитися.' + minimal_nextcloud_version_unmet: '– не відповідає мінімальним вимогам до версії (Nextcloud 23 або новішої версії)' + not_nextcloud_server: '– не є сервером Nextcloud.' + op_application_not_installed: схоже, у вас не встановлено додаток OpenProject integration. Спочатку встановіть його, а потім спробуйте знову. password: - invalid_password: "недійсний." - unknown_error: "не вдалося перевірити. Перевірте підключення до сховища й повторіть спробу." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "– може бути тільки числом або ідентифікатором uuid." + invalid_password: недійсний. + unknown_error: не вдалося перевірити. Перевірте підключення до сховища й повторіть спробу. + models: + file_link: Файл + storages/storage: Сховище api_v3: errors: - too_many_elements_created_at_once: "Забагато елементів, створених за раз. Очікувалося щонайбільше %{max}; отримано %{actual}." + too_many_elements_created_at_once: Забагато елементів, створених за раз. Очікувалося щонайбільше %{max}; отримано %{actual}. + permission_create_files: Створення файлів + permission_delete_files: Видалення файлів + permission_manage_file_links: Керування посиланнями на файл + permission_manage_storages_in_project: Керування файловими сховищами в проєкті + permission_read_files: Перегляд файлів + permission_share_files: Надсилання файлів + permission_view_file_links: Перегляд посилань на файл + permission_write_files: Редагування файлів + project_module_storages: Файлові сховища storages: - default_name: "Моє сховище" - unknown_storage: "Невідоме сховище" buttons: - done_continue: "Виконано, продовжити " - done_continue_setup: "Готово – продовжити налаштування" - done_complete_setup: "Готово – завершити налаштування" - complete_without_setup: "Завершити без налаштування" - edit_automatically_managed_project_folders: "Редагувати папки проєкту з автоматичним керуванням" - replace_openproject_oauth: "Замінити OpenProject OAuth" - replace_provider_type_oauth: "Замінити %{provider_type} OAuth" - save: "Зберегти" - save_and_continue: "Зберегти та продовжити" - save_and_continue_setup: "Зберегти й продовжити налаштування" - save_and_complete_setup: "Зберегти й завершити налаштування" - select_folder: "Вибрати папку" - configure: "Налаштувати" - file_storage_view: - general_information: "Загальна інформація" - oauth_applications: "Програми OAuth" - project_folders: "Папки проєкту" - storage_provider: "Постачальник сховища" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "URI переспрямування" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Папки з автоматичним керуванням" - page_titles: - file_storages: - subtitle: "Додайте зовнішнє файлове сховище, щоб вивантажувати файли, створювати посилання й керувати файлами в пакетах робіт." - delete: "Видалити файлове сховище" - managed_project_folders: - title: "Папки проєкту з автоматичним керуванням" - subtitle_short: "Дозвольте автоматично створювати папки для кожного проєкту в OpenProject." - subtitle: > - Дозвольте OpenProject автоматично створювати папки для проєкту. Радимо зробити це, адже в такому разі кожен учасник команди завжди матиме належні дозволи на доступ. - project_settings: - index: "Файлові сховища доступні в цьому проєкті" - new: "Додайте сховище файлів до цього проєкту" - edit: "Редагувати файлове сховище для цього проєкту" - delete: "Видалити файлове сховище" - members_connection_status: "Стан підключення учасників" - project_storage_members: - title: "Стан підключення учасників" - subtitle: "Перевірте стан підключення до сховища %{storage_name_link} для всіх учасників проєкту." - instructions: - type: "Перш ніж виконувати налаштування, переконайтеся, що маєте права адміністратора у своєму екземплярі Nextcloud і що встановлено цей додаток:" - type_link_text: "«Інтеграція OpenProject»" - name: "Назвіть своє сховище, щоб користувачі могли відрізняти його від інших сховищ." - host: "Додайте адресу хосту для свого сховища, включно з https://. Її довжина не може перевищувати 255 символів." - managed_project_folders_application_password: > - Копіювати це значення з: - managed_project_folders_application_password_caption: "Увімкніть папки з автоматичним керуванням, скопіювавши це значення з %{provider_type_link}." - new_storage: "Щою дізнатися більше, ознайомтеся з нашою документацією щодо налаштування інтеграції файлового сховища %{provider_name}." - no_storage_set_up: "Файлові сховища поки не створено." - no_specific_folder: "За замовчуванням кожен користувач, який передасть файл, починатиме роботу у власній головній папці." - automatic_folder: "Буде автоматично створено кореневу папку для цього проєкту й налаштовано дозволи на доступ для кожного учасника проєкту." - empty_project_folder_validation: "Щоб продовжити, потрібно вибрати папку." - not_logged_into_storage: "Шоб вибрати папку проєкту, спочатку ввійдіть" - existing_manual_folder: > - Ви можете призначити наявну папку як кореневу папку для цього проєкту. Однак дозволи автоматично не налаштовуються, і адміністратор має вручну надати користувачам відповідні дозволи на доступ. Вибрану папку зможуть використовувати кілька проєктів. - setting_up_additional_storages: "Щоб створити додаткові файлові сховища, перейдіть у" - setting_up_additional_storages_non_admin: "Адміністратори можуть створювати додаткові файлові сховища в розділі «Адміністрування» / «Файлові сховища»." - setting_up_storages: "Щоб створити файлові сховища, перейдіть у" - setting_up_storages_non_admin: "Адміністратори можуть створювати файлові сховища в розділі «Адміністрування» / «Файлові сховища»." - all_available_storages_already_added: "У проєкт уже додано всі доступні сховища." - oauth_application_details: "Секретний ключ клієнта стане недоступним, коли ви закриєте це вікно. Скопіюйте ці значення в %{oauth_application_details_link}." - oauth_application_details_link_text: "Налаштування інтеграції Nextcloud OpenProject" - copy_from: "Копіювати це значення з" - nextcloud: - provider_configuration: "Перш ніж виконувати налаштування, переконайтеся, що маєте права адміністратора у своєму екземплярі Nextcloud і що встановлено %{application_link_text}." - oauth_configuration: "Скопіюйте ці значення з додатка %{application_link_text}." - application_link_text: "Integration OpenProject" - integration: "Адміністрування Nextcloud / OpenProject" - one_drive: - provider_configuration: > - Перш ніж виконувати налаштування, переконайтеся, що у вас є права адміністратора в додатку %{application_link_text}, або зверніться до свого адміністратора Microsoft. На порталі вам також знадобиться зареєструвати додаток Azure або скористатися наявним під час автентифікації. - oauth_configuration: "Скопіюйте ці значення з потрібного додатка в %{application_link_text}." - application_link_text: "Портал Azure" - integration: "OneDrive / SharePoint" - oauth_client_id: > - Скопіюйте ідентифікатор клієнта з порталу Azure. Це потрібно, щоб згенерувати URI переспрямування. - oauth_client_secret: > - Якщо в облікових даних клієнта немає секрету клієнту додатка, створіть його. - oauth_client_redirect_uri: > - Скопіюйте це значення в новий ідентифікатор URI вебпереспрямуваня в розділі «URI переспрямування». - missing_client_id_for_redirect_uri: "Введіть значення OAuth, щоб згенерувати URI" - tenant_id: > - Скопіюйте ідентифікатор каталога (клієнта) з потрібного додатка й розділу «Реєстрації додатка» в %{application_link_text}. - tenant_id_placeholder: "Назва або UUID" - drive_id: "Скопіюйте ідентифікатор із потрібного диска, дотримуючись цих вказівок: %{drive_id_link_text}." - documentation_link_text: "Документація щодо файлових сховищ OneDrive / SharePoint" - copy_redirect_uri: "Копіювати URI переспрямування" - help_texts: - project_folder: > - Папка проєкту – це папка за замовчуванням для файлів, які передаються в цей проєкт. Однак користувачі можуть передавати файли в інші розташування. + complete_without_setup: Завершити без налаштування + done_complete_setup: Готово – завершити налаштування + done_continue: Виконано, продовжити + replace_provider_type_oauth: Замінити %{provider_type} OAuth + save_and_continue: Зберегти та продовжити + select_folder: Вибрати папку configuration_checks: oauth_client_incomplete: - nextcloud: "Надайте OpenProject доступ до даних Nextcloud із використанням OAuth." - one_drive: "Надайте OpenProject доступ до даних Azure із використанням OAuth для підключення OneDrive / Sharepoint." + nextcloud: Надайте OpenProject доступ до даних Nextcloud із використанням OAuth. + one_drive: Надайте OpenProject доступ до даних Azure із використанням OAuth для підключення OneDrive / Sharepoint. redirect_uri_incomplete: - one_drive: "Завершіть налаштування за допомогою правильного URI переспрямування." + one_drive: Завершіть налаштування за допомогою правильного URI переспрямування. + confirm_replace_oauth_application: Ви впевнені? Усім користувачам знадобиться знову авторизуватися в OpenProject. + confirm_replace_oauth_client: Ви впевнені? Усім користувачам знадобиться знову авторизуватися в сховищі. delete_warning: - storage: > - Справді видалити %{file_storage}? Щоб підтвердити цю дію, введіть ім’я сховища в поле нижче, щоб: - storage_delete_result_1: "вилучити всі налаштування сховища для всіх проєктів, де воно використовується;" - storage_delete_result_2: "вилучити всі посилання з пакетів робіт з усіх проєктів на файли й папки в цьому сховищі." - storage_delete_result_3: "Якщо це сховище містить папки проєкту з автоматичним керуванням, цю папку й усі її файли буде остаточно видалено." - project_storage: > - Справді видалити %{file_storage} з цього проєкту? Щоб підтвердити цю дію, введіть ім’я сховище в поле нижче, щоб: - project_storage_delete_result_1: "Вилучіть усі посилання на файли й папки в цьому сховизі з пакетів робіт поточного проєкту." - project_storage_delete_result_2: "Якщо це сховище містить папку проєкту з автоматичним керуванням, цю папку та всі її файли буде остаточно видалено." - input_delete_confirmation: "Введіть ім’я файлового сховища %{file_storage}, щоб підтвердити видалення." - irreversible_notice: "Видалення файлового сховища не можна скасувати." - storage_list_blank_slate: - heading: "У вас ще немає жодного сховища." - description: "Додайте сховище, щоб воно з’явилося тут." - error_invalid_provider_type: "Виберіть дійсного постачальника сховища." - label_active: "Активні" - label_add_new_storage: "Додати нове сховище" - label_delete_storage: "Видалити сховище" - label_inactive: "Неактивні" - label_creator: "Автор" - label_provider: "Постачальник" - label_file_link: "Посилання на файл" - label_file_links: "Посилання на файл" - label_file_storage: "Файлове сховище" - label_creation_time: "Час створення" - label_completed: "Завершено" - label_incomplete: "Не завершено" - label_name: "Назва" - label_host: "URL-адреса хосту" + input_delete_confirmation: Введіть ім’я файлового сховища %{file_storage}, щоб підтвердити видалення. + irreversible_notice: Видалення файлового сховища не можна скасувати. + project_storage: 'Справді видалити %{file_storage} з цього проєкту? Щоб підтвердити цю дію, введіть ім’я сховище в поле нижче, щоб:' + project_storage_delete_result_1: Вилучіть усі посилання на файли й папки в цьому сховизі з пакетів робіт поточного проєкту. + project_storage_delete_result_2: Якщо це сховище містить папку проєкту з автоматичним керуванням, цю папку та всі її файли буде остаточно видалено. + storage: 'Справді видалити %{file_storage}? Щоб підтвердити цю дію, введіть ім’я сховища в поле нижче, щоб:' + storage_delete_result_1: вилучити всі налаштування сховища для всіх проєктів, де воно використовується; + storage_delete_result_2: вилучити всі посилання з пакетів робіт з усіх проєктів на файли й папки в цьому сховищі. + storage_delete_result_3: Якщо це сховище містить папки проєкту з автоматичним керуванням, цю папку й усі її файли буде остаточно видалено. + error_invalid_provider_type: Виберіть дійсного постачальника сховища. + file_storage_view: + automatically_managed_folders: Папки з автоматичним керуванням + general_information: Загальна інформація + nextcloud_oauth: Nextcloud OAuth + oauth_applications: Програми OAuth + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Папки проєкту + redirect_uri: URI переспрямування + storage_provider: Постачальник сховища + health: + checked: 'Востаннє перевірено: %{datetime}' + label_error: Помилка + label_healthy: Справність + label_pending: Очікування + since: з %{datetime} + title: Статус керованих папок + help_texts: + project_folder: Папка проєкту – це папка за замовчуванням для файлів, які передаються в цей проєкт. Однак користувачі можуть передавати файли в інші розташування. + instructions: + all_available_storages_already_added: У проєкт уже додано всі доступні сховища. + automatic_folder: Буде автоматично створено кореневу папку для цього проєкту й налаштовано дозволи на доступ для кожного учасника проєкту. + copy_from: Копіювати це значення з + empty_project_folder_validation: Щоб продовжити, потрібно вибрати папку. + existing_manual_folder: Ви можете призначити наявну папку як кореневу папку для цього проєкту. Однак дозволи автоматично не налаштовуються, і адміністратор має вручну надати користувачам відповідні дозволи на доступ. Вибрану папку зможуть використовувати кілька проєктів. + host: Додайте адресу хосту для свого сховища, включно з https://. Її довжина не може перевищувати 255 символів. + managed_project_folders_application_password_caption: 'Увімкніть папки з автоматичним керуванням, скопіювавши це значення з %{provider_type_link}.' + name: Назвіть своє сховище, щоб користувачі могли відрізняти його від інших сховищ. + new_storage: Щою дізнатися більше, ознайомтеся з нашою документацією щодо налаштування інтеграції файлового сховища %{provider_name}. + nextcloud: + application_link_text: Integration OpenProject + integration: Адміністрування Nextcloud / OpenProject + oauth_configuration: Скопіюйте ці значення з додатка %{application_link_text}. + provider_configuration: Перш ніж виконувати налаштування, переконайтеся, що маєте права адміністратора у своєму екземплярі Nextcloud і що встановлено %{application_link_text}. + no_specific_folder: За замовчуванням кожен користувач, який передасть файл, починатиме роботу у власній головній папці. + no_storage_set_up: Файлові сховища поки не створено. + not_logged_into_storage: Шоб вибрати папку проєкту, спочатку ввійдіть + oauth_application_details: Секретний ключ клієнта стане недоступним, коли ви закриєте це вікно. Скопіюйте ці значення в %{oauth_application_details_link}. + oauth_application_details_link_text: Налаштування інтеграції Nextcloud OpenProject + one_drive: + application_link_text: Портал Azure + copy_redirect_uri: Копіювати URI переспрямування + documentation_link_text: Документація щодо файлових сховищ OneDrive / SharePoint + drive_id: 'Скопіюйте ідентифікатор із потрібного диска, дотримуючись цих вказівок: %{drive_id_link_text}.' + integration: OneDrive / SharePoint + missing_client_id_for_redirect_uri: Введіть значення OAuth, щоб згенерувати URI + oauth_client_redirect_uri: Скопіюйте це значення в новий ідентифікатор URI вебпереспрямуваня в розділі «URI переспрямування». + oauth_client_secret: Якщо в облікових даних клієнта немає секрету клієнту додатка, створіть його. + oauth_configuration: Скопіюйте ці значення з потрібного додатка в %{application_link_text}. + provider_configuration: Перш ніж виконувати налаштування, переконайтеся, що у вас є права адміністратора в додатку %{application_link_text}, або зверніться до свого адміністратора Microsoft. На порталі вам також знадобиться зареєструвати додаток Azure або скористатися наявним під час автентифікації. + tenant_id: Скопіюйте ідентифікатор каталога (клієнта) з потрібного додатка й розділу «Реєстрації додатка» в %{application_link_text}. + tenant_id_placeholder: Назва або UUID + setting_up_additional_storages: Щоб створити додаткові файлові сховища, перейдіть у + setting_up_additional_storages_non_admin: Адміністратори можуть створювати додаткові файлові сховища в розділі «Адміністрування» / «Файлові сховища». + setting_up_storages: Щоб створити файлові сховища, перейдіть у + setting_up_storages_non_admin: Адміністратори можуть створювати файлові сховища в розділі «Адміністрування» / «Файлові сховища». + type: 'Перш ніж виконувати налаштування, переконайтеся, що маєте права адміністратора у своєму екземплярі Nextcloud і що встановлено цей додаток:' + type_link_text: "«Інтеграція OpenProject»" + label_active: Активні + label_add_new_storage: Додати нове сховище + label_automatic_folder: Нова папка з автоматичним керуванням дозволами + label_completed: Завершено + label_creation_time: Час створення + label_creator: Автор + label_delete_storage: Видалити сховище + label_edit_storage: Редагувати сховище + label_edit_storage_automatically_managed_folders: Редагувати папки сховища з автоматичним керуванням + label_edit_storage_host: Редагувати хост сховища + label_edit_storage_oauth_client: Редагувати клієнта OAuth сховища + label_existing_manual_folder: Наявна папка з ручним керуванням дозволами + label_file_storage: Файлове сховище + label_host: URL-адреса хосту + label_inactive: Неактивні + label_incomplete: Не завершено label_managed_project_folders: - automatically_managed_folders: "Папки з автоматичним керуванням" - application_password: "Пароль додатка" - label_managed_project_folders_breadcrumb: "Папки проєкту з автоматичним керуванням" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "Докладні відомості про додаток OAuth" - label_oauth_client_details: "Докладні відомості про клієнт OAuth" - label_openproject_oauth_application_id: "Ідентифікатор клієнта OpenProject OAuth" - label_openproject_oauth_application_secret: "Секрет клієнта OpenProject OAuth" - label_oauth_client_id: "Ідентифікатор клієнта OAuth" - label_oauth_client_secret: "Секретний ключ клієнта OAuth" - label_information: "Додаткова інформація" - label_provider_type: "Тип постачальника" - label_project_folder: "Папка проєкту" - label_redirect_uri: "URI переспрямування" - label_uri: "URI" - label_new_storage: "Нове сховище" - label_new_file_storage: "Нове сховище %{provider}" - label_edit_storage: "Редагувати сховище" - label_edit_storage_host: "Редагувати хост сховища" - label_edit_storage_oauth_client: "Редагувати клієнта OAuth сховища" - label_show_storage_redirect_uri: "Показати URI переспрямування" - label_edit_storage_automatically_managed_folders: "Редагувати папки сховища з автоматичним керуванням" - label_existing_manual_folder: "Наявна папка з ручним керуванням дозволами" - label_no_specific_folder: "Немає конкретної папки" - label_automatic_folder: "Нова папка з автоматичним керуванням дозволами" - label_no_selected_folder: "Папку не вибрано" - label_select_provider: "Виберіть постачальника" - label_storage: "Сховище" - label_storages: "Сховища" - label_status: "Стан" - label_files: "Файли" + application_password: Пароль додатка + automatically_managed_folders: Папки з автоматичним керуванням + label_name: Назва + label_new_file_storage: Нове сховище %{provider} + label_new_storage: Нове сховище + label_no_selected_folder: Папку не вибрано + label_no_specific_folder: Немає конкретної папки + label_oauth_client_id: Ідентифікатор клієнта OAuth + label_openproject_oauth_application_id: Ідентифікатор клієнта OpenProject OAuth + label_openproject_oauth_application_secret: Секрет клієнта OpenProject OAuth + label_project_folder: Папка проєкту + label_provider: Постачальник + label_redirect_uri: URI переспрямування + label_show_storage_redirect_uri: Показати URI переспрямування + label_status: Стан + label_storage: Сховище + label_uri: URI member_connection_status: - connected: "Підключено" - connected_no_permissions: "Ролі користувача не надано дозволи на доступ до сховища" - not_connected: "Не підключено. Користувач має ввійти в сховище за цим посиланням: %{link}." - no_results: "Сховища поки не створено." - members_no_results: "Немає учасників." + connected: Підключено + connected_no_permissions: Ролі користувача не надано дозволи на доступ до сховища + not_connected: 'Не підключено. Користувач має ввійти в сховище за цим посиланням: %{link}.' + members_no_results: Немає учасників. + no_results: Сховища поки не створено. + notice_successful_storage_connection: Сховище підключено. Щоб користуватися ним, активуйте модуль і визначене сховище в налаштуваннях кожного потрібного проєкту. + open_project_storage_modal: + success: + a: Налаштування інтеграції завершено + b: Виконується переспрямування + waiting: + a: Ми налаштовуємо ваші дозволи для папки проєкту. + b: Зачекайте, будь ласка. Це може зайняти деякий час... + page_titles: + file_storages: + delete: Видалити файлове сховище + subtitle: Додайте зовнішнє файлове сховище, щоб вивантажувати файли, створювати посилання й керувати файлами в пакетах робіт. + managed_project_folders: + subtitle: Дозвольте OpenProject автоматично створювати папки для проєкту. Радимо зробити це, адже в такому разі кожен учасник команди завжди матиме належні дозволи на доступ. + subtitle_short: Дозвольте автоматично створювати папки для кожного проєкту в OpenProject. + title: Папки проєкту з автоматичним керуванням + project_settings: + delete: Видалити файлове сховище + edit: Редагувати файлове сховище для цього проєкту + index: Файлові сховища доступні в цьому проєкті + members_connection_status: Стан підключення учасників + new: Додайте сховище файлів до цього проєкту + project_storage_members: + subtitle: Перевірте стан підключення до сховища %{storage_name_link} для всіх учасників проєкту. + title: Стан підключення учасників provider_types: - label: "Тип постачальника" + label: Тип постачальника nextcloud: - name: "Nextcloud" - name_placeholder: "наприклад, Nextcloud" - label_oauth_client_id: "Ідентифікатор клієнта Nextcloud OAuth" - label_oauth_client_secret: "Секрет клієнта Nextcloud OAuth" + label_oauth_client_id: Ідентифікатор клієнта Nextcloud OAuth + label_oauth_client_secret: Секрет клієнта Nextcloud OAuth + name: Nextcloud + name_placeholder: наприклад, Nextcloud one_drive: - name: "OneDrive / SharePoint" - name_placeholder: "напр. OneDrive" - label_oauth_client_id: "Ідентифікатор (клієнт) додатка Azure OAuth" - label_oauth_client_secret: "Значення секрету клієнта Azure OAuth" - confirm_replace_oauth_application: "Ви впевнені? Усім користувачам знадобиться знову авторизуватися в OpenProject." - confirm_replace_oauth_client: "Ви впевнені? Усім користувачам знадобиться знову авторизуватися в сховищі." - oauth_client_details_missing: "Щоб завершити налаштування, додайте облікові дані клієнта OAuth зі свого сховища." - automatically_managed_project_folder_missing: "Щоб завершити підготовку, налаштуйте папки проєкту з автоматичним керуванням для свого сховища." - notice_oauth_application_replaced: "Додаток OpenProject OAuth замінено." - notice_successful_storage_connection: "Сховище підключено. Щоб користуватися ним, активуйте модуль і визначене сховище в налаштуваннях кожного потрібного проєкту." - open_project_storage_modal: - waiting: - a: "Ми налаштовуємо ваші дозволи для папки проєкту." - b: "Зачекайте, будь ласка. Це може зайняти деякий час..." - success: - a: "Налаштування інтеграції завершено" - b: "Виконується переспрямування" - health: - title: "Статус керованих папок" - label_pending: "Очікування" - label_error: "Помилка" - label_healthy: "Справність" - checked: "Востаннє перевірено: %{datetime}" - since: "з %{datetime}" + label_oauth_client_id: Ідентифікатор (клієнт) додатка Azure OAuth + label_oauth_client_secret: Значення секрету клієнта Azure OAuth + name: OneDrive / SharePoint + name_placeholder: напр. OneDrive + storage_list_blank_slate: + description: Додайте сховище, щоб воно з’явилося тут. + heading: У вас ще немає жодного сховища. upsale: - title: "Інтеграція OneDrive / SharePoint" - description: 'Інтегруйте OneDrive/SharePoint як файлове сховище в OpenProject. Додайте файли й прив’яжіть їх безпосередньо до пакетів робіт у проєкті.' + description: Інтегруйте OneDrive/SharePoint як файлове сховище в OpenProject. Додайте файли й прив’яжіть їх безпосередньо до пакетів робіт у проєкті. + title: Інтеграція OneDrive / SharePoint diff --git a/modules/storages/config/locales/crowdin/vi.yml b/modules/storages/config/locales/crowdin/vi.yml index 4b19422d5feb..655208af3ea3 100644 --- a/modules/storages/config/locales/crowdin/vi.yml +++ b/modules/storages/config/locales/crowdin/vi.yml @@ -1,268 +1,217 @@ -#English strings go here vi: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." activerecord: - models: - file_link: "Tệp" - storages/storage: "Storage" attributes: - storages/storage: - name: "Tên" - creator: "Creator" - provider_type: "Provider type" - host: "Máy chủ" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" + origin_id: Origin Id + storages/storage: + creator: Creator + host: Máy chủ + name: Tên + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: Tệp + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Lưu" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Thiết lập" - file_storage_view: - general_information: "General information" - oauth_applications: "Các ứng dụng OAuth" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "URI đổi hướng" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Đang hoạt động" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Không hoạt động" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Đã Hoàn tất" - label_incomplete: "Incomplete" - label_name: "Tên" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: Các ứng dụng OAuth + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: URI đổi hướng + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Lỗi + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Đang hoạt động + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Đã Hoàn tất + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Không hoạt động + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "URI đổi hướng" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Trạng thái" - label_files: "Tập tin" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Tên + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: URI đổi hướng + label_show_storage_redirect_uri: Show redirect URI + label_status: Trạng thái + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Lỗi" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/crowdin/zh-CN.yml b/modules/storages/config/locales/crowdin/zh-CN.yml index a651c7af9a27..86ca4cf8efb6 100644 --- a/modules/storages/config/locales/crowdin/zh-CN.yml +++ b/modules/storages/config/locales/crowdin/zh-CN.yml @@ -1,268 +1,217 @@ -#English strings go here zh-CN: - plugin_openproject_storages: - name: "OpenProject 存储" - description: "允许将工作包链接到外部存储中的文件,例如Nextcloud。" - permission_view_file_links: "查看文件链接" - permission_manage_file_links: "管理文件链接" - permission_manage_storages_in_project: "管理项目中的文件存储" - permission_read_files: "读取文件" - permission_write_files: "写文件" - permission_create_files: "创建文件" - permission_delete_files: "删除文件" - permission_share_files: "共享文件(夹)" - project_module_storages: "文件存储" - errors: - attributes: - storage_error: - not_authorized: "未获得存储区外部连接的授权。" - not_found: "在外部文件存储区找不到请求的资源。" activerecord: - models: - file_link: "文件" - storages/storage: "存储" attributes: - storages/storage: - name: "名称" - creator: "创建者" - provider_type: "提供商类型" - host: "主机" - tenant: "目录 (租户) ID" storages/file_link: - origin_id: "来源 ID" + origin_id: 来源 ID + storages/storage: + creator: 创建者 + host: 主机 + name: 名称 + provider_type: 提供商类型 + tenant: 目录 (租户) ID errors: messages: - not_linked_to_project: "未链接到项目。" + not_linked_to_project: 未链接到项目。 models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: 只能是数字或 uuid。 storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "对于此存储不可用。" + mode_unavailable: 对于此存储不可用。 storages/storage: attributes: host: - cannot_be_connected_to: "无法连接。" - minimal_nextcloud_version_unmet: "不满足最低版本要求(必须为 Nextcloud 23 或更高版本)" - not_nextcloud_server: "不是 Nextcloud 服务器" - op_application_not_installed: > - 似乎没有安装应用“OpenProject 集成”。请先安装,然后重试。 - authorization_header_missing: > - 未完全设置。Nextcloud 实例不会收到“Authorization”标头,这是基于 Bearer 令牌的 API 请求授权所必需的。请仔细检查您的 HTTP 服务器配置。 + authorization_header_missing: 未完全设置。Nextcloud 实例不会收到“Authorization”标头,这是基于 Bearer 令牌的 API 请求授权所必需的。请仔细检查您的 HTTP 服务器配置。 + cannot_be_connected_to: 无法连接。 + minimal_nextcloud_version_unmet: 不满足最低版本要求(必须为 Nextcloud 23 或更高版本) + not_nextcloud_server: 不是 Nextcloud 服务器 + op_application_not_installed: 似乎没有安装应用“OpenProject 集成”。请先安装,然后重试。 password: - invalid_password: "无效。" - unknown_error: "无法验证。请检查您的存储区连接,然后重试。" - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "只能是数字或 uuid。" + invalid_password: 无效。 + unknown_error: 无法验证。请检查您的存储区连接,然后重试。 + models: + file_link: 文件 + storages/storage: 存储 api_v3: errors: - too_many_elements_created_at_once: "一次创建的元素过多。最多应为 %{max} 个,实际为 %{actual} 个。" + too_many_elements_created_at_once: 一次创建的元素过多。最多应为 %{max} 个,实际为 %{actual} 个。 + permission_create_files: 创建文件 + permission_delete_files: 删除文件 + permission_manage_file_links: 管理文件链接 + permission_manage_storages_in_project: 管理项目中的文件存储 + permission_read_files: 读取文件 + permission_share_files: 共享文件(夹) + permission_view_file_links: 查看文件链接 + permission_write_files: 写文件 + project_module_storages: 文件存储 storages: - default_name: "我的存储" - unknown_storage: "未知存储区" buttons: - done_continue: "完成, 继续" - done_continue_setup: "已完成。继续设置" - done_complete_setup: "完成,完成设置" - complete_without_setup: "没有它就完成" - edit_automatically_managed_project_folders: "编辑自动托管的项目文件夹" - replace_openproject_oauth: "替换 OpenProject OAuth" - replace_provider_type_oauth: "替换 %{provider_type} OAuth" - save: "保存" - save_and_continue: "保存并继续" - save_and_continue_setup: "保存并继续设置" - save_and_complete_setup: "保存并完成设置" - select_folder: "选择文件夹" - configure: "配置" - file_storage_view: - general_information: "一般信息" - oauth_applications: "OAuth应用程序" - project_folders: "项目文件夹" - storage_provider: "存储提供商" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "重定向 URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "自动托管的文件夹" - page_titles: - file_storages: - subtitle: "添加外部文件存储以便在工作包中上传、链接和管理文件。" - delete: "删除文件存储" - managed_project_folders: - title: "自动托管的项目文件夹" - subtitle_short: "允许 OpenProject 自动创建每个项目的文件夹。" - subtitle: > - 让 OpenProject 自动为每个项目创建文件夹。建议这样做,因为这样可以确保每个团队成员始终拥有正确的访问权限。 - project_settings: - index: "文件存储在此项目中可用" - new: "将文件存储添加到此项目" - edit: "编辑文件存储到此项目" - delete: "删除文件存储区" - members_connection_status: "成员连接状态" - project_storage_members: - title: "成员连接状态" - subtitle: "检查所有项目成员的存储区 %{storage_name_link} 的连接状态。" - instructions: - type: "请确保您在 Nextcloud 实例中具有管理权限,并在进行设置之前安装了以下应用程序:" - type_link_text: "“集成 OpenProject”" - name: "为您的存储命名,以便用户可以区分多个存储。" - host: "请添加存储的主机地址,包括 https://。不应超过 255 个字符。" - managed_project_folders_application_password: > - 从以下位置复制此值: - managed_project_folders_application_password_caption: "通过从 %{provider_type_link} 复制该值来启用自动管理的文件夹。" - new_storage: "请阅读我们关于 设置 %{provider_name} 文件存储集成 的文档以获取更多信息。" - no_storage_set_up: "尚未设置文件存储。" - no_specific_folder: "默认情况下,每个用户上传文件时将从自己的主文件夹开始。" - automatic_folder: "这将自动为此项目创建一个根文件夹,并管理每个项目成员的访问权限。" - empty_project_folder_validation: "选择一个文件夹是必须的。" - not_logged_into_storage: "要选择一个项目文件夹,请先登录" - existing_manual_folder: > - 您可以指定现有的文件夹作为此项目的根文件夹。 但权限未自动托管,管理员需要手动确保相关用户能够访问。 选定的文件夹可以被多个项目使用。 - setting_up_additional_storages: "如需设置额外的文件存储,请访问" - setting_up_additional_storages_non_admin: "管理员可以在“管理/文件存储”中设置额外的文件存储。" - setting_up_storages: "如需设置文件存储,请访问" - setting_up_storages_non_admin: "管理员可以在“管理/文件存储”中设置文件存储。" - all_available_storages_already_added: "所有可用存储均已添加到项目。" - oauth_application_details: "关闭此窗口后,将无法再次访问客户端密钥值。请将这些值复制到 %{oauth_application_details_link} 。" - oauth_application_details_link_text: "Nextcloud OpenProject 集成设置" - copy_from: "复制此值自" - nextcloud: - provider_configuration: "在进行设置之前,请确保您在 Nextcloud 实例中具有管理员权限,并且已安装了 %{application_link_text}。" - oauth_configuration: "从 %{application_link_text} 复制这些值。" - application_link_text: "应用“集成OpenProject”" - integration: "Nextcloud 管理/OpenProject" - one_drive: - provider_configuration: > - 请确保您在%{application_link_text}具有管理权限,或在进行设置之前与您的 Microsoft 管理员联系。在门户中,您还需要注册一个 Azure 应用程序或使用现有的应用程序进行身份验证。 - oauth_configuration: "从%{application_link_text}中的所需应用程序复制这些值。" - application_link_text: "Azure 门户" - integration: "OneDrive/SharePoint" - oauth_client_id: > - 从 Azure 门户复制客户端 ID。这是生成重定向 URI 所必需的。 - oauth_client_secret: > - 如果在“客户端凭据”下没有应用程序客户端密钥,请新建一个。 - oauth_client_redirect_uri: > - 请将该值复制到“重定向 URI ”下的新 Web 重定向 URI。 - missing_client_id_for_redirect_uri: "请填写OAuth 值以生成 URI" - tenant_id: > - 请从所需应用程序和应用注册中复制目录(租户)ID,链接文本为 %{application_link_text}。 - tenant_id_placeholder: "名称或 UUID" - drive_id: "" - documentation_link_text: "OneDrive/SharePoint 文件存储文档" - copy_redirect_uri: "复制重定向 URI" - help_texts: - project_folder: > - 项目文件夹是此项目上传文件的默认文件夹。用户仍然可以上传文件到其他位置。 + complete_without_setup: 没有它就完成 + done_complete_setup: 完成,完成设置 + done_continue: 完成, 继续 + replace_provider_type_oauth: 替换 %{provider_type} OAuth + save_and_continue: 保存并继续 + select_folder: 选择文件夹 configuration_checks: oauth_client_incomplete: - nextcloud: "允许 OpenProject 使用 OAuth 访问 Nextcloud 数据。" - one_drive: "允许 OpenProject 使用 OAuth 访问Azure 数据来连接 OneDrive/SharePoint。" + nextcloud: 允许 OpenProject 使用 OAuth 访问 Nextcloud 数据。 + one_drive: 允许 OpenProject 使用 OAuth 访问Azure 数据来连接 OneDrive/SharePoint。 redirect_uri_incomplete: - one_drive: "使用正确的 URI 重定向完成设置。" + one_drive: 使用正确的 URI 重定向完成设置。 + confirm_replace_oauth_application: 确定吗?所有用户都必须再次针对 OpenProject 授权。 + confirm_replace_oauth_client: 确定吗?所有用户都必须再次针对存储授权。 delete_warning: - storage: > - 您确定要删除 %{file_storage} 吗?请在下面的字段中输入存储名称以确认此操作。进行此操作将会: - storage_delete_result_1: "删除所有使用此存储的项目的所有存储设置。" - storage_delete_result_2: "从所有项目的工作包中删除所有链接到该存储的文件和文件夹。" - storage_delete_result_3: "如果此存储具有自动托管的项目文件夹,这些文件夹及其包含的文件将被永久删除。" - project_storage: > - 确定要从此项目中删除 %{file_storage} 吗?要确认此操作,请在下面的字段中输入存储区名称,这将: - project_storage_delete_result_1: "从此项目的工作包中移除该存储区的文件和文件夹的所有链接。" - project_storage_delete_result_2: "如果这个存储库具有自动托管的项目文件夹,那么该文件夹及其文件将被永久删除。" - input_delete_confirmation: "输入文件存储区名称 %{file_storage} 以确认删除。" - irreversible_notice: "删除文件存储区是不可逆转的操作。" - storage_list_blank_slate: - heading: "您还没有任何存储。" - description: "在这里添加一个存储以查看它们。" - error_invalid_provider_type: "请选择一个有效的存储源。" - label_active: "有效" - label_add_new_storage: "添加新存储" - label_delete_storage: "删除存储" - label_inactive: "停用" - label_creator: "创建者" - label_provider: "提供商" - label_file_link: "文件链接" - label_file_links: "文件链接" - label_file_storage: "文件存储" - label_creation_time: "创建时间" - label_completed: "已完成" - label_incomplete: "不完整" - label_name: "名称" - label_host: "主机 URL" + input_delete_confirmation: 输入文件存储区名称 %{file_storage} 以确认删除。 + irreversible_notice: 删除文件存储区是不可逆转的操作。 + project_storage: '确定要从此项目中删除 %{file_storage} 吗?要确认此操作,请在下面的字段中输入存储区名称,这将:' + project_storage_delete_result_1: 从此项目的工作包中移除该存储区的文件和文件夹的所有链接。 + project_storage_delete_result_2: 如果这个存储库具有自动托管的项目文件夹,那么该文件夹及其文件将被永久删除。 + storage: '您确定要删除 %{file_storage} 吗?请在下面的字段中输入存储名称以确认此操作。进行此操作将会:' + storage_delete_result_1: 删除所有使用此存储的项目的所有存储设置。 + storage_delete_result_2: 从所有项目的工作包中删除所有链接到该存储的文件和文件夹。 + storage_delete_result_3: 如果此存储具有自动托管的项目文件夹,这些文件夹及其包含的文件将被永久删除。 + error_invalid_provider_type: 请选择一个有效的存储源。 + file_storage_view: + automatically_managed_folders: 自动托管的文件夹 + general_information: 一般信息 + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth应用程序 + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: 项目文件夹 + redirect_uri: 重定向 URI + storage_provider: 存储提供商 + health: + checked: 上次检查于 %{datetime} + label_error: 错误 + label_healthy: 健康 + label_pending: 待处理 + since: 自从 %{datetime} + title: 托管的文件夹状态 + help_texts: + project_folder: 项目文件夹是此项目上传文件的默认文件夹。用户仍然可以上传文件到其他位置。 + instructions: + all_available_storages_already_added: 所有可用存储均已添加到项目。 + automatic_folder: 这将自动为此项目创建一个根文件夹,并管理每个项目成员的访问权限。 + copy_from: 复制此值自 + empty_project_folder_validation: 选择一个文件夹是必须的。 + existing_manual_folder: 您可以指定现有的文件夹作为此项目的根文件夹。 但权限未自动托管,管理员需要手动确保相关用户能够访问。 选定的文件夹可以被多个项目使用。 + host: 请添加存储的主机地址,包括 https://。不应超过 255 个字符。 + managed_project_folders_application_password_caption: '通过从 %{provider_type_link} 复制该值来启用自动管理的文件夹。' + name: 为您的存储命名,以便用户可以区分多个存储。 + new_storage: 请阅读我们关于 设置 %{provider_name} 文件存储集成 的文档以获取更多信息。 + nextcloud: + application_link_text: 应用“集成OpenProject” + integration: Nextcloud 管理/OpenProject + oauth_configuration: 从 %{application_link_text} 复制这些值。 + provider_configuration: 在进行设置之前,请确保您在 Nextcloud 实例中具有管理员权限,并且已安装了 %{application_link_text}。 + no_specific_folder: 默认情况下,每个用户上传文件时将从自己的主文件夹开始。 + no_storage_set_up: 尚未设置文件存储。 + not_logged_into_storage: 要选择一个项目文件夹,请先登录 + oauth_application_details: 关闭此窗口后,将无法再次访问客户端密钥值。请将这些值复制到 %{oauth_application_details_link} 。 + oauth_application_details_link_text: Nextcloud OpenProject 集成设置 + one_drive: + application_link_text: Azure 门户 + copy_redirect_uri: 复制重定向 URI + documentation_link_text: OneDrive/SharePoint 文件存储文档 + drive_id: + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: 请填写OAuth 值以生成 URI + oauth_client_redirect_uri: 请将该值复制到“重定向 URI ”下的新 Web 重定向 URI。 + oauth_client_secret: 如果在“客户端凭据”下没有应用程序客户端密钥,请新建一个。 + oauth_configuration: 从%{application_link_text}中的所需应用程序复制这些值。 + provider_configuration: 请确保您在%{application_link_text}具有管理权限,或在进行设置之前与您的 Microsoft 管理员联系。在门户中,您还需要注册一个 Azure 应用程序或使用现有的应用程序进行身份验证。 + tenant_id: 请从所需应用程序和应用注册中复制目录(租户)ID,链接文本为 %{application_link_text}。 + tenant_id_placeholder: 名称或 UUID + setting_up_additional_storages: 如需设置额外的文件存储,请访问 + setting_up_additional_storages_non_admin: 管理员可以在“管理/文件存储”中设置额外的文件存储。 + setting_up_storages: 如需设置文件存储,请访问 + setting_up_storages_non_admin: 管理员可以在“管理/文件存储”中设置文件存储。 + type: '请确保您在 Nextcloud 实例中具有管理权限,并在进行设置之前安装了以下应用程序:' + type_link_text: "“集成 OpenProject”" + label_active: 有效 + label_add_new_storage: 添加新存储 + label_automatic_folder: 新建具有自动管理权限的文件夹 + label_completed: 已完成 + label_creation_time: 创建时间 + label_creator: 创建者 + label_delete_storage: 删除存储 + label_edit_storage: 编辑存储 + label_edit_storage_automatically_managed_folders: 编辑存储自动管理的文件夹 + label_edit_storage_host: 编辑存储主机 + label_edit_storage_oauth_client: 编辑存储 OAuth 客户端 + label_existing_manual_folder: 具有手动管理权限的现有文件夹 + label_file_storage: 文件存储 + label_host: 主机 URL + label_inactive: 停用 + label_incomplete: 不完整 label_managed_project_folders: - automatically_managed_folders: "自动托管的文件夹" - application_password: "应用程序密码" - label_managed_project_folders_breadcrumb: "自动托管的项目文件夹" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth 应用程序详情" - label_oauth_client_details: "OAuth 客户端详情" - label_openproject_oauth_application_id: "OpenProject OAuth 客户端 ID" - label_openproject_oauth_application_secret: "OpenProject OAuth 客户端密钥" - label_oauth_client_id: "OAuth 客户端 ID" - label_oauth_client_secret: "OAuth 客户端密钥" - label_information: "附加信息" - label_provider_type: "提供商类型" - label_project_folder: "项目文件夹" - label_redirect_uri: "重定向 URI" - label_uri: "URI" - label_new_storage: "新存储" - label_new_file_storage: "新%{provider}存储" - label_edit_storage: "编辑存储" - label_edit_storage_host: "编辑存储主机" - label_edit_storage_oauth_client: "编辑存储 OAuth 客户端" - label_show_storage_redirect_uri: "显示重定向 URI" - label_edit_storage_automatically_managed_folders: "编辑存储自动管理的文件夹" - label_existing_manual_folder: "具有手动管理权限的现有文件夹" - label_no_specific_folder: "未指定文件夹" - label_automatic_folder: "新建具有自动管理权限的文件夹" - label_no_selected_folder: "没有选定文件夹" - label_select_provider: "选择提供商" - label_storage: "存储" - label_storages: "存储" - label_status: "状态" - label_files: "文件" + application_password: 应用程序密码 + automatically_managed_folders: 自动托管的文件夹 + label_name: 名称 + label_new_file_storage: 新%{provider}存储 + label_new_storage: 新存储 + label_no_selected_folder: 没有选定文件夹 + label_no_specific_folder: 未指定文件夹 + label_oauth_client_id: OAuth 客户端 ID + label_openproject_oauth_application_id: OpenProject OAuth 客户端 ID + label_openproject_oauth_application_secret: OpenProject OAuth 客户端密钥 + label_project_folder: 项目文件夹 + label_provider: 提供商 + label_redirect_uri: 重定向 URI + label_show_storage_redirect_uri: 显示重定向 URI + label_status: 状态 + label_storage: 存储 + label_uri: URI member_connection_status: - connected: "已连接" - connected_no_permissions: "用户角色没有存储区权限" - not_connected: "未连接。用户应通过以下 %{link} 登录到存储。" - no_results: "尚未设置存储设备。" - members_no_results: "没有要显示的成员。" + connected: 已连接 + connected_no_permissions: 用户角色没有存储区权限 + not_connected: 未连接。用户应通过以下 %{link} 登录到存储。 + members_no_results: 没有要显示的成员。 + no_results: 尚未设置存储设备。 + notice_successful_storage_connection: 存储连接成功!请记住,在每个所需项目的项目设置中激活模块和特定存储以便使用它。 + open_project_storage_modal: + success: + a: 集成设置完成 + b: 正在将您重定向 + waiting: + a: 我们正在设置您在项目文件夹的权限。 + b: 请稍等,这可能需要一些时间... + page_titles: + file_storages: + delete: 删除文件存储 + subtitle: 添加外部文件存储以便在工作包中上传、链接和管理文件。 + managed_project_folders: + subtitle: 让 OpenProject 自动为每个项目创建文件夹。建议这样做,因为这样可以确保每个团队成员始终拥有正确的访问权限。 + subtitle_short: 允许 OpenProject 自动创建每个项目的文件夹。 + title: 自动托管的项目文件夹 + project_settings: + delete: 删除文件存储区 + edit: 编辑文件存储到此项目 + index: 文件存储在此项目中可用 + members_connection_status: 成员连接状态 + new: 将文件存储添加到此项目 + project_storage_members: + subtitle: 检查所有项目成员的存储区 %{storage_name_link} 的连接状态。 + title: 成员连接状态 provider_types: - label: "提供商类型" + label: 提供商类型 nextcloud: - name: "Nextcloud" - name_placeholder: "例如 Nextcloud" - label_oauth_client_id: "Nextcloud OAuth 客户端 ID" - label_oauth_client_secret: "Nextcloud OAuth 客户端密钥" + label_oauth_client_id: Nextcloud OAuth 客户端 ID + label_oauth_client_secret: Nextcloud OAuth 客户端密钥 + name: Nextcloud + name_placeholder: 例如 Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "例如OneDrive" - label_oauth_client_id: "Azure OAuth 应用程序 (客户端) ID" - label_oauth_client_secret: "Azure OAuth 客户端密钥值" - confirm_replace_oauth_application: "确定吗?所有用户都必须再次针对 OpenProject 授权。" - confirm_replace_oauth_client: "确定吗?所有用户都必须再次针对存储授权。" - oauth_client_details_missing: "要完成设置,请从您的存储中添加 OAuth 客户端凭据。" - automatically_managed_project_folder_missing: "要完成设置,请为您的存储区配置自动托管的项目文件夹。" - notice_oauth_application_replaced: "已成功替换 OpenProject OAuth 应用程序。" - notice_successful_storage_connection: "存储连接成功!请记住,在每个所需项目的项目设置中激活模块和特定存储以便使用它。" - open_project_storage_modal: - waiting: - a: "我们正在设置您在项目文件夹的权限。" - b: "请稍等,这可能需要一些时间..." - success: - a: "集成设置完成" - b: "正在将您重定向" - health: - title: "托管的文件夹状态" - label_pending: "待处理" - label_error: "错误" - label_healthy: "健康" - checked: "上次检查于 %{datetime} " - since: "自从 %{datetime} " + label_oauth_client_id: Azure OAuth 应用程序 (客户端) ID + label_oauth_client_secret: Azure OAuth 客户端密钥值 + name: OneDrive/SharePoint + name_placeholder: 例如OneDrive + storage_list_blank_slate: + description: 在这里添加一个存储以查看它们。 + heading: 您还没有任何存储。 upsale: - title: "OneDrive/SharePoint 集成" - description: '将您的 OneDrive/SharePoint 集成到 OpenProject 文件存储。上传文件并将其直接链接到项目中的工作包。' + description: 将您的 OneDrive/SharePoint 集成到 OpenProject 文件存储。上传文件并将其直接链接到项目中的工作包。 + title: OneDrive/SharePoint 集成 diff --git a/modules/storages/config/locales/crowdin/zh-TW.yml b/modules/storages/config/locales/crowdin/zh-TW.yml index a06bbf78fb38..09297ae71bab 100644 --- a/modules/storages/config/locales/crowdin/zh-TW.yml +++ b/modules/storages/config/locales/crowdin/zh-TW.yml @@ -1,268 +1,217 @@ -#English strings go here zh-TW: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - permission_view_file_links: "查看文件鏈接" - permission_manage_file_links: "管理文件鏈接" - permission_manage_storages_in_project: "管理專案中的文件儲存" - permission_read_files: "讀取文件" - permission_write_files: "寫文件" - permission_create_files: "建立文件" - permission_delete_files: "刪除檔案" - permission_share_files: "分享檔案" - project_module_storages: "文件儲存空間" - errors: - attributes: - storage_error: - not_authorized: "未獲得存儲區外部連接的授權。" - not_found: "在外部文件存儲區找不到請求的資源。" activerecord: - models: - file_link: "檔案" - storages/storage: "儲存空間" attributes: - storages/storage: - name: "名稱" - creator: "建立者" - provider_type: "提供者類型" - host: "主機" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "來源 ID" + origin_id: 來源 ID + storages/storage: + creator: 建立者 + host: 主機 + name: 名稱 + provider_type: 提供者類型 + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "未鏈結至專案。" + not_linked_to_project: 未鏈結至專案。 models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: 只能是數字或 uuid。 storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "無法連接。" - minimal_nextcloud_version_unmet: "未滿足最低版本要求(必須為 Nextcloud 23 或更高版本)" - not_nextcloud_server: "不是一個 Nextcloud 的服務器" - op_application_not_installed: > - 似乎沒有安裝應用「OpenProject 整合套件」。請先安裝,然後重試。 - authorization_header_missing: > - 未完全設置。Nextcloud 實例不會收到「Authorization」標頭,這是基於 Bearer 令牌的 API 請求授權所必需的。請仔細檢查您的 HTTP 服務器配置。 + authorization_header_missing: 未完全設置。Nextcloud 實例不會收到「Authorization」標頭,這是基於 Bearer 令牌的 API 請求授權所必需的。請仔細檢查您的 HTTP 服務器配置。 + cannot_be_connected_to: 無法連接。 + minimal_nextcloud_version_unmet: 未滿足最低版本要求(必須為 Nextcloud 23 或更高版本) + not_nextcloud_server: 不是一個 Nextcloud 的服務器 + op_application_not_installed: 似乎沒有安裝應用「OpenProject 整合套件」。請先安裝,然後重試。 password: - invalid_password: "無效。" - unknown_error: "無法驗證。請檢查您的存儲區連接,然後重試。" - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "只能是數字或 uuid。" + invalid_password: 無效。 + unknown_error: 無法驗證。請檢查您的存儲區連接,然後重試。 + models: + file_link: 檔案 + storages/storage: 儲存空間 api_v3: errors: - too_many_elements_created_at_once: "一次創建的元素過多。最多應為 %{max} 個,實際為 %{actual} 個。" + too_many_elements_created_at_once: 一次創建的元素過多。最多應為 %{max} 個,實際為 %{actual} 個。 + permission_create_files: 建立文件 + permission_delete_files: 刪除檔案 + permission_manage_file_links: 管理文件鏈接 + permission_manage_storages_in_project: 管理專案中的文件儲存 + permission_read_files: 讀取文件 + permission_share_files: 分享檔案 + permission_view_file_links: 查看文件鏈接 + permission_write_files: 寫文件 + project_module_storages: 文件儲存空間 storages: - default_name: "My storage" - unknown_storage: "不明的儲存區" buttons: - done_continue: "Done, continue" - done_continue_setup: "已完成。繼續設置" - done_complete_setup: "完成。完成設置" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "編輯自動管理的項目文件夾" - replace_openproject_oauth: "替換 OpenProject OAuth" - replace_provider_type_oauth: "替換 %{provider_type} OAuth" - save: "儲存" - save_and_continue: "Save and continue" - save_and_continue_setup: "保存並繼續設置" - save_and_complete_setup: "保存並完成設置" - select_folder: "選擇資料夾" - configure: "配置" - file_storage_view: - general_information: "General information" - oauth_applications: "Oauth 應用程式" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject 開放授權 (OAuth) " - one_drive_oauth: "Azure OAuth" - redirect_uri: "轉址 uri" - nextcloud_oauth: "NextCloud 開放授權 (OAuth) " - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "刪除儲存區" - managed_project_folders: - title: "自動管理的專案文件夾" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - 讓 OpenProject 自動為每個專案建立文件夾。建議這樣做,因為這樣可以確保每個團隊成員始終擁有正確的訪問權限。 - project_settings: - index: "此專案中可用的儲存區" - new: "增加一個儲存區至此專案" - edit: "編輯此專案中的儲存區" - delete: "刪除儲存區" - members_connection_status: "成員連接狀態" - project_storage_members: - title: "成員連線狀態" - subtitle: "檢查所有項目成員的存儲區 %{storage_name_link} 的連線狀態。" - instructions: - type: "請確保您在 Nextcloud 實例中具有管理權限,並在進行設置之前安裝了以下應用程序:" - type_link_text: "“整合 OpenProject”" - name: "為您的存儲區命名,以便用戶可以區分多個存儲區。" - host: "請添加存儲區的主機地址,包括 https://。不應超過 255 個字符。" - managed_project_folders_application_password: > - 從以下位置複製此值: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: 完成。完成設置 + done_continue: Done, continue + replace_provider_type_oauth: 替換 %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: 選擇資料夾 configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: 確定嗎?所有用戶都必須再次針對 OpenProject 授權。 + confirm_replace_oauth_client: 確定嗎?所有用戶都必須再次針對存儲區授權。 delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "啟用" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "未啟用" - label_creator: "建立者" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "已完成" - label_incomplete: "Incomplete" - label_name: "名稱" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: NextCloud 開放授權 (OAuth) + oauth_applications: Oauth 應用程式 + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject 開放授權 (OAuth) + project_folders: Project folders + redirect_uri: 轉址 uri + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: 錯誤 + label_healthy: Healthy + label_pending: 待處理 + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: 請添加存儲區的主機地址,包括 https://。不應超過 255 個字符。 + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: 為您的存儲區命名,以便用戶可以區分多個存儲區。 + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: '請確保您在 Nextcloud 實例中具有管理權限,並在進行設置之前安裝了以下應用程序:' + type_link_text: "“整合 OpenProject”" + label_active: 啟用 + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: 已完成 + label_creation_time: Creation time + label_creator: 建立者 + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: 未啟用 + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "自動管理的專案文件夾" - label_oauth_breadcrumb: - openproject: "OpenProject 開放授權 (OAuth) " - nextcloud: "NextCloud 開放授權 (OAuth) " - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "提供者類型" - label_project_folder: "Project folder" - label_redirect_uri: "轉址 uri" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "儲存空間" - label_storages: "Storages" - label_status: "狀態" - label_files: "檔案" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: 名稱 + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: 轉址 uri + label_show_storage_redirect_uri: Show redirect URI + label_status: 狀態 + label_storage: 儲存空間 + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: 刪除儲存區 + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: 讓 OpenProject 自動為每個專案建立文件夾。建議這樣做,因為這樣可以確保每個團隊成員始終擁有正確的訪問權限。 + subtitle_short: Let OpenProject create folders per project automatically. + title: 自動管理的專案文件夾 + project_settings: + delete: 刪除儲存區 + edit: 編輯此專案中的儲存區 + index: 此專案中可用的儲存區 + members_connection_status: 成員連接狀態 + new: 增加一個儲存區至此專案 + project_storage_members: + subtitle: 檢查所有項目成員的存儲區 %{storage_name_link} 的連線狀態。 + title: 成員連線狀態 provider_types: - label: "提供者類型" + label: 提供者類型 nextcloud: - name: "Nextcloud" - name_placeholder: "例如 Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: 例如 Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "確定嗎?所有用戶都必須再次針對 OpenProject 授權。" - confirm_replace_oauth_client: "確定嗎?所有用戶都必須再次針對存儲區授權。" - oauth_client_details_missing: "要完成設置,請從您的存儲區中添加 OAuth 客戶端憑據。" - automatically_managed_project_folder_missing: "要完成設置,請為您的存儲區配置自動管理的專案文件夾。" - notice_oauth_application_replaced: "已成功替換 OpenProject OAuth 應用程序。" - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "待處理" - label_error: "錯誤" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/en.yml b/modules/storages/config/locales/en.yml index 0d0a0e39986a..320bc99c9534 100644 --- a/modules/storages/config/locales/en.yml +++ b/modules/storages/config/locales/en.yml @@ -1,284 +1,218 @@ -# English strings go here +--- en: - plugin_openproject_storages: - name: "OpenProject Storages" - description: "Allows linking work packages to files in external storages, such as Nextcloud." - - permission_view_file_links: "View file links" - permission_manage_file_links: "Manage file links" - permission_manage_storages_in_project: "Manage file storages in project" - permission_read_files: "Read files" - permission_write_files: "Write files" - permission_create_files: "Create files" - permission_delete_files: "Delete files" - permission_share_files: "Share files" - project_module_storages: "File storages" - - errors: - attributes: - storage_error: - not_authorized: "Not authorized for external connection to storage." - not_found: "The requested resource could not be found at the external file storage." - activerecord: - models: - file_link: "File" - storages/storage: "Storage" attributes: - storages/storage: - name: "Name" - creator: "Creator" - provider_type: "Provider type" - host: "Host" - tenant: "Directory (tenant) ID" storages/file_link: - origin_id: "Origin Id" - + origin_id: Origin Id + storages/storage: + creator: Creator + host: Host + name: Name + provider_type: Provider type + tenant: Directory (tenant) ID errors: messages: - not_linked_to_project: "is not linked to project." + not_linked_to_project: is not linked to project. models: + storages/file_link: + attributes: + origin_id: + only_numeric_or_uuid: can only be numeric or uuid. storages/project_storage: attributes: project_folder_mode: - mode_unavailable: "is not available for this storage." + mode_unavailable: is not available for this storage. storages/storage: attributes: host: - cannot_be_connected_to: "can not be connected to." - minimal_nextcloud_version_unmet: "does not meet minimal version requirements (must be Nextcloud 23 or higher)" - not_nextcloud_server: "is not a Nextcloud server" - op_application_not_installed: > - appears to not have the app "OpenProject integration" installed. Please install it first and then try - again. - authorization_header_missing: > - is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is - necessary for a Bearer token based authorization of API requests. Please double check your HTTP - server configuration. + authorization_header_missing: is not fully set up. The Nextcloud instance does not receive the "Authorization" header, which is necessary for a Bearer token based authorization of API requests. Please double check your HTTP server configuration. + cannot_be_connected_to: can not be connected to. + minimal_nextcloud_version_unmet: does not meet minimal version requirements (must be Nextcloud 23 or higher) + not_nextcloud_server: is not a Nextcloud server + op_application_not_installed: appears to not have the app "OpenProject integration" installed. Please install it first and then try again. password: - invalid_password: "is not valid." - unknown_error: "could not be validated. Please check your storage connection and try again." - storages/file_link: - attributes: - origin_id: - only_numeric_or_uuid: "can only be numeric or uuid." - + invalid_password: is not valid. + unknown_error: could not be validated. Please check your storage connection and try again. + models: + file_link: File + storages/storage: Storage api_v3: errors: - too_many_elements_created_at_once: "Too many elements created at once. Expected %{max} at most, got %{actual}." - + too_many_elements_created_at_once: Too many elements created at once. Expected %{max} at most, got %{actual}. + permission_create_files: Create files + permission_delete_files: Delete files + permission_manage_file_links: Manage file links + permission_manage_storages_in_project: Manage file storages in project + permission_read_files: Read files + permission_share_files: Share files + permission_view_file_links: View file links + permission_write_files: Write files + project_module_storages: File storages storages: - default_name: "My storage" - unknown_storage: "Unknown storage" buttons: - done_continue: "Done, continue" - done_continue_setup: "Done. Continue setup" - done_complete_setup: "Done, complete setup" - complete_without_setup: "Complete without it" - edit_automatically_managed_project_folders: "Edit automatically managed project folders" - replace_openproject_oauth: "Replace OpenProject OAuth" - replace_provider_type_oauth: "Replace %{provider_type} OAuth" - save: "Save" - save_and_continue: "Save and continue" - save_and_continue_setup: "Save and continue setup" - save_and_complete_setup: "Save and complete setup" - select_folder: "Select folder" - configure: "Configure" - file_storage_view: - general_information: "General information" - oauth_applications: "OAuth applications" - project_folders: "Project folders" - storage_provider: "Storage provider" - openproject_oauth: "OpenProject OAuth" - one_drive_oauth: "Azure OAuth" - redirect_uri: "Redirect URI" - nextcloud_oauth: "Nextcloud OAuth" - automatically_managed_folders: "Automatically managed folders" - page_titles: - file_storages: - subtitle: "Add an external file storage in order to upload, link and manage files in work packages." - delete: "Delete file storage" - managed_project_folders: - title: "Automatically managed project folders" - subtitle_short: "Let OpenProject create folders per project automatically." - subtitle: > - Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. - project_settings: - index: "File storages available in this project" - new: "Add a file storage to this project" - edit: "Edit the file storage to this project" - delete: "Delete file storage" - members_connection_status: "Members connection status" - project_storage_members: - title: "Members connection status" - subtitle: "Check the connection status for the storage %{storage_name_link} of all project members." - instructions: - type: "Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:" - type_link_text: "“Integration OpenProject”" - name: "Give your storage a name so that users can differentiate between multiple storages." - host: "Please add the host address of your storage including the https://. It should not be longer than 255 characters." - managed_project_folders_application_password: > - Copy this value from: - managed_project_folders_application_password_caption: "Enable automatic managed folders by copying this value from: %{provider_type_link}." - new_storage: "Read our documentation on setting up a %{provider_name} file storage integration for more information." - no_storage_set_up: "There are no file storages set up yet." - no_specific_folder: "By default, each user will start at their own home folder when they upload a file." - automatic_folder: "This will automatically create a root folder for this project and manage the access permissions for each project member." - empty_project_folder_validation: "Selecting a folder is mandatory to proceed." - not_logged_into_storage: "To select a project folder, please first login" - existing_manual_folder: > - You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the - administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. - setting_up_additional_storages: "For setting up additional file storages, please visit" - setting_up_additional_storages_non_admin: "Administrators can set up additional file storages in Administration / File Storages." - setting_up_storages: "For setting up file storages, please visit" - setting_up_storages_non_admin: "Administrators can set up file storages in Administration / File Storages." - all_available_storages_already_added: "All available storages are already added to the project." - oauth_application_details: "The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}." - oauth_application_details_link_text: "Nextcloud OpenProject Integration settings" - copy_from: "Copy this value from" - nextcloud: - provider_configuration: "Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup." - oauth_configuration: "Copy these values from %{application_link_text}." - application_link_text: "application “Integration OpenProject”" - integration: "Nextcloud Administration / OpenProject" - one_drive: - provider_configuration: > - Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft - administrator before doing the setup. In the portal, you also need to register an Azure application or use an - existing one for authentication. - oauth_configuration: "Copy these values from the desired application in the %{application_link_text}." - application_link_text: "Azure portal" - integration: "OneDrive/SharePoint" - oauth_client_id: > - Copy the client id from the Azure portal. This is needed to generate the redirect URI. - oauth_client_secret: > - In case there is no application client secret under Client credentials, please create a new one. - oauth_client_redirect_uri: > - Please copy this value to a new Web redirect URI under Redirect URIs. - missing_client_id_for_redirect_uri: "Please fill the OAuth values to generate a URI" - tenant_id: > - Please copy the Directory (tenant) ID from the desired application and App registrations - in the %{application_link_text}. - tenant_id_placeholder: "Name or UUID" - drive_id: "Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}." - documentation_link_text: "OneDrive/SharePoint file storages documentation" - copy_redirect_uri: "Copy redirect URI" - help_texts: - project_folder: > - The project folder is the default folder for file uploads for this project. - Users can nevertheless still upload files to other locations. + complete_without_setup: Complete without it + done_complete_setup: Done, complete setup + done_continue: Done, continue + replace_provider_type_oauth: Replace %{provider_type} OAuth + save_and_continue: Save and continue + select_folder: Select folder configuration_checks: oauth_client_incomplete: - nextcloud: "Allow OpenProject to access Nextcloud data using OAuth." - one_drive: "Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint." + nextcloud: Allow OpenProject to access Nextcloud data using OAuth. + one_drive: Allow OpenProject to access Azure data using OAuth to connect OneDrive/Sharepoint. redirect_uri_incomplete: - one_drive: "Complete the setup with the correct URI redirection." + one_drive: Complete the setup with the correct URI redirection. + confirm_replace_oauth_application: Are you sure? All users will have to authorize again against OpenProject. + confirm_replace_oauth_client: Are you sure? All users will have to authorize again against the storage. delete_warning: - storage: > - Are you sure you want to delete %{file_storage}? To confirm this action please introduce the - storage name in the field below, this will: - storage_delete_result_1: "Remove all storage setups for all projects using this storage." - storage_delete_result_2: "Remove all links from work packages of all projects to files and folders of that storage." - storage_delete_result_3: "In case this storage has automatically managed project folders, those and their contained files will be deleted forever." - project_storage: > - Are you sure you want to delete %{file_storage} from this project? To confirm this action please - introduce the storage name in the field below, this will: - project_storage_delete_result_1: "Remove all links from work packages of this project to files and folders of that storage." - project_storage_delete_result_2: "In case this storage has an automatically managed project folder, this and its files will be deleted forever." - input_delete_confirmation: "Enter the file storage name %{file_storage} to confirm deletion." - irreversible_notice: "Deleting a file storage is an irreversible action." - storage_list_blank_slate: - heading: "You don't have any storages yet." - description: "Add a storage to see them here." - error_invalid_provider_type: "Please select a valid storage provider." - label_active: "Active" - label_add_new_storage: "Add new storage" - label_delete_storage: "Delete storage" - label_inactive: "Inactive" - label_creator: "Creator" - label_provider: "Provider" - label_file_link: "File link" - label_file_links: "File links" - label_file_storage: "File storage" - label_creation_time: "Creation time" - label_completed: "Completed" - label_incomplete: "Incomplete" - label_name: "Name" - label_host: "Host URL" + input_delete_confirmation: Enter the file storage name %{file_storage} to confirm deletion. + irreversible_notice: Deleting a file storage is an irreversible action. + project_storage: 'Are you sure you want to delete %{file_storage} from this project? To confirm this action please introduce the storage name in the field below, this will:' + project_storage_delete_result_1: Remove all links from work packages of this project to files and folders of that storage. + project_storage_delete_result_2: In case this storage has an automatically managed project folder, this and its files will be deleted forever. + storage: 'Are you sure you want to delete %{file_storage}? To confirm this action please introduce the storage name in the field below, this will:' + storage_delete_result_1: Remove all storage setups for all projects using this storage. + storage_delete_result_2: Remove all links from work packages of all projects to files and folders of that storage. + storage_delete_result_3: In case this storage has automatically managed project folders, those and their contained files will be deleted forever. + error_invalid_provider_type: Please select a valid storage provider. + file_storage_view: + automatically_managed_folders: Automatically managed folders + general_information: General information + nextcloud_oauth: Nextcloud OAuth + oauth_applications: OAuth applications + one_drive_oauth: Azure OAuth + openproject_oauth: OpenProject OAuth + project_folders: Project folders + redirect_uri: Redirect URI + storage_provider: Storage provider + health: + checked: Last checked %{datetime} + label_error: Error + label_healthy: Healthy + label_pending: Pending + since: since %{datetime} + title: Managed folders status + help_texts: + project_folder: The project folder is the default folder for file uploads for this project. Users can nevertheless still upload files to other locations. + instructions: + all_available_storages_already_added: All available storages are already added to the project. + automatic_folder: This will automatically create a root folder for this project and manage the access permissions for each project member. + copy_from: Copy this value from + empty_project_folder_validation: Selecting a folder is mandatory to proceed. + existing_manual_folder: You can designate an existing folder as the root folder for this project. The permissions are however not automatically managed, the administrator needs to manually ensure relevant users have access. The selected folder can be used by multiple projects. + host: Please add the host address of your storage including the https://. It should not be longer than 255 characters. + managed_project_folders_application_password_caption: 'Enable automatic managed folders by copying this value from: %{provider_type_link}.' + name: Give your storage a name so that users can differentiate between multiple storages. + new_storage: Read our documentation on setting up a %{provider_name} file storage integration for more information. + nextcloud: + application_link_text: application “Integration OpenProject” + integration: Nextcloud Administration / OpenProject + oauth_configuration: Copy these values from %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in your Nextcloud instance and the %{application_link_text} is installed before doing the setup. + no_specific_folder: By default, each user will start at their own home folder when they upload a file. + no_storage_set_up: There are no file storages set up yet. + not_logged_into_storage: To select a project folder, please first login + oauth_application_details: The client secret value will not be accessible again after you close this window. Please copy these values into the %{oauth_application_details_link}. + oauth_application_details_link_text: Nextcloud OpenProject Integration settings + one_drive: + application_link_text: Azure portal + copy_redirect_uri: Copy redirect URI + documentation_link_text: OneDrive/SharePoint file storages documentation + drive_id: Please copy the ID from the desired drive by following the steps in the %{drive_id_link_text}. + integration: OneDrive/SharePoint + missing_client_id_for_redirect_uri: Please fill the OAuth values to generate a URI + oauth_client_redirect_uri: Please copy this value to a new Web redirect URI under Redirect URIs. + oauth_client_secret: In case there is no application client secret under Client credentials, please create a new one. + oauth_configuration: Copy these values from the desired application in the %{application_link_text}. + provider_configuration: Please make sure you have administration privileges in the %{application_link_text} or contact your Microsoft administrator before doing the setup. In the portal, you also need to register an Azure application or use an existing one for authentication. + tenant_id: Please copy the Directory (tenant) ID from the desired application and App registrations in the %{application_link_text}. + tenant_id_placeholder: Name or UUID + setting_up_additional_storages: For setting up additional file storages, please visit + setting_up_additional_storages_non_admin: Administrators can set up additional file storages in Administration / File Storages. + setting_up_storages: For setting up file storages, please visit + setting_up_storages_non_admin: Administrators can set up file storages in Administration / File Storages. + type: 'Please make sure you have administration privileges in your Nextcloud instance and have the following application installed before doing the setup:' + type_link_text: "“Integration OpenProject”" + label_active: Active + label_add_new_storage: Add new storage + label_automatic_folder: New folder with automatically managed permissions + label_completed: Completed + label_creation_time: Creation time + label_creator: Creator + label_delete_storage: Delete storage + label_edit_storage: Edit storage + label_edit_storage_automatically_managed_folders: Edit storage automatically managed folders + label_edit_storage_host: Edit storage host + label_edit_storage_oauth_client: Edit storage OAuth client + label_existing_manual_folder: Existing folder with manually managed permissions + label_file_storage: File storage + label_host: Host URL + label_inactive: Inactive + label_incomplete: Incomplete label_managed_project_folders: - automatically_managed_folders: "Automatically managed folders" - application_password: "Application password" - label_managed_project_folders_breadcrumb: "Automatically managed project folders" - label_oauth_breadcrumb: - openproject: "OpenProject OAuth" - nextcloud: "Nextcloud OAuth" - one_drive: "OneDrive OAuth" - label_oauth_application_details: "OAuth application details" - label_oauth_client_details: "OAuth client details" - label_openproject_oauth_application_id: "OpenProject OAuth Client ID" - label_openproject_oauth_application_secret: "OpenProject OAuth Client Secret" - label_oauth_client_id: "OAuth Client ID" - label_oauth_client_secret: "OAuth Client Secret" - label_information: "Additional information" - label_provider_type: "Provider type" - label_project_folder: "Project folder" - label_redirect_uri: "Redirect URI" - label_uri: "URI" - label_new_storage: "New storage" - label_new_file_storage: "New %{provider} storage" - label_edit_storage: "Edit storage" - label_edit_storage_host: "Edit storage host" - label_edit_storage_oauth_client: "Edit storage OAuth client" - label_show_storage_redirect_uri: "Show redirect URI" - label_edit_storage_automatically_managed_folders: "Edit storage automatically managed folders" - label_existing_manual_folder: "Existing folder with manually managed permissions" - label_no_specific_folder: "No specific folder" - label_automatic_folder: "New folder with automatically managed permissions" - label_no_selected_folder: "No selected folder" - label_select_provider: "Select provider" - label_storage: "Storage" - label_storages: "Storages" - label_status: "Status" - label_files: "Files" + application_password: Application password + automatically_managed_folders: Automatically managed folders + label_name: Name + label_new_file_storage: New %{provider} storage + label_new_storage: New storage + label_no_selected_folder: No selected folder + label_no_specific_folder: No specific folder + label_oauth_client_id: OAuth Client ID + label_openproject_oauth_application_id: OpenProject OAuth Client ID + label_openproject_oauth_application_secret: OpenProject OAuth Client Secret + label_project_folder: Project folder + label_provider: Provider + label_redirect_uri: Redirect URI + label_show_storage_redirect_uri: Show redirect URI + label_status: Status + label_storage: Storage + label_uri: URI member_connection_status: - connected: "Connected" - connected_no_permissions: "User role has no storages permissions" - not_connected: "Not connected. The user should login to the storage via the following %{link}." - no_results: "No storages set up yet." - members_no_results: "No members to display." + connected: Connected + connected_no_permissions: User role has no storages permissions + not_connected: Not connected. The user should login to the storage via the following %{link}. + members_no_results: No members to display. + no_results: No storages set up yet. + notice_successful_storage_connection: Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it. + open_project_storage_modal: + success: + a: Integration setup completed + b: You are being redirected + waiting: + a: We are setting up your permissions on the project folder. + b: One moment please, this might take some time... + page_titles: + file_storages: + delete: Delete file storage + subtitle: Add an external file storage in order to upload, link and manage files in work packages. + managed_project_folders: + subtitle: Let OpenProject create folders per project automatically. This is recommended as it ensures that every team member always has the correct access permissions. + subtitle_short: Let OpenProject create folders per project automatically. + title: Automatically managed project folders + project_settings: + delete: Delete file storage + edit: Edit the file storage to this project + index: File storages available in this project + members_connection_status: Members connection status + new: Add a file storage to this project + project_storage_members: + subtitle: Check the connection status for the storage %{storage_name_link} of all project members. + title: Members connection status provider_types: - label: "Provider type" + label: Provider type nextcloud: - name: "Nextcloud" - name_placeholder: "e.g. Nextcloud" - label_oauth_client_id: "Nextcloud OAuth Client ID" - label_oauth_client_secret: "Nextcloud OAuth Client Secret" + label_oauth_client_id: Nextcloud OAuth Client ID + label_oauth_client_secret: Nextcloud OAuth Client Secret + name: Nextcloud + name_placeholder: e.g. Nextcloud one_drive: - name: "OneDrive/SharePoint" - name_placeholder: "e.g. OneDrive" - label_oauth_client_id: "Azure OAuth Application (client) ID" - label_oauth_client_secret: "Azure OAuth Client Secret Value" - confirm_replace_oauth_application: "Are you sure? All users will have to authorize again against OpenProject." - confirm_replace_oauth_client: "Are you sure? All users will have to authorize again against the storage." - oauth_client_details_missing: "To complete the setup, please add OAuth client credentials from your storage." - automatically_managed_project_folder_missing: "To complete the setup, please configure automatically managed project folders for your storage." - notice_oauth_application_replaced: "The OpenProject OAuth application was successfully replaced." - notice_successful_storage_connection: "Storage connected successfully! Remember to activate the module and the specific storage in the project settings of each desired project to use it." - open_project_storage_modal: - waiting: - a: "We are setting up your permissions on the project folder." - b: "One moment please, this might take some time..." - success: - a: "Integration setup completed" - b: "You are being redirected" - health: - title: "Managed folders status" - label_pending: "Pending" - label_error: "Error" - label_healthy: "Healthy" - checked: "Last checked %{datetime}" - since: "since %{datetime}" + label_oauth_client_id: Azure OAuth Application (client) ID + label_oauth_client_secret: Azure OAuth Client Secret Value + name: OneDrive/SharePoint + name_placeholder: e.g. OneDrive + storage_list_blank_slate: + description: Add a storage to see them here. + heading: You don't have any storages yet. upsale: - title: "OneDrive/SharePoint integration" - description: 'Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project.' + description: Integrate your OneDrive/SharePoint as a file storage with OpenProject. Upload files and link them directly to work packages in a project. + title: OneDrive/SharePoint integration diff --git a/modules/storages/config/locales/js-en.yml b/modules/storages/config/locales/js-en.yml index 8755e5ee13c7..ac9733c3f2d6 100644 --- a/modules/storages/config/locales/js-en.yml +++ b/modules/storages/config/locales/js-en.yml @@ -16,6 +16,7 @@ en: types: nextcloud: "Nextcloud" + one_drive: "OneDrive/SharePoint" default: "Storage" information: @@ -56,7 +57,6 @@ en: Currently there are no linked files to this work package. Start linking files with the action below or from within %{storageType}. download: "Download %{fileName}" - no_permission: "You have no permission to see this file." open: "Open file on storage" open_location: "Open file in location" remove: "Remove file link" @@ -91,6 +91,9 @@ en: contact your administrator for more information. link_uploaded_file_error: > An error occurred linking the recently uploaded file '%{fileName}' to the work package %{workPackageId}. - not_allowed_tooltip: "Please log in to Nextcloud to access this file" + tooltip: + not_logged_in: "Please log in to the storage to access this file." + view_not_allowed: "You have no permission to see this file." + not_found: "This file cannot be found." already_linked_file: "This file is already linked to this work package." already_linked_directory: "This directory is already linked to this work package." diff --git a/modules/storages/config/routes.rb b/modules/storages/config/routes.rb index da4caa476796..7f32a79a42fe 100644 --- a/modules/storages/config/routes.rb +++ b/modules/storages/config/routes.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20220113144323_create_storage.rb b/modules/storages/db/migrate/20220113144323_create_storage.rb index 5adf02e1251f..2bfb21d22f4a 100644 --- a/modules/storages/db/migrate/20220113144323_create_storage.rb +++ b/modules/storages/db/migrate/20220113144323_create_storage.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20220113144759_create_file_links.rb b/modules/storages/db/migrate/20220113144759_create_file_links.rb index f1acfa6d5b01..91ca0a7448c8 100644 --- a/modules/storages/db/migrate/20220113144759_create_file_links.rb +++ b/modules/storages/db/migrate/20220113144759_create_file_links.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20220121090847_create_projects_storages.rb b/modules/storages/db/migrate/20220121090847_create_projects_storages.rb index 4652952402cf..def871d6fb89 100644 --- a/modules/storages/db/migrate/20220121090847_create_projects_storages.rb +++ b/modules/storages/db/migrate/20220121090847_create_projects_storages.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb b/modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb index fa917033d4bc..d55d13f12e2f 100644 --- a/modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb +++ b/modules/storages/db/migrate/20220712165928_add_storages_permissions_to_roles.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20230123092649_make_containter_id_and_containter_type_optional_for_file_links.rb b/modules/storages/db/migrate/20230123092649_make_containter_id_and_containter_type_optional_for_file_links.rb index 2d1fa08e91a2..c45ee8149d8d 100644 --- a/modules/storages/db/migrate/20230123092649_make_containter_id_and_containter_type_optional_for_file_links.rb +++ b/modules/storages/db/migrate/20230123092649_make_containter_id_and_containter_type_optional_for_file_links.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20230321194150_add_project_folder_to_projects_storages.rb b/modules/storages/db/migrate/20230321194150_add_project_folder_to_projects_storages.rb index 73af1942bce9..ba9eea60ced3 100644 --- a/modules/storages/db/migrate/20230321194150_add_project_folder_to_projects_storages.rb +++ b/modules/storages/db/migrate/20230321194150_add_project_folder_to_projects_storages.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20230420063148_add_provider_fields_to_storages.rb b/modules/storages/db/migrate/20230420063148_add_provider_fields_to_storages.rb index 525c2a5c2cde..6fcf34f85424 100644 --- a/modules/storages/db/migrate/20230420063148_add_provider_fields_to_storages.rb +++ b/modules/storages/db/migrate/20230420063148_add_provider_fields_to_storages.rb @@ -1,5 +1,5 @@ # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20230420071113_migrate_storages_to_use_provider_type_as_sti_column.rb b/modules/storages/db/migrate/20230420071113_migrate_storages_to_use_provider_type_as_sti_column.rb index 0b5ec2ebbc71..e064e634cdfc 100644 --- a/modules/storages/db/migrate/20230420071113_migrate_storages_to_use_provider_type_as_sti_column.rb +++ b/modules/storages/db/migrate/20230420071113_migrate_storages_to_use_provider_type_as_sti_column.rb @@ -1,5 +1,5 @@ # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20230512153303_change_storage_provider_fields_default.rb b/modules/storages/db/migrate/20230512153303_change_storage_provider_fields_default.rb index a97d63b244b2..53c653d50608 100644 --- a/modules/storages/db/migrate/20230512153303_change_storage_provider_fields_default.rb +++ b/modules/storages/db/migrate/20230512153303_change_storage_provider_fields_default.rb @@ -1,5 +1,5 @@ # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20230517075214_add_automatic_to_project_folder_modes.rb b/modules/storages/db/migrate/20230517075214_add_automatic_to_project_folder_modes.rb index 34f7eb2efccb..a1840631b6e6 100644 --- a/modules/storages/db/migrate/20230517075214_add_automatic_to_project_folder_modes.rb +++ b/modules/storages/db/migrate/20230517075214_add_automatic_to_project_folder_modes.rb @@ -1,5 +1,5 @@ # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20230601082746_create_last_project_folders.rb b/modules/storages/db/migrate/20230601082746_create_last_project_folders.rb index 7ac7310f0ee1..bad50f97161b 100644 --- a/modules/storages/db/migrate/20230601082746_create_last_project_folders.rb +++ b/modules/storages/db/migrate/20230601082746_create_last_project_folders.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20230721123022_remove_project_folder_mode_default.rb b/modules/storages/db/migrate/20230721123022_remove_project_folder_mode_default.rb index ef071a9c867e..e7bf23891fe8 100644 --- a/modules/storages/db/migrate/20230721123022_remove_project_folder_mode_default.rb +++ b/modules/storages/db/migrate/20230721123022_remove_project_folder_mode_default.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20230802085026_rename_projects_storages_table.rb b/modules/storages/db/migrate/20230802085026_rename_projects_storages_table.rb index f05cee4887ad..0623cdd5219b 100644 --- a/modules/storages/db/migrate/20230802085026_rename_projects_storages_table.rb +++ b/modules/storages/db/migrate/20230802085026_rename_projects_storages_table.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20230824130730_remove_not_null_constraint_for_storage_host.rb b/modules/storages/db/migrate/20230824130730_remove_not_null_constraint_for_storage_host.rb index 440149dddeae..366d43b79a31 100644 --- a/modules/storages/db/migrate/20230824130730_remove_not_null_constraint_for_storage_host.rb +++ b/modules/storages/db/migrate/20230824130730_remove_not_null_constraint_for_storage_host.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20231009135807_remove_renamed_cronjobs.rb b/modules/storages/db/migrate/20231009135807_remove_renamed_cronjobs.rb index 557c55fab16c..b4042f391e2e 100644 --- a/modules/storages/db/migrate/20231009135807_remove_renamed_cronjobs.rb +++ b/modules/storages/db/migrate/20231009135807_remove_renamed_cronjobs.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/db/migrate/20231109080454_add_health_info_to_storages.rb b/modules/storages/db/migrate/20231109080454_add_health_info_to_storages.rb index c480c7ff196c..76f953e1f927 100644 --- a/modules/storages/db/migrate/20231109080454_add_health_info_to_storages.rb +++ b/modules/storages/db/migrate/20231109080454_add_health_info_to_storages.rb @@ -1,5 +1,5 @@ # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/file_links/create_endpoint.rb b/modules/storages/lib/api/v3/file_links/create_endpoint.rb index 3692242c5950..01cca97d0513 100644 --- a/modules/storages/lib/api/v3/file_links/create_endpoint.rb +++ b/modules/storages/lib/api/v3/file_links/create_endpoint.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -66,8 +66,13 @@ def process(request, params_elements) end def present_success(request, service_call) + file_links = service_call.all_results.map do |file_link| + file_link.origin_status = :view_allowed + file_link + end + render_representer.create( - service_call.all_results, + file_links, self_link: self_link(request), current_user: request.current_user ) diff --git a/modules/storages/lib/api/v3/file_links/file_link_collection_representer.rb b/modules/storages/lib/api/v3/file_links/file_link_collection_representer.rb index 07bd0db96b82..b6ba6b9fcd50 100644 --- a/modules/storages/lib/api/v3/file_links/file_link_collection_representer.rb +++ b/modules/storages/lib/api/v3/file_links/file_link_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/file_links/file_link_payload_representer.rb b/modules/storages/lib/api/v3/file_links/file_link_payload_representer.rb index 718b664cac26..8449633b861c 100644 --- a/modules/storages/lib/api/v3/file_links/file_link_payload_representer.rb +++ b/modules/storages/lib/api/v3/file_links/file_link_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/file_links/file_link_relation_representer.rb b/modules/storages/lib/api/v3/file_links/file_link_relation_representer.rb index 18d7f06b5ce6..0a9068c70b5d 100644 --- a/modules/storages/lib/api/v3/file_links/file_link_relation_representer.rb +++ b/modules/storages/lib/api/v3/file_links/file_link_relation_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/file_links/file_link_representer.rb b/modules/storages/lib/api/v3/file_links/file_link_representer.rb index 6ae4ea7e2529..85bf00b127c0 100644 --- a/modules/storages/lib/api/v3/file_links/file_link_representer.rb +++ b/modules/storages/lib/api/v3/file_links/file_link_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,21 +27,26 @@ #++ module API::V3::FileLinks - URN_PERMISSION_VIEW = "#{::API::V3::URN_PREFIX}file-links:permission:View".freeze - URN_PERMISSION_NOT_ALLOWED = "#{::API::V3::URN_PREFIX}file-links:permission:NotAllowed".freeze - URN_PERMISSION_ERROR = "#{::API::V3::URN_PREFIX}file-links:permission:Error".freeze + URN_PERMISSION_VIEW = "#{::API::V3::URN_PREFIX}file-links:permission:ViewAllowed".freeze + URN_PERMISSION_NOT_ALLOWED = "#{::API::V3::URN_PREFIX}file-links:permission:ViewNotAllowed".freeze + URN_STATUS_NOT_FOUND = "#{::API::V3::URN_PREFIX}file-links:NotFound".freeze + URN_STATUS_ERROR = "#{::API::V3::URN_PREFIX}file-links:Error".freeze PERMISSION_LINKS = { - view: { + view_allowed: { href: URN_PERMISSION_VIEW, - title: 'View' + title: 'View allowed' }, - not_allowed: { + view_not_allowed: { href: URN_PERMISSION_NOT_ALLOWED, - title: 'Not allowed' + title: 'View not allowed' + }, + not_found: { + href: URN_STATUS_NOT_FOUND, + title: 'Not found' }, error: { - href: URN_PERMISSION_ERROR, + href: URN_STATUS_ERROR, title: 'Error' } }.freeze @@ -83,10 +88,10 @@ class FileLinkRepresenter < ::API::Decorators::Single end # Show a permission link only if we have actual permission information for a specific user - link :permission, uncacheable: true do - next if represented.origin_permission.nil? + link :status, uncacheable: true do + next if represented.origin_status.nil? - PERMISSION_LINKS[represented.origin_permission] + PERMISSION_LINKS[represented.origin_status] end link :staticOriginOpen do diff --git a/modules/storages/lib/api/v3/file_links/file_links_api.rb b/modules/storages/lib/api/v3/file_links/file_links_api.rb index fa74f3c3f4e1..c4b2fa44f911 100644 --- a/modules/storages/lib/api/v3/file_links/file_links_api.rb +++ b/modules/storages/lib/api/v3/file_links/file_links_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/file_links/file_links_download_api.rb b/modules/storages/lib/api/v3/file_links/file_links_download_api.rb index 45b4d316bf0e..f73f65ee4b1a 100644 --- a/modules/storages/lib/api/v3/file_links/file_links_download_api.rb +++ b/modules/storages/lib/api/v3/file_links/file_links_download_api.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/file_links/file_links_open_api.rb b/modules/storages/lib/api/v3/file_links/file_links_open_api.rb index 8b4a6d2f2fa4..74fb30a10d15 100644 --- a/modules/storages/lib/api/v3/file_links/file_links_open_api.rb +++ b/modules/storages/lib/api/v3/file_links/file_links_open_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/file_links/work_packages_file_links_api.rb b/modules/storages/lib/api/v3/file_links/work_packages_file_links_api.rb index 101a60b88b2e..9575a206fe46 100644 --- a/modules/storages/lib/api/v3/file_links/work_packages_file_links_api.rb +++ b/modules/storages/lib/api/v3/file_links/work_packages_file_links_api.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/file_links/work_packages_file_links_create_endpoint.rb b/modules/storages/lib/api/v3/file_links/work_packages_file_links_create_endpoint.rb index 9343fcea533d..ea2034977e32 100644 --- a/modules/storages/lib/api/v3/file_links/work_packages_file_links_create_endpoint.rb +++ b/modules/storages/lib/api/v3/file_links/work_packages_file_links_create_endpoint.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/oauth_client/oauth_client_credentials_api.rb b/modules/storages/lib/api/v3/oauth_client/oauth_client_credentials_api.rb index ebaa043a65b4..4d7569ff8caa 100644 --- a/modules/storages/lib/api/v3/oauth_client/oauth_client_credentials_api.rb +++ b/modules/storages/lib/api/v3/oauth_client/oauth_client_credentials_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/project_storages/project_storage_collection_representer.rb b/modules/storages/lib/api/v3/project_storages/project_storage_collection_representer.rb index 5b0bcf0fee66..f0add538d166 100644 --- a/modules/storages/lib/api/v3/project_storages/project_storage_collection_representer.rb +++ b/modules/storages/lib/api/v3/project_storages/project_storage_collection_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/project_storages/project_storage_open_api.rb b/modules/storages/lib/api/v3/project_storages/project_storage_open_api.rb index 83cc6789d1d3..b99b73e701f9 100644 --- a/modules/storages/lib/api/v3/project_storages/project_storage_open_api.rb +++ b/modules/storages/lib/api/v3/project_storages/project_storage_open_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/project_storages/project_storage_representer.rb b/modules/storages/lib/api/v3/project_storages/project_storage_representer.rb index cec8da9cd799..eb834cd77641 100644 --- a/modules/storages/lib/api/v3/project_storages/project_storage_representer.rb +++ b/modules/storages/lib/api/v3/project_storages/project_storage_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/project_storages/project_storages_api.rb b/modules/storages/lib/api/v3/project_storages/project_storages_api.rb index 8793acbe6594..0d4f9285434a 100644 --- a/modules/storages/lib/api/v3/project_storages/project_storages_api.rb +++ b/modules/storages/lib/api/v3/project_storages/project_storages_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/storage_files/storage_file_representer.rb b/modules/storages/lib/api/v3/storage_files/storage_file_representer.rb index 1a175c81dc07..dcb1a95cfa72 100644 --- a/modules/storages/lib/api/v3/storage_files/storage_file_representer.rb +++ b/modules/storages/lib/api/v3/storage_files/storage_file_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/storage_files/storage_files_api.rb b/modules/storages/lib/api/v3/storage_files/storage_files_api.rb index 2a6a2aaeea7c..61e7b4d90ef9 100644 --- a/modules/storages/lib/api/v3/storage_files/storage_files_api.rb +++ b/modules/storages/lib/api/v3/storage_files/storage_files_api.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/storage_files/storage_files_representer.rb b/modules/storages/lib/api/v3/storage_files/storage_files_representer.rb index 3d27ffe462bf..d148bea077cc 100644 --- a/modules/storages/lib/api/v3/storage_files/storage_files_representer.rb +++ b/modules/storages/lib/api/v3/storage_files/storage_files_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/storage_files/storage_upload_link_representer.rb b/modules/storages/lib/api/v3/storage_files/storage_upload_link_representer.rb index eac026303282..50b195186b4b 100644 --- a/modules/storages/lib/api/v3/storage_files/storage_upload_link_representer.rb +++ b/modules/storages/lib/api/v3/storage_files/storage_upload_link_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/storages/storage_collection_representer.rb b/modules/storages/lib/api/v3/storages/storage_collection_representer.rb index 99d75b39cd45..e7b773905b4e 100644 --- a/modules/storages/lib/api/v3/storages/storage_collection_representer.rb +++ b/modules/storages/lib/api/v3/storages/storage_collection_representer.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/storages/storage_open_api.rb b/modules/storages/lib/api/v3/storages/storage_open_api.rb index 4159cc34af03..72c83d1927ee 100644 --- a/modules/storages/lib/api/v3/storages/storage_open_api.rb +++ b/modules/storages/lib/api/v3/storages/storage_open_api.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/storages/storage_payload_representer.rb b/modules/storages/lib/api/v3/storages/storage_payload_representer.rb index c9bcd8030c83..fcd2e734090d 100644 --- a/modules/storages/lib/api/v3/storages/storage_payload_representer.rb +++ b/modules/storages/lib/api/v3/storages/storage_payload_representer.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/api/v3/storages/storage_representer.rb b/modules/storages/lib/api/v3/storages/storage_representer.rb index e7507dab26b6..405a5f163238 100644 --- a/modules/storages/lib/api/v3/storages/storage_representer.rb +++ b/modules/storages/lib/api/v3/storages/storage_representer.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -93,10 +93,10 @@ def initialize(model, current_user:, embed_links: nil) getter: ->(*) {}, setter: ->(fragment:, represented:, **) { if fragment.present? - represented.automatically_managed = true + represented.automatic_management_enabled = true represented.password = fragment else - represented.automatically_managed = false + represented.automatic_management_enabled = false end } @@ -106,7 +106,7 @@ def initialize(model, current_user:, embed_links: nil) getter: ->(represented:, **) { break unless represented.provider_type_nextcloud? - represented.automatically_managed? + represented.automatic_management_enabled? }, setter: ->(*) {} diff --git a/modules/storages/lib/api/v3/storages/storages_api.rb b/modules/storages/lib/api/v3/storages/storages_api.rb index 1032ca3ae8da..c2599eea4392 100644 --- a/modules/storages/lib/api/v3/storages/storages_api.rb +++ b/modules/storages/lib/api/v3/storages/storages_api.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/open_project/storages.rb b/modules/storages/lib/open_project/storages.rb index 2db82096363d..b7ef4ce42ca6 100644 --- a/modules/storages/lib/open_project/storages.rb +++ b/modules/storages/lib/open_project/storages.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/open_project/storages/append_storages_hosts_to_csp_hook.rb b/modules/storages/lib/open_project/storages/append_storages_hosts_to_csp_hook.rb index af47ef2a748c..144830a8aa37 100644 --- a/modules/storages/lib/open_project/storages/append_storages_hosts_to_csp_hook.rb +++ b/modules/storages/lib/open_project/storages/append_storages_hosts_to_csp_hook.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/lib/open_project/storages/engine.rb b/modules/storages/lib/open_project/storages/engine.rb index c6d30e0f1449..232be7262019 100644 --- a/modules/storages/lib/open_project/storages/engine.rb +++ b/modules/storages/lib/open_project/storages/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/registry_spec.rb b/modules/storages/spec/common/storages/peripherals/registry_spec.rb index 335f38a733c8..20e285ddb923 100644 --- a/modules/storages/spec/common/storages/peripherals/registry_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/registry_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/copy_template_folder_command_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/copy_template_folder_command_spec.rb index 2ab785810b10..cf42c3653d9b 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/copy_template_folder_command_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/copy_template_folder_command_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -116,6 +116,7 @@ expect(result).to be_failure expect(result.errors.code).to eq(:conflict) + expect(result.errors.log_message).to eq("The destination node is not found") end end end diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/download_link_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/download_link_query_spec.rb index 530d6bcda03c..9d2514d3b37f 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/download_link_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/download_link_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/files_info_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/files_info_query_spec.rb index d40f992e6798..cd8b755ea775 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/files_info_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/files_info_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ require 'spec_helper' require_module_spec_helper -RSpec.describe Storages::Peripherals::StorageInteraction::Nextcloud::FilesInfoQuery, :vcr, :webmock do +RSpec.describe Storages::Peripherals::StorageInteraction::Nextcloud::FilesInfoQuery, :webmock do using Storages::Peripherals::ServiceResultRefinements let(:user) { create(:user) } diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/files_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/files_query_spec.rb index 22c676879bd0..4484bfc358cc 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/files_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/files_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/open_file_link_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/open_file_link_query_spec.rb index 6e4cf0fa64c3..45a35f69b072 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/open_file_link_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/open_file_link_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/open_storage_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/open_storage_query_spec.rb index fbcd356c37c5..7f22330e23c4 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/open_storage_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/open_storage_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/upload_link_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/upload_link_query_spec.rb index e332c19c030e..469863310eab 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/upload_link_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/upload_link_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/util_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/util_spec.rb index 0154ebf90ee3..d84cc7a30f96 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/util_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/nextcloud/util_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/download_link_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/download_link_query_spec.rb index 034560550e9b..f1c2728e3b2d 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/download_link_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/download_link_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/file_info_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/file_info_query_spec.rb index 81d085276cf0..770017d79bef 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/file_info_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/file_info_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,78 +31,159 @@ require 'spec_helper' require_module_spec_helper -RSpec.describe Storages::Peripherals::StorageInteraction::OneDrive::FileInfoQuery, :webmock do - include JsonResponseHelper +RSpec.describe Storages::Peripherals::StorageInteraction::OneDrive::FileInfoQuery, :vcr, :webmock do + using Storages::Peripherals::ServiceResultRefinements - let(:storage) do - create(:one_drive_storage, - :with_oauth_client, - drive_id: 'b!-RIj2DuyvEyV1T4NlOaMHk8XkS_I8MdFlUCq1BlcjgmhRfAj3-Z8RY2VpuvV_tpd') - end let(:user) { create(:user) } - let(:token) { create(:oauth_client_token, user:, oauth_client: storage.oauth_client) } - let(:file_id) { '01BYE5RZ5MYLM2SMX75ZBIPQZIHT6OAYPB' } - let(:not_found_json) { not_found_response } - let(:forbidden_json) { forbidden_response } + let(:storage) { create(:sharepoint_dev_drive_storage, oauth_client_token_user: user) } + + subject { described_class.new(storage) } + + describe '#call' do + it 'responds with correct parameters' do + expect(described_class).to respond_to(:call) - it 'responds to .call' do - expect(described_class).to respond_to(:call) + method = described_class.method(:call) + expect(method.parameters).to contain_exactly(%i[keyreq storage], %i[keyreq user], %i[keyreq file_id]) + end + + context 'without outbound request involved' do + context 'with nil' do + it 'returns an error' do + result = subject.call(user:, file_id: nil) - method = described_class.method(:call) - expect(method.parameters).to contain_exactly(%i[keyreq storage], %i[keyreq user], %i[keyreq file_id]) + expect(result).to be_failure + expect(result.error_source).to be_a(described_class) + expect(result.result).to eq(:error) + end + end + end end - it 'returns a storage file info object' do - stub_request(:get, "https://graph.microsoft.com/v1.0/drives/#{storage.drive_id}/items/#{file_id}?$select=id,name,fileSystemInfo,file,folder,size,createdBy,lastModifiedBy,parentReference") - .with(headers: { 'Authorization' => "Bearer #{token.access_token}" }) - .to_return(status: 200, body: read_json('folder_drive_item'), headers: {}) - - storage_file_info = described_class.call(storage:, user:, file_id:).result - - # rubocop:disable Layout/LineLength - expect(storage_file_info.to_h).to eq({ - status: 'ok', - status_code: 200, - id: '01BYE5RZ5MYLM2SMX75ZBIPQZIHT6OAYPB', - name: 'Business Data', - size: 39566226, - mime_type: 'application/x-op-directory', - created_at: Time.parse('2017-08-07T16:16:30Z'), - last_modified_at: Time.parse('2017-08-07T16:16:30Z'), - owner_name: 'Megan Bowen', - owner_id: '48d31887-5fad-4d73-a9f5-3c356e68a038', - last_modified_by_id: '48d31887-5fad-4d73-a9f5-3c356e68a038', - last_modified_by_name: 'Megan Bowen', - permissions: nil, - trashed: false, - location: '/drives/b!-RIj2DuyvEyV1T4NlOaMHk8XkS_I8MdFlUCq1BlcjgmhRfAj3-Z8RY2VpuvV_tpd/root:' - }) - # rubocop:enable Layout/LineLength + context 'with outbound requests successful' do + context 'with a file id requested', vcr: 'one_drive/file_info_query_success_file' do + let(:file_id) { '01AZJL5PNCQCEBFI3N7JGZSX5AOX32Z3LA' } + + # rubocop:disable RSpec/ExampleLength + it 'must return the file information when called' do + result = subject.call(user:, file_id:) + expect(result).to be_success + + result.match( + on_success: ->(file_info) do + expect(file_info).to be_a(Storages::StorageFileInfo) + expect(file_info.to_h) + .to eq({ + status: 'ok', + status_code: 200, + id: '01AZJL5PNCQCEBFI3N7JGZSX5AOX32Z3LA', + name: 'NextcloudHub.md', + size: 1095, + mime_type: 'application/octet-stream', + created_at: Time.parse('2023-09-26T14:45:25Z'), + last_modified_at: Time.parse('2023-09-26T14:46:13Z'), + owner_name: 'Eric Schubert', + owner_id: '0a0d38a9-a59b-4245-93fa-0d2cf727f17a', + last_modified_by_name: 'Eric Schubert', + last_modified_by_id: '0a0d38a9-a59b-4245-93fa-0d2cf727f17a', + permissions: nil, + trashed: false, + location: '/Folder/Subfolder/NextcloudHub.md' + }) + end, + on_failure: ->(error) { fail "Expected success, got #{error}" } + ) + end + # rubocop:enable RSpec/ExampleLength + end + + context 'with a folder id requested', vcr: 'one_drive/file_info_query_success_folder' do + let(:file_id) { '01AZJL5PNQYF5NM3KWYNA3RJHJIB2XMMMB' } + + # rubocop:disable RSpec/ExampleLength + it 'must return the file information when called' do + result = subject.call(user:, file_id:) + expect(result).to be_success + + result.match( + on_success: ->(file_info) do + expect(file_info).to be_a(Storages::StorageFileInfo) + expect(file_info.to_h) + .to eq({ + status: 'ok', + status_code: 200, + id: '01AZJL5PNQYF5NM3KWYNA3RJHJIB2XMMMB', + name: 'Ümlæûts', + size: 18007, + mime_type: 'application/x-op-directory', + created_at: Time.parse('2023-10-09T15:26:32Z'), + last_modified_at: Time.parse('2023-10-09T15:26:32Z'), + owner_name: 'Eric Schubert', + owner_id: '0a0d38a9-a59b-4245-93fa-0d2cf727f17a', + last_modified_by_name: 'Eric Schubert', + last_modified_by_id: '0a0d38a9-a59b-4245-93fa-0d2cf727f17a', + permissions: nil, + trashed: false, + location: '/Folder/Ümlæûts' + }) + end, + on_failure: ->(error) { fail "Expected success, got #{error}" } + ) + end + # rubocop:enable RSpec/ExampleLength + end + end + + context 'with outbound request returning not found', vcr: 'one_drive/file_info_query_one_not_found' do + let(:file_id) { 'not_existent' } + + it 'must return not found' do + result = subject.call(user:, file_id:) + expect(result).to be_failure + expect(result.error_source).to be_a(Storages::Peripherals::StorageInteraction::OneDrive::Internal::DriveItemQuery) + + result.match( + on_failure: ->(error) { expect(error.code).to eq(:not_found) }, + on_success: ->(file_info) { fail "Expected failure, got #{file_info}" } + ) + end end - describe 'error handling' do - it 'returns a notfound error if the API call returns a 404' do - stub_request(:get, "https://graph.microsoft.com/v1.0/drives/#{storage.drive_id}/items/#{file_id}?$select=id,name,fileSystemInfo,file,folder,size,createdBy,lastModifiedBy,parentReference") - .with(headers: { 'Authorization' => "Bearer #{token.access_token}" }) - .to_return(status: 404, body: not_found_json, headers: {}) + context 'with invalid oauth token', vcr: 'one_drive/file_info_query_invalid_token' do + let(:file_id) { '01AZJL5PNCQCEBFI3N7JGZSX5AOX32Z3LA' } - storage_files = described_class.call(storage:, user:, file_id:) + before do + token = build_stubbed(:oauth_client_token, oauth_client: storage.oauth_client) + allow(Storages::Peripherals::StorageInteraction::OneDrive::Util) + .to receive(:using_user_token) + .and_yield(token) + end - expect(storage_files).to be_failure - expect(storage_files.result).to eq(:not_found) - expect(storage_files.errors.data.payload.to_json).to eq(not_found_json) + it 'must return unauthorized' do + result = subject.call(user:, file_id:) + expect(result).to be_failure + expect(result.error_source).to be_a(Storages::Peripherals::StorageInteraction::OneDrive::Internal::DriveItemQuery) + + result.match( + on_failure: ->(error) { expect(error.code).to eq(:unauthorized) }, + on_success: ->(file_info) { fail "Expected failure, got #{file_info}" } + ) end + end - it 'returns a forbidden error if the API call returns a 403' do - stub_request(:get, "https://graph.microsoft.com/v1.0/drives/#{storage.drive_id}/items/#{file_id}?$select=id,name,fileSystemInfo,file,folder,size,createdBy,lastModifiedBy,parentReference") - .with(headers: { 'Authorization' => "Bearer #{token.access_token}" }) - .to_return(status: 403, body: forbidden_json, headers: {}) + context 'with not existent oauth token' do + let(:file_id) { '01AZJL5PNCQCEBFI3N7JGZSX5AOX32Z3LA' } + let(:user_without_token) { create(:user) } - storage_files = described_class.call(storage:, user:, file_id:) + it 'must return unauthorized' do + result = subject.call(user: user_without_token, file_id:) + expect(result).to be_failure + expect(result.error_source).to be_a(OAuthClients::ConnectionManager) - expect(storage_files).to be_failure - expect(storage_files.result).to eq(:forbidden) - expect(storage_files.errors.data.payload.to_json).to eq(forbidden_json) + result.match( + on_failure: ->(error) { expect(error.code).to eq(:unauthorized) }, + on_success: ->(file_infos) { fail "Expected failure, got #{file_infos}" } + ) end end end diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/files_info_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/files_info_query_spec.rb index 38c2c373e873..1d1bdf841ba7 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/files_info_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/files_info_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -78,7 +78,6 @@ end # rubocop:disable RSpec/ExampleLength - # rubocop:disable Layout/LineLength it 'must return an array of file information when called' do result = subject.call(user:, file_ids:) expect(result).to be_success @@ -104,7 +103,7 @@ last_modified_by_id: '0a0d38a9-a59b-4245-93fa-0d2cf727f17a', permissions: nil, trashed: false, - location: '/drives/b!dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs/root:' + location: '/Folder with spaces' }, { status: 'ok', @@ -121,7 +120,7 @@ last_modified_by_id: '0a0d38a9-a59b-4245-93fa-0d2cf727f17a', permissions: nil, trashed: false, - location: '/drives/b!dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs/root:/Folder' + location: '/Folder/Document.docx' }, { status: 'ok', @@ -138,7 +137,7 @@ last_modified_by_id: '0a0d38a9-a59b-4245-93fa-0d2cf727f17a', permissions: nil, trashed: false, - location: '/drives/b!dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs/root:/Folder/Subfolder' + location: '/Folder/Subfolder/NextcloudHub.md' } ]) end, @@ -146,7 +145,6 @@ ) end # rubocop:enable RSpec/ExampleLength - # rubocop:enable Layout/LineLength end end diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/files_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/files_query_spec.rb index 9a8c73e7281c..a309a40f1ce2 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/files_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/files_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/open_file_link_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/open_file_link_query_spec.rb index ecaa791013e9..78ca03cc9b8d 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/open_file_link_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/open_file_link_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/open_storage_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/open_storage_query_spec.rb index 60daeb29abd3..aa786682f548 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/open_storage_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/open_storage_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/upload_link_query_spec.rb b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/upload_link_query_spec.rb index ed86a17bc596..b5eca473c2bd 100644 --- a/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/upload_link_query_spec.rb +++ b/modules/storages/spec/common/storages/peripherals/storage_interaction/one_drive/upload_link_query_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/components/project_storages/row_component_spec.rb b/modules/storages/spec/components/project_storages/row_component_spec.rb index 6d1f13f46c63..b4bc90554af6 100644 --- a/modules/storages/spec/components/project_storages/row_component_spec.rb +++ b/modules/storages/spec/components/project_storages/row_component_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -41,7 +41,7 @@ render_inline(component) - expect(page).not_to have_css('a.icon.icon-group') + expect(page).to have_no_css('a.icon.icon-group') expect(page).to have_css('a.icon.icon-edit') expect(page).to have_css('a.icon.icon-delete') end diff --git a/modules/storages/spec/components/storages/admin/oauth_client_info_component_spec.rb b/modules/storages/spec/components/storages/admin/oauth_client_info_component_spec.rb index fc6a09cf3588..e93dbeb10009 100644 --- a/modules/storages/spec/components/storages/admin/oauth_client_info_component_spec.rb +++ b/modules/storages/spec/components/storages/admin/oauth_client_info_component_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/file_links/create_contract_spec.rb b/modules/storages/spec/contracts/storages/file_links/create_contract_spec.rb index 3e30a610143e..04ec5bab054c 100644 --- a/modules/storages/spec/contracts/storages/file_links/create_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/file_links/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/file_links/delete_contract_spec.rb b/modules/storages/spec/contracts/storages/file_links/delete_contract_spec.rb index 994a28702730..d14a4ff24bc8 100644 --- a/modules/storages/spec/contracts/storages/file_links/delete_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/file_links/delete_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/file_links/shared_contract_examples.rb b/modules/storages/spec/contracts/storages/file_links/shared_contract_examples.rb index 18cb1ba6df41..433fd71c7648 100644 --- a/modules/storages/spec/contracts/storages/file_links/shared_contract_examples.rb +++ b/modules/storages/spec/contracts/storages/file_links/shared_contract_examples.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/last_project_folders/base_contract_spec.rb b/modules/storages/spec/contracts/storages/last_project_folders/base_contract_spec.rb index c1fd7935f321..7562957cf4c1 100644 --- a/modules/storages/spec/contracts/storages/last_project_folders/base_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/last_project_folders/base_contract_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/project_storages/base_contract_spec.rb b/modules/storages/spec/contracts/storages/project_storages/base_contract_spec.rb index 848c21769684..546c483d2018 100644 --- a/modules/storages/spec/contracts/storages/project_storages/base_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/project_storages/base_contract_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -51,7 +51,7 @@ context 'if the project folder mode is `automatic`' do before do project_storage.project_folder_mode = 'automatic' - project_storage.storage.automatically_managed = true + project_storage.storage.automatic_management_enabled = true end it_behaves_like 'contract is valid' @@ -60,7 +60,7 @@ context 'when the project folder mode is `automatic` but the storage is not automatically managed' do before do project_storage.project_folder_mode = 'automatic' - project_storage.storage.automatically_managed = false + project_storage.storage.automatic_management_enabled = false end it_behaves_like 'contract is invalid', project_folder_mode: :mode_unavailable diff --git a/modules/storages/spec/contracts/storages/project_storages/create_contract_spec.rb b/modules/storages/spec/contracts/storages/project_storages/create_contract_spec.rb index fd27e2834fd0..0df3cc186d04 100644 --- a/modules/storages/spec/contracts/storages/project_storages/create_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/project_storages/create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/project_storages/delete_contract_spec.rb b/modules/storages/spec/contracts/storages/project_storages/delete_contract_spec.rb index 3eec9b615192..305617a88a66 100644 --- a/modules/storages/spec/contracts/storages/project_storages/delete_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/project_storages/delete_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/project_storages/shared_contract_examples.rb b/modules/storages/spec/contracts/storages/project_storages/shared_contract_examples.rb index 10c5e3443d3f..bea5e5e0164a 100644 --- a/modules/storages/spec/contracts/storages/project_storages/shared_contract_examples.rb +++ b/modules/storages/spec/contracts/storages/project_storages/shared_contract_examples.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/storages/nextcloud_contract_spec.rb b/modules/storages/spec/contracts/storages/storages/nextcloud_contract_spec.rb index 026054f9df5e..ff8d1c287883 100644 --- a/modules/storages/spec/contracts/storages/storages/nextcloud_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/storages/nextcloud_contract_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/storages/nextcloud_create_contract_spec.rb b/modules/storages/spec/contracts/storages/storages/nextcloud_create_contract_spec.rb index 716d4027f7a4..8eb7aabdf16c 100644 --- a/modules/storages/spec/contracts/storages/storages/nextcloud_create_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/storages/nextcloud_create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/storages/nextcloud_delete_contract_spec.rb b/modules/storages/spec/contracts/storages/storages/nextcloud_delete_contract_spec.rb index 9a77c5196695..4b3f7ade1f1a 100644 --- a/modules/storages/spec/contracts/storages/storages/nextcloud_delete_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/storages/nextcloud_delete_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/storages/nextcloud_update_contract_spec.rb b/modules/storages/spec/contracts/storages/storages/nextcloud_update_contract_spec.rb index 1b96d0030d17..557ee7573241 100644 --- a/modules/storages/spec/contracts/storages/storages/nextcloud_update_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/storages/nextcloud_update_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/storages/one_drive_contract_spec.rb b/modules/storages/spec/contracts/storages/storages/one_drive_contract_spec.rb index 254d0e33685e..befc0362011a 100644 --- a/modules/storages/spec/contracts/storages/storages/one_drive_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/storages/one_drive_contract_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ require 'spec_helper' require_module_spec_helper -RSpec.describe Storages::Storages::NextcloudContract, :storage_server_helpers, webmock: true do +RSpec.describe Storages::Storages::NextcloudContract, :storage_server_helpers, :webmock do let(:current_user) { create(:admin) } let(:storage) { build(:one_drive_storage) } diff --git a/modules/storages/spec/contracts/storages/storages/one_drive_create_contract_spec.rb b/modules/storages/spec/contracts/storages/storages/one_drive_create_contract_spec.rb index 83bae78cbc05..838e1b948768 100644 --- a/modules/storages/spec/contracts/storages/storages/one_drive_create_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/storages/one_drive_create_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/storages/one_drive_delete_contract_spec.rb b/modules/storages/spec/contracts/storages/storages/one_drive_delete_contract_spec.rb index 2d6fee0b1199..24f29ff95ac8 100644 --- a/modules/storages/spec/contracts/storages/storages/one_drive_delete_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/storages/one_drive_delete_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/storages/one_drive_update_contract_spec.rb b/modules/storages/spec/contracts/storages/storages/one_drive_update_contract_spec.rb index 1c407d2f4af7..cf5e1d968557 100644 --- a/modules/storages/spec/contracts/storages/storages/one_drive_update_contract_spec.rb +++ b/modules/storages/spec/contracts/storages/storages/one_drive_update_contract_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/contracts/storages/storages/shared_contract_examples.rb b/modules/storages/spec/contracts/storages/storages/shared_contract_examples.rb index 0c1c126ea009..e6c9345f43cc 100644 --- a/modules/storages/spec/contracts/storages/storages/shared_contract_examples.rb +++ b/modules/storages/spec/contracts/storages/storages/shared_contract_examples.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -252,14 +252,14 @@ end context 'when automatically managed, no username or password' do - before { storage.automatically_managed = true } + before { storage.automatic_management_enabled = true } it_behaves_like 'contract is invalid', password: :blank end context 'when automatically managed, with username and password' do before do - storage.assign_attributes(automatically_managed: true, username: 'OpenProject', password: 'Password') + storage.assign_attributes(automatic_management_enabled: true, username: 'OpenProject', password: 'Password') end it_behaves_like 'contract is valid' @@ -268,7 +268,7 @@ context 'when not automatically managed, no username or password' do before do storage.provider_fields = {} - storage.assign_attributes(automatically_managed: false) + storage.assign_attributes(automatic_management_enabled: false) end it_behaves_like 'contract is valid' @@ -276,7 +276,7 @@ context 'when not automatically managed, with username default and password' do before do - storage.assign_attributes(automatically_managed: false, username: 'OpenProject', password: 'Password') + storage.assign_attributes(automatic_management_enabled: false, username: 'OpenProject', password: 'Password') end it_behaves_like 'contract is invalid', password: :present @@ -284,7 +284,7 @@ context 'when not automatically managed, with user defined username and password' do before do - storage.assign_attributes(automatically_managed: false, username: 'Username', password: 'Password') + storage.assign_attributes(automatic_management_enabled: false, username: 'Username', password: 'Password') end it_behaves_like 'contract is invalid', username: :present, password: :present diff --git a/modules/storages/spec/factories/file_link_element_factory.rb b/modules/storages/spec/factories/file_link_element_factory.rb index c4d4d5898d17..af66880a6aa2 100644 --- a/modules/storages/spec/factories/file_link_element_factory.rb +++ b/modules/storages/spec/factories/file_link_element_factory.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/factories/file_link_factory.rb b/modules/storages/spec/factories/file_link_factory.rb index 2d9ff9243bdd..185fb9a3f6a6 100644 --- a/modules/storages/spec/factories/file_link_factory.rb +++ b/modules/storages/spec/factories/file_link_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/factories/last_project_folder_factory.rb b/modules/storages/spec/factories/last_project_folder_factory.rb index 19eeaec7de81..66a96991a370 100644 --- a/modules/storages/spec/factories/last_project_folder_factory.rb +++ b/modules/storages/spec/factories/last_project_folder_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/factories/project_storage_factory.rb b/modules/storages/spec/factories/project_storage_factory.rb index 5cfc986a172a..08b055471b5b 100644 --- a/modules/storages/spec/factories/project_storage_factory.rb +++ b/modules/storages/spec/factories/project_storage_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/factories/storage_factory.rb b/modules/storages/spec/factories/storage_factory.rb index 71d1b9baffa3..66decafb4ebe 100644 --- a/modules/storages/spec/factories/storage_factory.rb +++ b/modules/storages/spec/factories/storage_factory.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/factories/storage_file_info_factory.rb b/modules/storages/spec/factories/storage_file_info_factory.rb index 1dd9f06bbad0..969ad8e201db 100644 --- a/modules/storages/spec/factories/storage_file_info_factory.rb +++ b/modules/storages/spec/factories/storage_file_info_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ factory :storage_file_info, class: '::Storages::StorageFileInfo' do status { "OK" } status_code { 200 } - sequence(:id) { |n| "20000#{n}" } + sequence(:id) { |n| "20000#{n}" } # rubocop:disable FactoryBot/IdSequence sequence(:name) { |n| "file_name_#{n}.txt" } last_modified_at { Time.zone.now } created_at { Time.zone.now } diff --git a/modules/storages/spec/factories/webdav_data_factory.rb b/modules/storages/spec/factories/webdav_data_factory.rb index 6fb8e0cf6a90..02e50453f229 100644 --- a/modules/storages/spec/factories/webdav_data_factory.rb +++ b/modules/storages/spec/factories/webdav_data_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -55,7 +55,7 @@ xml['oc'].size('20028269') xml['d'].getlastmodified('Fri, 28 Oct 2022 14:27:36 GMT') xml['oc'].permissions('RGDNVCK') - xml['oc'].send(:"owner-display-name", url_safe_user_id) + xml['oc'].send(:'owner-display-name', url_safe_user_id) end xml['d'].status('HTTP/1.1 200 OK') end @@ -74,7 +74,7 @@ xml['oc'].size('6592') xml['d'].getlastmodified('Fri, 28 Oct 2022 14:31:26 GMT') xml['oc'].permissions('RGDNVCK') - xml['oc'].send(:"owner-display-name", url_safe_user_id) + xml['oc'].send(:'owner-display-name', url_safe_user_id) end xml['d'].status('HTTP/1.1 200 OK') end @@ -93,7 +93,7 @@ xml['oc'].size('8592') xml['d'].getlastmodified('Fri, 28 Oct 2022 14:43:26 GMT') xml['oc'].permissions('RGDNV') - xml['oc'].send(:"owner-display-name", url_safe_user_id) + xml['oc'].send(:'owner-display-name', url_safe_user_id) end xml['d'].status('HTTP/1.1 200 OK') end @@ -113,7 +113,7 @@ xml['d'].getcontenttype('text/markdown') xml['d'].getlastmodified('Thu, 14 Jul 2022 08:42:15 GMT') xml['oc'].permissions('RGDNVW') - xml['oc'].send(:"owner-display-name", url_safe_user_id) + xml['oc'].send(:'owner-display-name', url_safe_user_id) end xml['d'].status('HTTP/1.1 200 OK') end @@ -127,7 +127,7 @@ xml['d'].getcontenttype('application/pdf') xml['d'].getlastmodified('Thu, 14 Jul 2022 08:42:15 GMT') xml['oc'].permissions('RGDNV') - xml['oc'].send(:"owner-display-name", url_safe_user_id) + xml['oc'].send(:'owner-display-name', url_safe_user_id) end xml['d'].status('HTTP/1.1 200 OK') end @@ -156,7 +156,7 @@ xml['oc'].size('6592') xml['d'].getlastmodified('Fri, 28 Oct 2022 14:31:26 GMT') xml['oc'].permissions('RGDNVCK') - xml['oc'].send(:"owner-display-name", 'admin') + xml['oc'].send(:'owner-display-name', 'admin') end xml['d'].status('HTTP/1.1 200 OK') end @@ -176,7 +176,7 @@ xml['d'].getcontenttype('image/png') xml['d'].getlastmodified('Fri, 28 Oct 2022 14:31:26 GMT') xml['oc'].permissions('RGDNVW') - xml['oc'].send(:"owner-display-name", 'admin') + xml['oc'].send(:'owner-display-name', 'admin') end xml['d'].status('HTTP/1.1 200 OK') end @@ -190,7 +190,7 @@ xml['d'].getcontenttype('audio/ogg') xml['d'].getlastmodified('Fri, 28 Oct 2022 14:31:26 GMT') xml['oc'].permissions('RGDNVW') - xml['oc'].send(:"owner-display-name", 'admin') + xml['oc'].send(:'owner-display-name', 'admin') end xml['d'].status('HTTP/1.1 200 OK') end @@ -204,7 +204,7 @@ xml['d'].getcontenttype('text/plain') xml['d'].getlastmodified('Fri, 28 Oct 2022 14:31:26 GMT') xml['oc'].permissions('RGDNVW') - xml['oc'].send(:"owner-display-name", 'admin') + xml['oc'].send(:'owner-display-name', 'admin') end xml['d'].status('HTTP/1.1 200 OK') end diff --git a/modules/storages/spec/features/admin_storages_spec.rb b/modules/storages/spec/features/admin_storages_spec.rb index adee62c46867..4fd4776462ee 100644 --- a/modules/storages/spec/features/admin_storages_spec.rb +++ b/modules/storages/spec/features/admin_storages_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -221,7 +221,7 @@ aggregate_failures 'Automatically managed project folders' do within_test_selector('storage-automatically-managed-project-folders-form') do - automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatically_managed]"]') + automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatic_management_enabled]"]') application_password_input = page.find_by_id('storages_nextcloud_storage_password') expect(automatically_managed_switch).to be_checked expect(application_password_input.value).to be_empty @@ -234,7 +234,7 @@ # Mock a valid response (=401) for example.com, so the password validation should fail mock_nextcloud_application_credentials_validation('https://example.com', password: "1234567890", response_code: 401) - automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatically_managed]"]') + automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatic_management_enabled]"]') expect(automatically_managed_switch).to be_checked fill_in 'storages_nextcloud_storage_password', with: "1234567890" # Clicking submit with application password empty should show an error @@ -245,7 +245,7 @@ # Mock a valid response (=200) for example.com, so the password validation should succeed # Fill in application password and submit mock_nextcloud_application_credentials_validation('https://example.com', password: "1234567890") - automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatically_managed]"]') + automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatic_management_enabled]"]') expect(automatically_managed_switch).to be_checked fill_in 'storages_nextcloud_storage_password', with: "1234567890" click_button('Done, complete setup') @@ -401,7 +401,7 @@ storage_delete_button.click - expect(page).not_to have_text("Foo Nextcloud") + expect(page).to have_no_text("Foo Nextcloud") expect(page).to have_text('Successful deletion.') expect(page).to have_current_path(admin_settings_storages_path) end @@ -527,7 +527,7 @@ find_test_selector('storage-edit-automatically-managed-project-folders-button').click within_test_selector('storage-automatically-managed-project-folders-form') do - automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatically_managed]"]') + automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatic_management_enabled]"]') application_password_input = page.find_by_id('storages_nextcloud_storage_password') expect(automatically_managed_switch).to be_checked expect(application_password_input.value).to be_empty @@ -540,7 +540,7 @@ # Mock a valid response (=401) for example.com, so the password validation should fail mock_nextcloud_application_credentials_validation(storage.host, password: "1234567890", response_code: 401) - automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatically_managed]"]') + automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatic_management_enabled]"]') expect(automatically_managed_switch).to be_checked fill_in 'storages_nextcloud_storage_password', with: "1234567890" # Clicking submit with application password empty should show an error @@ -551,7 +551,7 @@ # Mock a valid response (=200) for example.com, so the password validation should succeed # Fill in application password and submit mock_nextcloud_application_credentials_validation(storage.host, password: "1234567890") - automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatically_managed]"]') + automatically_managed_switch = page.find('[name="storages_nextcloud_storage[automatic_management_enabled]"]') expect(automatically_managed_switch).to be_checked fill_in 'storages_nextcloud_storage_password', with: "1234567890" click_button('Done, complete setup') diff --git a/modules/storages/spec/features/create_file_links_spec.rb b/modules/storages/spec/features/create_file_links_spec.rb index 3f735db14e30..7074bb7df4be 100644 --- a/modules/storages/spec/features/create_file_links_spec.rb +++ b/modules/storages/spec/features/create_file_links_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,14 +31,14 @@ require 'spec_helper' require_module_spec_helper -RSpec.describe 'Managing file links in work package', js: true, webmock: true do +RSpec.describe 'Managing file links in work package', :js, :webmock do let(:permissions) { %i(view_work_packages edit_work_packages view_file_links manage_file_links) } let(:project) { create(:project) } let(:current_user) { create(:user, member_with_permissions: { project => permissions }) } let(:work_package) { create(:work_package, project:, description: 'Initial description') } let(:oauth_application) { create(:oauth_application) } - let(:storage) { create(:nextcloud_storage, oauth_application:) } + let(:storage) { create(:nextcloud_storage, name: 'My Storage', oauth_application:) } let(:oauth_client) { create(:oauth_client, integration: storage) } let(:oauth_client_token) { create(:oauth_client_token, oauth_client:, user: current_user) } let(:project_storage) { create(:project_storage, project:, storage:, project_folder_id: nil, project_folder_mode: 'inactive') } @@ -50,14 +50,13 @@ let(:sync_service) do sync_service = instance_double(Storages::FileLinkSyncService) allow(sync_service).to receive(:call) do |file_links| - ServiceResult.success(result: file_links.each { |file_link| file_link.origin_permission = :view }) + ServiceResult.success(result: file_links.each { |file_link| file_link.origin_status = :view_allowed }) end sync_service end let(:wp_page) { Pages::FullWorkPackage.new(work_package, project) } - let(:file_picker) { Components::FilePickerDialog.new } - let(:confirmation_dialog) { Components::ConfirmationDialog.new } + let(:modal) { Components::Common::Modal.new } before do allow(Storages::FileLinkSyncService).to receive(:new).and_return(sync_service) @@ -83,46 +82,66 @@ wp_page.visit_tab! :files end - describe 'create with the file picker and delete', with_flag: { storage_file_picking_select_all: true } do - it 'must enable the user to manage existing files on the storage' do - expect(wp_page.all(test_selector("file-list--item")).size).to eq 1 - expect(wp_page).to have_test_selector('file-list--item', text: file_link.name) + context 'with select all in file picker enabled', with_flag: { storage_file_picking_select_all: true } do + it 'must enable the user to select files from file picker to create file links' do + within_test_selector('op-tab-content--tab-section', text: 'MY STORAGE', wait: 25) do + expect(page).to have_list_item(count: 1) + expect(page).to have_list_item(text: 'jingle.ogg') + page.click_on('Link existing files') + end + + modal.expect_open + modal.expect_title('Select files') + modal.within_modal do + expect(page).to have_button('Select files to link', disabled: true) - page.find_test_selector('op-storage--link-existing-file-button').click + within(:list_item, text: 'Manual.pdf') { page.click } - file_picker.expect_open - file_picker.confirm_button_state(selection_count: 0) + expect(page).to have_button('Link 1 file', disabled: false) - file_picker.select_file('Manual.pdf') - file_picker.confirm_button_state(selection_count: 1) + within(:list_item, text: 'Folder1') { page.click } - file_picker.enter_folder('Folder1') - file_picker.has_list_item?(text: file_link.name, checked: true, disabled: true) - file_picker.select_all - file_picker.confirm_button_state(selection_count: 3) + within(:list_item, text: 'jingle.ogg') do + expect(page).to have_field(type: 'checkbox', checked: true, disabled: true) + end - file_picker.select_file('notes.txt') - file_picker.confirm_button_state(selection_count: 2) + page.click_on('Select all') + expect(page).to have_button('Link 3 files', disabled: false) - file_picker.use_breadcrumb(position: 'root') - file_picker.has_list_item?(text: 'Manual.pdf', checked: true, disabled: false) + within(:list_item, text: 'notes.txt') { page.click } + expect(page).to have_button('Link 2 files', disabled: false) - file_picker.confirm + page.click_on('My Storage') + within(:list_item, text: 'Manual.pdf') do + expect(page).to have_field(type: 'checkbox', checked: true, disabled: false) + end - expect(wp_page).to have_test_selector('file-list--item', text: 'Manual.pdf') - expect(wp_page).to have_test_selector('file-list--item', text: 'logo.png') - expect(wp_page).to have_test_selector('file-list--item', text: file_link.name) - expect(wp_page.all(test_selector("file-list--item")).size).to eq 3 + page.click_on('Link 2 files') + end - page.find_test_selector('file-list--item', text: 'logo.png').hover - within_test_selector('file-list--item', text: 'logo.png') do - page.find_test_selector('file-list--item-remove-floating-action').click + within_test_selector('op-tab-content--tab-section', text: 'MY STORAGE') do + expect(page).to have_list_item(count: 3) + expect(page).to have_list_item(text: 'jingle.ogg') + expect(page).to have_list_item(text: 'Manual.pdf') + expect(page).to have_list_item(text: 'logo.png') end + end + end - confirmation_dialog.confirm + it 'must enable the user to remove a file link' do + within_test_selector('op-tab-content--tab-section', text: 'MY STORAGE', wait: 25) do + within(:list_item, text: 'jingle.ogg') do + page.find('span', text: 'jingle.ogg').hover + page.click_on('Remove file link') + end + end - expect(wp_page).not_to have_test_selector('file-list--item', text: 'logo.png') - expect(wp_page.all(test_selector("file-list--item")).size).to eq 2 + modal.expect_open + modal.expect_title('Remove file link') + modal.within_modal do + page.click_on('Remove link') end + + expect(page).not_to have_list_item(text: 'jingle.ogg') end end diff --git a/modules/storages/spec/features/delete_project_storage_and_file_links_spec.rb b/modules/storages/spec/features/delete_project_storage_and_file_links_spec.rb index 803cf167efef..c5000e2e3314 100644 --- a/modules/storages/spec/features/delete_project_storage_and_file_links_spec.rb +++ b/modules/storages/spec/features/delete_project_storage_and_file_links_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -76,8 +76,8 @@ page.find('.icon.icon-delete').click # Danger zone confirmation flow - expect(page).to have_selector('.form--section-title', text: "DELETE FILE STORAGE") - expect(page).to have_selector('.danger-zone--warning', text: "Deleting a file storage is an irreversible action.") + expect(page).to have_css('.form--section-title', text: "DELETE FILE STORAGE") + expect(page).to have_css('.danger-zone--warning', text: "Deleting a file storage is an irreversible action.") expect(page).to have_button('Delete', disabled: true) # Cancel Confirmation diff --git a/modules/storages/spec/features/manage_project_storage_spec.rb b/modules/storages/spec/features/manage_project_storage_spec.rb index 07366706877e..f022db3f0f53 100644 --- a/modules/storages/spec/features/manage_project_storage_spec.rb +++ b/modules/storages/spec/features/manage_project_storage_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -153,14 +153,14 @@ expect(page).to have_current_path edit_project_settings_project_storage_path(project_id: project, id: Storages::ProjectStorage.last) expect(page).to have_text('Edit the file storage to this project') - expect(page).not_to have_select('storages_project_storage_storage_id') + expect(page).to have_no_select('storages_project_storage_storage_id') expect(page).to have_text(storage.name) expect(page).to have_checked_field('storages_project_storage_project_folder_mode_manual') expect(page).to have_text('Folder1') # Change the project folder mode to inactive, project folder is hidden but retained page.find_by_id('storages_project_storage_project_folder_mode_inactive').click - expect(page).not_to have_text('Folder1') + expect(page).to have_no_text('Folder1') page.click_button('Save') # The list of enabled file storages should still contain Storage 1 @@ -207,7 +207,7 @@ it 'automatic option is not available' do visit edit_project_settings_project_storage_path(project_id: project, id: project_storage) - expect(page).not_to have_content('New folder with automatically managed permissions') + expect(page).to have_no_content('New folder with automatically managed permissions') end end @@ -236,8 +236,8 @@ aggregate_failures 'select field options' do expect(page).to have_select('storages_project_storage_storage_id', options: ["#{configured_storage.name} (#{configured_storage.short_provider_type})"]) - expect(page).not_to have_select('storages_project_storage_storage_id', - options: ["#{unconfigured_storage.name} (#{unconfigured_storage.short_provider_type})"]) + expect(page).to have_no_select('storages_project_storage_storage_id', + options: ["#{unconfigured_storage.name} (#{unconfigured_storage.short_provider_type})"]) end end end diff --git a/modules/storages/spec/features/shared_context.rb b/modules/storages/spec/features/shared_context.rb index 96b84c2abb8f..fc3566c906d3 100644 --- a/modules/storages/spec/features/shared_context.rb +++ b/modules/storages/spec/features/shared_context.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/features/show_file_links_spec.rb b/modules/storages/spec/features/show_file_links_spec.rb index 861fd9f13764..441d07ca928b 100644 --- a/modules/storages/spec/features/show_file_links_spec.rb +++ b/modules/storages/spec/features/show_file_links_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,18 +31,18 @@ require 'spec_helper' require_module_spec_helper -RSpec.describe 'Showing of file links in work package', js: true do +RSpec.describe 'Showing of file links in work package', :js do let(:permissions) { %i(view_work_packages edit_work_packages view_file_links manage_file_links) } let(:project) { create(:project) } let(:current_user) { create(:user, member_with_permissions: { project => permissions }) } let(:work_package) { create(:work_package, project:, description: 'Initial description') } let(:oauth_application) { create(:oauth_application) } - let(:storage) { create(:nextcloud_storage, oauth_application:) } + let(:storage) { create(:nextcloud_storage, name: 'My storage', oauth_application:) } let(:oauth_client) { create(:oauth_client, integration: storage) } let(:oauth_client_token) { create(:oauth_client_token, oauth_client:, user: current_user) } let(:project_storage) { create(:project_storage, project:, storage:) } - let(:file_link) { create(:file_link, container: work_package, storage:) } + let(:file_link) { create(:file_link, container: work_package, storage:, origin_id: '42', origin_name: 'logo.png') } let(:wp_page) { Pages::FullWorkPackage.new(work_package, project) } let(:connection_manager) { instance_double(OAuthClients::ConnectionManager) } @@ -57,11 +57,11 @@ get_access_token: ServiceResult.success(result: oauth_client_token), authorization_state: :connected) - # Mock FileLinkSyncService as if Nextcloud would respond with origin_permission=nil + # Mock FileLinkSyncService as if Nextcloud would respond with origin_status=nil allow(Storages::FileLinkSyncService) .to receive(:new).and_return(sync_service) allow(sync_service).to receive(:call) do |file_links| - ServiceResult.success(result: file_links.each { |file_link| file_link.origin_permission = :view }) + ServiceResult.success(result: file_links.each { |file_link| file_link.origin_status = :view_allowed }) end project_storage @@ -72,10 +72,11 @@ end context 'if work package has associated file links' do - it "must show associated file links" do + it 'must show associated file links' do expect(page).to have_test_selector('op-tab-content--tab-section', count: 2) - within_test_selector('file-list') do - expect(page).to have_test_selector('file-list--item', text: file_link.origin_name, count: 1) + within_test_selector('op-tab-content--tab-section', text: 'MY STORAGE') do + expect(page).to have_list_item(count: 1) + expect(page).to have_list_item(text: 'logo.png') end end end @@ -103,7 +104,11 @@ end it 'must show storage information box with login button' do - expect(page.find_test_selector('op-storage--information')).to have_button(count: 1) + within_test_selector('op-tab-content--tab-section', text: 'MY STORAGE', wait: 25) do + expect(page).to have_button('Nextcloud login') + expect(page).to have_text('Login to Nextcloud') + expect(page).to have_list_item(text: 'logo.png') + end end end @@ -113,7 +118,11 @@ end it 'must show storage information box' do - expect(page).to have_test_selector('op-storage--information', count: 1) + within_test_selector('op-tab-content--tab-section', text: 'MY STORAGE', wait: 25) do + expect(page).to have_no_button + expect(page).to have_text('No Nextcloud connection') + expect(page).to have_list_item(text: 'logo.png') + end end end end diff --git a/modules/storages/spec/features/storages_menu_links_spec.rb b/modules/storages/spec/features/storages_menu_links_spec.rb index 212455fbaf09..3a076332ceda 100644 --- a/modules/storages/spec/features/storages_menu_links_spec.rb +++ b/modules/storages/spec/features/storages_menu_links_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -56,8 +56,8 @@ expect(page).to have_link(storage_configured_linked1.name, href: ensure_connection_path(project_storage1)) expect(page).to have_link(storage_configured_linked2.name, href: ensure_connection_path(project_storage2)) - expect(page).not_to have_link(storage_configured_unlinked.name) - expect(page).not_to have_link(storage_unconfigured_linked.name) + expect(page).to have_no_link(storage_configured_unlinked.name) + expect(page).to have_no_link(storage_unconfigured_linked.name) end context 'if user is an admin but not a member of the project' do @@ -66,10 +66,10 @@ it 'has no links to enabled storage' do visit(project_path(id: project.id)) - expect(page).not_to have_link(storage_configured_linked1.name) - expect(page).not_to have_link(storage_configured_linked2.name) - expect(page).not_to have_link(storage_configured_unlinked.name) - expect(page).not_to have_link(storage_unconfigured_linked.name) + expect(page).to have_no_link(storage_configured_linked1.name) + expect(page).to have_no_link(storage_configured_linked2.name) + expect(page).to have_no_link(storage_configured_unlinked.name) + expect(page).to have_no_link(storage_unconfigured_linked.name) end end end @@ -80,10 +80,10 @@ it 'has no links to enabled storages' do visit(project_path(id: project.id)) - expect(page).not_to have_link(storage_configured_linked1.name) - expect(page).not_to have_link(storage_configured_linked2.name) - expect(page).not_to have_link(storage_configured_unlinked.name) - expect(page).not_to have_link(storage_unconfigured_linked.name) + expect(page).to have_no_link(storage_configured_linked1.name) + expect(page).to have_no_link(storage_configured_linked2.name) + expect(page).to have_no_link(storage_configured_unlinked.name) + expect(page).to have_no_link(storage_unconfigured_linked.name) end end end diff --git a/modules/storages/spec/features/storages_module_spec.rb b/modules/storages/spec/features/storages_module_spec.rb index 90c078fc2d00..5b17f8fe2d2b 100644 --- a/modules/storages/spec/features/storages_module_spec.rb +++ b/modules/storages/spec/features/storages_module_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ require 'spec_helper' require_module_spec_helper -RSpec.describe 'Storages module', js: true do +RSpec.describe 'Storages module', :js do current_user { create(:admin) } let(:role) { create(:project_role, permissions: %i[manage_storages_in_project select_project_modules edit_project]) } @@ -137,7 +137,7 @@ end it 'mustn\'t show the page' do - expect(page).not_to have_text(I18n.t('storages.page_titles.project_settings.index')) + expect(page).to have_no_text(I18n.t('storages.page_titles.project_settings.index')) end end end diff --git a/modules/storages/spec/features/view_project_storage_members_spec.rb b/modules/storages/spec/features/view_project_storage_members_spec.rb index 2414d862761c..24a2f9d44387 100644 --- a/modules/storages/spec/features/view_project_storage_members_spec.rb +++ b/modules/storages/spec/features/view_project_storage_members_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -53,7 +53,7 @@ visit project_settings_project_storage_members_path(project, project_storage_id: project_storage.id) expect(page).to have_title('Sign in | OpenProject') - expect(page).not_to have_text('Members connection status') + expect(page).to have_no_text('Members connection status') end it 'lists project members connection statuses' do @@ -78,8 +78,8 @@ [connected_no_permissions_user, 'User role has no storages permissions'], [disconnected_user, 'Not connected. The user should login to the storage via the following link.'] ].each do |(principal, status)| - expect(page).to have_selector("#member-#{principal.id} .name", text: principal.name) - expect(page).to have_selector("#member-#{principal.id} .status", text: status) + expect(page).to have_css("#member-#{principal.id} .name", text: principal.name) + expect(page).to have_css("#member-#{principal.id} .status", text: status) end end end diff --git a/modules/storages/spec/lib/api/v3/file_links/file_link_representer_parsing_spec.rb b/modules/storages/spec/lib/api/v3/file_links/file_link_representer_parsing_spec.rb index 0466bff58dc0..397683dfc1a0 100644 --- a/modules/storages/spec/lib/api/v3/file_links/file_link_representer_parsing_spec.rb +++ b/modules/storages/spec/lib/api/v3/file_links/file_link_representer_parsing_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/lib/api/v3/file_links/file_link_representer_rendering_spec.rb b/modules/storages/spec/lib/api/v3/file_links/file_link_representer_rendering_spec.rb index 78acd4bab169..c9c706618b77 100644 --- a/modules/storages/spec/lib/api/v3/file_links/file_link_representer_rendering_spec.rb +++ b/modules/storages/spec/lib/api/v3/file_links/file_link_representer_rendering_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -38,8 +38,8 @@ let(:container) { build_stubbed(:work_package) } let(:project) { container.project } let(:creator) { build_stubbed(:user, firstname: 'Rey', lastname: 'Palpatine') } - let(:origin_permission) { :view } - let(:file_link) { build_stubbed(:file_link, storage:, container:, creator:, origin_permission:) } + let(:origin_status) { :view_allowed } + let(:file_link) { build_stubbed(:file_link, storage:, container:, creator:, origin_status:) } let(:user) { build_stubbed(:user) } let(:representer) { described_class.new(file_link, current_user: user) } @@ -88,39 +88,49 @@ end end - describe 'permission' do - context 'with permission granted' do + describe 'status' do + context 'with permission' do it_behaves_like 'has a titled link' do - let(:link) { 'permission' } - let(:href) { 'urn:openproject-org:api:v3:file-links:permission:View' } - let(:title) { 'View' } + let(:link) { 'status' } + let(:href) { 'urn:openproject-org:api:v3:file-links:permission:ViewAllowed' } + let(:title) { 'View allowed' } end end - context 'with permission NotAllowed' do - let(:origin_permission) { :not_allowed } + context 'without permission' do + let(:origin_status) { :view_not_allowed } it_behaves_like 'has a titled link' do - let(:link) { 'permission' } - let(:href) { 'urn:openproject-org:api:v3:file-links:permission:NotAllowed' } - let(:title) { 'Not allowed' } + let(:link) { 'status' } + let(:href) { 'urn:openproject-org:api:v3:file-links:permission:ViewNotAllowed' } + let(:title) { 'View not allowed' } end end - context 'with permission not defined (nil)' do - let(:origin_permission) { nil } + context 'if not found' do + let(:origin_status) { :not_found } + + it_behaves_like 'has a titled link' do + let(:link) { 'status' } + let(:href) { 'urn:openproject-org:api:v3:file-links:NotFound' } + let(:title) { 'Not found' } + end + end + + context 'with status not defined (nil)' do + let(:origin_status) { nil } it_behaves_like 'has no link' do - let(:link) { 'permission' } + let(:link) { 'status' } end end - context 'with permission check had an Error' do - let(:origin_permission) { :error } + context 'with status check had an error' do + let(:origin_status) { :error } it_behaves_like 'has a titled link' do - let(:link) { 'permission' } - let(:href) { 'urn:openproject-org:api:v3:file-links:permission:Error' } + let(:link) { 'status' } + let(:href) { 'urn:openproject-org:api:v3:file-links:Error' } let(:title) { 'Error' } end end diff --git a/modules/storages/spec/lib/api/v3/project_storages/project_storage_representer_spec.rb b/modules/storages/spec/lib/api/v3/project_storages/project_storage_representer_spec.rb index 6a0e16fc9735..01b27131d0f3 100644 --- a/modules/storages/spec/lib/api/v3/project_storages/project_storage_representer_spec.rb +++ b/modules/storages/spec/lib/api/v3/project_storages/project_storage_representer_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/lib/api/v3/storage_files/storage_file_representer_spec.rb b/modules/storages/spec/lib/api/v3/storage_files/storage_file_representer_spec.rb index 1d05a9401a0d..84e088d34b00 100644 --- a/modules/storages/spec/lib/api/v3/storage_files/storage_file_representer_spec.rb +++ b/modules/storages/spec/lib/api/v3/storage_files/storage_file_representer_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/lib/api/v3/storage_files/storage_files_representer_spec.rb b/modules/storages/spec/lib/api/v3/storage_files/storage_files_representer_spec.rb index 2f84111d651a..8d5778cbe9cc 100644 --- a/modules/storages/spec/lib/api/v3/storage_files/storage_files_representer_spec.rb +++ b/modules/storages/spec/lib/api/v3/storage_files/storage_files_representer_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/lib/api/v3/storage_files/storage_upload_link_representer_spec.rb b/modules/storages/spec/lib/api/v3/storage_files/storage_upload_link_representer_spec.rb index fc3f337ea7b5..ea98d586da16 100644 --- a/modules/storages/spec/lib/api/v3/storage_files/storage_upload_link_representer_spec.rb +++ b/modules/storages/spec/lib/api/v3/storage_files/storage_upload_link_representer_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/lib/api/v3/storages/storages_representer_parsing_spec.rb b/modules/storages/spec/lib/api/v3/storages/storages_representer_parsing_spec.rb index 6fc0d84563cb..4f28cf83b85c 100644 --- a/modules/storages/spec/lib/api/v3/storages/storages_representer_parsing_spec.rb +++ b/modules/storages/spec/lib/api/v3/storages/storages_representer_parsing_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/lib/api/v3/storages/storages_representer_rendering_spec.rb b/modules/storages/spec/lib/api/v3/storages/storages_representer_rendering_spec.rb index 4217000cc11c..09ac69abe294 100644 --- a/modules/storages/spec/lib/api/v3/storages/storages_representer_rendering_spec.rb +++ b/modules/storages/spec/lib/api/v3/storages/storages_representer_rendering_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/lib/append_storages_hosts_to_csp_hook_spec.rb b/modules/storages/spec/lib/append_storages_hosts_to_csp_hook_spec.rb index 59ae5844d613..7a70f35d8e07 100644 --- a/modules/storages/spec/lib/append_storages_hosts_to_csp_hook_spec.rb +++ b/modules/storages/spec/lib/append_storages_hosts_to_csp_hook_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/models/storages/file_link_spec.rb b/modules/storages/spec/models/storages/file_link_spec.rb index 2a234647d335..a619cf68ca6f 100644 --- a/modules/storages/spec/models/storages/file_link_spec.rb +++ b/modules/storages/spec/models/storages/file_link_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/models/storages/last_project_folder_spec.rb b/modules/storages/spec/models/storages/last_project_folder_spec.rb index f459e94d8797..5965e9da2edf 100644 --- a/modules/storages/spec/models/storages/last_project_folder_spec.rb +++ b/modules/storages/spec/models/storages/last_project_folder_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/models/storages/nextcloud_storage_spec.rb b/modules/storages/spec/models/storages/nextcloud_storage_spec.rb index 6a3494913095..c308a6c039ad 100644 --- a/modules/storages/spec/models/storages/nextcloud_storage_spec.rb +++ b/modules/storages/spec/models/storages/nextcloud_storage_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -37,6 +37,15 @@ it_behaves_like 'base storage' + describe '.automatic_management_enabled' do + let!(:automatically_managed_storage) { create(:nextcloud_storage, :as_automatically_managed) } + let!(:not_automatically_managed_storage) { create(:nextcloud_storage, :as_not_automatically_managed) } + + it 'returns only storages with automatic management enabled' do + expect(described_class.automatic_management_enabled).to contain_exactly(automatically_managed_storage) + end + end + describe '#provider_type?' do it { expect(storage).to be_a_provider_type_nextcloud } it { expect(storage).not_to be_a_provider_type_one_drive } @@ -107,7 +116,6 @@ end end - describe '#configured?' do context 'with a complete configuration' do let(:storage) do @@ -167,7 +175,7 @@ context "with a new value of 'foo'" do it "sets the value to 'foo'" do - storage.public_send("#{attribute}=", 'foo') + storage.public_send(:"#{attribute}=", 'foo') expect(storage.public_send(attribute)).to eq('foo') end end @@ -207,15 +215,35 @@ it_behaves_like 'a stored attribute with default value', :group_folder, 'OpenProject' end - describe '#automatically_managed?' do + describe '#automatically_managed' do it_behaves_like 'a stored boolean attribute', :automatically_managed end + describe '#automatic_management_enabled?' do + context 'when automatic management enabled is true' do + let(:storage) { build(:nextcloud_storage, automatic_management_enabled: true) } + + it { expect(storage).to be_automatic_management_enabled } + end + + context 'when automatic management enabled is false' do + let(:storage) { build(:nextcloud_storage, automatic_management_enabled: false) } + + it { expect(storage).not_to be_automatic_management_enabled } + end + + context 'when automatic management enabled is nil' do + let(:storage) { build(:nextcloud_storage, automatic_management_enabled: nil) } + + it { expect(storage.automatic_management_enabled?).to be(false) } + end + end + describe '#automatic_management_new_record?' do context 'when automatic management has just been specified but not yet persisted' do let(:storage) { build_stubbed(:nextcloud_storage, provider_fields: {}) } - before { storage.automatically_managed = false } + before { storage.automatic_management_enabled = false } it { expect(storage).to be_provider_fields_changed } it { expect(storage).to be_automatic_management_new_record } @@ -237,20 +265,20 @@ end describe '#automatic_management_unspecified?' do - context 'when automatically_managed is nil' do - let(:storage) { build(:nextcloud_storage, automatically_managed: nil) } + context 'when automatic management enabled is nil' do + let(:storage) { build(:nextcloud_storage, automatic_management_enabled: nil) } it { expect(storage).to be_automatic_management_unspecified } end - context 'when automatically_managed is true' do - let(:storage) { build(:nextcloud_storage, automatically_managed: true) } + context 'when automatic management enabled is true' do + let(:storage) { build(:nextcloud_storage, automatic_management_enabled: true) } it { expect(storage).not_to be_automatic_management_unspecified } end - context 'when automatically_managed is false' do - let(:storage) { build(:nextcloud_storage, automatically_managed: false) } + context 'when automatic management enabled is false' do + let(:storage) { build(:nextcloud_storage, automatic_management_enabled: false) } it { expect(storage).not_to be_automatic_management_unspecified } end @@ -260,7 +288,7 @@ let(:storage) { build(:nextcloud_storage) } it 'returns the default values for nextcloud' do - expect(storage.provider_fields_defaults).to eq({ automatically_managed: true, username: 'OpenProject' }) + expect(storage.provider_fields_defaults).to eq({ automatic_management_enabled: true, username: 'OpenProject' }) end end end diff --git a/modules/storages/spec/models/storages/one_drive_storage_spec.rb b/modules/storages/spec/models/storages/one_drive_storage_spec.rb index 417994ff1dfe..d4c5c48cf146 100644 --- a/modules/storages/spec/models/storages/one_drive_storage_spec.rb +++ b/modules/storages/spec/models/storages/one_drive_storage_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/models/storages/project_storage_spec.rb b/modules/storages/spec/models/storages/project_storage_spec.rb index 9e372da8d2dd..072f786f8e49 100644 --- a/modules/storages/spec/models/storages/project_storage_spec.rb +++ b/modules/storages/spec/models/storages/project_storage_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/models/storages/shared_base_storage_spec.rb b/modules/storages/spec/models/storages/shared_base_storage_spec.rb index 94f7b42d83b0..03b7fe0c4ab7 100644 --- a/modules/storages/spec/models/storages/shared_base_storage_spec.rb +++ b/modules/storages/spec/models/storages/shared_base_storage_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/permissions/manage_storage_in_project_spec.rb b/modules/storages/spec/permissions/manage_storage_in_project_spec.rb index 794191cb8aeb..ce5787ac0451 100644 --- a/modules/storages/spec/permissions/manage_storage_in_project_spec.rb +++ b/modules/storages/spec/permissions/manage_storage_in_project_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/requests/api/v3/file_links/file_links_api_spec.rb b/modules/storages/spec/requests/api/v3/file_links/file_links_api_spec.rb index add90cf090b9..9c8b7a05c938 100644 --- a/modules/storages/spec/requests/api/v3/file_links/file_links_api_spec.rb +++ b/modules/storages/spec/requests/api/v3/file_links/file_links_api_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -33,18 +33,7 @@ RSpec.describe 'API v3 file links resource' do include API::V3::Utilities::PathHelper - - def add_permissions(user, *) - role = Role.joins(members: :principal).where('users.id': user).first - role.add_permission!(*) - user.reload # clear user's project_role_cache - end - - def remove_permissions(user, *) - role = Role.joins(members: :principal).where('users.id': user).first - role.remove_permission!(*) - user.reload # clear user's project_role_cache - end + include UserPermissionsHelper def enable_module(project, modul) project.enabled_module_names = project.enabled_module_names + [modul] @@ -107,7 +96,7 @@ def disable_module(project, modul) allow(Storages::FileLinkSyncService) .to receive(:new).and_return(sync_service) allow(sync_service).to receive(:call) do |file_links| - ServiceResult.success(result: file_links.each { |file_link| file_link.origin_permission = :view }) + ServiceResult.success(result: file_links.each { |file_link| file_link.origin_status = :view_allowed }) end login_as current_user diff --git a/modules/storages/spec/requests/api/v3/file_links/mixed_case_file_links_integration_spec.rb b/modules/storages/spec/requests/api/v3/file_links/mixed_case_file_links_integration_spec.rb index e0df05da62dc..52ce9309fd27 100644 --- a/modules/storages/spec/requests/api/v3/file_links/mixed_case_file_links_integration_spec.rb +++ b/modules/storages/spec/requests/api/v3/file_links/mixed_case_file_links_integration_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -73,8 +73,7 @@ let(:file_link_happy) { create(:file_link, origin_id: "24", storage: storage_good, container: work_package) } let(:file_link_other_user) { create(:file_link, origin_id: '25', storage: storage_good, container: work_package) } - let(:file_link_trashed) { create(:file_link, origin_id: '26', storage: storage_good, container: work_package) } - let(:file_link_deleted) { create(:file_link, origin_id: '27', storage: storage_good, container: work_package) } + let(:file_link_deleted) { create(:file_link, origin_id: '26', storage: storage_good, container: work_package) } let(:file_link_unauth_happy) { create(:file_link, origin_id: "28", storage: storage_unauth, container: work_package) } let(:file_link_error_happy) { create(:file_link, origin_id: "29", storage: storage_error, container: work_package) } @@ -88,7 +87,6 @@ let(:file_info_s404) { { status: "Not found", statuscode: 404 } } # Nextcloud response part for valid file - let(:trashed) { false } # trashed is included in file_info1_s200 below let(:file_info_happy) do { id: 24, @@ -101,23 +99,6 @@ size: 12706214, owner_id: "admin", owner_name: "admin", - trashed: false, - path: "/Nextcloud Manual.pdf" - } - end - let(:file_info_trashed) do - { - id: 26, - status: "OK", - statuscode: 200, - name: "Reasons to use Nextcloud Manual.pdf", - mtime: 1655311634, - ctime: 1655344567, - mimetype: "application/pdf", - size: 954123, - owner_id: "admin", - owner_name: "admin", - trashed: true, path: "/Nextcloud Manual.pdf" } end @@ -137,10 +118,9 @@ file_link_happy file_link_other_user - file_link_trashed file_link_deleted - # FileLinks on host-unauth and host-error that we'll see in the result list with origin_permission=:error + # FileLinks on host-unauth and host-error that we'll see in the result list with origin_status=:error file_link_unauth_happy file_link_error_happy file_link_timeout_happy @@ -158,8 +138,7 @@ data: { '24': file_info_happy, '25': file_info_s403, - '26': file_info_trashed, - '27': file_info_s404 + '26': file_info_s404 } } }.to_json @@ -190,15 +169,15 @@ end # total, count, element_type, collection_type = 'Collection' - it_behaves_like 'API V3 collection response', 5, 5, 'FileLink', 'Collection' do + it_behaves_like 'API V3 collection response', 6, 6, 'FileLink', 'Collection' do let(:elements) do [ file_link_timeout_happy, file_link_error_happy, file_link_unauth_happy, + file_link_deleted, file_link_other_user, file_link_happy - # We didn't include file_link_trashed here, as it's not returned by API ] end end @@ -209,30 +188,26 @@ # A "happy" file link should be visible happy_file_link = elements.detect { |e| e["originData"]["id"] == "24" } - expect(happy_file_link["_links"]["permission"]["href"]).to eql API::V3::FileLinks::URN_PERMISSION_VIEW + expect(happy_file_link["_links"]["status"]["href"]).to eql API::V3::FileLinks::URN_PERMISSION_VIEW # Check that we've got an updated mtime expect(happy_file_link["originData"]["lastModifiedAt"]).to eql Time.zone.at(1655301234).iso8601(3) # A file link created by another user is not_allowed other_user_file_link = elements.detect { |e| e["originData"]["id"] == "25" } - expect(other_user_file_link["_links"]["permission"]["href"]).to eql API::V3::FileLinks::URN_PERMISSION_NOT_ALLOWED - - # A trashed FileLink should not be shown in the AP result list, but is not yet deleted - trashed_file_link = elements.detect { |e| e["originData"]["id"] == "26" } - expect(trashed_file_link).to be_nil + expect(other_user_file_link["_links"]["status"]["href"]).to eql API::V3::FileLinks::URN_PERMISSION_NOT_ALLOWED # The deleted_file_link should not even appear in the Database anymore deleted_file_link = elements.detect { |e| e["originData"]["id"] == "27" } expect(deleted_file_link).to be_nil expect(Storages::FileLink.where(origin_id: '27').count).to be 0 - # The FileLink from a Nextcloud with error should have origin_permission=:error + # The FileLink from a Nextcloud with error should have origin_status=:error error_file_link = elements.detect { |e| e["originData"]["id"] == "29" } - expect(error_file_link["_links"]["permission"]["href"]).to eql API::V3::FileLinks::URN_PERMISSION_ERROR + expect(error_file_link["_links"]["status"]["href"]).to eql API::V3::FileLinks::URN_STATUS_ERROR - # The FileLink from a Nextcloud with timeout should have origin_permission=:error + # The FileLink from a Nextcloud with timeout should have origin_status=:error error_file_link = elements.detect { |e| e["originData"]["id"] == "30" } - expect(error_file_link["_links"]["permission"]["href"]).to eql API::V3::FileLinks::URN_PERMISSION_ERROR + expect(error_file_link["_links"]["status"]["href"]).to eql API::V3::FileLinks::URN_STATUS_ERROR end end end diff --git a/modules/storages/spec/requests/api/v3/project_storages/project_storages_spec.rb b/modules/storages/spec/requests/api/v3/project_storages/project_storages_spec.rb index 5f05963f82c9..3bb926c3fbfd 100644 --- a/modules/storages/spec/requests/api/v3/project_storages/project_storages_spec.rb +++ b/modules/storages/spec/requests/api/v3/project_storages/project_storages_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -34,28 +34,23 @@ let(:view_permissions) { %i(view_work_packages view_file_links) } - # rubocop:disable RSpec/IndexedLet - let(:project1) { create(:project) } - let(:project2) { create(:project) } - let(:project3) { create(:project) } - let(:storage1) { create(:nextcloud_storage) } - let(:storage2) { create(:nextcloud_storage) } - let(:storage3) { create(:nextcloud_storage) } - let!(:project_storage11) { create(:project_storage, project: project1, storage: storage1) } - let!(:project_storage12) { create(:project_storage, project: project1, storage: storage2) } - let!(:project_storage13) { create(:project_storage, project: project1, storage: storage3) } - let!(:project_storage23) { create(:project_storage, project: project2, storage: storage3) } - let!(:project_storage21) { create(:project_storage, project: project2, storage: storage1) } - let!(:project_storage31) { create(:project_storage, project: project3, storage: storage1) } - # rubocop:enable RSpec/IndexedLet - + shared_let(:project1) { create(:project) } + shared_let(:project2) { create(:project) } + shared_let(:project3) { create(:project) } + shared_let(:storage1) { create(:nextcloud_storage) } + shared_let(:storage2) { create(:nextcloud_storage) } + shared_let(:storage3) { create(:nextcloud_storage) } + shared_let(:project_storage11) { create(:project_storage, project: project1, storage: storage1) } + shared_let(:project_storage12) { create(:project_storage, project: project1, storage: storage2) } + shared_let(:project_storage13) { create(:project_storage, project: project1, storage: storage3) } + shared_let(:project_storage23) { create(:project_storage, project: project2, storage: storage3) } + shared_let(:project_storage21) { create(:project_storage, project: project2, storage: storage1) } + shared_let(:project_storage31) { create(:project_storage, project: project3, storage: storage1) } subject(:last_response) do get path end - before do - login_as current_user - end + before { login_as current_user } describe 'GET /api/v3/project_storages' do let(:path) { api_v3_paths.project_storages } @@ -267,13 +262,20 @@ it_behaves_like 'redirect response' context 'if project storage has a configured project folder' do - let!(:project_storage12) do - create(:project_storage, - project: project1, - storage: storage2, - project_folder_id: '1337', - project_folder_mode: 'manual') + before(:all) do + project_storage12.update( + project_folder_id: '1337', + project_folder_mode: 'manual' + ) end + + after(:all) do + project_storage12.update( + project_folder_id: nil, + project_folder_mode: 'inactive' + ) + end + let(:path) { api_v3_paths.project_storage_open(project_storage12.id) } it_behaves_like 'redirect response' do diff --git a/modules/storages/spec/requests/api/v3/projects/projects_storages_filter_spec.rb b/modules/storages/spec/requests/api/v3/projects/projects_storages_filter_spec.rb index 1dff1b308521..12d3e22380c0 100644 --- a/modules/storages/spec/requests/api/v3/projects/projects_storages_filter_spec.rb +++ b/modules/storages/spec/requests/api/v3/projects/projects_storages_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/requests/api/v3/storages/storage_files_api_spec.rb b/modules/storages/spec/requests/api/v3/storages/storage_files_api_spec.rb index 1c1ff026f95f..2e015768f479 100644 --- a/modules/storages/spec/requests/api/v3/storages/storage_files_api_spec.rb +++ b/modules/storages/spec/requests/api/v3/storages/storage_files_api_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/requests/api/v3/storages/storages_api_spec.rb b/modules/storages/spec/requests/api/v3/storages/storages_api_spec.rb index ce4875475017..99580dcc5d9d 100644 --- a/modules/storages/spec/requests/api/v3/storages/storages_api_spec.rb +++ b/modules/storages/spec/requests/api/v3/storages/storages_api_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -32,20 +32,23 @@ RSpec.describe 'API v3 storages resource', :webmock, content_type: :json do include API::V3::Utilities::PathHelper include StorageServerHelpers + include UserPermissionsHelper - let(:permissions) { %i(view_work_packages view_file_links) } - let(:project) { create(:project) } + shared_let(:permissions) { %i(view_work_packages view_file_links) } + shared_let(:project) { create(:project) } - let(:current_user) do + shared_let(:user_with_permissions) do create(:user, member_with_permissions: { project => permissions }) end - - let(:oauth_application) { create(:oauth_application) } - let(:storage) { create(:nextcloud_storage, creator: current_user, oauth_application:) } - let(:project_storage) { create(:project_storage, project:, storage:) } + shared_let(:user_without_project) { create(:user) } + shared_let(:admin) { create(:admin) } + shared_let(:oauth_application) { create(:oauth_application) } + shared_let(:storage) { create(:nextcloud_storage, creator: user_with_permissions, oauth_application:) } + shared_let(:project_storage) { create(:project_storage, project:, storage:) } let(:authorize_url) { 'https://example.com/authorize' } let(:connection_manager) { instance_double(OAuthClients::ConnectionManager) } + let(:current_user) { user_with_permissions } subject(:last_response) do get path @@ -54,7 +57,6 @@ before do allow(connection_manager).to receive_messages(get_authorization_uri: authorize_url, authorization_state: :connected) allow(OAuthClients::ConnectionManager).to receive(:new).and_return(connection_manager) - project_storage login_as current_user end @@ -79,12 +81,10 @@ let(:path) { api_v3_paths.storages } let!(:another_storage) { create(:nextcloud_storage) } - subject(:last_response) do - get path - end + subject(:last_response) { get path } context 'as admin' do - let(:current_user) { create(:admin) } + let(:current_user) { admin } describe 'gets the storage collection and returns it' do subject { last_response.body } @@ -132,7 +132,7 @@ end context 'as admin' do - let(:current_user) { create(:admin) } + let(:current_user) { admin } describe 'creates a storage and returns it' do subject { last_response.body } @@ -195,14 +195,13 @@ let(:path) { api_v3_paths.storage(storage.id) } context 'if user belongs to a project using the given storage' do - let!(:project_storage) { create(:project_storage, project:, storage:) } - subject { last_response.body } it_behaves_like 'successful storage response' context 'if user is missing permission view_file_links' do - let(:permissions) { [] } + before(:all) { remove_permissions(user_with_permissions, :view_file_links) } + after(:all) { add_permissions(user_with_permissions, :view_file_links) } it_behaves_like 'not found' end @@ -221,7 +220,7 @@ end context 'as admin' do - let(:current_user) { create(:admin) } + let(:current_user) { admin } it_behaves_like 'successful storage response', as_admin: true @@ -292,16 +291,14 @@ end context 'if user does not belong to a project using the given storage' do - let(:current_user) do - create(:user) - end + let(:current_user) { user_without_project } it_behaves_like 'not found' end end context 'as admin' do - let(:current_user) { create(:admin) } + let(:current_user) { admin } describe 'patches the storage and returns it' do subject { last_response.body } @@ -379,7 +376,7 @@ end context 'as admin' do - let(:current_user) { create(:admin) } + let(:current_user) { admin } it_behaves_like 'successful no content response' end @@ -394,9 +391,7 @@ end context 'if user does not belong to a project using the given storage' do - let(:current_user) do - create(:user) - end + let(:current_user) { user_without_project } it_behaves_like 'not found' @@ -419,7 +414,7 @@ end context 'as admin' do - let(:current_user) { create(:admin) } + let(:current_user) { admin } it_behaves_like 'redirect response' end @@ -428,7 +423,8 @@ it_behaves_like 'redirect response' context 'if user is missing permission view_file_links' do - let(:permissions) { [] } + before(:all) { remove_permissions(user_with_permissions, :view_file_links) } + after(:all) { add_permissions(user_with_permissions, :view_file_links) } it_behaves_like 'not found' end @@ -462,16 +458,14 @@ end context 'if user does not belong to a project using the given storage' do - let(:current_user) do - create(:user) - end + let(:current_user) { user_without_project } it_behaves_like 'not found' end end context 'as admin' do - let(:current_user) { create(:admin) } + let(:current_user) { admin } describe 'creates new oauth client secrets' do subject { last_response.body } diff --git a/modules/storages/spec/requests/api/v3/work_packages/work_packages_linkable_filter_spec.rb b/modules/storages/spec/requests/api/v3/work_packages/work_packages_linkable_filter_spec.rb index e8d65fe2880a..b0bbb754072a 100644 --- a/modules/storages/spec/requests/api/v3/work_packages/work_packages_linkable_filter_spec.rb +++ b/modules/storages/spec/requests/api/v3/work_packages/work_packages_linkable_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/requests/api/v3/work_packages/work_packages_linked_filter_spec.rb b/modules/storages/spec/requests/api/v3/work_packages/work_packages_linked_filter_spec.rb index 2efacbeed7b7..0808fbc1e672 100644 --- a/modules/storages/spec/requests/api/v3/work_packages/work_packages_linked_filter_spec.rb +++ b/modules/storages/spec/requests/api/v3/work_packages/work_packages_linked_filter_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -35,7 +35,6 @@ let(:file_link_permissions) { %i(view_work_packages view_file_links) } - # rubocop:disable RSpec/IndexedLet let(:role1) { create(:project_role, permissions: file_link_permissions) } let(:role2) { create(:project_role, permissions: file_link_permissions) } diff --git a/modules/storages/spec/requests/append_content_security_policy_spec.rb b/modules/storages/spec/requests/append_content_security_policy_spec.rb index 97e7a229aba0..ddfb510166cd 100644 --- a/modules/storages/spec/requests/append_content_security_policy_spec.rb +++ b/modules/storages/spec/requests/append_content_security_policy_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/requests/project_storages_open_spec.rb b/modules/storages/spec/requests/project_storages_open_spec.rb index 48bd577c090e..e20ab4c8b8b7 100644 --- a/modules/storages/spec/requests/project_storages_open_spec.rb +++ b/modules/storages/spec/requests/project_storages_open_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2022 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/seeders/seeder_spec.rb b/modules/storages/spec/seeders/seeder_spec.rb index b99be92a84fb..f3f1dedb833e 100644 --- a/modules/storages/spec/seeders/seeder_spec.rb +++ b/modules/storages/spec/seeders/seeder_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/principals/replace_references_service_call_integration_spec.rb b/modules/storages/spec/services/principals/replace_references_service_call_integration_spec.rb index 2b13bd88f422..8033f8f480de 100644 --- a/modules/storages/spec/services/principals/replace_references_service_call_integration_spec.rb +++ b/modules/storages/spec/services/principals/replace_references_service_call_integration_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/file_links/create_service_spec.rb b/modules/storages/spec/services/storages/file_links/create_service_spec.rb index 489297aa87a3..8e9f368dbe6b 100644 --- a/modules/storages/spec/services/storages/file_links/create_service_spec.rb +++ b/modules/storages/spec/services/storages/file_links/create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/file_links/delete_service_spec.rb b/modules/storages/spec/services/storages/file_links/delete_service_spec.rb index e8a211263ebc..d8ca2f5cea01 100644 --- a/modules/storages/spec/services/storages/file_links/delete_service_spec.rb +++ b/modules/storages/spec/services/storages/file_links/delete_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/file_links/file_link_sync_service_spec.rb b/modules/storages/spec/services/storages/file_links/file_link_sync_service_spec.rb index 380588acd230..d6fd48e8680b 100644 --- a/modules/storages/spec/services/storages/file_links/file_link_sync_service_spec.rb +++ b/modules/storages/spec/services/storages/file_links/file_link_sync_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -80,9 +80,9 @@ .stub('queries.nextcloud.files_info', ->(_) { ServiceResult.success(result: [file_info]) }) end - it 'returns a FileLink with #origin_permission :not_allowed' do + it 'returns a FileLink with #origin_status :not_allowed' do expect(service.success).to be_truthy - expect(service.result.first.origin_permission).to be :not_allowed + expect(service.result.first.origin_status).to be :view_not_allowed end end @@ -106,8 +106,8 @@ expect(service.result.count).to be 2 expect(service.result[0].origin_id).to eql file_info_one.id expect(service.result[1].origin_id).to eql file_info_two.id - expect(service.result[0].origin_permission).to be :view - expect(service.result[1].origin_permission).to be :not_allowed + expect(service.result[0].origin_status).to be :view_allowed + expect(service.result[1].origin_status).to be :view_not_allowed end end @@ -120,10 +120,11 @@ .stub('queries.nextcloud.files_info', ->(_) { ServiceResult.success(result: [file_info]) }) end - it 'deletes the file link' do + it 'returns the file link with a status set to :not_found' do expect(service.success).to be_truthy - expect(service.result.count).to be 0 - expect(Storages::FileLink.all.count).to be 0 + expect(service.result.count).to be 1 + expect(Storages::FileLink.count).to be 1 + expect(service.result.first.origin_status).to be :not_found end end @@ -136,11 +137,11 @@ .stub('queries.nextcloud.files_info', ->(_) { ServiceResult.success(result: [file_info]) }) end - it 'returns the file link with a permission set to :error' do + it 'returns the file link with a status set to :error' do expect(service.success).to be_truthy expect(service.result.count).to be 1 - expect(Storages::FileLink.all.count).to be 1 - expect(service.result.first.origin_permission).to be :error + expect(Storages::FileLink.count).to be 1 + expect(service.result.first.origin_status).to be :error end end @@ -153,23 +154,7 @@ it 'leaves the list of file_links unchanged with permissions = :error' do expect(service.success).to be_truthy - expect(service.result.first.origin_permission).to be :error - end - end - - context 'with file trashed in storage' do - let(:file_info) { build(:storage_file_info, trashed: true) } - let(:file_link_one) { create(:file_link, origin_id: file_info.id, storage: storage_one, container: work_package) } - - before do - Storages::Peripherals::Registry - .stub('queries.nextcloud.files_info', ->(_) { ServiceResult.success(result: [file_info]) }) - end - - it 'returns an empty list of FileLinks' do - expect(subject).to be_a ServiceResult - expect(service.success).to be_truthy - expect(service.result.length).to be 0 + expect(service.result.first.origin_status).to be :error end end end diff --git a/modules/storages/spec/services/storages/file_links/set_attributes_service_spec.rb b/modules/storages/spec/services/storages/file_links/set_attributes_service_spec.rb index 3497d48bfdd7..c5cfdfd350c5 100644 --- a/modules/storages/spec/services/storages/file_links/set_attributes_service_spec.rb +++ b/modules/storages/spec/services/storages/file_links/set_attributes_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/group_folder_properties_sync_service_spec.rb b/modules/storages/spec/services/storages/group_folder_properties_sync_service_spec.rb index f5a93c9dc92c..961a1650b3cb 100644 --- a/modules/storages/spec/services/storages/group_folder_properties_sync_service_spec.rb +++ b/modules/storages/spec/services/storages/group_folder_properties_sync_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -32,7 +32,6 @@ require_module_spec_helper RSpec.describe Storages::GroupFolderPropertiesSyncService, :webmock do - # rubocop:disable RSpec/IndexedLet let(:group_users_response_body) do <<~XML diff --git a/modules/storages/spec/services/storages/oauth_applications/create_service_spec.rb b/modules/storages/spec/services/storages/oauth_applications/create_service_spec.rb index 865e72405792..fb3393aa31a5 100644 --- a/modules/storages/spec/services/storages/oauth_applications/create_service_spec.rb +++ b/modules/storages/spec/services/storages/oauth_applications/create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/project_storages/create_service_spec.rb b/modules/storages/spec/services/storages/project_storages/create_service_spec.rb index 108de9aefe7d..bf555fb9ec19 100644 --- a/modules/storages/spec/services/storages/project_storages/create_service_spec.rb +++ b/modules/storages/spec/services/storages/project_storages/create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/project_storages/delete_service_spec.rb b/modules/storages/spec/services/storages/project_storages/delete_service_spec.rb index e9df049d2c42..6aa33fa5f59c 100644 --- a/modules/storages/spec/services/storages/project_storages/delete_service_spec.rb +++ b/modules/storages/spec/services/storages/project_storages/delete_service_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -31,7 +31,7 @@ require 'services/base_services/behaves_like_delete_service' require_relative 'shared_event_gun_examples' -RSpec.describe Storages::ProjectStorages::DeleteService, type: :model, webmock: true do +RSpec.describe Storages::ProjectStorages::DeleteService, :webmock, type: :model do context 'with records written to DB' do let(:user) { create(:user) } let(:role) { create(:project_role, permissions: [:manage_storages_in_project]) } diff --git a/modules/storages/spec/services/storages/project_storages/set_attributes_service_spec.rb b/modules/storages/spec/services/storages/project_storages/set_attributes_service_spec.rb index af47876f76df..03da16866a83 100644 --- a/modules/storages/spec/services/storages/project_storages/set_attributes_service_spec.rb +++ b/modules/storages/spec/services/storages/project_storages/set_attributes_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/project_storages/shared_event_gun_examples.rb b/modules/storages/spec/services/storages/project_storages/shared_event_gun_examples.rb index fcd9399f5f23..9386eb5326e1 100644 --- a/modules/storages/spec/services/storages/project_storages/shared_event_gun_examples.rb +++ b/modules/storages/spec/services/storages/project_storages/shared_event_gun_examples.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/project_storages/update_service_spec.rb b/modules/storages/spec/services/storages/project_storages/update_service_spec.rb index a3c6b1e5fb17..b65fc29bd06f 100644 --- a/modules/storages/spec/services/storages/project_storages/update_service_spec.rb +++ b/modules/storages/spec/services/storages/project_storages/update_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/storages/create_service_spec.rb b/modules/storages/spec/services/storages/storages/create_service_spec.rb index d0233c826697..f7edfcc03fa4 100644 --- a/modules/storages/spec/services/storages/storages/create_service_spec.rb +++ b/modules/storages/spec/services/storages/storages/create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/storages/delete_service_spec.rb b/modules/storages/spec/services/storages/storages/delete_service_spec.rb index ce80400cc4e1..9bc95f258a4a 100644 --- a/modules/storages/spec/services/storages/storages/delete_service_spec.rb +++ b/modules/storages/spec/services/storages/storages/delete_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/storages/set_attributes_service_spec.rb b/modules/storages/spec/services/storages/storages/set_attributes_service_spec.rb index 4c6f485b425c..1e36ddeeaa35 100644 --- a/modules/storages/spec/services/storages/storages/set_attributes_service_spec.rb +++ b/modules/storages/spec/services/storages/storages/set_attributes_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/storages/set_nextcloud_provider_fields_attributes_service_spec.rb b/modules/storages/spec/services/storages/storages/set_nextcloud_provider_fields_attributes_service_spec.rb index ef460fd1e27b..0c0a5299f9a7 100644 --- a/modules/storages/spec/services/storages/storages/set_nextcloud_provider_fields_attributes_service_spec.rb +++ b/modules/storages/spec/services/storages/storages/set_nextcloud_provider_fields_attributes_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/services/storages/storages/update_service_spec.rb b/modules/storages/spec/services/storages/storages/update_service_spec.rb index f2c34de38f6e..3ecfb18d2f2b 100644 --- a/modules/storages/spec/services/storages/storages/update_service_spec.rb +++ b/modules/storages/spec/services/storages/storages/update_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/spec_helper.rb b/modules/storages/spec/spec_helper.rb index d614fd7bca81..dea4304f0878 100644 --- a/modules/storages/spec/spec_helper.rb +++ b/modules/storages/spec/spec_helper.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/support/components/file_picker_dialog.rb b/modules/storages/spec/support/components/file_picker_dialog.rb index 33f9f16421f2..507ed9e6d92b 100644 --- a/modules/storages/spec/support/components/file_picker_dialog.rb +++ b/modules/storages/spec/support/components/file_picker_dialog.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -55,7 +55,7 @@ def confirm_button_state(selection_count:) def wait_for_folder_loaded page.within(container) do - expect(page).not_to have_selector('[data-test-selector="op-file-list--loading-indicator"]') + expect(page).to have_no_css('[data-test-selector="op-file-list--loading-indicator"]') end end diff --git a/modules/storages/spec/support/ensure_connection_path_helper.rb b/modules/storages/spec/support/ensure_connection_path_helper.rb index 1c62a0147767..82d621094f03 100644 --- a/modules/storages/spec/support/ensure_connection_path_helper.rb +++ b/modules/storages/spec/support/ensure_connection_path_helper.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_invalid_token.yml b/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_invalid_token.yml new file mode 100644 index 000000000000..d02898231599 --- /dev/null +++ b/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_invalid_token.yml @@ -0,0 +1,47 @@ +--- +http_interactions: +- request: + method: get + uri: https://graph.microsoft.com/v1.0/drives/b!dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs/items/01AZJL5PNCQCEBFI3N7JGZSX5AOX32Z3LA?$select=id,name,fileSystemInfo,file,folder,size,createdBy,lastModifiedBy,parentReference + body: + encoding: US-ASCII + string: '' + headers: + Authorization: + - Bearer 1234567890-1 + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 401 + message: Unauthorized + headers: + Transfer-Encoding: + - chunked + Content-Type: + - application/json + Vary: + - Accept-Encoding + Strict-Transport-Security: + - max-age=31536000 + Request-Id: + - c406176b-5cb6-476f-b251-adde1d94c67d + Client-Request-Id: + - c406176b-5cb6-476f-b251-adde1d94c67d + X-Ms-Ags-Diagnostic: + - '{"ServerInfo":{"DataCenter":"Germany West Central","Slice":"E","Ring":"5","ScaleUnit":"001","RoleInstance":"FR2PEPF000004A6"}}' + Www-Authenticate: + - Bearer realm="", authorization_uri="https://login.microsoftonline.com/common/oauth2/authorize", + client_id="00000003-0000-0000-c000-000000000000" + Date: + - Wed, 13 Dec 2023 15:04:27 GMT + body: + encoding: UTF-8 + string: '{"error":{"code":"InvalidAuthenticationToken","message":"CompactToken + parsing failed with error code: 80049217","innerError":{"date":"2023-12-13T15:04:27","request-id":"c406176b-5cb6-476f-b251-adde1d94c67d","client-request-id":"c406176b-5cb6-476f-b251-adde1d94c67d"}}}' + recorded_at: Wed, 13 Dec 2023 15:04:27 GMT +recorded_with: VCR 6.2.0 diff --git a/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_one_not_found.yml b/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_one_not_found.yml new file mode 100644 index 000000000000..6195d0d5033e --- /dev/null +++ b/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_one_not_found.yml @@ -0,0 +1,45 @@ +--- +http_interactions: +- request: + method: get + uri: https://graph.microsoft.com/v1.0/drives/b!dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs/items/not_existent?$select=id,name,fileSystemInfo,file,folder,size,createdBy,lastModifiedBy,parentReference + body: + encoding: US-ASCII + string: '' + headers: + Authorization: + - Bearer + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 404 + message: Not Found + headers: + Cache-Control: + - no-store, no-cache + Transfer-Encoding: + - chunked + Content-Type: + - application/json + Vary: + - Accept-Encoding + Strict-Transport-Security: + - max-age=31536000 + Request-Id: + - d6b3ad40-856e-45e2-8378-82b1645d76a9 + Client-Request-Id: + - d6b3ad40-856e-45e2-8378-82b1645d76a9 + X-Ms-Ags-Diagnostic: + - '{"ServerInfo":{"DataCenter":"Germany West Central","Slice":"E","Ring":"5","ScaleUnit":"004","RoleInstance":"FR2PEPF0000037B"}}' + Date: + - Wed, 13 Dec 2023 15:00:01 GMT + body: + encoding: UTF-8 + string: '{"error":{"code":"itemNotFound","message":"Item not found","innerError":{"date":"2023-12-13T15:00:02","request-id":"d6b3ad40-856e-45e2-8378-82b1645d76a9","client-request-id":"d6b3ad40-856e-45e2-8378-82b1645d76a9"}}}' + recorded_at: Wed, 13 Dec 2023 15:00:02 GMT +recorded_with: VCR 6.2.0 diff --git a/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_success_file.yml b/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_success_file.yml new file mode 100644 index 000000000000..c1bad095e4b8 --- /dev/null +++ b/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_success_file.yml @@ -0,0 +1,51 @@ +--- +http_interactions: +- request: + method: get + uri: https://graph.microsoft.com/v1.0/drives/b!dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs/items/01AZJL5PNCQCEBFI3N7JGZSX5AOX32Z3LA?$select=id,name,fileSystemInfo,file,folder,size,createdBy,lastModifiedBy,parentReference + body: + encoding: US-ASCII + string: '' + headers: + Authorization: + - Bearer + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - no-cache + Transfer-Encoding: + - chunked + Content-Type: + - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8 + Etag: + - '"{128880A2-6DA3-4DFA-995F-A075F7ACED60},3"' + Vary: + - Accept-Encoding + Strict-Transport-Security: + - max-age=31536000 + Request-Id: + - 697d981e-9059-4f4a-bf92-5fe2a4e40ec6 + Client-Request-Id: + - 697d981e-9059-4f4a-bf92-5fe2a4e40ec6 + X-Ms-Ags-Diagnostic: + - '{"ServerInfo":{"DataCenter":"Germany West Central","Slice":"E","Ring":"5","ScaleUnit":"001","RoleInstance":"FR2PEPF000001E4"}}' + Odata-Version: + - '4.0' + Date: + - Wed, 13 Dec 2023 14:52:04 GMT + body: + encoding: UTF-8 + string: '{"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#drives(''b%21dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs'')/items(id,name,fileSystemInfo,file,folder,size,createdBy,lastModifiedBy,parentReference)/$entity","@odata.etag":"\"{128880A2-6DA3-4DFA-995F-A075F7ACED60},3\"","id":"01AZJL5PNCQCEBFI3N7JGZSX5AOX32Z3LA","name":"NextcloudHub.md","size":1095,"createdBy":{"user":{"email":"eschubert.op@outlook.com","id":"0a0d38a9-a59b-4245-93fa-0d2cf727f17a","displayName":"Eric + Schubert"}},"lastModifiedBy":{"user":{"email":"eschubert.op@outlook.com","id":"0a0d38a9-a59b-4245-93fa-0d2cf727f17a","displayName":"Eric + Schubert"}},"parentReference":{"driveType":"documentLibrary","driveId":"b!dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs","id":"01AZJL5PPWP5UOATNRJJBYJG5TACDHEUAG","name":"Subfolder","path":"/drives/b!dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs/root:/Folder/Subfolder","siteId":"1b4b6576-906d-4d94-8f49-6d00a9507b50"},"file":{"mimeType":"application/octet-stream","hashes":{"quickXorHash":"2HQJc625zkgBM9NAAjuXr1Im/0M="}},"fileSystemInfo":{"createdDateTime":"2023-09-26T14:45:25Z","lastModifiedDateTime":"2023-09-26T14:46:13Z"}}' + recorded_at: Wed, 13 Dec 2023 14:52:04 GMT +recorded_with: VCR 6.2.0 diff --git a/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_success_folder.yml b/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_success_folder.yml new file mode 100644 index 000000000000..d6d14ccf86ca --- /dev/null +++ b/modules/storages/spec/support/fixtures/vcr_cassettes/one_drive/file_info_query_success_folder.yml @@ -0,0 +1,51 @@ +--- +http_interactions: +- request: + method: get + uri: https://graph.microsoft.com/v1.0/drives/b!dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs/items/01AZJL5PNQYF5NM3KWYNA3RJHJIB2XMMMB?$select=id,name,fileSystemInfo,file,folder,size,createdBy,lastModifiedBy,parentReference + body: + encoding: US-ASCII + string: '' + headers: + Authorization: + - Bearer + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + User-Agent: + - Ruby + response: + status: + code: 200 + message: OK + headers: + Cache-Control: + - no-cache + Transfer-Encoding: + - chunked + Content-Type: + - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8 + Etag: + - '"{D67AC1B0-566D-41C3-B8A4-E94075763181},2"' + Vary: + - Accept-Encoding + Strict-Transport-Security: + - max-age=31536000 + Request-Id: + - e5c6f382-1e3e-45ac-ae85-3bcfee614a60 + Client-Request-Id: + - e5c6f382-1e3e-45ac-ae85-3bcfee614a60 + X-Ms-Ags-Diagnostic: + - '{"ServerInfo":{"DataCenter":"Germany West Central","Slice":"E","Ring":"5","ScaleUnit":"001","RoleInstance":"FR2PEPF0000049D"}}' + Odata-Version: + - '4.0' + Date: + - Wed, 13 Dec 2023 14:55:53 GMT + body: + encoding: UTF-8 + string: '{"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#drives(''b%21dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs'')/items(id,name,fileSystemInfo,file,folder,size,createdBy,lastModifiedBy,parentReference)/$entity","@odata.etag":"\"{D67AC1B0-566D-41C3-B8A4-E94075763181},2\"","id":"01AZJL5PNQYF5NM3KWYNA3RJHJIB2XMMMB","name":"\u00dcml\u00e6\u00fbts","size":18007,"createdBy":{"user":{"email":"eschubert.op@outlook.com","id":"0a0d38a9-a59b-4245-93fa-0d2cf727f17a","displayName":"Eric + Schubert"}},"lastModifiedBy":{"user":{"email":"eschubert.op@outlook.com","id":"0a0d38a9-a59b-4245-93fa-0d2cf727f17a","displayName":"Eric + Schubert"}},"parentReference":{"driveType":"documentLibrary","driveId":"b!dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs","id":"01AZJL5PMAXGDWAAKMEBALX4Q6GSN5BSBR","name":"Folder","path":"/drives/b!dmVLG22QlE2PSW0AqVB7UOhZ8n7tjkVGkgqLNnuw2OBb-brzKzZAR4DYT1k9KPXs/root:/Folder","siteId":"1b4b6576-906d-4d94-8f49-6d00a9507b50"},"fileSystemInfo":{"createdDateTime":"2023-10-09T15:26:32Z","lastModifiedDateTime":"2023-10-09T15:26:32Z"},"folder":{"childCount":1}}' + recorded_at: Wed, 13 Dec 2023 14:55:54 GMT +recorded_with: VCR 6.2.0 diff --git a/modules/storages/spec/support/json_response_helper.rb b/modules/storages/spec/support/json_response_helper.rb index a9a4d3e7e183..20a0dbf8bf56 100644 --- a/modules/storages/spec/support/json_response_helper.rb +++ b/modules/storages/spec/support/json_response_helper.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/support/storage_server_helpers.rb b/modules/storages/spec/support/storage_server_helpers.rb index 955ab2b90ab5..08ecc9266376 100644 --- a/modules/storages/spec/support/storage_server_helpers.rb +++ b/modules/storages/spec/support/storage_server_helpers.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/support/user_permissions_helper.rb b/modules/storages/spec/support/user_permissions_helper.rb new file mode 100644 index 000000000000..0a1ed24d3757 --- /dev/null +++ b/modules/storages/spec/support/user_permissions_helper.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +#-- copyright +# OpenProject is an open source project management software. +# Copyright (C) 2012-2024 the OpenProject GmbH +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License version 3. +# +# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: +# Copyright (C) 2006-2013 Jean-Philippe Lang +# Copyright (C) 2010-2013 the ChiliProject Team +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# See COPYRIGHT and LICENSE files for more details. +#++ + +module UserPermissionsHelper + def add_permissions(user, *) + role = Role.joins(members: :principal).where('users.id': user).first + role.add_permission!(*) + user.reload # clear user's project_role_cache + end + + def remove_permissions(user, *) + role = Role.joins(members: :principal).where('users.id': user).first + role.remove_permission!(*) + user.reload # clear user's project_role_cache + end +end diff --git a/modules/storages/spec/workers/storages/cleanup_uncontainered_file_links_job_spec.rb b/modules/storages/spec/workers/storages/cleanup_uncontainered_file_links_job_spec.rb index 0cc5ccb5074a..7f6ee5ad25d2 100644 --- a/modules/storages/spec/workers/storages/cleanup_uncontainered_file_links_job_spec.rb +++ b/modules/storages/spec/workers/storages/cleanup_uncontainered_file_links_job_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/workers/storages/manage_nextcloud_integration_cron_job_spec.rb b/modules/storages/spec/workers/storages/manage_nextcloud_integration_cron_job_spec.rb index c1cfa8579b6c..bdc0c94d42ef 100644 --- a/modules/storages/spec/workers/storages/manage_nextcloud_integration_cron_job_spec.rb +++ b/modules/storages/spec/workers/storages/manage_nextcloud_integration_cron_job_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/storages/spec/workers/storages/manage_nextcloud_integration_events_job_spec.rb b/modules/storages/spec/workers/storages/manage_nextcloud_integration_events_job_spec.rb index 4994a693a750..4a2001334264 100644 --- a/modules/storages/spec/workers/storages/manage_nextcloud_integration_events_job_spec.rb +++ b/modules/storages/spec/workers/storages/manage_nextcloud_integration_events_job_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/app/components/team_planner/overview/row_component.rb b/modules/team_planner/app/components/team_planner/overview/row_component.rb index f669193d5dd9..0766136f10ca 100644 --- a/modules/team_planner/app/components/team_planner/overview/row_component.rb +++ b/modules/team_planner/app/components/team_planner/overview/row_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/app/components/team_planner/overview/table_component.rb b/modules/team_planner/app/components/team_planner/overview/table_component.rb index f6abaabd48ac..8a6858511fd7 100644 --- a/modules/team_planner/app/components/team_planner/overview/table_component.rb +++ b/modules/team_planner/app/components/team_planner/overview/table_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/app/components/team_planner/row_component.rb b/modules/team_planner/app/components/team_planner/row_component.rb index bff32fd33880..c9d625b672bb 100644 --- a/modules/team_planner/app/components/team_planner/row_component.rb +++ b/modules/team_planner/app/components/team_planner/row_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/app/components/team_planner/table_component.rb b/modules/team_planner/app/components/team_planner/table_component.rb index c2ab05baf1c5..d7b4df5e462c 100644 --- a/modules/team_planner/app/components/team_planner/table_component.rb +++ b/modules/team_planner/app/components/team_planner/table_component.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/app/services/team_planner/views/global_create_service.rb b/modules/team_planner/app/services/team_planner/views/global_create_service.rb index 84f9ccaff5c7..d099700ca30c 100644 --- a/modules/team_planner/app/services/team_planner/views/global_create_service.rb +++ b/modules/team_planner/app/services/team_planner/views/global_create_service.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/app/services/team_planner/views/set_attributes_service.rb b/modules/team_planner/app/services/team_planner/views/set_attributes_service.rb index 4ee285a0aa7f..67fe62ddd526 100644 --- a/modules/team_planner/app/services/team_planner/views/set_attributes_service.rb +++ b/modules/team_planner/app/services/team_planner/views/set_attributes_service.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/app/views/team_planner/team_planner/_form.html.erb b/modules/team_planner/app/views/team_planner/team_planner/_form.html.erb index 97bc669d4bb1..47bcb4e1e545 100644 --- a/modules/team_planner/app/views/team_planner/team_planner/_form.html.erb +++ b/modules/team_planner/app/views/team_planner/team_planner/_form.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/app/views/team_planner/team_planner/new.html.erb b/modules/team_planner/app/views/team_planner/team_planner/new.html.erb index 6cf3efe54de3..2789ec04a676 100644 --- a/modules/team_planner/app/views/team_planner/team_planner/new.html.erb +++ b/modules/team_planner/app/views/team_planner/team_planner/new.html.erb @@ -1,6 +1,6 @@ <%#-- copyright OpenProject is an open source project management software. -Copyright (C) 2012-2023 the OpenProject GmbH +Copyright (C) 2012-2024 the OpenProject GmbH This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/config/locales/crowdin/js-ka.yml b/modules/team_planner/config/locales/crowdin/js-ka.yml index a4d47e387465..503f1a1151ae 100644 --- a/modules/team_planner/config/locales/crowdin/js-ka.yml +++ b/modules/team_planner/config/locales/crowdin/js-ka.yml @@ -2,13 +2,13 @@ ka: js: team_planner: - add_existing: 'Add existing' + add_existing: 'არსებულის დამატება' add_existing_title: 'Add existing work packages' create_label: 'გუნდის მგეგმავი' create_title: 'ახალი გუნდის მგეგმავის შექმნა' unsaved_title: 'Unnamed team planner' no_data: 'Add assignees to set up your team planner.' - add_assignee: 'Add assignee' + add_assignee: 'პასუხისმგებლის დამატება' remove_assignee: 'Remove assignee' two_weeks: '2 კვირა' one_week: '1 კვირა' diff --git a/modules/team_planner/lib/open_project/team_planner.rb b/modules/team_planner/lib/open_project/team_planner.rb index 523c26b6593e..693b37db10e3 100644 --- a/modules/team_planner/lib/open_project/team_planner.rb +++ b/modules/team_planner/lib/open_project/team_planner.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/contracts/views/create_contract_team_planner_spec.rb b/modules/team_planner/spec/contracts/views/create_contract_team_planner_spec.rb index 50e0a423c90b..1cabdc8f6244 100644 --- a/modules/team_planner/spec/contracts/views/create_contract_team_planner_spec.rb +++ b/modules/team_planner/spec/contracts/views/create_contract_team_planner_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/onboarding/team_planner_onboarding_tour_spec.rb b/modules/team_planner/spec/features/onboarding/team_planner_onboarding_tour_spec.rb index a74a56d7f511..1dea09737368 100644 --- a/modules/team_planner/spec/features/onboarding/team_planner_onboarding_tour_spec.rb +++ b/modules/team_planner/spec/features/onboarding/team_planner_onboarding_tour_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/query_handling_spec.rb b/modules/team_planner/spec/features/query_handling_spec.rb index 8ec113955a89..6a9417c99e9e 100644 --- a/modules/team_planner/spec/features/query_handling_spec.rb +++ b/modules/team_planner/spec/features/query_handling_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/shared_context.rb b/modules/team_planner/spec/features/shared_context.rb index e50267ea5338..bdb1ad3b363a 100644 --- a/modules/team_planner/spec/features/shared_context.rb +++ b/modules/team_planner/spec/features/shared_context.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/team_planner_add_existing_work_packages_spec.rb b/modules/team_planner/spec/features/team_planner_add_existing_work_packages_spec.rb index 4d6651a579a0..38e6afc02a93 100644 --- a/modules/team_planner/spec/features/team_planner_add_existing_work_packages_spec.rb +++ b/modules/team_planner/spec/features/team_planner_add_existing_work_packages_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/team_planner_create_spec.rb b/modules/team_planner/spec/features/team_planner_create_spec.rb index 0372dfc4370e..ec7b3a156dac 100644 --- a/modules/team_planner/spec/features/team_planner_create_spec.rb +++ b/modules/team_planner/spec/features/team_planner_create_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/team_planner_dates_spec.rb b/modules/team_planner/spec/features/team_planner_dates_spec.rb index b940244ebc62..e429e6b3b75d 100644 --- a/modules/team_planner/spec/features/team_planner_dates_spec.rb +++ b/modules/team_planner/spec/features/team_planner_dates_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,10 +27,9 @@ #++ require 'spec_helper' -require_relative './shared_context' +require_relative 'shared_context' -RSpec.describe 'Team planner working days', - js: true, +RSpec.describe 'Team planner working days', :js, with_ee: %i[team_planner_view], with_settings: { start_of_week: 1 } do include_context 'with team planner full access' @@ -49,37 +48,37 @@ end # Initially, in the "Work week" view, non working days are hidden - expect(page).to have_selector('.fc-day-mon') - expect(page).to have_selector('.fc-day-tue') - expect(page).to have_selector('.fc-day-wed') - expect(page).to have_selector('.fc-day-thu') - expect(page).to have_selector('.fc-day-fri') + expect(page).to have_css('.fc-day-mon') + expect(page).to have_css('.fc-day-tue') + expect(page).to have_css('.fc-day-wed') + expect(page).to have_css('.fc-day-thu') + expect(page).to have_css('.fc-day-fri') - expect(page).not_to have_selector('.fc-day-sat') - expect(page).not_to have_selector('.fc-day-sun') + expect(page).to have_no_css('.fc-day-sat') + expect(page).to have_no_css('.fc-day-sun') # In the "1-week" view, non working days are displayed but marked team_planner.switch_view_mode '1-week' - expect(page).to have_selector('.fc-day-sat.fc-non-working-day', minimum: 1, wait: 10) - expect(page).to have_selector('.fc-day-sun.fc-non-working-day', minimum: 1) + expect(page).to have_css('.fc-day-sat.fc-non-working-day', minimum: 1, wait: 10) + expect(page).to have_css('.fc-day-sun.fc-non-working-day', minimum: 1) - expect(page).not_to have_selector('.fc-day-mon.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-tue.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-wed.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-thu.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-fri.fc-non-working-day') + expect(page).to have_no_css('.fc-day-mon.fc-non-working-day') + expect(page).to have_no_css('.fc-day-tue.fc-non-working-day') + expect(page).to have_no_css('.fc-day-wed.fc-non-working-day') + expect(page).to have_no_css('.fc-day-thu.fc-non-working-day') + expect(page).to have_no_css('.fc-day-fri.fc-non-working-day') find('.fc-next-button').click - expect(page).to have_selector('.fc-day-sat.fc-non-working-day', minimum: 1, wait: 10) - expect(page).to have_selector('.fc-day-sun.fc-non-working-day', minimum: 1) + expect(page).to have_css('.fc-day-sat.fc-non-working-day', minimum: 1, wait: 10) + expect(page).to have_css('.fc-day-sun.fc-non-working-day', minimum: 1) - expect(page).not_to have_selector('.fc-day-mon.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-tue.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-wed.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-thu.fc-non-working-day') - expect(page).not_to have_selector('.fc-day-fri.fc-non-working-day') + expect(page).to have_no_css('.fc-day-mon.fc-non-working-day') + expect(page).to have_no_css('.fc-day-tue.fc-non-working-day') + expect(page).to have_no_css('.fc-day-wed.fc-non-working-day') + expect(page).to have_no_css('.fc-day-thu.fc-non-working-day') + expect(page).to have_no_css('.fc-day-fri.fc-non-working-day') end end end diff --git a/modules/team_planner/spec/features/team_planner_error_handling_spec.rb b/modules/team_planner/spec/features/team_planner_error_handling_spec.rb index 098d08b16312..923ed7167655 100644 --- a/modules/team_planner/spec/features/team_planner_error_handling_spec.rb +++ b/modules/team_planner/spec/features/team_planner_error_handling_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,10 +27,9 @@ #++ require 'spec_helper' -require_relative './shared_context' +require_relative 'shared_context' -RSpec.describe 'Team planner error handling', - js: true, +RSpec.describe 'Team planner error handling', :js, with_settings: { start_of_week: 1 } do include_context 'with team planner full access' diff --git a/modules/team_planner/spec/features/team_planner_index_spec.rb b/modules/team_planner/spec/features/team_planner_index_spec.rb index 5e60601c321d..f0db27a51432 100644 --- a/modules/team_planner/spec/features/team_planner_index_spec.rb +++ b/modules/team_planner/spec/features/team_planner_index_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/team_planner_menu_spec.rb b/modules/team_planner/spec/features/team_planner_menu_spec.rb index c98838cc10aa..a7377ee05e28 100644 --- a/modules/team_planner/spec/features/team_planner_menu_spec.rb +++ b/modules/team_planner/spec/features/team_planner_menu_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/team_planner_project_include_spec.rb b/modules/team_planner/spec/features/team_planner_project_include_spec.rb index 64c3e7947831..30391f5ef5a6 100644 --- a/modules/team_planner/spec/features/team_planner_project_include_spec.rb +++ b/modules/team_planner/spec/features/team_planner_project_include_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -30,7 +30,7 @@ require 'features/work_packages/project_include/project_include_shared_examples' require_relative '../support/pages/team_planner' -RSpec.describe 'Team planner project include', js: true, with_ee: %i[team_planner_view] do +RSpec.describe 'Team planner project include', :js, with_ee: %i[team_planner_view] do shared_let(:enabled_modules) { %w[work_package_tracking team_planner_view] } shared_let(:permissions) do %w[view_work_packages edit_work_packages add_work_packages diff --git a/modules/team_planner/spec/features/team_planner_remove_event_spec.rb b/modules/team_planner/spec/features/team_planner_remove_event_spec.rb index 48ba23a3dae9..ff9fa67f6203 100644 --- a/modules/team_planner/spec/features/team_planner_remove_event_spec.rb +++ b/modules/team_planner/spec/features/team_planner_remove_event_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/team_planner_spec.rb b/modules/team_planner/spec/features/team_planner_spec.rb index 31bf31b3a643..967e57848027 100644 --- a/modules/team_planner/spec/features/team_planner_spec.rb +++ b/modules/team_planner/spec/features/team_planner_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/team_planner_split_view_spec.rb b/modules/team_planner/spec/features/team_planner_split_view_spec.rb index ff50314cac09..173b02309d9d 100644 --- a/modules/team_planner/spec/features/team_planner_split_view_spec.rb +++ b/modules/team_planner/spec/features/team_planner_split_view_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,9 +27,9 @@ #++ require 'spec_helper' -require_relative './shared_context' +require_relative 'shared_context' -RSpec.describe 'Team planner split view navigation', js: true, with_ee: %i[team_planner_view] do +RSpec.describe 'Team planner split view navigation', :js, with_ee: %i[team_planner_view] do include_context 'with team planner full access' let!(:view) { create(:view_team_planner, query:) } @@ -66,7 +66,7 @@ # Expect clicking on a work package does not open the details page.find_test_selector('op-wp-single-card--content-subject', text: work_package1.subject).click - expect(page).not_to have_current_path /team_planners\/new\/details\/#{work_package1.id}/ + expect(page).to have_no_current_path /team_planners\/new\/details\/#{work_package1.id}/ # Open split view through info icon split_view = team_planner.open_split_view_by_info_icon work_package1 diff --git a/modules/team_planner/spec/features/team_planner_subproject_constraints_spec.rb b/modules/team_planner/spec/features/team_planner_subproject_constraints_spec.rb index 70c4f32c53cb..5babad79c12b 100644 --- a/modules/team_planner/spec/features/team_planner_subproject_constraints_spec.rb +++ b/modules/team_planner/spec/features/team_planner_subproject_constraints_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/team_planner_upsale_spec.rb b/modules/team_planner/spec/features/team_planner_upsale_spec.rb index ffe48f8d1419..f93714bdcacc 100644 --- a/modules/team_planner/spec/features/team_planner_upsale_spec.rb +++ b/modules/team_planner/spec/features/team_planner_upsale_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,7 +27,7 @@ #++ require 'spec_helper' -require_relative './shared_context' +require_relative 'shared_context' RSpec.describe 'Team planner index', :js, :with_cuprite do include_context 'with team planner full access' diff --git a/modules/team_planner/spec/features/team_planner_user_interaction_spec.rb b/modules/team_planner/spec/features/team_planner_user_interaction_spec.rb index 28782860bc35..457b26983add 100644 --- a/modules/team_planner/spec/features/team_planner_user_interaction_spec.rb +++ b/modules/team_planner/spec/features/team_planner_user_interaction_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/features/team_planner_view_modes_spec.rb b/modules/team_planner/spec/features/team_planner_view_modes_spec.rb index c81d5fcd5406..e7e786cc3554 100644 --- a/modules/team_planner/spec/features/team_planner_view_modes_spec.rb +++ b/modules/team_planner/spec/features/team_planner_view_modes_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -27,9 +27,9 @@ #++ require 'spec_helper' -require_relative './shared_context' +require_relative 'shared_context' -RSpec.describe 'Team planner', js: true, with_ee: %i[team_planner_view] do +RSpec.describe 'Team planner', :js, with_ee: %i[team_planner_view] do include_context 'with team planner full access' it 'allows switching of view modes', with_settings: { working_days: [1, 2, 3, 4, 5] } do @@ -43,22 +43,22 @@ end team_planner.expect_view_mode 'Work week' - expect(page).to have_selector('.fc-timeline-slot-frame', count: 5) + expect(page).to have_css('.fc-timeline-slot-frame', count: 5) # weekly: Expect 7 slots team_planner.switch_view_mode '1-week' - expect(page).to have_selector('.fc-timeline-slot-frame', count: 7) + expect(page).to have_css('.fc-timeline-slot-frame', count: 7) # 2 weeks: expect 14 slots team_planner.switch_view_mode '2-week' - expect(page).to have_selector('.fc-timeline-slot-frame', count: 14) + expect(page).to have_css('.fc-timeline-slot-frame', count: 14) start_of_week = Time.zone.today.beginning_of_week(:sunday) start_date = start_of_week.strftime('%d %a') end_date = (start_of_week + 13.days).strftime('%d %a') - expect(page).to have_selector('.fc-timeline-slot', text: start_date) - expect(page).to have_selector('.fc-timeline-slot', text: end_date) + expect(page).to have_css('.fc-timeline-slot', text: start_date) + expect(page).to have_css('.fc-timeline-slot', text: end_date) # Click next button, advance one week find('.fc-next-button').click @@ -67,7 +67,7 @@ start_date = start_of_week.strftime('%d %a') end_date = (start_of_week + 13.days).strftime('%d %a') - expect(page).to have_selector('.fc-timeline-slot', text: start_date) - expect(page).to have_selector('.fc-timeline-slot', text: end_date) + expect(page).to have_css('.fc-timeline-slot', text: start_date) + expect(page).to have_css('.fc-timeline-slot', text: end_date) end end diff --git a/modules/team_planner/spec/permissions/view_team_planner_spec.rb b/modules/team_planner/spec/permissions/view_team_planner_spec.rb index d1b978b724c8..395b4b4aaf46 100644 --- a/modules/team_planner/spec/permissions/view_team_planner_spec.rb +++ b/modules/team_planner/spec/permissions/view_team_planner_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/requests/api/v3/views/create_resource_spec.rb b/modules/team_planner/spec/requests/api/v3/views/create_resource_spec.rb index 17d019bb2eda..3afeb541f10c 100644 --- a/modules/team_planner/spec/requests/api/v3/views/create_resource_spec.rb +++ b/modules/team_planner/spec/requests/api/v3/views/create_resource_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/routing/team_planner_routing_spec.rb b/modules/team_planner/spec/routing/team_planner_routing_spec.rb index cc987f1ba6e7..b19c3fcefdba 100644 --- a/modules/team_planner/spec/routing/team_planner_routing_spec.rb +++ b/modules/team_planner/spec/routing/team_planner_routing_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/services/team_planner/views/global_create_service_spec.rb b/modules/team_planner/spec/services/team_planner/views/global_create_service_spec.rb index 838d0ff18ba3..c790749f6233 100644 --- a/modules/team_planner/spec/services/team_planner/views/global_create_service_spec.rb +++ b/modules/team_planner/spec/services/team_planner/views/global_create_service_spec.rb @@ -2,7 +2,7 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/support/components/add_existing_pane.rb b/modules/team_planner/spec/support/components/add_existing_pane.rb index cbdcc3c6e4f2..49e0867a465c 100644 --- a/modules/team_planner/spec/support/components/add_existing_pane.rb +++ b/modules/team_planner/spec/support/components/add_existing_pane.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -46,11 +46,11 @@ def expect_open end def expect_closed - expect(page).not_to have_selector(selector) + expect(page).to have_no_selector(selector) end def expect_empty - expect(page).to have_selector("[data-test-selector='op-add-existing-pane--empty-state']") + expect(page).to have_css("[data-test-selector='op-add-existing-pane--empty-state']") end def search(term) @@ -60,10 +60,10 @@ def search(term) def expect_result(work_package, visible: true) if visible expect(page) - .to have_selector("[data-test-selector='op-add-existing-pane--wp-#{work_package.id}']", wait: 10) + .to have_css("[data-test-selector='op-add-existing-pane--wp-#{work_package.id}']", wait: 10) else expect(page) - .not_to have_selector("[data-test-selector='op-add-existing-pane--wp-#{work_package.id}']") + .to have_no_css("[data-test-selector='op-add-existing-pane--wp-#{work_package.id}']") end end diff --git a/modules/team_planner/spec/support/onboarding/onboarding_steps.rb b/modules/team_planner/spec/support/onboarding/onboarding_steps.rb index 4a52dda81d41..2b9022d594f3 100644 --- a/modules/team_planner/spec/support/onboarding/onboarding_steps.rb +++ b/modules/team_planner/spec/support/onboarding/onboarding_steps.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/team_planner/spec/support/pages/team_planner.rb b/modules/team_planner/spec/support/pages/team_planner.rb index 42bc43b27cef..6baa9156782a 100644 --- a/modules/team_planner/spec/support/pages/team_planner.rb +++ b/modules/team_planner/spec/support/pages/team_planner.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -46,7 +46,7 @@ def path end def expect_title(title = 'Unnamed team planner') - expect(page).to have_selector('.editable-toolbar-title--input') { |node| node.value == title } + expect(page).to have_css('.editable-toolbar-title--input') { |node| node.value == title } end def save_as(name) @@ -72,7 +72,7 @@ def expect_empty_state(present: true) end def expect_view_mode(text) - expect(page).to have_selector('[data-test-selector="op-team-planner--view-select-dropdown"]', text:) + expect(page).to have_css('[data-test-selector="op-team-planner--view-select-dropdown"]', text:) param = { 'Work week' => :resourceTimelineWorkWeek, @@ -131,17 +131,17 @@ def within_lane(user, &) def expect_event(work_package, present: true) if present - expect(page).to have_selector('.fc-event', text: work_package.subject, wait: 10) + expect(page).to have_css('.fc-event', text: work_package.subject, wait: 10) else - expect(page).not_to have_selector('.fc-event', text: work_package.subject) + expect(page).to have_no_css('.fc-event', text: work_package.subject) end end def expect_resizable(work_package, resizable: true) if resizable - expect(page).to have_selector('.fc-event.fc-event-resizable', text: work_package.subject, wait: 10) + expect(page).to have_css('.fc-event.fc-event-resizable', text: work_package.subject, wait: 10) else - expect(page).to have_selector('.fc-event:not(.fc-event-resizable)', text: work_package.subject, wait: 10) + expect(page).to have_css('.fc-event:not(.fc-event-resizable)', text: work_package.subject, wait: 10) end end @@ -157,18 +157,18 @@ def expect_views_rendered(*queries) def expect_delete_buttons_for(*queries) queries.each do |query| - expect(page).to have_selector "[data-test-selector='team-planner-remove-#{query.id}']" + expect(page).to have_css "[data-test-selector='team-planner-remove-#{query.id}']" end end def expect_no_delete_buttons_for(*queries) queries.each do |query| - expect(page).not_to have_selector "[data-test-selector='team-planner-remove-#{query.id}']" + expect(page).to have_no_css "[data-test-selector='team-planner-remove-#{query.id}']" end end def expect_view_not_rendered(query) - expect(page).not_to have_selector 'td', text: query.name + expect(page).to have_no_css 'td', text: query.name end def expect_create_button @@ -179,7 +179,7 @@ def expect_create_button def expect_no_create_button within '.toolbar-items' do - expect(page).not_to have_link text: 'Team planner' + expect(page).to have_no_link text: 'Team planner' end end @@ -293,9 +293,9 @@ def drag_to_remove_dropzone(work_package, expect_removable: true) drag_element_to(dropzone) if expect_removable - expect(page).to have_selector('span', text: I18n.t('js.team_planner.drag_here_to_remove')) + expect(page).to have_css('span', text: I18n.t('js.team_planner.drag_here_to_remove')) else - expect(page).to have_selector('span', text: I18n.t('js.team_planner.cannot_drag_here')) + expect(page).to have_css('span', text: I18n.t('js.team_planner.cannot_drag_here')) end drag_release @@ -322,15 +322,15 @@ def lane(user) end def expect_wp_not_resizable(work_package) - expect(page).to have_selector('.fc-event:not(.fc-event-resizable)', text: work_package.subject) + expect(page).to have_css('.fc-event:not(.fc-event-resizable)', text: work_package.subject) end def expect_wp_not_draggable(work_package) - expect(page).to have_selector('.fc-event:not(.fc-event-draggable)', text: work_package.subject) + expect(page).to have_css('.fc-event:not(.fc-event-draggable)', text: work_package.subject) end def expect_no_menu_item(name) - expect(page).not_to have_selector('.op-sidemenu--item-title', text: name) + expect(page).to have_no_css('.op-sidemenu--item-title', text: name) end def y_distance(from:, to:) @@ -342,7 +342,7 @@ def y_center(element) end def wait_for_loaded - expect(page).to have_selector('.op-team-planner--wp-loading-skeleton') + expect(page).to have_css('.op-team-planner--wp-loading-skeleton') retry_block do raise "Should not be there" if page.has_selector?('.op-team-planner--wp-loading-skeleton') diff --git a/modules/two_factor_authentication/app/models/two_factor_authentication/device.rb b/modules/two_factor_authentication/app/models/two_factor_authentication/device.rb index 0f234c54c8f8..9a8c54ee6acc 100644 --- a/modules/two_factor_authentication/app/models/two_factor_authentication/device.rb +++ b/modules/two_factor_authentication/app/models/two_factor_authentication/device.rb @@ -71,7 +71,7 @@ def make_default! end def channel=(value) - super value.to_sym + super(value.to_sym) end def channel diff --git a/modules/two_factor_authentication/app/models/two_factor_authentication/device/totp.rb b/modules/two_factor_authentication/app/models/two_factor_authentication/device/totp.rb index 94cd8f924ba1..8c335727dceb 100644 --- a/modules/two_factor_authentication/app/models/two_factor_authentication/device/totp.rb +++ b/modules/two_factor_authentication/app/models/two_factor_authentication/device/totp.rb @@ -61,7 +61,7 @@ def allowed_drift end def totp - @totp ||= ::ROTP::TOTP.new otp_secret, issuer: (Setting.app_title.presence || 'OpenProject') + @totp ||= ::ROTP::TOTP.new otp_secret, issuer: Setting.app_title.presence || 'OpenProject' end end end diff --git a/modules/two_factor_authentication/config/locales/crowdin/ka.yml b/modules/two_factor_authentication/config/locales/crowdin/ka.yml index c4b519e0f9df..b462bf7cbd0d 100644 --- a/modules/two_factor_authentication/config/locales/crowdin/ka.yml +++ b/modules/two_factor_authentication/config/locales/crowdin/ka.yml @@ -7,10 +7,10 @@ ka: activerecord: attributes: two_factor_authentication/device: - identifier: 'Identifier' - default: 'Use as default' + identifier: 'იდენტიფიკატორი' + default: 'ნაგულისხმევად გამოყენება' two_factor_authentication/device/sms: - phone_number: "Phone number" + phone_number: "ტელეფონის ნომერი" errors: models: two_factor_authentication/device: @@ -20,8 +20,8 @@ ka: phone_number: error_phone_number_format: "must be of format +XX XXXXXXXXX" models: - two_factor_authentication/device: "2FA device" - two_factor_authentication/device/sms: "Mobile phone" + two_factor_authentication/device: "2FA მოწყობილობა" + two_factor_authentication/device/sms: "მობილურის ნომერი" two_factor_authentication/device/totp: "Authenticator application" two_factor_authentication: error_2fa_disabled: "2FA delivery has been disabled." @@ -33,10 +33,10 @@ ka: no_valid_phone_number: "No valid phone number exists." label_pwd_confirmation: "პაროლი" notice_pwd_confirmation: "You need to confirm your password upon making changes to these settings." - label_device_type: "Device type" + label_device_type: "მოწყობილობის ტიპი" label_default_device: "Default 2FA device" - label_device: "2FA device" - label_devices: "2FA devices" + label_device: "2FA მოწყობილობა" + label_devices: "2FA მოწყობილობა" label_one_time_password: 'One-time password' label_2fa_enabled: 'Two-factor authentication is active' label_2fa_disabled: 'Two-factor authentication not active' @@ -50,10 +50,10 @@ ka: enter_backup_code_text: Please enter a valid backup code from your list of codes in case you can no longer access your registered 2FA devices. other_device: 'Use another device or backup code' settings: - title: '2FA settings' + title: '2FA-ის მორგება' current_configuration: 'Current configuration' label_active_strategies: 'Active 2FA strategies' - label_enforced: 'Enforce 2FA' + label_enforced: '2FA-ის ნაძალადევი ჩართვა' label_remember: 'Remember 2FA login' text_configuration: | Note: These values represent the current application-wide configuration. You cannot disable settings enforced by the configuration or change the current active strategies, since they require a server restart. @@ -80,8 +80,8 @@ ka: description: 'Strenghten the security of your OpenProject instance by offering (or enforcing) two-factor authentification to all project members.' backup_codes: none_found: No backup codes exist for this account. - singular: Backup code - plural: Backup codes + singular: მარქაფის კოდი + plural: მარქაფი კოდები your_codes: for your %{app_name} account %{login} overview_description: | If you are unable to access your two factor devices, you can use a backup code to regain access to your account. @@ -95,7 +95,7 @@ ka: add_new: 'Add new 2FA device' register: 'Register device' confirm_default: 'Confirm changing default device' - confirm_device: 'Confirm device' + confirm_device: 'მოწყობილობის დადასტურება' confirm_now: 'Not confirmed, click here to activate' cannot_delete_default: 'Cannot delete default device' make_default_are_you_sure: 'Are you sure you want to make this 2FA device your default?' @@ -116,8 +116,8 @@ ka: totp: title: 'Use your app-based authenticator' provisioning_uri: 'Provisioning URI' - secret_key: 'Secret key' - time_based: 'Time based' + secret_key: 'საიდუმლო გასაღები' + time_based: 'დროზე დაფუძნებული' account: 'Account name / Issuer' setup: | For setting up two-factor authentication with Google Authenticator, download the application from the Apple App store or Google Play Store. @@ -156,7 +156,7 @@ ka: clear_cookie: 'Click here to remove all remembered 2FA sessions.' cookie_removed: 'All remembered 2FA sessions have been removed.' dont_ask_again: "Create cookie to remember 2FA authentication on this client for %{days} days." - field_phone: "Cell phone" + field_phone: "მობილური ტელეფონი" field_otp: "One-time password" notice_account_otp_invalid: "Invalid one-time password." notice_account_otp_expired: "The one-time password you entered expired." @@ -173,6 +173,6 @@ ka: text_otp_not_receive: "Other verification methods" text_send_otp_again: "Resend one-time password by:" button_resend_otp_form: "თავიდან გაგზავნა" - button_otp_by_voice: "Voice call" + button_otp_by_voice: "ხმოვანი ზარი" button_otp_by_sms: "SMS" label_otp_channel: "Delivery channel" diff --git a/modules/two_factor_authentication/db/migrate/20120214103300_aggregated_mobile_otp_migrations.rb b/modules/two_factor_authentication/db/migrate/20120214103300_aggregated_mobile_otp_migrations.rb index e5fd024d5ce2..205526f0b008 100644 --- a/modules/two_factor_authentication/db/migrate/20120214103300_aggregated_mobile_otp_migrations.rb +++ b/modules/two_factor_authentication/db/migrate/20120214103300_aggregated_mobile_otp_migrations.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/two_factor_authentication/db/migrate/20130214130336_add_default_otp_channel_to_user.rb b/modules/two_factor_authentication/db/migrate/20130214130336_add_default_otp_channel_to_user.rb index 39d286fe565d..6133bab639c2 100644 --- a/modules/two_factor_authentication/db/migrate/20130214130336_add_default_otp_channel_to_user.rb +++ b/modules/two_factor_authentication/db/migrate/20130214130336_add_default_otp_channel_to_user.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/two_factor_authentication/db/migrate/20160331190036_change_default_channel.rb b/modules/two_factor_authentication/db/migrate/20160331190036_change_default_channel.rb index 06f67169e99d..b9583c128b4b 100644 --- a/modules/two_factor_authentication/db/migrate/20160331190036_change_default_channel.rb +++ b/modules/two_factor_authentication/db/migrate/20160331190036_change_default_channel.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/two_factor_authentication/db/migrate/20171023190036_model_reorganization.rb b/modules/two_factor_authentication/db/migrate/20171023190036_model_reorganization.rb index 8bac7fd7e7ae..53a58d84075a 100644 --- a/modules/two_factor_authentication/db/migrate/20171023190036_model_reorganization.rb +++ b/modules/two_factor_authentication/db/migrate/20171023190036_model_reorganization.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/two_factor_authentication/lib/open_project/two_factor_authentication/token_strategy/base.rb b/modules/two_factor_authentication/lib/open_project/two_factor_authentication/token_strategy/base.rb index 615438bb00e9..3f6bff7fa0ae 100644 --- a/modules/two_factor_authentication/lib/open_project/two_factor_authentication/token_strategy/base.rb +++ b/modules/two_factor_authentication/lib/open_project/two_factor_authentication/token_strategy/base.rb @@ -36,7 +36,7 @@ def transmit @token = create_mobile_otp end - send "send_#{channel}" + send :"send_#{channel}" end def identifier diff --git a/modules/two_factor_authentication/lib/open_project/two_factor_authentication/token_strategy/message_bird.rb b/modules/two_factor_authentication/lib/open_project/two_factor_authentication/token_strategy/message_bird.rb index a4840d225a08..eef8f1387ac2 100644 --- a/modules/two_factor_authentication/lib/open_project/two_factor_authentication/token_strategy/message_bird.rb +++ b/modules/two_factor_authentication/lib/open_project/two_factor_authentication/token_strategy/message_bird.rb @@ -111,7 +111,7 @@ def available_languages ## # Select a matching language from the available languages def build_localized_message(params) - locale_key = (user.language.presence || Setting.default_language) + locale_key = user.language.presence || Setting.default_language # Check if the translation exist or fall back to english language = diff --git a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/authentication_controller_spec.rb b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/authentication_controller_spec.rb index 45b439fddf98..a8233f4c85d6 100644 --- a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/authentication_controller_spec.rb +++ b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/authentication_controller_spec.rb @@ -1,5 +1,5 @@ require_relative '../../spec_helper' -require_relative './authentication_controller_shared_examples' +require_relative 'authentication_controller_shared_examples' RSpec.describe TwoFactorAuthentication::AuthenticationController, with_settings: { login_required?: true } do let(:valid_credentials) do diff --git a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/forced_registration/two_factor_devices_controller_spec.rb b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/forced_registration/two_factor_devices_controller_spec.rb index da243fc8bfe8..3bdd4bb7c322 100644 --- a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/forced_registration/two_factor_devices_controller_spec.rb +++ b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/forced_registration/two_factor_devices_controller_spec.rb @@ -1,5 +1,5 @@ require_relative '../../../spec_helper' -require_relative './../authentication_controller_shared_examples' +require_relative '../authentication_controller_shared_examples' RSpec.describe TwoFactorAuthentication::ForcedRegistration::TwoFactorDevicesController do let(:user) { create(:user, login: 'foobar') } diff --git a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/remember_cookie_controller_spec.rb b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/remember_cookie_controller_spec.rb index 2501f3256c94..61ecaf90aa40 100644 --- a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/remember_cookie_controller_spec.rb +++ b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/remember_cookie_controller_spec.rb @@ -1,5 +1,5 @@ require_relative '../../../spec_helper' -require_relative './../authentication_controller_shared_examples' +require_relative '../authentication_controller_shared_examples' RSpec.describe TwoFactorAuthentication::My::RememberCookieController do let(:user) { create(:user, login: 'foobar') } diff --git a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/two_factor_devices_controller_spec.rb b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/two_factor_devices_controller_spec.rb index 09b463c8d993..7eb1064e14f8 100644 --- a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/two_factor_devices_controller_spec.rb +++ b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/my/two_factor_devices_controller_spec.rb @@ -1,5 +1,5 @@ require_relative '../../../spec_helper' -require_relative './../authentication_controller_shared_examples' +require_relative '../authentication_controller_shared_examples' RSpec.describe TwoFactorAuthentication::My::TwoFactorDevicesController do let(:user) { create(:user, login: 'foobar') } diff --git a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/users/two_factor_devices_controller_spec.rb b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/users/two_factor_devices_controller_spec.rb index abca0305a7d8..6f61cf1cf842 100644 --- a/modules/two_factor_authentication/spec/controllers/two_factor_authentication/users/two_factor_devices_controller_spec.rb +++ b/modules/two_factor_authentication/spec/controllers/two_factor_authentication/users/two_factor_devices_controller_spec.rb @@ -1,5 +1,5 @@ require_relative '../../../spec_helper' -require_relative './../authentication_controller_shared_examples' +require_relative '../authentication_controller_shared_examples' RSpec.describe TwoFactorAuthentication::Users::TwoFactorDevicesController do let(:admin) { create(:admin) } diff --git a/modules/two_factor_authentication/spec/features/account_activation_spec.rb b/modules/two_factor_authentication/spec/features/account_activation_spec.rb index 6d29e7075925..c89014c1a97e 100644 --- a/modules/two_factor_authentication/spec/features/account_activation_spec.rb +++ b/modules/two_factor_authentication/spec/features/account_activation_spec.rb @@ -1,8 +1,7 @@ require_relative '../spec_helper' -require_relative './shared_2fa_examples' +require_relative 'shared_2fa_examples' -RSpec.describe 'activating an invited account', - js: true, +RSpec.describe 'activating an invited account', :js, with_settings: { plugin_openproject_two_factor_authentication: { 'active_strategies' => [:developer] } } do @@ -33,7 +32,7 @@ def activate! activate! visit my_account_path - expect(page).to have_selector('.form--field-container', text: user.login) + expect(page).to have_css('.form--field-container', text: user.login) end end @@ -51,20 +50,20 @@ def activate! activate! - expect(page).to have_selector('.op-toast.-success', text: 'Developer strategy generated the following one-time password:') + expect(page).to have_css('.op-toast.-success', text: 'Developer strategy generated the following one-time password:') SeleniumHubWaiter.wait fill_in I18n.t(:field_otp), with: sms_token click_button I18n.t(:button_login) visit my_account_path - expect(page).to have_selector('.form--field-container', text: user.login) + expect(page).to have_css('.form--field-container', text: user.login) end it 'handles faulty user input on two factor authentication' do activate! - expect(page).to have_selector('.op-toast.-success', text: 'Developer strategy generated the following one-time password:') + expect(page).to have_css('.op-toast.-success', text: 'Developer strategy generated the following one-time password:') fill_in I18n.t(:field_otp), with: 'asdf' # faulty token click_button I18n.t(:button_login) diff --git a/modules/two_factor_authentication/spec/features/admin_edit_two_factor_devices_spec.rb b/modules/two_factor_authentication/spec/features/admin_edit_two_factor_devices_spec.rb index 5ea672922a0a..205aa53ded80 100644 --- a/modules/two_factor_authentication/spec/features/admin_edit_two_factor_devices_spec.rb +++ b/modules/two_factor_authentication/spec/features/admin_edit_two_factor_devices_spec.rb @@ -1,9 +1,8 @@ require_relative '../spec_helper' -RSpec.describe 'Admin 2FA management', - js: true, with_settings: { - plugin_openproject_two_factor_authentication: { 'active_strategies' => %i[developer totp] } - } do +RSpec.describe 'Admin 2FA management', :js, with_settings: { + plugin_openproject_two_factor_authentication: { 'active_strategies' => %i[developer totp] } +} do let(:dialog) { Components::PasswordConfirmationDialog.new } let(:user_password) { 'admin!' * 4 } let(:other_user) { create(:user, login: 'bob') } @@ -19,12 +18,12 @@ it 'forbids the admin editing his own account' do visit edit_user_path(admin, tab: :two_factor_authentication) - expect(page).to have_selector('.on-off-status.-disabled') + expect(page).to have_css('.on-off-status.-disabled') - expect(page).not_to have_selector('.generic-table--empty-row', wait: 1) + expect(page).to have_no_css('.generic-table--empty-row', wait: 1) page.find('.admin--edit-section a').click - expect(page).to have_selector('.generic-table--empty-row') + expect(page).to have_css('.generic-table--empty-row') expect(page).to have_current_path my_2fa_devices_path end @@ -32,9 +31,9 @@ visit edit_user_path(other_user, tab: :two_factor_authentication) # Visit empty index - expect(page).to have_selector('.generic-table--empty-row', - text: I18n.t('two_factor_authentication.admin.no_devices_for_user')) - expect(page).to have_selector('.on-off-status.-disabled') + expect(page).to have_css('.generic-table--empty-row', + text: I18n.t('two_factor_authentication.admin.no_devices_for_user')) + expect(page).to have_css('.on-off-status.-disabled') # Visit inline create find('.button', text: I18n.t('two_factor_authentication.admin.button_register_mobile_phone_for_user')).click @@ -45,23 +44,23 @@ click_button I18n.t(:button_continue) # Enter valid phone number - expect(page).to have_selector('#errorExplanation', text: 'Phone number must be of format +XX XXXXXXXXX') + expect(page).to have_css('#errorExplanation', text: 'Phone number must be of format +XX XXXXXXXXX') SeleniumHubWaiter.wait fill_in 'device_phone_number', with: '+49 123456789' click_button I18n.t(:button_continue) - expect(page).to have_selector('.mobile-otp--two-factor-device-row td', text: 'Mobile phone (bob) (+49 123456789)') - expect(page).to have_selector('.mobile-otp--two-factor-device-row td .icon-yes', count: 2) - expect(page).to have_selector('.on-off-status.-enabled') + expect(page).to have_css('.mobile-otp--two-factor-device-row td', text: 'Mobile phone (bob) (+49 123456789)') + expect(page).to have_css('.mobile-otp--two-factor-device-row td .icon-yes', count: 2) + expect(page).to have_css('.on-off-status.-enabled') SeleniumHubWaiter.wait # Delete the one find('.two-factor--delete-button').click dialog.confirm_flow_with user_password, should_fail: false - expect(page).to have_selector('.mobile-otp--two-factor-device-row', count: 0) - expect(page).to have_selector('.on-off-status.-disabled') + expect(page).to have_css('.mobile-otp--two-factor-device-row', count: 0) + expect(page).to have_css('.on-off-status.-disabled') expect(other_user.otp_devices.count).to eq 0 end @@ -71,15 +70,15 @@ it 'allows to delete all' do visit edit_user_path(other_user, tab: :two_factor_authentication) - expect(page).to have_selector('.mobile-otp--two-factor-device-row', count: 2) - expect(page).to have_selector('.on-off-status.-enabled') + expect(page).to have_css('.mobile-otp--two-factor-device-row', count: 2) + expect(page).to have_css('.on-off-status.-enabled') find('.button', text: I18n.t('two_factor_authentication.admin.button_delete_all_devices')).click page.driver.browser.switch_to.alert.accept - expect(page).to have_selector('.generic-table--empty-row', - text: I18n.t('two_factor_authentication.admin.no_devices_for_user'), wait: 20) - expect(page).to have_selector('.on-off-status.-disabled') + expect(page).to have_css('.generic-table--empty-row', + text: I18n.t('two_factor_authentication.admin.no_devices_for_user'), wait: 20) + expect(page).to have_css('.on-off-status.-disabled') end end end diff --git a/modules/two_factor_authentication/spec/features/backup_codes/generate_backup_codes_spec.rb b/modules/two_factor_authentication/spec/features/backup_codes/generate_backup_codes_spec.rb index 5e6465c1b947..d09416616080 100644 --- a/modules/two_factor_authentication/spec/features/backup_codes/generate_backup_codes_spec.rb +++ b/modules/two_factor_authentication/spec/features/backup_codes/generate_backup_codes_spec.rb @@ -1,7 +1,7 @@ require_relative '../../spec_helper' require_relative '../shared_2fa_examples' -RSpec.describe 'Generate 2FA backup codes', js: true, with_config: { '2fa': { active_strategies: [:developer] } } do +RSpec.describe 'Generate 2FA backup codes', :js, with_config: { '2fa': { active_strategies: [:developer] } } do let(:user_password) { 'bob!' * 4 } let(:user) do create(:user, @@ -27,18 +27,18 @@ end # Confirm with wrong password - expect(page).to have_selector('h2', text: I18n.t('two_factor_authentication.backup_codes.plural')) + expect(page).to have_css('h2', text: I18n.t('two_factor_authentication.backup_codes.plural')) click_on I18n.t('two_factor_authentication.backup_codes.generate.title') dialog.confirm_flow_with 'wrong_password', should_fail: true # Confirm with correct password - expect(page).to have_selector('h2', text: I18n.t('two_factor_authentication.backup_codes.plural')) + expect(page).to have_css('h2', text: I18n.t('two_factor_authentication.backup_codes.plural')) click_on I18n.t('two_factor_authentication.backup_codes.generate.title') dialog.confirm_flow_with user_password, should_fail: false - expect(page).to have_selector('.op-toast.-warning') + expect(page).to have_css('.op-toast.-warning') backup_codes.each do |code| - expect(page).to have_selector('.two-factor-authentication--backup-codes li', text: code) + expect(page).to have_css('.two-factor-authentication--backup-codes li', text: code) end end end diff --git a/modules/two_factor_authentication/spec/features/backup_codes/login_with_backup_code_spec.rb b/modules/two_factor_authentication/spec/features/backup_codes/login_with_backup_code_spec.rb index f11c4f69a4ef..8fb4295fbd22 100644 --- a/modules/two_factor_authentication/spec/features/backup_codes/login_with_backup_code_spec.rb +++ b/modules/two_factor_authentication/spec/features/backup_codes/login_with_backup_code_spec.rb @@ -1,7 +1,7 @@ require_relative '../../spec_helper' require_relative '../shared_2fa_examples' -RSpec.describe 'Login with 2FA backup code', js: true, with_settings: { +RSpec.describe 'Login with 2FA backup code', :js, with_settings: { plugin_openproject_two_factor_authentication: { 'active_strategies' => [:developer] } } do let(:user_password) { 'bob!' * 4 } @@ -19,7 +19,7 @@ # Open other options find_by_id('toggle_resend_form').click - expect(page).not_to have_selector('a', text: I18n.t('two_factor_authentication.backup_codes.enter_backup_code_title')) + expect(page).to have_no_css('a', text: I18n.t('two_factor_authentication.backup_codes.enter_backup_code_title')) end end @@ -31,7 +31,7 @@ first_login_step - expect(page).to have_selector('#toggle_resend_form', wait: 10) + expect(page).to have_css('#toggle_resend_form', wait: 10) # Wait for the frontend to be loaded and initialized # On downstream configurations, this might take longer than marionette selecting the element @@ -44,13 +44,13 @@ SeleniumHubWaiter.wait find('a', text: I18n.t('two_factor_authentication.login.enter_backup_code_title'), wait: 2).click - expect(page).to have_selector('h2', text: I18n.t('two_factor_authentication.login.enter_backup_code_title')) + expect(page).to have_css('h2', text: I18n.t('two_factor_authentication.login.enter_backup_code_title')) SeleniumHubWaiter.wait fill_in 'backup_code', with: 'whatever' click_on 'Submit' # Expect failure - expect(page).to have_selector('.op-toast.-error', text: I18n.t('two_factor_authentication.error_invalid_backup_code')) + expect(page).to have_css('.op-toast.-error', text: I18n.t('two_factor_authentication.error_invalid_backup_code')) expect(page).to have_current_path signin_path # Try again! @@ -60,7 +60,7 @@ SeleniumHubWaiter.wait find('a', text: I18n.t('two_factor_authentication.login.enter_backup_code_title')).click - expect(page).to have_selector('h2', text: I18n.t('two_factor_authentication.login.enter_backup_code_title')) + expect(page).to have_css('h2', text: I18n.t('two_factor_authentication.login.enter_backup_code_title')) SeleniumHubWaiter.wait fill_in 'backup_code', with: valid_backup_codes.first click_on 'Submit' diff --git a/modules/two_factor_authentication/spec/features/login/login_enforced_2fa_spec.rb b/modules/two_factor_authentication/spec/features/login/login_enforced_2fa_spec.rb index 3fb00516c0b9..d98ce73f099c 100644 --- a/modules/two_factor_authentication/spec/features/login/login_enforced_2fa_spec.rb +++ b/modules/two_factor_authentication/spec/features/login/login_enforced_2fa_spec.rb @@ -1,13 +1,12 @@ require_relative '../../spec_helper' require_relative '../shared_2fa_examples' -RSpec.describe 'Login with enforced 2FA', - js: true, with_settings: { - plugin_openproject_two_factor_authentication: { - 'active_strategies' => [:developer], - 'enforced' => true - } - } do +RSpec.describe 'Login with enforced 2FA', :js, with_settings: { + plugin_openproject_two_factor_authentication: { + 'active_strategies' => [:developer], + 'enforced' => true + } +} do let(:user_password) { 'bob!' * 4 } let(:user) do create(:user, @@ -37,7 +36,7 @@ first_login_step two_factor_step('whatever') - expect(page).to have_selector('.op-toast.-error', text: I18n.t(:notice_account_otp_invalid)) + expect(page).to have_css('.op-toast.-error', text: I18n.t(:notice_account_otp_invalid)) expect(page).to have_current_path signin_path end end diff --git a/modules/two_factor_authentication/spec/features/login/login_with_2fa_spec.rb b/modules/two_factor_authentication/spec/features/login/login_with_2fa_spec.rb index 6740359dc656..14dafa042d59 100644 --- a/modules/two_factor_authentication/spec/features/login/login_with_2fa_spec.rb +++ b/modules/two_factor_authentication/spec/features/login/login_with_2fa_spec.rb @@ -1,12 +1,11 @@ require_relative '../../spec_helper' require_relative '../shared_2fa_examples' -RSpec.describe 'Login with 2FA device', - js: true, with_settings: { - plugin_openproject_two_factor_authentication: { - 'active_strategies' => [:developer] - } - } do +RSpec.describe 'Login with 2FA device', :js, with_settings: { + plugin_openproject_two_factor_authentication: { + 'active_strategies' => [:developer] + } +} do let(:user_password) { 'bob!' * 4 } let(:user) do create(:user, @@ -36,7 +35,7 @@ first_login_step two_factor_step('whatever') - expect(page).to have_selector('.op-toast.-error', text: I18n.t(:notice_account_otp_invalid)) + expect(page).to have_css('.op-toast.-error', text: I18n.t(:notice_account_otp_invalid)) expect(page).to have_current_path signin_path end end diff --git a/modules/two_factor_authentication/spec/features/login/login_without_2fa_spec.rb b/modules/two_factor_authentication/spec/features/login/login_without_2fa_spec.rb index 6b1acc6851a0..b328710607c9 100644 --- a/modules/two_factor_authentication/spec/features/login/login_without_2fa_spec.rb +++ b/modules/two_factor_authentication/spec/features/login/login_without_2fa_spec.rb @@ -1,7 +1,7 @@ require_relative '../../spec_helper' require_relative '../shared_2fa_examples' -RSpec.describe 'Login with no required OTP', js: true, with_config: { '2fa': { active_strategies: [:developer] } } do +RSpec.describe 'Login with no required OTP', :js, with_config: { '2fa': { active_strategies: [:developer] } } do let(:user_password) { 'bob!' * 4 } let(:user) do create(:user, diff --git a/modules/two_factor_authentication/spec/features/login/switch_available_devices_spec.rb b/modules/two_factor_authentication/spec/features/login/switch_available_devices_spec.rb index 98e8a290a62c..5b35d5e456e7 100644 --- a/modules/two_factor_authentication/spec/features/login/switch_available_devices_spec.rb +++ b/modules/two_factor_authentication/spec/features/login/switch_available_devices_spec.rb @@ -1,10 +1,9 @@ require_relative '../../spec_helper' require_relative '../shared_2fa_examples' -RSpec.describe 'Login by switching 2FA device', - js: true, with_settings: { - plugin_openproject_two_factor_authentication: { 'active_strategies' => %i[developer totp] } - } do +RSpec.describe 'Login by switching 2FA device', :js, with_settings: { + plugin_openproject_two_factor_authentication: { 'active_strategies' => %i[developer totp] } +} do let(:user_password) { 'bob!' * 4 } let(:user) do create(:user, @@ -20,7 +19,7 @@ it 'requests a 2FA and allows switching' do first_login_step - expect(page).to have_selector('input#otp') + expect(page).to have_css('input#otp') SeleniumHubWaiter.wait # Toggle device to TOTP @@ -29,8 +28,8 @@ SeleniumHubWaiter.wait find(".button--link[value='#{device2.redacted_identifier}']").click - expect(page).to have_selector('input#otp') - expect(page).to have_selector('#submit_otp p', text: device2.redacted_identifier) + expect(page).to have_css('input#otp') + expect(page).to have_css('#submit_otp p', text: device2.redacted_identifier) two_factor_step(device2.totp.now) expect_logged_in diff --git a/modules/two_factor_authentication/spec/features/my_two_factor_devices_spec.rb b/modules/two_factor_authentication/spec/features/my_two_factor_devices_spec.rb index 22d240c59eaa..bb9dd2886111 100644 --- a/modules/two_factor_authentication/spec/features/my_two_factor_devices_spec.rb +++ b/modules/two_factor_authentication/spec/features/my_two_factor_devices_spec.rb @@ -1,9 +1,8 @@ require_relative '../spec_helper' -RSpec.describe 'My Account 2FA configuration', - js: true, with_settings: { - plugin_openproject_two_factor_authentication: { 'active_strategies' => %i[developer totp] } - } do +RSpec.describe 'My Account 2FA configuration', :js, with_settings: { + plugin_openproject_two_factor_authentication: { 'active_strategies' => %i[developer totp] } +} do let(:dialog) { Components::PasswordConfirmationDialog.new } let(:user_password) { 'boB!4' * 4 } let(:user) do @@ -20,12 +19,12 @@ it 'allows 2FA device management' do # Visit empty index visit my_2fa_devices_path - expect(page).to have_selector('.generic-table--empty-row', text: I18n.t('two_factor_authentication.devices.not_existing')) - expect(page).to have_selector('.on-off-status.-disabled') + expect(page).to have_css('.generic-table--empty-row', text: I18n.t('two_factor_authentication.devices.not_existing')) + expect(page).to have_css('.on-off-status.-disabled') # Visit inline create find('.wp-inline-create--add-link').click - expect(page).to have_selector('h2', text: I18n.t('two_factor_authentication.devices.add_new')) + expect(page).to have_css('h2', text: I18n.t('two_factor_authentication.devices.add_new')) expect(page).to have_current_path new_my_2fa_device_path # Select SMS @@ -36,7 +35,7 @@ click_button I18n.t(:button_continue) # Enter valid phone number - expect(page).to have_selector('#errorExplanation', text: 'Phone number must be of format +XX XXXXXXXXX') + expect(page).to have_css('#errorExplanation', text: 'Phone number must be of format +XX XXXXXXXXX') fill_in 'device_phone_number', with: '+49 123456789' click_button I18n.t(:button_continue) @@ -54,25 +53,25 @@ click_button I18n.t(:button_continue) - expect(page).to have_selector('h2', text: I18n.t('two_factor_authentication.devices.confirm_device')) - expect(page).to have_selector('input#otp') - expect(page).to have_selector('.op-toast.-error', - text: I18n.t('two_factor_authentication.devices.registration_failed_token_invalid')) + expect(page).to have_css('h2', text: I18n.t('two_factor_authentication.devices.confirm_device')) + expect(page).to have_css('input#otp') + expect(page).to have_css('.op-toast.-error', + text: I18n.t('two_factor_authentication.devices.registration_failed_token_invalid')) # Fill in correct token fill_in 'otp', with: sms_token click_button I18n.t(:button_continue) # Assert that it exists and is default - expect(page).to have_selector('.mobile-otp--two-factor-device-row td', text: 'Mobile phone (bob) (+49 123456789)') - expect(page).to have_selector('.mobile-otp--two-factor-device-row td .icon-yes', count: 2) - expect(page).to have_selector('.on-off-status.-enabled') + expect(page).to have_css('.mobile-otp--two-factor-device-row td', text: 'Mobile phone (bob) (+49 123456789)') + expect(page).to have_css('.mobile-otp--two-factor-device-row td .icon-yes', count: 2) + expect(page).to have_css('.on-off-status.-enabled') # Create another one as totp # Visit create button visit my_2fa_devices_path find('.toolbar-item .button', text: '2FA device').click - expect(page).to have_selector('h2', text: I18n.t('two_factor_authentication.devices.add_new')) + expect(page).to have_css('h2', text: I18n.t('two_factor_authentication.devices.add_new')) expect(page).to have_current_path new_my_2fa_device_path, ignore_query: true # Select totp @@ -83,8 +82,8 @@ click_button I18n.t(:button_continue) # Confirm token - expect(page).to have_selector('h2', text: I18n.t('two_factor_authentication.devices.confirm_device')) - expect(page).to have_selector('input#otp') + expect(page).to have_css('h2', text: I18n.t('two_factor_authentication.devices.confirm_device')) + expect(page).to have_css('input#otp') device = user.otp_devices.order(:id).last expect(device.identifier).to eq 'custom identifier' @@ -94,11 +93,11 @@ fill_in 'otp', with: device.totp.now click_button I18n.t(:button_continue) - expect(page).to have_selector('.mobile-otp--two-factor-device-row', count: 2) + expect(page).to have_css('.mobile-otp--two-factor-device-row', count: 2) rows = page.all('.mobile-otp--two-factor-device-row') - expect(rows[0]).to have_selector('.mobile-otp--two-factor-device-row td .icon-yes', count: 2) - expect(rows[1]).to have_selector('.mobile-otp--two-factor-device-row td', text: 'custom identifier') - expect(rows[1]).to have_selector('.mobile-otp--two-factor-device-row td .icon-yes', count: 1) + expect(rows[0]).to have_css('.mobile-otp--two-factor-device-row td .icon-yes', count: 2) + expect(rows[1]).to have_css('.mobile-otp--two-factor-device-row td', text: 'custom identifier') + expect(rows[1]).to have_css('.mobile-otp--two-factor-device-row td .icon-yes', count: 1) device.reload expect(device.active).to be_truthy @@ -113,10 +112,10 @@ find('.two-factor--mark-default-button').click dialog.confirm_flow_with user_password, should_fail: false - expect(page).to have_selector('.mobile-otp--two-factor-device-row', count: 2) + expect(page).to have_css('.mobile-otp--two-factor-device-row', count: 2) rows = page.all('.mobile-otp--two-factor-device-row') - expect(rows[0]).to have_selector('.mobile-otp--two-factor-device-row td .icon-yes', count: 1) - expect(rows[1]).to have_selector('.mobile-otp--two-factor-device-row td .icon-yes', count: 2) + expect(rows[0]).to have_css('.mobile-otp--two-factor-device-row td .icon-yes', count: 1) + expect(rows[1]).to have_css('.mobile-otp--two-factor-device-row td .icon-yes', count: 2) device.reload expect(device.default).to be_truthy @@ -125,16 +124,16 @@ rows[0].find('.two-factor--delete-button').click dialog.confirm_flow_with user_password, should_fail: false - expect(page).to have_selector('.mobile-otp--two-factor-device-row', count: 1) - expect(page).to have_selector('.on-off-status.-enabled') + expect(page).to have_css('.mobile-otp--two-factor-device-row', count: 1) + expect(page).to have_css('.on-off-status.-enabled') expect(user.otp_devices.count).to eq 1 # Delete the totp device find('.two-factor--delete-button').click dialog.confirm_flow_with user_password, should_fail: false - expect(page).to have_selector('.generic-table--empty-row', text: I18n.t('two_factor_authentication.devices.not_existing')) - expect(page).to have_selector('.on-off-status.-disabled') + expect(page).to have_css('.generic-table--empty-row', text: I18n.t('two_factor_authentication.devices.not_existing')) + expect(page).to have_css('.on-off-status.-disabled') expect(user.otp_devices.count).to eq 0 end diff --git a/modules/two_factor_authentication/spec/features/password_change_spec.rb b/modules/two_factor_authentication/spec/features/password_change_spec.rb index 89a4ccf050d0..90a22195cece 100644 --- a/modules/two_factor_authentication/spec/features/password_change_spec.rb +++ b/modules/two_factor_authentication/spec/features/password_change_spec.rb @@ -1,11 +1,10 @@ require_relative '../spec_helper' -RSpec.describe 'Password change with OTP', - js: true, with_settings: { - plugin_openproject_two_factor_authentication: { - 'active_strategies' => [:developer] - } - } do +RSpec.describe 'Password change with OTP', :js, with_settings: { + plugin_openproject_two_factor_authentication: { + 'active_strategies' => [:developer] + } +} do let(:user_password) { 'boB&' * 4 } let(:new_user_password) { '%obB' * 4 } let(:user) do @@ -32,7 +31,7 @@ def handle_password_change(requires_otp: true) end # rubocop:enable RSpec/AnyInstance - expect(page).to have_selector('h2', text: I18n.t(:button_change_password)) + expect(page).to have_css('h2', text: I18n.t(:button_change_password)) within('#content') do SeleniumHubWaiter.wait fill_in('password', with: user_password) @@ -42,7 +41,7 @@ def handle_password_change(requires_otp: true) end if requires_otp - expect(page).to have_selector('input#otp') + expect(page).to have_css('input#otp') SeleniumHubWaiter.wait fill_in 'otp', with: sms_token click_button I18n.t(:button_login) diff --git a/modules/two_factor_authentication/spec/features/remember_cookie/login_with_remember_cookie_spec.rb b/modules/two_factor_authentication/spec/features/remember_cookie/login_with_remember_cookie_spec.rb index 01e2e270ffec..af0ce3b0e716 100644 --- a/modules/two_factor_authentication/spec/features/remember_cookie/login_with_remember_cookie_spec.rb +++ b/modules/two_factor_authentication/spec/features/remember_cookie/login_with_remember_cookie_spec.rb @@ -1,13 +1,12 @@ require_relative '../../spec_helper' require_relative '../shared_2fa_examples' -RSpec.describe 'Login with 2FA remember cookie', - js: true, with_settings: { - plugin_openproject_two_factor_authentication: { - active_strategies: [:developer], - allow_remember_for_days: 30 - } - } do +RSpec.describe 'Login with 2FA remember cookie', :js, with_settings: { + plugin_openproject_two_factor_authentication: { + active_strategies: [:developer], + allow_remember_for_days: 30 + } +} do let(:user_password) do "user!user!" end @@ -27,7 +26,7 @@ def login_with_cookie first_login_step - expect(page).to have_selector('input#remember_me') + expect(page).to have_css('input#remember_me') SeleniumHubWaiter.wait check 'remember_me' @@ -38,7 +37,7 @@ def login_with_cookie def expect_no_autologin first_login_step - expect(page).to have_selector('input#otp') + expect(page).to have_css('input#otp') expect_not_logged_in end @@ -51,7 +50,7 @@ def expect_no_autologin } do it 'does not show the save form' do first_login_step - expect(page).not_to have_selector('input#remember_me') + expect(page).to have_no_css('input#remember_me') end end @@ -61,8 +60,8 @@ def expect_no_autologin visit my_2fa_devices_path find('.two-factor-authentication--remove-remember-cookie-link').click - expect(page).to have_selector('.op-toast.-success') - expect(page).not_to have_selector('.two-factor-authentication--remove-remember-cookie-link') + expect(page).to have_css('.op-toast.-success') + expect(page).to have_no_css('.two-factor-authentication--remove-remember-cookie-link') # Log out and in again visit '/logout' diff --git a/modules/two_factor_authentication/spec/features/shared_2fa_examples.rb b/modules/two_factor_authentication/spec/features/shared_2fa_examples.rb index d28ff83ca27d..998043be12e4 100644 --- a/modules/two_factor_authentication/spec/features/shared_2fa_examples.rb +++ b/modules/two_factor_authentication/spec/features/shared_2fa_examples.rb @@ -9,7 +9,7 @@ def first_login_step end def two_factor_step(token) - expect(page).to have_selector('input#otp') + expect(page).to have_css('input#otp') SeleniumHubWaiter.wait fill_in 'otp', with: token click_button I18n.t(:button_login) @@ -18,12 +18,12 @@ def two_factor_step(token) def expect_logged_in visit my_account_path SeleniumHubWaiter.wait - expect(page).to have_selector('.form--field-container', text: user.login) + expect(page).to have_css('.form--field-container', text: user.login) end def expect_not_logged_in visit my_account_path - expect(page).not_to have_selector('.form--field-container', text: user.login) + expect(page).to have_no_css('.form--field-container', text: user.login) end RSpec.shared_examples 'login without 2FA' do @@ -35,8 +35,8 @@ def expect_not_logged_in RSpec.shared_examples 'create enforced sms device' do it do - expect(page).to have_selector('.op-toast.-info', - text: I18n.t('two_factor_authentication.forced_registration.required_to_add_device')) + expect(page).to have_css('.op-toast.-info', + text: I18n.t('two_factor_authentication.forced_registration.required_to_add_device')) SeleniumHubWaiter.wait # Create SMS device @@ -46,15 +46,15 @@ def expect_not_logged_in click_on 'Continue' # Expect error on invalid phone - expect(page).to have_selector('#errorExplanation', text: 'Phone number must be of format +XX XXXXXXXXX') + expect(page).to have_css('#errorExplanation', text: 'Phone number must be of format +XX XXXXXXXXX') SeleniumHubWaiter.wait fill_in 'device_phone_number', with: '+49 123456789' click_on 'Continue' # Confirm page - expect(page).to have_selector('h2', text: I18n.t('two_factor_authentication.devices.confirm_device')) - expect(page).to have_selector('input#otp') + expect(page).to have_css('h2', text: I18n.t('two_factor_authentication.devices.confirm_device')) + expect(page).to have_css('input#otp') SeleniumHubWaiter.wait # Fill in wrong token @@ -69,10 +69,10 @@ def expect_not_logged_in click_button I18n.t(:button_continue) - expect(page).to have_selector('h2', text: I18n.t('two_factor_authentication.devices.confirm_device')) - expect(page).to have_selector('input#otp') - expect(page).to have_selector('.op-toast.-error', - text: I18n.t('two_factor_authentication.devices.registration_failed_token_invalid')) + expect(page).to have_css('h2', text: I18n.t('two_factor_authentication.devices.confirm_device')) + expect(page).to have_css('input#otp') + expect(page).to have_css('.op-toast.-error', + text: I18n.t('two_factor_authentication.devices.registration_failed_token_invalid')) SeleniumHubWaiter.wait # Fill in wrong token diff --git a/modules/two_factor_authentication/spec/models/login_token_spec.rb b/modules/two_factor_authentication/spec/models/login_token_spec.rb index a13e74cb045a..558d85fb31ea 100644 --- a/modules/two_factor_authentication/spec/models/login_token_spec.rb +++ b/modules/two_factor_authentication/spec/models/login_token_spec.rb @@ -1,6 +1,6 @@ require_relative '../spec_helper' -RSpec.describe TwoFactorAuthentication::LoginToken, with_2fa_ee: true do +RSpec.describe TwoFactorAuthentication::LoginToken, :with_2fa_ee do shared_let(:user) { create(:user) } let!(:token) { described_class.new user: } diff --git a/modules/two_factor_authentication/spec/routing/two_factor_authentication/my/two_factor_devices_spec.rb b/modules/two_factor_authentication/spec/routing/two_factor_authentication/my/two_factor_devices_spec.rb index d2af75cadc50..5964cc6d5084 100644 --- a/modules/two_factor_authentication/spec/routing/two_factor_authentication/my/two_factor_devices_spec.rb +++ b/modules/two_factor_authentication/spec/routing/two_factor_authentication/my/two_factor_devices_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/two_factor_authentication/spec/routing/two_factor_authentication/users/two_factor_devices_spec.rb b/modules/two_factor_authentication/spec/routing/two_factor_authentication/users/two_factor_devices_spec.rb index 5c2db7653763..f712fe9db11d 100644 --- a/modules/two_factor_authentication/spec/routing/two_factor_authentication/users/two_factor_devices_spec.rb +++ b/modules/two_factor_authentication/spec/routing/two_factor_authentication/users/two_factor_devices_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/app/controllers/webhooks/incoming/hooks_controller.rb b/modules/webhooks/app/controllers/webhooks/incoming/hooks_controller.rb index 3a1e2d1fbea1..acfbceb747f5 100644 --- a/modules/webhooks/app/controllers/webhooks/incoming/hooks_controller.rb +++ b/modules/webhooks/app/controllers/webhooks/incoming/hooks_controller.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/app/workers/attachment_webhook_job.rb b/modules/webhooks/app/workers/attachment_webhook_job.rb index a277cef98f56..ff71ed3638c7 100644 --- a/modules/webhooks/app/workers/attachment_webhook_job.rb +++ b/modules/webhooks/app/workers/attachment_webhook_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/app/workers/cleanup_webhook_logs_job.rb b/modules/webhooks/app/workers/cleanup_webhook_logs_job.rb index ea9bca03f292..4a59ae264cef 100644 --- a/modules/webhooks/app/workers/cleanup_webhook_logs_job.rb +++ b/modules/webhooks/app/workers/cleanup_webhook_logs_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/app/workers/project_webhook_job.rb b/modules/webhooks/app/workers/project_webhook_job.rb index 73436bc314f3..2d04c479cf65 100644 --- a/modules/webhooks/app/workers/project_webhook_job.rb +++ b/modules/webhooks/app/workers/project_webhook_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/app/workers/represented_webhook_job.rb b/modules/webhooks/app/workers/represented_webhook_job.rb index 53c848ec20f3..68fb45bec7cc 100644 --- a/modules/webhooks/app/workers/represented_webhook_job.rb +++ b/modules/webhooks/app/workers/represented_webhook_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/app/workers/time_entry_webhook_job.rb b/modules/webhooks/app/workers/time_entry_webhook_job.rb index 5184c9261afa..c282cc887bfe 100644 --- a/modules/webhooks/app/workers/time_entry_webhook_job.rb +++ b/modules/webhooks/app/workers/time_entry_webhook_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/app/workers/webhook_job.rb b/modules/webhooks/app/workers/webhook_job.rb index f4d8c73c5807..25c0f5fd68fb 100644 --- a/modules/webhooks/app/workers/webhook_job.rb +++ b/modules/webhooks/app/workers/webhook_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/app/workers/work_package_webhook_job.rb b/modules/webhooks/app/workers/work_package_webhook_job.rb index 893123f1ecd6..85aa104c44ad 100644 --- a/modules/webhooks/app/workers/work_package_webhook_job.rb +++ b/modules/webhooks/app/workers/work_package_webhook_job.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/config/locales/crowdin/cs.yml b/modules/webhooks/config/locales/crowdin/cs.yml index 9330d94c3395..b45346bcfafa 100644 --- a/modules/webhooks/config/locales/crowdin/cs.yml +++ b/modules/webhooks/config/locales/crowdin/cs.yml @@ -8,7 +8,7 @@ cs: url: "Payload URL\n" secret: 'Signature secret' events: 'Události' - projects: 'Povolit projekty' + projects: 'Povolené projekty' webhooks/log: event_name: 'Název události' url: "Payload URL\n" diff --git a/modules/webhooks/config/locales/crowdin/ka.yml b/modules/webhooks/config/locales/crowdin/ka.yml index 709bd9191921..fde07e70e794 100644 --- a/modules/webhooks/config/locales/crowdin/ka.yml +++ b/modules/webhooks/config/locales/crowdin/ka.yml @@ -5,14 +5,14 @@ ka: activerecord: attributes: webhooks/webhook: - url: 'Payload URL' + url: 'ჩასატვირთი URL' secret: 'Signature secret' events: 'მოვლენები' projects: 'Enabled projects' webhooks/log: - event_name: 'Event name' - url: 'Payload URL' - response_code: 'Response code' + event_name: 'მოვლენის სახელი' + url: 'ჩასატვირთი URL' + response_code: 'გამოხმაურების კოდი' response_body: 'პასუხი' models: webhooks/outgoing_webhook: "Outgoing webhook" @@ -21,11 +21,11 @@ ka: plural: ვებჰუკები resources: time_entry: - name: "Time entry" + name: "დროს ჩანაწერი" outgoing: no_results_table: No webhooks have been defined yet. label_add_new: Add new webhook - label_edit: Edit webhook + label_edit: ვებჰუკის ჩასწორება label_event_resources: Event resources events: created: "შეიქმნა" @@ -42,7 +42,7 @@ ka: deliveries: no_results_table: No deliveries have been made for this webhook in the past days. title: 'Recent deliveries' - time: 'Delivery time' + time: 'მიტანის დრო' form: introduction: > Send a POST request to the payload URL below for any event in the project you're subscribed to. Payload will correspond to the APIv3 representation of the object being modified. @@ -53,11 +53,11 @@ ka: description: > When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. events: - title: 'Enabled events' + title: 'ჩართული მოვლენები' project_ids: title: 'Enabled projects' description: 'Select for which projects this webhook should be executed for.' - all: 'All projects' + all: 'ყველა პროექტი' selected: 'Selected projects only' selected_project_ids: title: 'Selected projects' diff --git a/modules/webhooks/config/routes.rb b/modules/webhooks/config/routes.rb index f79697bfbe4c..e87d20bee301 100644 --- a/modules/webhooks/config/routes.rb +++ b/modules/webhooks/config/routes.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/db/migrate/20171218205557_add_webhooks.rb b/modules/webhooks/db/migrate/20171218205557_add_webhooks.rb index dbde5baa15ec..20e1189dc5bb 100644 --- a/modules/webhooks/db/migrate/20171218205557_add_webhooks.rb +++ b/modules/webhooks/db/migrate/20171218205557_add_webhooks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/db/migrate/20171219145752_create_webhook_logs.rb b/modules/webhooks/db/migrate/20171219145752_create_webhook_logs.rb index 182f509b6e65..8272a43de7fb 100644 --- a/modules/webhooks/db/migrate/20171219145752_create_webhook_logs.rb +++ b/modules/webhooks/db/migrate/20171219145752_create_webhook_logs.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/lib/open_project/webhooks.rb b/modules/webhooks/lib/open_project/webhooks.rb index 15cc364e1412..bd81c7cbd524 100644 --- a/modules/webhooks/lib/open_project/webhooks.rb +++ b/modules/webhooks/lib/open_project/webhooks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/lib/open_project/webhooks/engine.rb b/modules/webhooks/lib/open_project/webhooks/engine.rb index 9ae30e3497c0..5bd5cd54914d 100644 --- a/modules/webhooks/lib/open_project/webhooks/engine.rb +++ b/modules/webhooks/lib/open_project/webhooks/engine.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/lib/open_project/webhooks/hook.rb b/modules/webhooks/lib/open_project/webhooks/hook.rb index 2cef3a049bce..cd08b5e45993 100644 --- a/modules/webhooks/lib/open_project/webhooks/hook.rb +++ b/modules/webhooks/lib/open_project/webhooks/hook.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/lib/openproject-webhooks.rb b/modules/webhooks/lib/openproject-webhooks.rb index d6f1b8685b16..d804ed38fafb 100644 --- a/modules/webhooks/lib/openproject-webhooks.rb +++ b/modules/webhooks/lib/openproject-webhooks.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/spec/components/webhooks/outgoing/deliveries/table_component_spec.rb b/modules/webhooks/spec/components/webhooks/outgoing/deliveries/table_component_spec.rb index b27afe366f68..d463d231b712 100644 --- a/modules/webhooks/spec/components/webhooks/outgoing/deliveries/table_component_spec.rb +++ b/modules/webhooks/spec/components/webhooks/outgoing/deliveries/table_component_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -43,7 +43,7 @@ response_headers_node = page.find('pre.webhooks--response-headers') aggregate_failures do - expect(response_headers_node).not_to have_selector('b', text: 'evil') + expect(response_headers_node).to have_no_css('b', text: 'evil') expect(response_headers_node.text).to include(header_name) expect(response_headers_node.text).to include(header_value) end diff --git a/modules/webhooks/spec/controllers/outgoing/admin_controller_spec.rb b/modules/webhooks/spec/controllers/outgoing/admin_controller_spec.rb index 55d98ba57965..fd8b011a9655 100644 --- a/modules/webhooks/spec/controllers/outgoing/admin_controller_spec.rb +++ b/modules/webhooks/spec/controllers/outgoing/admin_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/spec/controllers/webhooks_controller_spec.rb b/modules/webhooks/spec/controllers/webhooks_controller_spec.rb index 5c1f7aa5999c..5fcb518ba248 100644 --- a/modules/webhooks/spec/controllers/webhooks_controller_spec.rb +++ b/modules/webhooks/spec/controllers/webhooks_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/spec/factories/webhook_factory.rb b/modules/webhooks/spec/factories/webhook_factory.rb index 7beb71bd03e4..ee1484c3c016 100644 --- a/modules/webhooks/spec/factories/webhook_factory.rb +++ b/modules/webhooks/spec/factories/webhook_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/spec/factories/webhook_log_factory.rb b/modules/webhooks/spec/factories/webhook_log_factory.rb index c2d6a86af6bc..00cda0310a63 100644 --- a/modules/webhooks/spec/factories/webhook_log_factory.rb +++ b/modules/webhooks/spec/factories/webhook_log_factory.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/spec/features/manage_webhooks_spec.rb b/modules/webhooks/spec/features/manage_webhooks_spec.rb index 679686f9aa17..4fe0679c5b5f 100644 --- a/modules/webhooks/spec/features/manage_webhooks_spec.rb +++ b/modules/webhooks/spec/features/manage_webhooks_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -RSpec.describe 'Manage webhooks through UI', js: true do +RSpec.describe 'Manage webhooks through UI', :js do before do login_as user end @@ -20,7 +20,7 @@ it 'allows the management flow' do visit admin_outgoing_webhooks_path - expect(page).to have_selector('.generic-table--empty-row') + expect(page).to have_css('.generic-table--empty-row') # Visit inline create find('.wp-inline-create--add-link').click @@ -40,16 +40,16 @@ # 1st webhook created # - expect(page).to have_selector('.op-toast.-success', text: I18n.t(:notice_successful_create)) - expect(page).to have_selector('.webhooks--outgoing-webhook-row .name', text: 'My webhook') + expect(page).to have_css('.op-toast.-success', text: I18n.t(:notice_successful_create)) + expect(page).to have_css('.webhooks--outgoing-webhook-row .name', text: 'My webhook') webhook = Webhooks::Webhook.last expect(webhook.event_names).to eq %w(work_package:created) expect(webhook.all_projects).to be_truthy - expect(page).to have_selector('.webhooks--outgoing-webhook-row .enabled .icon-yes') - expect(page).to have_selector('.webhooks--outgoing-webhook-row .selected_projects', text: '(all)') - expect(page).to have_selector('.webhooks--outgoing-webhook-row .events', text: 'Work packages') - expect(page).to have_selector('.webhooks--outgoing-webhook-row .description', text: webhook.description) + expect(page).to have_css('.webhooks--outgoing-webhook-row .enabled .icon-yes') + expect(page).to have_css('.webhooks--outgoing-webhook-row .selected_projects', text: '(all)') + expect(page).to have_css('.webhooks--outgoing-webhook-row .events', text: 'Work packages') + expect(page).to have_css('.webhooks--outgoing-webhook-row .description', text: webhook.description) SeleniumHubWaiter.wait # Edit this webhook @@ -65,8 +65,8 @@ find(".webhooks--selected-project-ids[value='#{project.id}']").set true click_on 'Save' - expect(page).to have_selector('.op-toast.-success', text: I18n.t(:notice_successful_update)) - expect(page).to have_selector('.webhooks--outgoing-webhook-row .name', text: 'My webhook') + expect(page).to have_css('.op-toast.-success', text: I18n.t(:notice_successful_update)) + expect(page).to have_css('.webhooks--outgoing-webhook-row .name', text: 'My webhook') webhook = Webhooks::Webhook.last expect(webhook.event_names).to eq %w(work_package:updated) expect(webhook.projects.all).to eq [project] @@ -77,8 +77,8 @@ find(".webhooks--outgoing-webhook-row-#{webhook.id} .icon-delete").click page.driver.browser.switch_to.alert.accept - expect(page).to have_selector('.op-toast.-success', text: I18n.t(:notice_successful_delete)) - expect(page).to have_selector('.generic-table--empty-row') + expect(page).to have_css('.op-toast.-success', text: I18n.t(:notice_successful_delete)) + expect(page).to have_css('.generic-table--empty-row') end context 'with existing webhook' do @@ -90,17 +90,17 @@ SeleniumHubWaiter.wait find('.webhooks--outgoing-webhook-row .name a', text: 'testing').click - expect(page).to have_selector('.on-off-status.-enabled') - expect(page).to have_selector('td.event_name', text: 'foo') - expect(page).to have_selector('td.response_code', text: '200') + expect(page).to have_css('.on-off-status.-enabled') + expect(page).to have_css('td.event_name', text: 'foo') + expect(page).to have_css('td.response_code', text: '200') # Open modal SeleniumHubWaiter.wait find('td.response_body a', text: 'Show').click page.within('.spot-modal') do - expect(page).to have_selector('.webhooks--response-headers strong', text: 'test') - expect(page).to have_selector('.webhooks--response-body', text: log.response_body) + expect(page).to have_css('.webhooks--response-headers strong', text: 'test') + expect(page).to have_css('.webhooks--response-body', text: log.response_body) end end @@ -123,7 +123,7 @@ end page.within('.spot-modal') do - expect(page).to have_selector('.webhooks--response-body', text: matching_log.response_body) + expect(page).to have_css('.webhooks--response-body', text: matching_log.response_body) click_button('Close') end end diff --git a/modules/webhooks/spec/lib/hook_spec.rb b/modules/webhooks/spec/lib/hook_spec.rb index 5c38551511f8..84c789fe5822 100644 --- a/modules/webhooks/spec/lib/hook_spec.rb +++ b/modules/webhooks/spec/lib/hook_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/spec/lib/webhooks_spec.rb b/modules/webhooks/spec/lib/webhooks_spec.rb index 716d98b892a2..bbfeac19eb29 100644 --- a/modules/webhooks/spec/lib/webhooks_spec.rb +++ b/modules/webhooks/spec/lib/webhooks_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/spec/routing/webhooks/outgoing/admin_controller_spec.rb b/modules/webhooks/spec/routing/webhooks/outgoing/admin_controller_spec.rb index dee63e420f8a..ea5a64fe84bd 100644 --- a/modules/webhooks/spec/routing/webhooks/outgoing/admin_controller_spec.rb +++ b/modules/webhooks/spec/routing/webhooks/outgoing/admin_controller_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/spec/spec_helper.rb b/modules/webhooks/spec/spec_helper.rb index ac9d412f630f..5974eaa856cf 100644 --- a/modules/webhooks/spec/spec_helper.rb +++ b/modules/webhooks/spec/spec_helper.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/modules/webhooks/spec/workers/attachment_webhook_job_spec.rb b/modules/webhooks/spec/workers/attachment_webhook_job_spec.rb index f0a0e7eb1721..5ab63be0d1b8 100644 --- a/modules/webhooks/spec/workers/attachment_webhook_job_spec.rb +++ b/modules/webhooks/spec/workers/attachment_webhook_job_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe AttachmentWebhookJob, type: :job, webmock: true do +RSpec.describe AttachmentWebhookJob, :webmock, type: :job do shared_let(:user) { create(:admin) } shared_let(:request_url) { "http://example.net/test/42" } shared_let(:project) { create(:project, name: 'Foo Bar') } diff --git a/modules/webhooks/spec/workers/project_webhook_job_spec.rb b/modules/webhooks/spec/workers/project_webhook_job_spec.rb index dd93b7f04d98..1b1c8eada27c 100644 --- a/modules/webhooks/spec/workers/project_webhook_job_spec.rb +++ b/modules/webhooks/spec/workers/project_webhook_job_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe ProjectWebhookJob, type: :job, webmock: true do +RSpec.describe ProjectWebhookJob, :webmock, type: :job do shared_let(:user) { create(:admin) } shared_let(:request_url) { "http://example.net/test/42" } shared_let(:project) { create(:project, name: 'Foo Bar') } diff --git a/modules/webhooks/spec/workers/time_entry_webhook_job_spec.rb b/modules/webhooks/spec/workers/time_entry_webhook_job_spec.rb index 38478ddfbbae..6f82a98e39af 100644 --- a/modules/webhooks/spec/workers/time_entry_webhook_job_spec.rb +++ b/modules/webhooks/spec/workers/time_entry_webhook_job_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe TimeEntryWebhookJob, type: :job, webmock: true do +RSpec.describe TimeEntryWebhookJob, :webmock, type: :job do shared_let(:user) { create(:admin) } shared_let(:request_url) { "http://example.net/test/42" } shared_let(:time_entry) { create(:time_entry, hours: 10) } diff --git a/modules/webhooks/spec/workers/work_package_webhook_job_spec.rb b/modules/webhooks/spec/workers/work_package_webhook_job_spec.rb index 7fa4e40c8e21..260bd650950c 100644 --- a/modules/webhooks/spec/workers/work_package_webhook_job_spec.rb +++ b/modules/webhooks/spec/workers/work_package_webhook_job_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. @@ -28,7 +28,7 @@ require 'spec_helper' -RSpec.describe WorkPackageWebhookJob, type: :model, webmock: true do +RSpec.describe WorkPackageWebhookJob, :webmock, type: :model do shared_let(:user) { create(:admin) } shared_let(:title) { "Some workpackage subject" } shared_let(:request_url) { "http://example.net/test/42" } diff --git a/modules/xls_export/spec/patches/work_packages_controller_patch_spec.rb b/modules/xls_export/spec/patches/work_packages_controller_patch_spec.rb index 9c6f4f5b69a0..431a6667d3b2 100644 --- a/modules/xls_export/spec/patches/work_packages_controller_patch_spec.rb +++ b/modules/xls_export/spec/patches/work_packages_controller_patch_spec.rb @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/packaging/conf/configuration.yml b/packaging/conf/configuration.yml index df436dafd833..db28fd348056 100644 --- a/packaging/conf/configuration.yml +++ b/packaging/conf/configuration.yml @@ -1,6 +1,6 @@ #-- copyright # OpenProject is an open source project management software. -# Copyright (C) 2012-2023 the OpenProject GmbH +# Copyright (C) 2012-2024 the OpenProject GmbH # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License version 3. diff --git a/public/422.html b/public/422.html index 3c4349eda7c3..09cc2c5dbbdb 100644 --- a/public/422.html +++ b/public/422.html @@ -1,6 +1,6 @@