diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index 0fe681eb9..52f45ed06 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -9,7 +9,7 @@ on: pull_request: env: - RUBY_VERSION: 3.2.9 + RUBY_VERSION: 3.3.4 jobs: test-report: @@ -37,19 +37,6 @@ jobs: - name: Set bundle local config configvendor/bundle path run: bundle config set --local path 'vendor/bundle' - # chromedriver workaround - - uses: nanasess/setup-chromedriver@v2 - with: - chromedriver-version: 119.0.6045.105 - - - name: List Chrome - shell: "bash" - run: apt list --installed | grep chrome - - - name: Remove Chrome - shell: "bash" - run: sudo apt remove google-chrome-stable - - name: Install ImageMagick shell: "bash" run: | diff --git a/.github/workflows/test-process_extended.yml b/.github/workflows/test-process_extended.yml index 9af3dd663..ece5a23e1 100644 --- a/.github/workflows/test-process_extended.yml +++ b/.github/workflows/test-process_extended.yml @@ -9,7 +9,7 @@ on: pull_request: env: - RUBY_VERSION: 3.2.9 + RUBY_VERSION: 3.3.4 jobs: test-report: @@ -17,7 +17,7 @@ jobs: services: postgres: - image: postgres:11 + image: postgres:14 ports: ["5432:5432"] options: >- --health-cmd pg_isready @@ -40,65 +40,42 @@ jobs: ruby-version: ${{ env.RUBY_VERSION }} - name: Recover Ruby dependency cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: - path: ./vendor/bundle - key: ${{ runner.OS }}-rubydeps-${{ hashFiles('Gemfile.lock') }} + path: decidim-process-extended/vendor/bundle + key: ${{ runner.OS }}-rubydeps-process-extended-v2-${{ env.RUBY_VERSION }}-${{ hashFiles('decidim-process-extended/Gemfile.lock') }} restore-keys: | - ${{ runner.OS }}-rubydeps-${{ env.cache-name }}- - ${{ runner.OS }}-rubydeps- - ${{ runner.OS }}- + ${{ runner.OS }}-rubydeps-process-extended-v2-${{ env.RUBY_VERSION }}- - - name: Set bundle local config configvendor/bundle path + - name: Set bundle local config vendor/bundle path + working-directory: "decidim-process-extended" run: bundle config set --local path 'vendor/bundle' - # chromedriver workaround - - uses: nanasess/setup-chromedriver@v2 - with: - chromedriver-version: 119.0.6045.105 - - - name: List Chrome - shell: "bash" - run: apt list --installed | grep chrome - - - name: Remove Chrome - shell: "bash" - run: sudo apt remove google-chrome-stable - - - uses: browser-actions/setup-chrome@v1 - with: - chrome-version: 119.0.6045.105 - - name: Install ImageMagick run: sudo apt update && sudo apt install imagemagick - name: Install Ruby deps - uses: nick-fields/retry@v3 - with: - working-directory: "decidim-process-extended" - timeout_minutes: 10 - max_attempts: 3 - retry_on: error - command: bundle install --jobs 4 --retry 3 + working-directory: "decidim-process-extended" + run: bundle install --jobs 4 --retry 3 - name: Disable Spring run: echo "DISABLE_SPRING=1" >> $GITHUB_ENV - - name: Create empty application.yml - run: touch config/application.yml - - name: Generate process_extended test_app + working-directory: "decidim-process-extended" run: bundle exec rake test_app shell: "bash" - with: - working-directory: "decidim-process-extended" - + + - name: Copy and run migrations to test_app + run: cd decidim-process-extended/spec/decidim_dummy_app && + bundle exec rake decidim_process_extended:install:migrations && + bundle exec rake db:migrate RAILS_ENV=test + - name: Run RSpec uses: nick-fields/retry@v3 - shell: "bash" with: - working-directory: "decidim-process-extended" + shell: "bash" timeout_minutes: 10 max_attempts: 3 retry_on: error - command: bundle exec rspec --backtrace + command: cd decidim-process-extended && bundle exec rspec --backtrace diff --git a/.github/workflows/test-recaptcha.yml b/.github/workflows/test-recaptcha.yml index 31917e2ff..c6eae5b0c 100644 --- a/.github/workflows/test-recaptcha.yml +++ b/.github/workflows/test-recaptcha.yml @@ -9,7 +9,7 @@ on: pull_request: env: - RUBY_VERSION: 3.2.9 + RUBY_VERSION: 3.3.4 jobs: test-report: @@ -17,7 +17,7 @@ jobs: services: postgres: - image: postgres:11 + image: postgres:14 ports: ["5432:5432"] options: >- --health-cmd pg_isready @@ -52,23 +52,6 @@ jobs: - name: Set bundle local config configvendor/bundle path run: bundle config set --local path 'vendor/bundle' - # chromedriver workaround - - uses: nanasess/setup-chromedriver@v2 - with: - chromedriver-version: 119.0.6045.105 - - - name: List Chrome - shell: "bash" - run: apt list --installed | grep chrome - - - name: Remove Chrome - shell: "bash" - run: sudo apt remove google-chrome-stable - - - uses: browser-actions/setup-chrome@v1 - with: - chrome-version: 119.0.6045.105 - - name: Install ImageMagick run: sudo apt update && sudo apt install imagemagick diff --git a/.github/workflows/test-top_comments.yml b/.github/workflows/test-top_comments.yml index 409df879d..849b2f7cb 100644 --- a/.github/workflows/test-top_comments.yml +++ b/.github/workflows/test-top_comments.yml @@ -9,7 +9,7 @@ on: pull_request: env: - RUBY_VERSION: 3.2.9 + RUBY_VERSION: 3.3.4 jobs: test-report: @@ -17,7 +17,7 @@ jobs: services: postgres: - image: postgres:11 + image: postgres:14 ports: ["5432:5432"] options: >- --health-cmd pg_isready @@ -52,23 +52,6 @@ jobs: - name: Set bundle local config configvendor/bundle path run: bundle config set --local path 'vendor/bundle' - # chromedriver workaround - - uses: nanasess/setup-chromedriver@v2 - with: - chromedriver-version: 119.0.6045.105 - - - name: List Chrome - shell: "bash" - run: apt list --installed | grep chrome - - - name: Remove Chrome - shell: "bash" - run: sudo apt remove google-chrome-stable - - - uses: browser-actions/setup-chrome@v1 - with: - chrome-version: 119.0.6045.105 - - name: Install ImageMagick run: sudo apt update && sudo apt install imagemagick diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6336fd132..7400f4ef7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ on: pull_request: env: - RUBY_VERSION: 3.2.9 + RUBY_VERSION: 3.3.4 NODE_VERSION: 18.17.1 jobs: @@ -18,7 +18,7 @@ jobs: services: postgres: - image: postgres:11 + image: postgres:14 ports: ["5432:5432"] options: >- --health-cmd pg_isready @@ -64,23 +64,6 @@ jobs: - name: Set bundle local config configvendor/bundle path run: bundle config set --local path 'vendor/bundle' - # chromedriver workaround - - uses: nanasess/setup-chromedriver@v2 - with: - chromedriver-version: 119.0.6045.105 - - - name: List Chrome - shell: "bash" - run: apt list --installed | grep chrome - - - name: Remove Chrome - shell: "bash" - run: sudo apt remove google-chrome-stable - - - uses: browser-actions/setup-chrome@v1 - with: - chrome-version: 119.0.6045.105 - - name: Install ImageMagick run: sudo apt update && sudo apt install imagemagick @@ -96,9 +79,7 @@ jobs: run: touch config/application.yml - name: Setup database - run: | - RAILS_ENV=test bundle exec rake db:create - RAILS_ENV=test bundle exec rake db:migrate + run: RAILS_ENV=test bundle exec rake db:create db:schema:load - name: Run RSpec uses: nick-fields/retry@v3 diff --git a/.github/workflows/validate_migrations.yml b/.github/workflows/validate_migrations.yml index 469efb7e3..da6639ea0 100644 --- a/.github/workflows/validate_migrations.yml +++ b/.github/workflows/validate_migrations.yml @@ -12,14 +12,14 @@ env: DB_DATABASE: app DB_USERNAME: postgres DB_PASSWORD: postgres - RUBY_VERSION: 3.2.9 + RUBY_VERSION: 3.3.4 jobs: test: runs-on: ubuntu-latest services: postgres: - image: postgres:11 + image: postgres:14 ports: ["5432:5432"] options: >- --health-cmd pg_isready diff --git a/.gitignore b/.gitignore index 6031947ed..09981b1f1 100644 --- a/.gitignore +++ b/.gitignore @@ -36,6 +36,7 @@ public/assets public/decidim-packs/ public/sw.js.* public/sw.js +/public/sw.js* # Ignore test app spec/decidim_dummy_app/ diff --git a/.ruby-version b/.ruby-version index df4bdc7e5..a0891f563 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.2.9 \ No newline at end of file +3.3.4 diff --git a/Gemfile b/Gemfile index 5d1469528..2329292a7 100644 --- a/Gemfile +++ b/Gemfile @@ -3,18 +3,17 @@ source "https://rubygems.org" ruby RUBY_VERSION -DECIDIM_VERSION = { git: "https://github.com/CodiTramuntana/decidim", branch: "release/0.29-stable" }.freeze +DECIDIM_VERSION = { git: "https://github.com/CodiTramuntana/decidim", branch: "release/0.30-stable" }.freeze gem "decidim", DECIDIM_VERSION gem "decidim-templates", DECIDIM_VERSION -gem "decidim-cdtb", git: "https://github.com/CodiTramuntana/decidim-module-cdtb.git", branch: "chore/rework_cdtb_rack_attack_to_parse_ips_as_expected" -gem "decidim-challenges", "~> 0.7.4" -gem "decidim-department_admin", git: "https://github.com/gencat/decidim-module-department_admin", tag: "v0.10.1" -gem "decidim-idcat_mobil", "~> 0.7.2" -# PR pending to merge in mainio repo: https://github.com/mainio/decidim-module-term_customizer/pull/125 -gem "decidim-term_customizer", git: "https://github.com/CodiTramuntana/decidim-module-term_customizer.git", branch: "upgrade/decidim_0.29" -gem "decidim-verifications-members_picker", github: "gencat/decidim-verifications-members_picker", tag: "v0.2.0" +gem "decidim-cdtb", "~> 0.5.6" +gem "decidim-challenges", git: "https://github.com/gencat/decidim-module-challenges", branch: "upgrade/release-0.30" +gem "decidim-department_admin", git: "https://github.com/gencat/decidim-module-department_admin", branch: "upgrade/release-0.30" +gem "decidim-idcat_mobil", "~> 0.8.2" +gem "decidim-term_customizer", git: "https://github.com/mainio/decidim-module-term_customizer.git", branch: "main" +gem "decidim-verifications-members_picker", github: "gencat/decidim-verifications-members_picker", branch: "upgrade/release-0.30" # Internal modules gem "decidim-home", path: "decidim-home" @@ -29,7 +28,7 @@ gem "stringio", "~> 3.1.7" gem "puma" # https://github.com/hlascelles/figjam -gem "figjam" +gem "figjam", "~> 3.0.1" gem "wkhtmltopdf-binary" gem "daemons" diff --git a/Gemfile.lock b/Gemfile.lock index ca03c27e5..bac871832 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,120 +1,127 @@ GIT remote: https://github.com/CodiTramuntana/decidim - revision: 459c6ac3cbeb205ac0bc80eb2da037e494fc3631 - branch: release/0.29-stable + revision: e120850c41039aedaedd286b31847a187e30914d + branch: release/0.30-stable specs: - decidim (0.29.7) - decidim-accountability (= 0.29.7) - decidim-admin (= 0.29.7) - decidim-api (= 0.29.7) - decidim-assemblies (= 0.29.7) - decidim-blogs (= 0.29.7) - decidim-budgets (= 0.29.7) - decidim-comments (= 0.29.7) - decidim-core (= 0.29.7) - decidim-debates (= 0.29.7) - decidim-forms (= 0.29.7) - decidim-generators (= 0.29.7) - decidim-meetings (= 0.29.7) - decidim-pages (= 0.29.7) - decidim-participatory_processes (= 0.29.7) - decidim-proposals (= 0.29.7) - decidim-sortitions (= 0.29.7) - decidim-surveys (= 0.29.7) - decidim-system (= 0.29.7) - decidim-verifications (= 0.29.7) - decidim-accountability (0.29.7) - decidim-comments (= 0.29.7) - decidim-core (= 0.29.7) - decidim-admin (0.29.7) + decidim (0.30.9) + decidim-accountability (= 0.30.9) + decidim-admin (= 0.30.9) + decidim-api (= 0.30.9) + decidim-assemblies (= 0.30.9) + decidim-blogs (= 0.30.9) + decidim-budgets (= 0.30.9) + decidim-comments (= 0.30.9) + decidim-core (= 0.30.9) + decidim-debates (= 0.30.9) + decidim-forms (= 0.30.9) + decidim-generators (= 0.30.9) + decidim-meetings (= 0.30.9) + decidim-pages (= 0.30.9) + decidim-participatory_processes (= 0.30.9) + decidim-proposals (= 0.30.9) + decidim-sortitions (= 0.30.9) + decidim-surveys (= 0.30.9) + decidim-system (= 0.30.9) + decidim-verifications (= 0.30.9) + decidim-accountability (0.30.9) + decidim-comments (= 0.30.9) + decidim-core (= 0.30.9) + decidim-admin (0.30.9) active_link_to (~> 1.0) - decidim-core (= 0.29.7) + decidim-core (= 0.30.9) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0, >= 2.0.9) - decidim-api (0.29.7) - decidim-core (= 0.29.7) - graphql (~> 2.2.6) - graphql-docs (~> 4.0) + decidim-api (0.30.9) + decidim-core (= 0.30.9) + graphql (~> 2.4.0) + graphql-docs (~> 5.0) rack-cors (~> 1.0) - decidim-assemblies (0.29.7) - decidim-core (= 0.29.7) - decidim-blogs (0.29.7) - decidim-admin (= 0.29.7) - decidim-comments (= 0.29.7) - decidim-core (= 0.29.7) - decidim-budgets (0.29.7) - decidim-comments (= 0.29.7) - decidim-core (= 0.29.7) - decidim-comments (0.29.7) - decidim-core (= 0.29.7) + decidim-assemblies (0.30.9) + decidim-core (= 0.30.9) + decidim-blogs (0.30.9) + decidim-admin (= 0.30.9) + decidim-comments (= 0.30.9) + decidim-core (= 0.30.9) + decidim-budgets (0.30.9) + decidim-comments (= 0.30.9) + decidim-core (= 0.30.9) + decidim-comments (0.30.9) + decidim-core (= 0.30.9) redcarpet (~> 3.5, >= 3.5.1) - decidim-core (0.29.7) + decidim-core (0.30.9) active_link_to (~> 1.0) acts_as_list (~> 1.0) - batch-loader (~> 1.2) - browser (~> 2.7) + batch-loader (~> 2.0) + browser (~> 6.2.0) cells-erb (~> 0.1.0) cells-rails (~> 0.1.3) charlock_holmes (~> 0.7) + chartkick (~> 5.1.2) concurrent-ruby (= 1.3.4) + connection_pool (< 3) date_validator (~> 0.12.0) devise (~> 4.7) - devise-i18n (~> 1.2, < 1.11.1) + devise-i18n (~> 1.2) diffy (~> 3.3) doorkeeper (~> 5.6, >= 5.6.6) doorkeeper-i18n (~> 4.0) file_validators (~> 3.0) fog-local (~> 0.6) - foundation_rails_helper (~> 4.0) geocoder (~> 1.8) hashdiff (>= 0.4.0, < 2.0.0) + hexapdf (~> 1.1.0) image_processing (~> 1.2) invisible_captcha (~> 0.12) kaminari (~> 1.2, >= 1.2.1) loofah (~> 2.19, >= 2.19.1) mime-types (>= 1.16, < 4.0) mini_magick (~> 4.9) - net-smtp (~> 0.3.1) + net-smtp (~> 0.5.0) nokogiri (~> 1.16, >= 1.16.2) omniauth (~> 2.0) omniauth-facebook (~> 5.0) omniauth-google-oauth2 (~> 1.0) omniauth-rails_csrf_protection (~> 1.0) omniauth-twitter (~> 1.4) - paper_trail (~> 12.0) - pg (~> 1.4.0, < 2) + paper_trail (~> 16.0) + paranoia (~> 3.0.0) + pg (~> 1.5.0, < 2) pg_search (~> 2.2) premailer-rails (~> 1.10) - psych (~> 4.0) rack (~> 2.2, >= 2.2.8.1) rack-attack (~> 6.0) rails (~> 7.0.8) rails-i18n (~> 7.0) - ransack (~> 3.2.1) + ransack (~> 4.2.0) redis (~> 4.1) - request_store (~> 1.5.0) + request_store (~> 1.7.0) rubyXL (~> 3.4) rubyzip (~> 2.0) shakapacker (~> 7.1.0) - valid_email2 (~> 4.0) + valid_email2 (~> 7.0) web-push (~> 3.0) - wisper (~> 2.0) - decidim-debates (0.29.7) - decidim-comments (= 0.29.7) - decidim-core (= 0.29.7) - decidim-dev (0.29.7) - bullet (~> 7.1.6) + wisper (~> 3.0) + decidim-debates (0.30.9) + decidim-comments (= 0.30.9) + decidim-core (= 0.30.9) + decidim-dev (0.30.9) + bullet (~> 8.0.0) byebug (~> 11.0) capybara (~> 3.39) - decidim (= 0.29.7) - erb_lint (~> 0.4.0) + decidim-admin (= 0.30.9) + decidim-api (= 0.30.9) + decidim-comments (= 0.30.9) + decidim-core (= 0.30.9) + decidim-generators (= 0.30.9) + decidim-verifications (= 0.30.9) + erb_lint (~> 0.8.0) factory_bot_rails (~> 6.2) faker (~> 3.2) i18n-tasks (~> 1.0) nokogiri (~> 1.16, >= 1.16.2) parallel_tests (~> 4.2) - puma (~> 6.2, >= 6.3.1) + puma (~> 6.5) rails-controller-testing (~> 1.0) rspec (~> 3.12) rspec-cells (~> 0.3.7) @@ -122,10 +129,11 @@ GIT rspec-rails (~> 6.0) rspec-retry (~> 0.6.2) rspec_junit_formatter (~> 0.6.0) - rubocop (~> 1.65.0) + rubocop (~> 1.69.0) rubocop-capybara (~> 2.21) rubocop-factory_bot (~> 2.26) rubocop-faker (~> 1.1) + rubocop-graphql (~> 1.5) rubocop-performance (~> 1.21) rubocop-rails (~> 2.25) rubocop-rspec (~> 3.0) @@ -139,161 +147,159 @@ GIT w3c_rspec_validators (~> 0.3.0) webmock (~> 3.18) wisper-rspec (~> 1.0) - decidim-forms (0.29.7) - decidim-core (= 0.29.7) - wicked_pdf (~> 2.1) - decidim-generators (0.29.7) - decidim-core (= 0.29.7) - decidim-meetings (0.29.7) - decidim-core (= 0.29.7) - decidim-forms (= 0.29.7) + decidim-forms (0.30.9) + decidim-core (= 0.30.9) + decidim-generators (0.30.9) + decidim-core (= 0.30.9) + decidim-meetings (0.30.9) + decidim-core (= 0.30.9) + decidim-forms (= 0.30.9) icalendar (~> 2.5) - decidim-pages (0.29.7) - decidim-core (= 0.29.7) - decidim-participatory_processes (0.29.7) - decidim-core (= 0.29.7) - decidim-proposals (0.29.7) - decidim-comments (= 0.29.7) - decidim-core (= 0.29.7) + decidim-pages (0.30.9) + decidim-core (= 0.30.9) + decidim-participatory_processes (0.30.9) + decidim-core (= 0.30.9) + decidim-proposals (0.30.9) + decidim-comments (= 0.30.9) + decidim-core (= 0.30.9) doc2text (~> 0.4.7) redcarpet (~> 3.5, >= 3.5.1) - decidim-sortitions (0.29.7) - decidim-admin (= 0.29.7) - decidim-comments (= 0.29.7) - decidim-core (= 0.29.7) - decidim-proposals (= 0.29.7) - decidim-surveys (0.29.7) - decidim-core (= 0.29.7) - decidim-forms (= 0.29.7) - decidim-system (0.29.7) + decidim-sortitions (0.30.9) + decidim-admin (= 0.30.9) + decidim-comments (= 0.30.9) + decidim-core (= 0.30.9) + decidim-proposals (= 0.30.9) + decidim-surveys (0.30.9) + decidim-core (= 0.30.9) + decidim-forms (= 0.30.9) + decidim-system (0.30.9) active_link_to (~> 1.0) - decidim-core (= 0.29.7) + decidim-core (= 0.30.9) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 2.0, >= 2.0.9) - decidim-templates (0.29.7) - decidim-core (= 0.29.7) - decidim-forms (= 0.29.7) - decidim-verifications (0.29.7) - decidim-core (= 0.29.7) + decidim-templates (0.30.9) + decidim-core (= 0.30.9) + decidim-forms (= 0.30.9) + decidim-verifications (0.30.9) + decidim-core (= 0.30.9) GIT - remote: https://github.com/CodiTramuntana/decidim-module-cdtb.git - revision: 39aec64ec38579b187a77b0276d068f449b73da0 - branch: chore/rework_cdtb_rack_attack_to_parse_ips_as_expected + remote: https://github.com/gencat/decidim-module-challenges + revision: 41ad6f38afc0e804bd97b98b0abbb9eaf4b70854 + branch: upgrade/release-0.30 specs: - decidim-cdtb (0.5.6) - decidim (>= 0.28.0) - rails (>= 6) - ruby-progressbar + decidim-challenges (1.0.0) + decidim-core (~> 0.30) GIT - remote: https://github.com/CodiTramuntana/decidim-module-term_customizer.git - revision: a751e475e157bf220a2185ccaefe34c08e1a429f - branch: upgrade/decidim_0.29 + remote: https://github.com/gencat/decidim-module-department_admin + revision: 93ce5ed285f80613f93d621d3234e25feba6a82d + branch: upgrade/release-0.30 specs: - decidim-term_customizer (0.29.0) - decidim-admin (~> 0.29.0) - decidim-core (~> 0.29.0) + decidim-department_admin (0.11.0) + decidim-admin (~> 0.30.0) + decidim-core (~> 0.30.0) GIT - remote: https://github.com/gencat/decidim-module-department_admin - revision: d7339fe6d66223b44fab8af4cf4c845f56d83bfa - tag: v0.10.1 + remote: https://github.com/gencat/decidim-verifications-members_picker.git + revision: 2af2fbd001df0cf2fa8f514733ce8467ff32f797 + branch: upgrade/release-0.30 specs: - decidim-department_admin (0.10.1) - decidim-admin (~> 0.29.0) - decidim-core (~> 0.29.0) + decidim-verifications-members_picker (0.3.0) + decidim-core (~> 0.30.0) + decidim-verifications (~> 0.30.0) GIT - remote: https://github.com/gencat/decidim-verifications-members_picker.git - revision: d02e5d51a4798f275865ea2270135471ce47041d - tag: v0.2.0 + remote: https://github.com/mainio/decidim-module-term_customizer.git + revision: d82e145ba9d2886109bdad92770edaafb3a94b16 + branch: main specs: - decidim-verifications-members_picker (0.2.0) - decidim-core (~> 0.29.0) - decidim-verifications (~> 0.29.0) + decidim-term_customizer (0.30.0) + decidim-admin (~> 0.30.0) + decidim-core (~> 0.30.0) PATH remote: decidim-home specs: - decidim-home (0.4.0) - decidim-core (>= 0.29) + decidim-home (0.5.0) + decidim-core (>= 0.30.0) rails (>= 7.0.8) PATH remote: decidim-process-extended specs: - decidim-process-extended (0.4.0) - decidim-admin (>= 0.29) - decidim-core (>= 0.29) + decidim-process-extended (0.5.0) + decidim-admin (>= 0.30.0) + decidim-core (>= 0.30.0) deface (~> 1.9.0) rails (~> 7.0.8) PATH remote: decidim-recaptcha specs: - decidim-recaptcha (0.1.0) - decidim-core (>= 0.29) + decidim-recaptcha (0.2.0) + decidim-core (>= 0.30.0) PATH remote: decidim-regulations specs: - decidim-regulations (0.1.3) + decidim-regulations (0.2.3) rails (~> 7.0.8) PATH remote: decidim-top_comments specs: - decidim-top_comments (0.27.9) - decidim-core (>= 0.28) - decidim-proposals (>= 0.28) + decidim-top_comments (0.30.9) + decidim-core (>= 0.30.0) + decidim-proposals (>= 0.30.0) deface GEM remote: https://rubygems.org/ specs: - actioncable (7.0.8.7) - actionpack (= 7.0.8.7) - activesupport (= 7.0.8.7) + actioncable (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.8.7) - actionpack (= 7.0.8.7) - activejob (= 7.0.8.7) - activerecord (= 7.0.8.7) - activestorage (= 7.0.8.7) - activesupport (= 7.0.8.7) + actionmailbox (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.8.7) - actionpack (= 7.0.8.7) - actionview (= 7.0.8.7) - activejob (= 7.0.8.7) - activesupport (= 7.0.8.7) + actionmailer (7.0.10) + actionpack (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activesupport (= 7.0.10) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.8.7) - actionview (= 7.0.8.7) - activesupport (= 7.0.8.7) + actionpack (7.0.10) + actionview (= 7.0.10) + activesupport (= 7.0.10) + racc rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.8.7) - actionpack (= 7.0.8.7) - activerecord (= 7.0.8.7) - activestorage (= 7.0.8.7) - activesupport (= 7.0.8.7) + actiontext (7.0.10) + actionpack (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.8.7) - activesupport (= 7.0.8.7) + actionview (7.0.10) + activesupport (= 7.0.10) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -301,35 +307,43 @@ GEM active_link_to (1.0.5) actionpack addressable - activejob (7.0.8.7) - activesupport (= 7.0.8.7) + activejob (7.0.10) + activesupport (= 7.0.10) globalid (>= 0.3.6) - activemodel (7.0.8.7) - activesupport (= 7.0.8.7) - activerecord (7.0.8.7) - activemodel (= 7.0.8.7) - activesupport (= 7.0.8.7) - activestorage (7.0.8.7) - actionpack (= 7.0.8.7) - activejob (= 7.0.8.7) - activerecord (= 7.0.8.7) - activesupport (= 7.0.8.7) + activemodel (7.0.10) + activesupport (= 7.0.10) + activerecord (7.0.10) + activemodel (= 7.0.10) + activesupport (= 7.0.10) + activestorage (7.0.10) + actionpack (= 7.0.10) + activejob (= 7.0.10) + activerecord (= 7.0.10) + activesupport (= 7.0.10) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.8.7) + activesupport (7.0.10) + base64 + benchmark (>= 0.3) + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) + drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) + mutex_m + securerandom (>= 0.3) tzinfo (~> 2.0) - acts_as_list (1.2.4) + acts_as_list (1.2.6) activerecord (>= 6.1) activesupport (>= 6.1) - addressable (2.8.7) - public_suffix (>= 2.0.2, < 7.0) + addressable (2.9.0) + public_suffix (>= 2.0.2, < 8.0) ast (2.4.3) base64 (0.3.0) - batch-loader (1.5.0) - bcrypt (3.1.20) + batch-loader (2.0.6) + bcrypt (3.1.22) + benchmark (0.5.0) better_html (2.2.0) actionview (>= 7.0) activesupport (>= 7.0) @@ -337,13 +351,13 @@ GEM erubi (~> 1.4) parser (>= 2.4) smart_properties - bigdecimal (3.2.3) + bigdecimal (4.1.2) bindex (0.8.1) bootsnap (1.18.6) msgpack (~> 1.2) - browser (2.7.1) + browser (6.2.0) builder (3.3.0) - bullet (7.1.6) + bullet (8.0.8) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) byebug (11.1.3) @@ -371,35 +385,39 @@ GEM actionpack (>= 5.0) cells (>= 4.1.6, < 5.0.0) charlock_holmes (0.7.9) + chartkick (5.1.5) childprocess (5.1.0) logger (~> 1.5) chronic (0.10.2) + cmdparse (3.0.7) commonmarker (0.23.12) concurrent-ruby (1.3.4) + connection_pool (2.5.5) crack (1.0.0) bigdecimal rexml crass (1.0.6) - css_parser (1.21.1) + css_parser (2.1.0) addressable csv (3.3.5) daemons (1.4.1) - dartsass (1.49.8) database_cleaner (2.1.0) database_cleaner-active_record (>= 2, < 3) database_cleaner-active_record (2.2.2) activerecord (>= 5.a) database_cleaner-core (~> 2.0) database_cleaner-core (2.0.1) - date (3.4.1) + date (3.5.1) date_validator (0.12.0) activemodel (>= 3) activesupport (>= 3) - decidim-challenges (0.7.4) - decidim-core (~> 0.29) - decidim-idcat_mobil (0.7.2) - decidim (>= 0.29.0) - decidim-core (>= 0.29.0) + decidim-cdtb (0.5.6) + decidim (>= 0.28.0) + rails (>= 6) + ruby-progressbar + decidim-idcat_mobil (0.8.2) + decidim (>= 0.30.0) + decidim-core (>= 0.30.0) omniauth-idcat_mobil (~> 0.6.0) declarative-builder (0.2.0) trailblazer-option (~> 0.1.0) @@ -421,8 +439,9 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - devise-i18n (1.11.0) + devise-i18n (1.15.0) devise (>= 4.9.0) + rails-i18n devise_invitable (2.0.11) actionmailer (>= 5.0) devise (>= 4.6) @@ -432,21 +451,22 @@ GEM nokogiri (>= 1.18.2) rubyzip (~> 2.3.0) docile (1.4.1) - doorkeeper (5.8.2) + doorkeeper (5.9.0) railties (>= 5) doorkeeper-i18n (4.0.1) - erb_lint (0.4.0) + drb (2.2.3) + erb_lint (0.8.0) activesupport better_html (>= 2.0.1) parser (>= 2.7.1.4) rainbow - rubocop + rubocop (>= 1) smart_properties erbse (0.1.4) temple erubi (1.13.1) escape_utils (1.3.0) - excon (1.3.0) + excon (1.4.2) logger extended-markdown-filter (0.7.0) html-pipeline (~> 2.9) @@ -457,21 +477,22 @@ GEM railties (>= 6.1.0) faker (3.5.2) i18n (>= 1.8.11, < 2) - faraday (2.14.0) + faraday (2.14.1) faraday-net_http (>= 2.0, < 3.5) json logger - faraday-net_http (3.4.1) - net-http (>= 0.5.0) - ffi (1.17.2-aarch64-linux-gnu) - ffi (1.17.2-aarch64-linux-musl) - ffi (1.17.2-arm-linux-gnu) - ffi (1.17.2-arm-linux-musl) - ffi (1.17.2-arm64-darwin) - ffi (1.17.2-x86_64-darwin) - ffi (1.17.2-x86_64-linux-gnu) - ffi (1.17.2-x86_64-linux-musl) - figjam (3.0.0) + faraday-net_http (3.4.2) + net-http (~> 0.5) + ffi (1.17.4-aarch64-linux-gnu) + ffi (1.17.4-aarch64-linux-musl) + ffi (1.17.4-arm-linux-gnu) + ffi (1.17.4-arm-linux-musl) + ffi (1.17.4-arm64-darwin) + ffi (1.17.4-x86_64-darwin) + ffi (1.17.4-x86_64-linux-gnu) + ffi (1.17.4-x86_64-linux-musl) + fiber-storage (1.0.1) + figjam (3.0.1) thor (>= 0.14.0, < 2) file_validators (3.0.0) activemodel (>= 3.2) @@ -483,39 +504,65 @@ GEM mime-types fog-local (0.9.0) fog-core (>= 1.27, < 3.0) - formatador (1.2.1) + formatador (1.2.3) reline - foundation_rails_helper (4.0.1) - actionpack (>= 4.1, < 7.1) - activemodel (>= 4.1, < 7.1) - activesupport (>= 4.1, < 7.1) - railties (>= 4.1, < 7.1) gemoji (3.0.1) geocoder (1.8.6) base64 (>= 0.1.0) csv (>= 3.0.0) + geom2d (0.4.1) globalid (1.3.0) activesupport (>= 6.1) - graphql (2.2.17) + google-protobuf (4.34.1) + bigdecimal + rake (~> 13.3) + google-protobuf (4.34.1-aarch64-linux-gnu) + bigdecimal + rake (~> 13.3) + google-protobuf (4.34.1-aarch64-linux-musl) + bigdecimal + rake (~> 13.3) + google-protobuf (4.34.1-arm64-darwin) + bigdecimal + rake (~> 13.3) + google-protobuf (4.34.1-x86_64-darwin) + bigdecimal + rake (~> 13.3) + google-protobuf (4.34.1-x86_64-linux-gnu) + bigdecimal + rake (~> 13.3) + google-protobuf (4.34.1-x86_64-linux-musl) + bigdecimal + rake (~> 13.3) + graphql (2.4.18) base64 - graphql-docs (4.0.0) + fiber-storage + logger + graphql-docs (5.2.0) commonmarker (~> 0.23, >= 0.23.6) - dartsass (~> 1.49) escape_utils (~> 1.2) extended-markdown-filter (~> 0.4) gemoji (~> 3.0) graphql (~> 2.0) html-pipeline (~> 2.14, >= 2.14.3) + logger (~> 1.6) + ostruct (~> 0.6) + sass-embedded (~> 1.58) hashdiff (1.2.1) hashie (5.1.0) logger + hexapdf (1.1.1) + cmdparse (~> 3.0, >= 3.0.3) + geom2d (~> 0.4, >= 0.4.1) + openssl (>= 2.2.1) + strscan (>= 3.1.2) highline (3.1.2) reline html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) - htmlentities (4.3.4) - i18n (1.14.7) + htmlentities (4.4.2) + i18n (1.14.8) concurrent-ruby (~> 1.0) i18n-tasks (1.0.15) activesupport (>= 4.0.2) @@ -528,7 +575,7 @@ GEM rainbow (>= 2.2.2, < 4.0) ruby-progressbar (~> 1.8, >= 1.8.1) terminal-table (>= 1.5.1) - icalendar (2.12.0) + icalendar (2.12.2) base64 ice_cube (~> 0.16) logger @@ -539,8 +586,8 @@ GEM ruby-vips (>= 2.0.17, < 3) invisible_captcha (0.13.0) rails (>= 3.2.0) - io-console (0.8.1) - json (2.15.0) + io-console (0.8.2) + json (2.19.5) jwt (3.1.2) base64 kaminari (1.2.2) @@ -571,10 +618,11 @@ GEM rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) - loofah (2.24.1) + loofah (2.25.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) - mail (2.8.1) + mail (2.9.0) + logger mini_mime (>= 0.1.1) net-imap net-pop @@ -585,49 +633,53 @@ GEM mime-types (3.7.0) logger mime-types-data (~> 3.2025, >= 3.2025.0507) - mime-types-data (3.2025.0924) + mime-types-data (3.2026.0414) mini_magick (4.13.2) mini_mime (1.1.5) - minitest (5.25.5) + minitest (6.0.6) + drb (~> 2.0) + prism (~> 1.5) msgpack (1.8.0) - multi_xml (0.7.2) - bigdecimal (~> 3.1) + multi_xml (0.9.1) + bigdecimal (>= 3.1, < 5) multipart-post (2.0.0) - net-http (0.6.0) - uri - net-imap (0.5.10) + mutex_m (0.3.0) + net-http (0.9.1) + uri (>= 0.11.1) + net-imap (0.6.4) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.3.4) + net-smtp (0.5.1) net-protocol - nio4r (2.7.4) - nokogiri (1.18.10-aarch64-linux-gnu) + nio4r (2.7.5) + nokogiri (1.19.3-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.10-aarch64-linux-musl) + nokogiri (1.19.3-aarch64-linux-musl) racc (~> 1.4) - nokogiri (1.18.10-arm-linux-gnu) + nokogiri (1.19.3-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.18.10-arm-linux-musl) + nokogiri (1.19.3-arm-linux-musl) racc (~> 1.4) - nokogiri (1.18.10-arm64-darwin) + nokogiri (1.19.3-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.10-x86_64-darwin) + nokogiri (1.19.3-x86_64-darwin) racc (~> 1.4) - nokogiri (1.18.10-x86_64-linux-gnu) + nokogiri (1.19.3-x86_64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.10-x86_64-linux-musl) + nokogiri (1.19.3-x86_64-linux-musl) racc (~> 1.4) - oauth (1.1.2) + oauth (1.1.3) + base64 (~> 0.1) oauth-tty (~> 1.0, >= 1.0.6) snaky_hash (~> 2.0) version_gem (~> 1.1, >= 1.1.9) oauth-tty (1.0.6) version_gem (~> 1.1, >= 1.1.9) - oauth2 (2.0.17) + oauth2 (2.0.18) faraday (>= 0.17.3, < 4.0) jwt (>= 1.0, < 4.0) logger (~> 1.2) @@ -642,7 +694,7 @@ GEM rack-protection omniauth-facebook (5.0.0) omniauth-oauth2 (~> 1.2) - omniauth-google-oauth2 (1.2.1) + omniauth-google-oauth2 (1.2.2) jwt (>= 2.9.2) oauth2 (~> 2.0) omniauth (~> 2.0) @@ -655,8 +707,8 @@ GEM oauth omniauth (>= 1.0, < 3) rack (>= 1.6.2, < 4) - omniauth-oauth2 (1.8.0) - oauth2 (>= 1.4, < 3) + omniauth-oauth2 (1.9.0) + oauth2 (>= 2.0.2, < 3) omniauth (~> 2.0) omniauth-rails_csrf_protection (1.0.2) actionpack (>= 4.2) @@ -664,24 +716,26 @@ GEM omniauth-twitter (1.4.0) omniauth-oauth (~> 1.1) rack - openssl (3.3.0) + openssl (4.0.1) orm_adapter (0.5.0) ostruct (0.6.3) - paper_trail (12.3.0) - activerecord (>= 5.2) - request_store (~> 1.1) + paper_trail (16.0.0) + activerecord (>= 6.1) + request_store (~> 1.4) parallel (1.27.0) parallel_tests (4.10.1) parallel + paranoia (3.0.1) + activerecord (>= 6, < 8.1) parser (3.3.9.0) ast (~> 2.4.1) racc - pg (1.4.6) + pg (1.5.9) pg_search (2.3.7) activerecord (>= 6.1) activesupport (>= 6.1) polyglot (0.3.5) - premailer (1.27.0) + premailer (1.29.0) addressable css_parser (>= 1.19.0) htmlentities (>= 4.0.0) @@ -689,15 +743,13 @@ GEM actionmailer (>= 3) net-smtp premailer (~> 1.7, >= 1.7.9) - prism (1.5.1) - psych (4.0.6) - stringio - public_suffix (6.0.2) + prism (1.9.0) + public_suffix (7.0.5) puma (6.6.1) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.21) - rack-attack (6.7.0) + rack (2.2.23) + rack-attack (6.8.0) rack (>= 1.0, < 4) rack-cors (1.1.1) rack (>= 2.0.0) @@ -708,20 +760,20 @@ GEM rack rack-test (2.2.0) rack (>= 1.3) - rails (7.0.8.7) - actioncable (= 7.0.8.7) - actionmailbox (= 7.0.8.7) - actionmailer (= 7.0.8.7) - actionpack (= 7.0.8.7) - actiontext (= 7.0.8.7) - actionview (= 7.0.8.7) - activejob (= 7.0.8.7) - activemodel (= 7.0.8.7) - activerecord (= 7.0.8.7) - activestorage (= 7.0.8.7) - activesupport (= 7.0.8.7) + rails (7.0.10) + actioncable (= 7.0.10) + actionmailbox (= 7.0.10) + actionmailer (= 7.0.10) + actionpack (= 7.0.10) + actiontext (= 7.0.10) + actionview (= 7.0.10) + activejob (= 7.0.10) + activemodel (= 7.0.10) + activerecord (= 7.0.10) + activestorage (= 7.0.10) + activesupport (= 7.0.10) bundler (>= 1.15.0) - railties (= 7.0.8.7) + railties (= 7.0.10) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -730,22 +782,22 @@ GEM activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.2) - loofah (~> 2.21) + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) rails-i18n (7.0.10) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.0.8.7) - actionpack (= 7.0.8.7) - activesupport (= 7.0.8.7) + railties (7.0.10) + actionpack (= 7.0.10) + activesupport (= 7.0.10) method_source rake (>= 12.2) thor (~> 1.0) zeitwerk (~> 2.5) rainbow (3.1.1) - rake (13.3.0) - ransack (3.2.1) + rake (13.4.2) + ransack (4.2.1) activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n @@ -756,13 +808,13 @@ GEM redcarpet (3.6.1) redis (4.8.1) regexp_parser (2.11.3) - reline (0.6.2) + reline (0.6.3) io-console (~> 0.5) - request_store (1.5.1) + request_store (1.7.0) rack (>= 1.4) - responders (3.1.1) - actionpack (>= 5.2) - railties (>= 5.2) + responders (3.2.0) + actionpack (>= 7.0) + railties (>= 7.0) rexml (3.4.4) rspec (3.13.1) rspec-core (~> 3.13.0) @@ -795,17 +847,16 @@ GEM rspec-support (3.13.6) rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (1.65.1) + rubocop (1.69.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 2.4, < 3.0) - rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.31.1, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.36.2, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) + unicode-display_width (>= 2.4.0, < 4.0) rubocop-ast (1.47.1) parser (>= 3.3.7.2) prism (~> 1.4) @@ -816,6 +867,8 @@ GEM rubocop-faker (1.2.0) faker (>= 2.12.0) rubocop (>= 1.13.0) + rubocop-graphql (1.5.4) + rubocop (>= 1.50, < 2) rubocop-performance (1.23.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) @@ -832,20 +885,37 @@ GEM rubocop-rubycw (0.1.6) rubocop (~> 1.0) ruby-progressbar (1.13.0) - ruby-vips (2.2.5) + ruby-vips (2.3.0) ffi (~> 1.12) logger rubyXL (3.4.33) nokogiri (>= 1.10.8) rubyzip (>= 1.3.0) rubyzip (2.3.2) + sass-embedded (1.99.0-aarch64-linux-gnu) + google-protobuf (~> 4.31) + sass-embedded (1.99.0-aarch64-linux-musl) + google-protobuf (~> 4.31) + sass-embedded (1.99.0-arm-linux-gnueabihf) + google-protobuf (~> 4.31) + sass-embedded (1.99.0-arm-linux-musleabihf) + google-protobuf (~> 4.31) + sass-embedded (1.99.0-arm64-darwin) + google-protobuf (~> 4.31) + sass-embedded (1.99.0-x86_64-darwin) + google-protobuf (~> 4.31) + sass-embedded (1.99.0-x86_64-linux-gnu) + google-protobuf (~> 4.31) + sass-embedded (1.99.0-x86_64-linux-musl) + google-protobuf (~> 4.31) + securerandom (0.4.1) selenium-webdriver (4.35.0) base64 (~> 0.2) logger (~> 1.4) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 4.0) websocket (~> 1.0) - semantic_range (3.1.0) + semantic_range (3.1.1) shakapacker (7.1.0) activesupport (>= 5.2) rack-proxy (>= 0.6.1) @@ -873,23 +943,24 @@ GEM listen (>= 2.7, < 4.0) spring (>= 4) stringio (3.1.7) + strscan (3.1.8) sys-uname (1.0.4) ffi (>= 1.0.0) temple (0.10.4) terminal-table (4.0.0) unicode-display_width (>= 1.1.1, < 4) - thor (1.4.0) - tilt (2.6.1) - timeout (0.4.3) + thor (1.5.0) + tilt (2.7.0) + timeout (0.6.1) trailblazer-option (0.1.2) tzinfo (2.0.6) concurrent-ruby (~> 1.0) uber (0.1.0) unicode-display_width (2.6.0) uniform_notifier (1.18.0) - uri (1.0.4) - valid_email2 (4.0.6) - activemodel (>= 3.2) + uri (1.1.1) + valid_email2 (7.0.15) + activemodel (>= 6.0) mail (~> 2.5) version_gem (1.1.9) w3c_rspec_validators (0.3.0) @@ -907,9 +978,9 @@ GEM activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) - web-push (3.0.2) + web-push (3.1.0) jwt (~> 3.0) - openssl (~> 3.0) + openssl (>= 3.0) webmock (3.25.1) addressable (>= 2.8.0) crack (>= 0.3.2) @@ -924,12 +995,12 @@ GEM wicked_pdf (2.8.2) activesupport ostruct - wisper (2.0.1) + wisper (3.0.0) wisper-rspec (1.1.0) wkhtmltopdf-binary (0.12.6.10) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.7.3) + zeitwerk (2.7.5) PLATFORMS aarch64-linux-gnu @@ -948,12 +1019,12 @@ DEPENDENCIES daemons database_cleaner decidim! - decidim-cdtb! - decidim-challenges (~> 0.7.4) + decidim-cdtb (~> 0.5.6) + decidim-challenges! decidim-department_admin! decidim-dev! decidim-home! - decidim-idcat_mobil (~> 0.7.2) + decidim-idcat_mobil (~> 0.8.2) decidim-process-extended! decidim-recaptcha! decidim-regulations! @@ -964,7 +1035,7 @@ DEPENDENCIES deface delayed_job_active_record faker - figjam + figjam (~> 3.0.1) letter_opener_web (~> 3.0) listen puma @@ -982,7 +1053,7 @@ DEPENDENCIES wkhtmltopdf-binary RUBY VERSION - ruby 3.2.9p265 + ruby 3.3.4p94 BUNDLED WITH 2.7.2 diff --git a/README.md b/README.md index 850e2f190..ed17d8ad5 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ ENABLE_MACHINE_TRANSLATIONS: "true" ## Testing -Run `bin/rake decidim:generate_external_test_app` to generate a dummy application to test both the application and the modules. +Run `DISABLE_SPRING=1 bundle exec rake test_app` to generate a dummy application to test both the application and the modules. Require missing factories in `spec/factories.rb` diff --git a/Rakefile b/Rakefile index d2a78aa25..d27f89b0d 100644 --- a/Rakefile +++ b/Rakefile @@ -6,3 +6,27 @@ require_relative "config/application" Rails.application.load_tasks + +# Figjam requires config/application.yml when the app boots. The dummy app is +# regenerated from scratch on each run, so we patch InstallGenerator to create +# a stub file before any bin/rails command fires (the first one is +# `rails "shakapacker:binstubs"` inside install_decidim_webpacker, before recreate_db). +require "decidim/generators/install_generator" + +DUMMY_APP_YML = File.expand_path("spec/decidim_dummy_app/config/application.yml", __dir__) + +module AppYmlStub + def rails(*args) + FileUtils.mkdir_p(File.dirname(DUMMY_APP_YML)) + FileUtils.touch(DUMMY_APP_YML) unless File.exist?(DUMMY_APP_YML) + super + end +end + +Decidim::Generators::InstallGenerator.prepend(AppYmlStub) + +desc "Generates a dummy app for testing" +task test_app: "decidim:generate_external_test_app" + +desc "Generates a development app." +task development_app: "decidim:generate_external_development_app" diff --git a/app/decorators/decidim/admin/newsletters_helper_decorator.rb b/app/decorators/decidim/admin/newsletters_helper_decorator.rb index d5403b528..501babc2b 100644 --- a/app/decorators/decidim/admin/newsletters_helper_decorator.rb +++ b/app/decorators/decidim/admin/newsletters_helper_decorator.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +# rubocop:disable Metrics/CyclomaticComplexity +# rubocop:disable Metrics/PerceivedComplexity module Decidim::Admin::NewslettersHelperDecorator def self.decorate Decidim::Admin::NewslettersHelper.class_eval do @@ -8,22 +10,33 @@ def participatory_space_types_form_object(form_object, space_type) html = "" form_object.fields_for "participatory_space_types[#{space_type.manifest_name}]", space_type do |ff| + html += participatory_space_title(space_type) html += ff.hidden_field :manifest_name, value: space_type.manifest_name html += select_tag_participatory_spaces(space_type, spaces_for_select(space_type), ff) end html.html_safe end + def participatory_space_title(space_type) + return unless space_type + + content_tag :h4 do + label_text_for(space_type) + end + end + def select_tag_participatory_spaces(space_type, spaces, child_form) return unless spaces - tag.div(class: "#{space_type.manifest_name}-block spaces-block-tag cell small-12 medium-6") do - child_form.select :ids, options_for_select(spaces), - { prompt: t("select_recipients_to_deliver.none", scope: "decidim.admin.newsletters"), - label: label_text_for(space_type), - include_hidden: false }, - multiple: true, size: [spaces.size, 10].min, class: "chosen-select" - end + raw(cell("decidim/admin/multi_select_picker", nil, context: { + select_id: "#{space_type.manifest_name}-spaces-select", + field_name: "#{child_form.object_name}[ids][]", + options_for_select: spaces, + selected_values: selected_options(:participatory_space_types)[space_type.manifest_name] || [], + placeholder: t("select_recipients_to_deliver.select_#{space_type.manifest_name}", scope: "decidim.admin.newsletters"), + class: "mb-2", + label: label_text_for(space_type) + })) end def label_text_for(space_type) @@ -54,4 +67,7 @@ def filter_spaces_by_process_group(space_type) end end +# rubocop:enable Metrics/CyclomaticComplexity +# rubocop:enable Metrics/PerceivedComplexity + Decidim::Admin::NewslettersHelperDecorator.decorate diff --git a/app/decorators/decidim/participatory_space_context_decorator.rb b/app/decorators/decidim/participatory_space_context_decorator.rb index fe130bfb1..c1c556a91 100644 --- a/app/decorators/decidim/participatory_space_context_decorator.rb +++ b/app/decorators/decidim/participatory_space_context_decorator.rb @@ -8,9 +8,10 @@ def current_user_can_visit_space? return true unless current_participatory_space.try(:private_space?) && !current_participatory_space.try(:is_transparent?) return false unless current_user + return true if current_user.admin? + return true if user_has_any_role?(current_user, current_participatory_space, broad_check: true) - current_user.admin || - current_participatory_space.users.include?(current_user) || + current_participatory_space.users.include?(current_user) || current_participatory_space.participatory_space_private_users.exists?(decidim_user_id: current_user.id) end end diff --git a/app/views/decidim/pages/application/show.html.erb b/app/views/decidim/pages/application/show.html.erb index 8882e20b8..867c5fd67 100644 --- a/app/views/decidim/pages/application/show.html.erb +++ b/app/views/decidim/pages/application/show.html.erb @@ -1,7 +1,7 @@ -<% add_decidim_page_title(translated_attribute(@page.title)) %> -<% add_decidim_meta_tags({ - description: translated_attribute(@page.body) - }) %> +<% add_decidim_meta_tags( + title: translated_attribute(@page.title), + description: translated_attribute(@page.body), + resource: @page) %> <%= render layout:"layouts/decidim/shared/layout_center" do %>
diff --git a/app/views/static/api/docs/assets/images/search.svg b/app/views/static/api/docs/assets/images/search.svg new file mode 100644 index 000000000..eee8ff56b --- /dev/null +++ b/app/views/static/api/docs/assets/images/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/app/views/static/api/docs/assets/style.css b/app/views/static/api/docs/assets/style.css index 00bb9b84f..299fcb82b 100644 --- a/app/views/static/api/docs/assets/style.css +++ b/app/views/static/api/docs/assets/style.css @@ -198,6 +198,7 @@ em { line-height: 30px; background-color: #27272b; } + #top-nav a { text-decoration: none; } @@ -208,10 +209,12 @@ em { top: 0; right: 30px; } + #top-nav-links li { float: left; margin-left: 20px; } + #top-nav-links a { display: inline-block; height: 30px; @@ -229,24 +232,30 @@ em { border-bottom: 1px solid #eee; padding: 14px 30px; } + #site-nav a { vertical-align: bottom; } + #site-nav span { vertical-align: bottom; } + #site-nav select { vertical-align: bottom; } + #site-nav .sub-title { margin: 0 8px; position: relative; top: 1px; } + #site-nav .logo img { height: 50px; margin-bottom: -20px; } + #site-nav .search-box { position: absolute; right: 30px; @@ -271,25 +280,32 @@ em { font-size: 16px; line-height: 1.1em; } + #sidebar::-webkit-scrollbar { width: 0 !important; } + #sidebar li { margin-bottom: 0.6em; } + #sidebar a { color: #444; text-decoration: none; } + #sidebar a:hover { color: #de4f4f; } + #sidebar a.current { color: #de4f4f; } + #sidebar a.H2 { font-weight: bold; } + #sidebar .categories > li > p { margin-top: 1.5em; border-top: 1px solid #eee; @@ -299,16 +315,19 @@ em { color: #999; font-size: 0.8em; } + #sidebar .sub-menu { font-family: "ProximaNova-Regular"; padding-left: 20px; margin: 0.6em 0; font-size: 14px; } + #sidebar .sub-menu .active { position: relative; color: #de4f4f; } + #sidebar .sub-menu .active:before { content: ""; position: absolute; @@ -322,10 +341,44 @@ em { border-left: 6px solid #de4f4f; } +#sidebar #search { + display: flex; + position: relative; + align-items: center; + border: 1px solid #ddd; + border-radius: 5px; + padding: 0.01em 16px; + margin-bottom: 20px; +} + +#sidebar #search img { + position: absolute; + left: 10px; + height: 16px; + width: 16px; +} + +#sidebar #search input { + height: 24px; + line-height: 1.5; + width: 100%; + padding-left: 15px; + background-color: transparent; + color: #444; + border: none; + font-size: 14px; + font-family: "ProximaNova-Semibold"; +} + +#sidebar #search input:focus { + outline: none; +} + #sidebar-mobile { display: none; margin-bottom: 20px; } + #sidebar-mobile .search-box { width: 200px; margin-bottom: 20px; @@ -337,12 +390,15 @@ em { margin: 0px auto; -webkit-text-size-adjust: 100%; } + #content em { font-style: italic; } + #content strong { font-family: "ProximaNova-Bold"; } + #content h1 { margin: 15px 0; line-height: 1.4em; @@ -350,6 +406,7 @@ em { margin-top: 0; margin-bottom: 30px; } + #content h2 { margin: 15px 0; line-height: 1.4em; @@ -359,6 +416,7 @@ em { border-bottom: 1px solid #eee; position: relative; } + #content h2 .anchor { opacity: 0; position: absolute; @@ -366,9 +424,11 @@ em { top: 2px; left: -21px; } + #content h2:hover .anchor { opacity: 1; } + #content h3 { margin: 15px 0; line-height: 1.4em; @@ -376,6 +436,7 @@ em { margin-top: 30px; position: relative; } + #content h3 .anchor { opacity: 0; position: absolute; @@ -383,53 +444,66 @@ em { top: 2px; left: -21px; } + #content h3:hover .anchor { opacity: 1; } + #content h4 { margin: 15px 0; line-height: 1.4em; } + #content h5 { margin: 15px 0; line-height: 1.4em; } + #content h6 { margin: 15px 0; line-height: 1.4em; } + #content p { margin: 15px 0; line-height: 1.4em; } + #content ul { margin: 15px 0; line-height: 1.4em; padding-left: 1.5em; list-style-type: disc; } + #content ul li { margin-bottom: 5px; } + #content ol { margin: 15px 0; line-height: 1.4em; padding-left: 1.5em; list-style-type: decimal; } + #content ol li { margin-bottom: 5px; } + #content figure { margin: 15px 0; line-height: 1.4em; } + #content a { color: #de4f4f; } + #content img { max-width: 100%; } + #content code { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 0.8em; @@ -438,44 +512,56 @@ em { background-color: #eee; margin: 0 2px; } + #content blockquote { padding-left: 1.3em; border-left: #eee solid 0.2em; font-style: italic; } + #content blockquote.warning { border-color: #f00; color: #f00; } + #content dl { margin-left: 1.5em; } + #content dl dt .name { font-family: monospace; } + #content dl dt .type { margin-left: 0.5em; } + #content dl dd { margin-left: 1.5em; } + #content .edit-discuss-links { margin-top: -25px; margin-bottom: 40px; } + #content table { margin-top: 10px; } + #content table th { text-align: left; padding: 0 25px 0 25px; } + #content table thead th:first-child { padding: 0; } + #content table td p { padding: 0 25px 0 25px; } + #content pre { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; line-height: 1.6em; @@ -484,34 +570,40 @@ em { position: relative; padding: 20px 30px; } + #content pre table { width: 100%; border-collapse: collapse; padding: 0; margin: 0; } + #content pre tr { width: 100%; border-collapse: collapse; padding: 0; margin: 0; } + #content pre td { width: 100%; border-collapse: collapse; padding: 0; margin: 0; } + #content pre code { background-color: #272822; padding: 0; margin: 0; } + #content pre .gutter { user-select: none; width: 1.5em; padding-right: 30px; } + #content .highlight.html .code:after { font-family: "ProximaNova-Semibold"; position: absolute; @@ -526,6 +618,7 @@ em { height: 15px; font-weight: 600; } + #content .highlight.js .code:after { font-family: "ProximaNova-Semibold"; position: absolute; @@ -540,6 +633,7 @@ em { height: 15px; font-weight: 600; } + #content .highlight.bash .code:after { font-family: "ProximaNova-Semibold"; position: absolute; @@ -554,6 +648,7 @@ em { height: 15px; font-weight: 600; } + #content .highlight.css .code:after { font-family: "ProximaNova-Semibold"; position: absolute; @@ -568,6 +663,7 @@ em { height: 15px; font-weight: 600; } + #content .highlight.jsx .code:after { font-family: "ProximaNova-Semibold"; position: absolute; @@ -582,91 +678,120 @@ em { height: 15px; font-weight: 600; } + #content .highlight.html.html .code:after { content: "HTML"; } + #content .highlight.js.html .code:after { content: "HTML"; } + #content .highlight.bash.html .code:after { content: "HTML"; } + #content .highlight.css.html .code:after { content: "HTML"; } + #content .highlight.jsx.html .code:after { content: "HTML"; } + #content .highlight.html.js .code:after { content: "JS"; } + #content .highlight.js.js .code:after { content: "JS"; } + #content .highlight.bash.js .code:after { content: "JS"; } + #content .highlight.css.js .code:after { content: "JS"; } + #content .highlight.jsx.js .code:after { content: "JS"; } + #content .highlight.html.bash .code:after { content: "Shell"; } + #content .highlight.js.bash .code:after { content: "Shell"; } + #content .highlight.bash.bash .code:after { content: "Shell"; } + #content .highlight.css.bash .code:after { content: "Shell"; } + #content .highlight.jsx.bash .code:after { content: "Shell"; } + #content .highlight.html.css .code:after { content: "CSS"; } + #content .highlight.js.css .code:after { content: "CSS"; } + #content .highlight.bash.css .code:after { content: "CSS"; } + #content .highlight.css.css .code:after { content: "CSS"; } + #content .highlight.jsx.css .code:after { content: "CSS"; } + #content .highlight.html.jsx .code:after { content: "JSX"; } + #content .highlight.js.jsx .code:after { content: "JSX"; } + #content .highlight.bash.jsx .code:after { content: "JSX"; } + #content .highlight.css.jsx .code:after { content: "JSX"; } + #content .highlight.jsx.jsx .code:after { content: "JSX"; } + #content > table { width: 100%; margin: 20px 0; } + #content > table tr { border-top: 1px solid #eee; } + #content > table tr:nth-child(2n) { background-color: #f8f8f8; } + #content > table th { font-family: "ProximaNova-Semibold"; padding: 12px 13px; @@ -674,6 +799,7 @@ em { vertical-align: middle; text-align: left; } + #content > table td { border: 1px solid #eee; vertical-align: middle; @@ -682,23 +808,28 @@ em { font-size: 0.8em; line-height: 1.6em; } + #content .bottom-nav { height: 44px; margin: 30px 0 25px; border-bottom: 1px solid #eee; padding-bottom: 25px; } + #content .bottom-nav a { font-family: "ProximaNova-Semibold"; margin: 0 5px; } + #content .edit-link { text-align: center; } + #content .edit-link a { color: #aaa; font-family: "ProximaNova-Semibold"; } + #content .edit-link a:before { content: ""; display: inline-block; @@ -710,12 +841,15 @@ em { position: relative; top: 2px; } + #content .field-name { font-weight: bold; } + #content .field-entry { margin-bottom: 4rem; } + #content .description-wrapper > p { padding-left: 1rem; margin-bottom: 1rem; @@ -732,6 +866,7 @@ em { display: none; box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); } + #mobile-header .menu-button { position: absolute; width: 24px; @@ -742,6 +877,7 @@ em { background-size: 24px; opacity: 0.5; } + #mobile-header .logo { position: absolute; top: 5px; @@ -749,6 +885,7 @@ em { margin-left: -15px; background-size: 30px; } + #mobile-header .logo img { width: 30px; height: 30px; @@ -772,7 +909,6 @@ em { body { font-size: 14px; } - body.sidebar-open #sidebar { transform: translate3d(0, 0, 0); } @@ -780,36 +916,28 @@ em { opacity: 1; pointer-events: auto; } - #header { height: 40px; } - #top-nav { display: none; } - #site-nav { display: none; } - #mobile-header { display: block; } - #mobile-shade { display: block; } - #sidebar-mobile { display: block; } - #wrap { padding-top: 40px; padding-left: 0; } - #sidebar { top: 0; left: 0; @@ -824,13 +952,16 @@ em { .api { background: #fafafa; } + .api h3 { padding: 5px 10px; } + .api h3.api-title { margin: 0; overflow: auto; } + .api h4 { font-weight: normal; font-style: italic; @@ -838,34 +969,43 @@ em { text-decoration: underline; margin-left: 20px; } + .api dl { margin-top: 0.25em; } + .api dl.args { margin-left: 40px; } + .api dl.constants { margin-left: 20px; } + .api dt { margin-top: 1em; } + .api dt .name { font-weight: bold; } + .api dt .type { margin-left: 15px; font-size: 0.9em; font-weight: 200; color: #000; } + .api dd { margin-bottom: 1em; margin-left: 0; } + .api .desc { margin: 1em; } + .api pre { margin-right: 10px; } @@ -881,6 +1021,7 @@ h3.api-title { padding-right: 5px; font-style: italic; } + .api-title .subtext { font-size: 11px; text-align: left; @@ -888,10 +1029,12 @@ h3.api-title { display: block; font-weight: normal; } + .api-title .subtext > code { font-size: 11px; margin-right: 12px; } + .api-title .src-code { color: #20338a !important; border-bottom: none !important; @@ -904,187 +1047,248 @@ h3.api-title { pre { color: #525252; } + pre .function .keyword { color: #0092db; } + pre .constant { color: #0092db; } + pre .keyword { color: #e96900; } + pre .attribute { color: #e96900; } + pre .number { color: #ae81ff; } + pre .literal { color: #ae81ff; } + pre .tag { color: #2973b7; } + pre .tag .title { color: #2973b7; } + pre .tag .value { color: #90a959; } + pre .change { color: #2973b7; } + pre .winutils { color: #2973b7; } + pre .flow { color: #2973b7; } + pre .lisp .title { color: #2973b7; } + pre .clojure .built_in { color: #2973b7; } + pre .nginx .title { color: #2973b7; } + pre .tex .special { color: #2973b7; } + pre .tex .command { color: #90a959; } + pre .tex .formula { color: #b3b3b3; opacity: 0.5; } + pre .class .title { color: #4077bf; } + pre .symbol { color: #90a959; } + pre .symbol .string { color: #90a959; } + pre .value { color: #90a959; } + pre .regexp { color: #90a959; } + pre .title { color: #a6e22e; } + pre .string { color: #90a959; } + pre .subst { color: #90a959; } + pre .haskell .type { color: #90a959; } + pre .preprocessor { color: #90a959; } + pre .ruby .class .parent { color: #90a959; } + pre .built_in { color: #90a959; } + pre .sql .aggregate { color: #90a959; } + pre .django .template_tag { color: #90a959; } + pre .django .variable { color: #90a959; } + pre .django .filter .argument { color: #90a959; } + pre .smalltalk .class { color: #90a959; } + pre .smalltalk .localvars { color: #90a959; } + pre .smalltalk .array { color: #90a959; } + pre .javadoc { color: #90a959; } + pre .attr_selector { color: #90a959; } + pre .pseudo { color: #90a959; } + pre .addition { color: #90a959; } + pre .stream { color: #90a959; } + pre .envvar { color: #90a959; } + pre .apache .tag { color: #90a959; } + pre .apache .cbracket { color: #90a959; } + pre .apache .sqbracket { color: #b3b3b3; } + pre .prompt { color: #90a959; } + pre .comment { color: #b3b3b3; } + pre .java .annotation { color: #b3b3b3; } + pre .python .decorator { color: #b3b3b3; } + pre .template_comment { color: #b3b3b3; } + pre .pi { color: #b3b3b3; } + pre .doctype { color: #b3b3b3; } + pre .deletion { color: #b3b3b3; } + pre .shebang { color: #b3b3b3; } + pre .coffeescript .javascript { opacity: 0.5; } + pre .javascript .xml { opacity: 0.5; } + pre .xml .javascript { opacity: 0.5; } + pre .xml .vbscript { opacity: 0.5; } + pre .xml .css { opacity: 0.5; } + pre .xml .cdata { opacity: 0.5; } @@ -1100,300 +1304,185 @@ pre { .highlight .c { color: #75715e; -} - -/* Comment */ +} /* Comment */ .highlight .err { color: #960050; background-color: #1e0010; -} - -/* Error */ +} /* Error */ .highlight .k { color: #66d9ef; -} - -/* Keyword */ +} /* Keyword */ .highlight .l { color: #ae81ff; -} - -/* Literal */ +} /* Literal */ .highlight .n { color: #f8f8f2; -} - -/* Name */ +} /* Name */ .highlight .o { color: #f92672; -} - -/* Operator */ +} /* Operator */ .highlight .p { color: #f8f8f2; -} - -/* Punctuation */ +} /* Punctuation */ .highlight .cm { color: #75715e; -} - -/* Comment.Multiline */ +} /* Comment.Multiline */ .highlight .cp { color: #75715e; -} - -/* Comment.Preproc */ +} /* Comment.Preproc */ .highlight .c1 { color: #75715e; -} - -/* Comment.Single */ +} /* Comment.Single */ .highlight .cs { color: #75715e; -} - -/* Comment.Special */ +} /* Comment.Special */ .highlight .ge { font-style: italic; -} - -/* Generic.Emph */ +} /* Generic.Emph */ .highlight .gs { font-weight: bold; -} - -/* Generic.Strong */ +} /* Generic.Strong */ .highlight .kc { color: #66d9ef; -} - -/* Keyword.Constant */ +} /* Keyword.Constant */ .highlight .kd { color: #66d9ef; -} - -/* Keyword.Declaration */ +} /* Keyword.Declaration */ .highlight .kn { color: #f92672; -} - -/* Keyword.Namespace */ +} /* Keyword.Namespace */ .highlight .kp { color: #66d9ef; -} - -/* Keyword.Pseudo */ +} /* Keyword.Pseudo */ .highlight .kr { color: #66d9ef; -} - -/* Keyword.Reserved */ +} /* Keyword.Reserved */ .highlight .kt { color: #66d9ef; -} - -/* Keyword.Type */ +} /* Keyword.Type */ .highlight .ld { color: #e6db74; -} - -/* Literal.Date */ +} /* Literal.Date */ .highlight .m { color: #ae81ff; -} - -/* Literal.Number */ +} /* Literal.Number */ .highlight .s { color: #e6db74; -} - -/* Literal.String */ +} /* Literal.String */ .highlight .na { color: #a6e22e; -} - -/* Name.Attribute */ +} /* Name.Attribute */ .highlight .nb { color: #f8f8f2; -} - -/* Name.Builtin */ +} /* Name.Builtin */ .highlight .nc { color: #a6e22e; -} - -/* Name.Class */ +} /* Name.Class */ .highlight .no { color: #66d9ef; -} - -/* Name.Constant */ +} /* Name.Constant */ .highlight .nd { color: #a6e22e; -} - -/* Name.Decorator */ +} /* Name.Decorator */ .highlight .ni { color: #f8f8f2; -} - -/* Name.Entity */ +} /* Name.Entity */ .highlight .ne { color: #a6e22e; -} - -/* Name.Exception */ +} /* Name.Exception */ .highlight .nf { color: #a6e22e; -} - -/* Name.Function */ +} /* Name.Function */ .highlight .nl { color: #f8f8f2; -} - -/* Name.Label */ +} /* Name.Label */ .highlight .nn { color: #f8f8f2; -} - -/* Name.Namespace */ +} /* Name.Namespace */ .highlight .nx { color: #a6e22e; -} - -/* Name.Other */ +} /* Name.Other */ .highlight .py { color: #f8f8f2; -} - -/* Name.Property */ +} /* Name.Property */ .highlight .nt { color: #f92672; -} - -/* Name.Tag */ +} /* Name.Tag */ .highlight .nv { color: #f8f8f2; -} - -/* Name.Variable */ +} /* Name.Variable */ .highlight .ow { color: #f92672; -} - -/* Operator.Word */ +} /* Operator.Word */ .highlight .w { color: #f8f8f2; -} - -/* Text.Whitespace */ +} /* Text.Whitespace */ .highlight .mf { color: #ae81ff; -} - -/* Literal.Number.Float */ +} /* Literal.Number.Float */ .highlight .mh { color: #ae81ff; -} - -/* Literal.Number.Hex */ +} /* Literal.Number.Hex */ .highlight .mi { color: #ae81ff; -} - -/* Literal.Number.Integer */ +} /* Literal.Number.Integer */ .highlight .mo { color: #ae81ff; -} - -/* Literal.Number.Oct */ +} /* Literal.Number.Oct */ .highlight .sb { color: #e6db74; -} - -/* Literal.String.Backtick */ +} /* Literal.String.Backtick */ .highlight .sc { color: #e6db74; -} - -/* Literal.String.Char */ +} /* Literal.String.Char */ .highlight .sd { color: #e6db74; -} - -/* Literal.String.Doc */ +} /* Literal.String.Doc */ .highlight .s2 { color: #e6db74; -} - -/* Literal.String.Double */ +} /* Literal.String.Double */ .highlight .se { color: #ae81ff; -} - -/* Literal.String.Escape */ +} /* Literal.String.Escape */ .highlight .sh { color: #e6db74; -} - -/* Literal.String.Heredoc */ +} /* Literal.String.Heredoc */ .highlight .si { color: #e6db74; -} - -/* Literal.String.Interpol */ +} /* Literal.String.Interpol */ .highlight .sx { color: #e6db74; -} - -/* Literal.String.Other */ +} /* Literal.String.Other */ .highlight .sr { color: #e6db74; -} - -/* Literal.String.Regex */ +} /* Literal.String.Regex */ .highlight .s1 { color: #e6db74; -} - -/* Literal.String.Single */ +} /* Literal.String.Single */ .highlight .ss { color: #e6db74; -} - -/* Literal.String.Symbol */ +} /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2; -} - -/* Name.Builtin.Pseudo */ +} /* Name.Builtin.Pseudo */ .highlight .vc { color: #f8f8f2; -} - -/* Name.Variable.Class */ +} /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2; -} - -/* Name.Variable.Global */ +} /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2; -} - -/* Name.Variable.Instance */ +} /* Name.Variable.Instance */ .highlight .il { color: #ae81ff; -} - -/* Literal.Number.Integer.Long */ +} /* Literal.Number.Integer.Long */ .deprecation-notice { padding-left: 5px; border-left: 2px solid #e8400d; background: #fdf2ec; } + .deprecation-notice span { font-weight: bold; -} +} \ No newline at end of file diff --git a/app/views/static/api/docs/directive/deprecated/index.html b/app/views/static/api/docs/directive/deprecated/index.html index 434debd8e..054d93e0d 100644 --- a/app/views/static/api/docs/directive/deprecated/index.html +++ b/app/views/static/api/docs/directive/deprecated/index.html @@ -31,7 +31,11 @@

- - - - -
- type (String) -
-

Sort by type of user entity (user or group), alphabetically, valid values are ASC or DESC

-
-
name (String)
@@ -26,8 +20,18 @@

Sort by nickname of the user entity (user or group), alphabetically, valid values are ASC or DESC

+

+
+ type (String) +
+

Sort by type of user entity (user or group), alphabetically, valid values are ASC or DESC

+
- - - - +
+ deleted (Boolean!) +
+

Whether the author's account has been deleted or not

+
+
name (String!)
@@ -50,14 +56,12 @@

The authors's organization name

-

-
- deleted (Boolean!) -
-

Whether the author's account has been deleted or not

-
- - -
- author (Author) + authors ([Author]!)
-

The resource author. Note that this can be null on official proposals or meeting-proposals

+

The resource co-authors. Include only users or groups of users

- authors ([Author]!) + author (Author)
-

The resource co-authors. Include only users or groups of users

+

The resource author. Note that this can be null on official proposals or meeting-proposals

- +
+ totalCommentsCount (Int!) +
+

The number of comments in all levels this resource holds

+
+
+
+ hasComments (Boolean!) +
+

Check if the commentable has comments

+
+
+
+ userAllowedToComment (Boolean!) +
+

Check if the current user can comment

+
+
comments ([Comment!]!)
+

The list of replies in this comment

@@ -78,26 +98,12 @@

-
-
- totalCommentsCount (Int!) -
-

The number of comments in all levels this resource holds

-
-
-
- hasComments (Boolean!) -
-

Check if the commentable has comments

-
-
-
- userAllowedToComment (Boolean!) -
-

Check if the current user can comment

-
- - - - - -
- title (TranslatedField!) -
-

The graphql_name of this participatory space.

-
-
-
- type (String!) -
-

The participatory space class name. i.e. Decidim::ParticipatoryProcess

-
-
-
- manifest (ParticipatorySpaceManifest!) -
-

The manifest information for the participatory space.

-
-
components ([ComponentInterface])
@@ -72,9 +54,32 @@

stats ([Statistic])
+

The statistics collection of this participatory space

+
+
+
+ title (TranslatedField!) +
+

The graphql_name of this participatory space.

+
+
+
+ type (String!) +
+

The participatory space class name. i.e. Decidim::ParticipatoryProcess

+
+
+
+ manifest (ParticipatorySpaceManifest!) +
+

The manifest information for the participatory space.

-
- - - - - +
+ totalCommentsCount (Int!) +
+

The number of comments in all levels this resource holds

+
+
+
+ hasComments (Boolean!) +
+

Check if the commentable has comments

+
+
+
+ userAllowedToComment (Boolean!) +
+

Check if the current user can comment

+
+
comments ([Comment!]!)
+

The list of replies in this comment

@@ -307,26 +319,12 @@

-
-
- totalCommentsCount (Int!) -
-

The number of comments in all levels this resource holds

-
-
-
- hasComments (Boolean!) -
-

Check if the commentable has comments

-
-
-
- userAllowedToComment (Boolean!) -
-

Check if the current user can comment

-
- - +
+ title (TranslatedField) +
+

The title for this agenda item

+
+
createdAt (DateTime)
-

The date and time this agenda item was created

+

The date and time this object was created

updatedAt (DateTime)
-

The date and time this agenda item was updated

+

The date and time this object was updated

- - - - - - - - - -
- answerOptions ([AnswerOption]!) -
-

List of answer options in multi-choice questions.

-
-
createdAt (DateTime)
@@ -74,7 +74,11 @@

The date and time this object was updated

- - - - -