Enums
Enums represent a possible set of values for a field. For example, the Issue object has a field called state. The state of an issue may be OPEN or CLOSED.
For more information, see the GraphQL spec.
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 %>
Queries
+Operations
Queries
+Operations
Directives provide a way to describe alternate runtime execution and type validation behavior in a GraphQL document.
For more information, see the GraphQL spec.
Queries
+Operations
Queries
+Operations
Queries
+Operations
Queries
+Operations
Location adjacent to a variable definition.
Queries
+Operations
Indicates this type is a non-null. ofType is a valid field.
Queries
+Operations
Enums represent a possible set of values for a field. For example, the Issue object has a field called state. The state of an issue may be OPEN or CLOSED.
For more information, see the GraphQL spec.
For more information, see the GraphQL spec.
Queries
+Operations
As you can see, a part from the edges list, you can access to the object pageInfo which gives you the information needed to navigate through the different pages.
For more info on how connections work, you can check the official guide:
Queries
+Operations
Returns the sub-categories for the given parent category or top-level categories if set to null
Queries
+Operations
String)
+ name (String)
Filters by type of component
+Filters by name of the component, additional locale parameter can be provided to specify in which to search
String)
+ type (String)
Filters by name of the component, additional locale parameter can be provided to specify in which to search
+Filters by type of component
Returns components with comments enabled globally (can still be deactivated in the current step if the component has steps)
Queries
+Operations
String)
+ name (String)
Sort by weight (order in the website), valid values are ASC or DESC
+Sort by name of the component, alphabetically, valid values are ASC or DESC
Queries
+Operations
Input objects are best described as "composable objects" in that they contain a set of input fields that define a particular object. For example, the AuthorInput takes a field called emails. Providing a value for emails will transform the AuthorInput into a list of User objects which contain that email address/
For more information, see the GraphQL spec.
For more information, see the GraphQL spec.
Queries
+Operations
List result having this hashtag
Queries
+Operations
Sort by participatory process starting date, valid values are ASC or DESC
Queries
+Operations
List result updated after (and including) this date. Expected format YYYY-MM-DD
Queries
+Operations
Sort by ID, valid values are ASC or DESC
Queries
+Operations
List result published after (and including) this date. Expected format YYYY-MM-DD
Queries
+Operations
Sort by number of votes, valid values are ASC or DESC. Will be ignored if votes are hidden
Queries
+Operations
String)
+ excludeIds ([ID!])
Filters by type of entity (User or UserGroup)
+Excludes users contained in given ids. Valid values are one or more IDs (passed as an array)
Queries
+Operations
Sort by ID, valid values are ASC or DESC
String)
- Sort by type of user entity (user or group), alphabetically, valid values are ASC or DESC
-String)
Sort by nickname of the user entity (user or group), alphabetically, valid values are ASC or DESC
String)
+ Sort by type of user entity (user or group), alphabetically, valid values are ASC or DESC
+Queries
+Operations
ID of this entity
Queries
+Operations
This object's amendments
Queries
+Operations
AssemblyChallengeMeetingParticipatoryProcessPostThis object's attachments
Queries
+Operations
The author ID
Boolean!)
+ Whether the author's account has been deleted or not
+String!)
The authors's organization name
Boolean!)
- Whether the author's account has been deleted or not
-Queries
+Operations
The resource author
Queries
+Operations
Queries
+Operations
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
[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
Queries
+Operations
Int!)
+ The number of comments in all levels this resource holds
+Boolean!)
+ Check if the commentable has comments
+Boolean!)
+ Check if the current user can comment
+[Comment!]!)
The list of replies in this comment
Int!)
- The number of comments in all levels this resource holds
-Boolean!)
- Check if the commentable has comments
-Boolean!)
- Check if the current user can comment
-Queries
+Operations
AccountabilityBlogsBudgetsChallengesComponentDebatesMeetingsPagesProblemsProposalsSolutionsSortitionsSurveysThe participatory space in which this component belongs to.
Queries
+Operations
The total amount of endorsements the object has received
Queries
+Operations
This object's fingerprint
Queries
+Operations
GraphQL Interfaces are a sort of "parent object" from which other objects can "inherit" from. For example, Stars is considered an interface, because both Repository and Gist can be starred. An interface has its own list of named fields that are shared by implementing objects.
For more information, see the GraphQL spec.
For more information, see the GraphQL spec.
Queries
+Operations
Proposals created in this meeting
Queries
+Operations
The participatory space's unique ID
TranslatedField!)
- The graphql_name of this participatory space.
-String!)
- The participatory space class name. i.e. Decidim::ParticipatoryProcess
-ParticipatorySpaceManifest!)
- The manifest information for the participatory space.
-[ComponentInterface])
[Statistic])
The statistics collection of this participatory space
+TranslatedField!)
+ The graphql_name of this participatory space.
+String!)
+ The participatory space class name. i.e. Decidim::ParticipatoryProcess
+ParticipatorySpaceManifest!)
+ The manifest information for the participatory space.
Queries
+Operations
Lists all linked participatory spaces in a polymorphic way
Queries
+Operations
ID of this entity
Queries
+Operations
An interface that can be used in scopable objects.
-Scope)
- The object's scope
-Queries
-The object's services
Queries
+Operations
An interface that can be used in categorizable objects.
+TaxonomizableInterface +An interface that can be used in taxonomizable objects.
Queries
+Operations
ChallengeAreaAssemblyBudgetCommentDebateMeetingMeetingAgendaMeetingAgendaItemPageParticipatoryProcessParticipatoryProcessTypePostProblemProjectProposalQuestionQuestionnaireSolutionResultSortitionStatusSurveyTimelineEntryThe date and time this object was updated
Queries
+Operations
This object's versions
Queries
+Operations
Queries
+Operations
ID!)
- The Commentable's unique ID
-Comment)
bodyalignmentString!
+ Int
The comments's body
+The comment's alignment. Can be 0 (neutral), 1 (in favor) or -1 (against)'
+The default value is 0.
alignmentbodyInt
+ String!
The comment's alignment. Can be 0 (neutral), 1 (in favor) or -1 (against)'
-The default value is 0.
The comments's body
ID!)
+ The Commentable's unique ID
+Queries
+Operations
Queries
+Operations
Queries
+Operations
Queries
+Operations
Queries
+Operations
Queries
+Operations
Queries
+Operations
ResultConnection)
A collection of Results