diff --git a/.codeclimate.yml b/.codeclimate.yml index 65826a4e1..87fc4371a 100644 --- a/.codeclimate.yml +++ b/.codeclimate.yml @@ -63,3 +63,4 @@ exclude_paths: - "decidim-ephemeral_participation/app/permissions/decidim/ephemeral_participation/ephemeral_participation_permissions.rb" - "app/services/decidim_legacy_routes.rb" - "app/helpers/concerns/decidim/paginate_helper_override.rb" +- "app/permissions/concerns/decidim/initiatives/admin/permissions_override.rb" diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 858340b64..a276d8c02 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -8,7 +8,7 @@ env: jobs: lint: name: Lint code - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 env: DATABASE_USERNAME: postgres DATABASE_PASSWORD: postgres diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1aa98c1a3..66c106dea 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ env: jobs: test: name: Test - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 services: postgres: image: postgres:11 @@ -47,3 +47,10 @@ jobs: mkdir node_modules bundle exec rspec name: Run specs + - uses: actions/upload-artifact@v4 + if: always() + with: + name: screenshots + path: ./tmp/screenshots + if-no-files-found: ignore + overwrite: true diff --git a/.github/workflows/test_census_sms.yml b/.github/workflows/test_census_sms.yml index 700b6a936..84332e458 100644 --- a/.github/workflows/test_census_sms.yml +++ b/.github/workflows/test_census_sms.yml @@ -8,7 +8,7 @@ env: jobs: test: name: Test Census SMS - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 services: postgres: image: postgres:11 @@ -47,3 +47,10 @@ jobs: mkdir node_modules bundle exec rspec decidim-census_sms name: Run specs + - uses: actions/upload-artifact@v4 + if: always() + with: + name: screenshots + path: ./tmp/screenshots + if-no-files-found: ignore + overwrite: true diff --git a/.github/workflows/test_stats.yml b/.github/workflows/test_stats.yml index a4254bc6d..e53d2e195 100644 --- a/.github/workflows/test_stats.yml +++ b/.github/workflows/test_stats.yml @@ -8,7 +8,7 @@ env: jobs: test: name: Test Stats - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 services: postgres: image: postgres:11 @@ -47,3 +47,10 @@ jobs: mkdir node_modules bundle exec rspec decidim-stats name: Run specs + - uses: actions/upload-artifact@v4 + if: always() + with: + name: screenshots + path: ./tmp/screenshots + if-no-files-found: ignore + overwrite: true diff --git a/.github/workflows/test_valid_auth.yml b/.github/workflows/test_valid_auth.yml deleted file mode 100644 index 1c302645d..000000000 --- a/.github/workflows/test_valid_auth.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: Test Valid Auth -on: [push] - -env: - RUBY_VERSION: 3.1.1 - NODE_VERSION: 18.17.1 - -jobs: - test: - name: Test Valid Auth - runs-on: ubuntu-latest - services: - postgres: - image: postgres:11 - ports: ["5432:5432"] - options: >- - --health-cmd pg_isready - --health-interval 10s - --health-timeout 5s - --health-retries 5 - env: - POSTGRES_PASSWORD: postgres - redis: - image: redis:3.2-alpine - ports: ["6379:6379"] - env: - DATABASE_USERNAME: postgres - DATABASE_PASSWORD: postgres - DATABASE_HOST: localhost - RAILS_ENV: test - steps: - - uses: actions/checkout@v2.0.0 - with: - fetch-depth: 1 - - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ env.RUBY_VERSION }} - bundler-cache: true - - uses: nanasess/setup-chromedriver@v2 - - run: bundle exec rake db:test:prepare - name: Setup database - - name: Precompile assets - run: | - npm install - bundle exec rake assets:precompile - - run: | - mkdir node_modules - bundle exec rspec decidim-valid_auth - name: Run specs diff --git a/Gemfile b/Gemfile index 7486bcf9d..c23cc5a58 100644 --- a/Gemfile +++ b/Gemfile @@ -2,21 +2,22 @@ source "https://rubygems.org" -DECIDIM_VERSION = "0.28.3" +DECIDIM_VERSION = { git: "https://github.com/AjuntamentdeBarcelona/decidim", branch: "release/0.28-stable-bcn" }.freeze ruby RUBY_VERSION gem "decidim", DECIDIM_VERSION gem "decidim-initiatives", DECIDIM_VERSION gem "decidim-sortitions", DECIDIM_VERSION +gem "decidim-templates", DECIDIM_VERSION gem "decidim-census_sms", path: "decidim-census_sms" gem "decidim-dataviz", path: "decidim-dataviz" gem "decidim-ephemeral_participation", path: "decidim-ephemeral_participation" # Installed but not used anymore gem "decidim-stats", path: "decidim-stats" -gem "decidim-valid_auth", path: "decidim-valid_auth" gem "decidim-decidim_awesome", git: "https://github.com/decidim-ice/decidim-module-decidim_awesome" +gem "decidim-internal_evaluation", git: "https://github.com/AjuntamentdeBarcelona/decidim-internal-evaluation-module", branch: "release/0.28-stable" gem "decidim-kids", git: "https://github.com/AjuntamentdeBarcelona/decidim-module-kids" gem "decidim-navigation_maps", git: "https://github.com/Platoniq/decidim-module-navigation_maps" gem "decidim-term_customizer", git: "https://github.com/mainio/decidim-module-term_customizer" diff --git a/Gemfile.lock b/Gemfile.lock index 056c28f41..6ebd3b570 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,197 @@ +GIT + remote: https://github.com/AjuntamentdeBarcelona/decidim + revision: 4bfc73be0724b60918f93867ae0a03d662aea1fd + branch: release/0.28-stable-bcn + specs: + decidim (0.28.4) + decidim-accountability (= 0.28.4) + decidim-admin (= 0.28.4) + decidim-api (= 0.28.4) + decidim-assemblies (= 0.28.4) + decidim-blogs (= 0.28.4) + decidim-budgets (= 0.28.4) + decidim-comments (= 0.28.4) + decidim-core (= 0.28.4) + decidim-debates (= 0.28.4) + decidim-forms (= 0.28.4) + decidim-generators (= 0.28.4) + decidim-meetings (= 0.28.4) + decidim-pages (= 0.28.4) + decidim-participatory_processes (= 0.28.4) + decidim-proposals (= 0.28.4) + decidim-sortitions (= 0.28.4) + decidim-surveys (= 0.28.4) + decidim-system (= 0.28.4) + decidim-verifications (= 0.28.4) + decidim-accountability (0.28.4) + decidim-comments (= 0.28.4) + decidim-core (= 0.28.4) + decidim-admin (0.28.4) + active_link_to (~> 1.0) + decidim-core (= 0.28.4) + devise (~> 4.7) + devise-i18n (~> 1.2) + devise_invitable (~> 2.0, >= 2.0.9) + decidim-api (0.28.4) + commonmarker (~> 0.23.0, >= 0.23.9) + decidim-core (= 0.28.4) + graphql (~> 2.0.0) + graphql-docs (~> 3.0.1) + rack-cors (~> 1.0) + decidim-assemblies (0.28.4) + decidim-core (= 0.28.4) + decidim-blogs (0.28.4) + decidim-admin (= 0.28.4) + decidim-comments (= 0.28.4) + decidim-core (= 0.28.4) + decidim-budgets (0.28.4) + decidim-comments (= 0.28.4) + decidim-core (= 0.28.4) + decidim-comments (0.28.4) + decidim-core (= 0.28.4) + redcarpet (~> 3.5, >= 3.5.1) + decidim-core (0.28.4) + active_link_to (~> 1.0) + acts_as_list (~> 1.0) + batch-loader (~> 1.2) + browser (~> 2.7) + carrierwave (~> 2.2.5, >= 2.2.5) + cells-erb (~> 0.1.0) + cells-rails (~> 0.1.3) + charlock_holmes (~> 0.7) + date_validator (~> 0.12.0) + devise (~> 4.7) + devise-i18n (~> 1.2, < 1.11.1) + 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) + 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) + 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) + pg_search (~> 2.2) + premailer-rails (~> 1.10) + psych (~> 4.0) + rack (~> 2.2, >= 2.2.6.4) + rack-attack (~> 6.0) + rails (~> 6.1.7, >= 6.1.7.4) + rails-i18n (~> 6.0) + ransack (~> 3.2.1) + redis (~> 4.1) + request_store (~> 1.5.0) + rubyXL (~> 3.4) + rubyzip (~> 2.0) + shakapacker (~> 7.1.0) + valid_email2 (~> 4.0) + web-push (~> 3.0) + wisper (~> 2.0) + decidim-debates (0.28.4) + decidim-comments (= 0.28.4) + decidim-core (= 0.28.4) + decidim-dev (0.28.4) + bullet (~> 7.0) + byebug (~> 11.0) + capybara (~> 3.39) + decidim (= 0.28.4) + erb_lint (~> 0.4.0) + factory_bot_rails (~> 6.2) + faker (~> 3.2) + i18n-tasks (~> 1.0) + nokogiri (~> 1.14, >= 1.14.3) + parallel_tests (~> 4.2) + puma (~> 6.2, >= 6.3.1) + rails-controller-testing (~> 1.0) + rspec (~> 3.12) + rspec-cells (~> 0.3.7) + rspec-html-matchers (~> 0.10) + rspec-rails (~> 6.0) + rspec-retry (~> 0.6.2) + rspec_junit_formatter (~> 0.6.0) + rubocop (~> 1.50.0) + rubocop-faker (~> 1.1) + rubocop-rails (~> 2.19) + rubocop-rspec (~> 2.20) + selenium-webdriver (~> 4.9) + simplecov (~> 0.22.0) + simplecov-cobertura (~> 2.1.0) + spring (~> 2.0) + spring-watcher-listen (~> 2.0) + w3c_rspec_validators (~> 0.3.0) + webmock (~> 3.18) + wisper-rspec (~> 1.0) + decidim-forms (0.28.4) + decidim-core (= 0.28.4) + wicked_pdf (~> 2.1) + wkhtmltopdf-binary (~> 0.12) + decidim-generators (0.28.4) + decidim-core (= 0.28.4) + decidim-initiatives (0.28.4) + decidim-admin (= 0.28.4) + decidim-comments (= 0.28.4) + decidim-core (= 0.28.4) + decidim-verifications (= 0.28.4) + hexapdf (~> 0.32.0) + wicked_pdf (~> 2.1) + wkhtmltopdf-binary (~> 0.12) + decidim-meetings (0.28.4) + decidim-core (= 0.28.4) + decidim-forms (= 0.28.4) + icalendar (~> 2.5) + decidim-pages (0.28.4) + decidim-core (= 0.28.4) + decidim-participatory_processes (0.28.4) + decidim-core (= 0.28.4) + decidim-proposals (0.28.4) + decidim-comments (= 0.28.4) + decidim-core (= 0.28.4) + doc2text (~> 0.4.6) + redcarpet (~> 3.5, >= 3.5.1) + decidim-sortitions (0.28.4) + decidim-admin (= 0.28.4) + decidim-comments (= 0.28.4) + decidim-core (= 0.28.4) + decidim-proposals (= 0.28.4) + decidim-surveys (0.28.4) + decidim-core (= 0.28.4) + decidim-forms (= 0.28.4) + decidim-system (0.28.4) + active_link_to (~> 1.0) + decidim-core (= 0.28.4) + devise (~> 4.7) + devise-i18n (~> 1.2) + devise_invitable (~> 2.0, >= 2.0.9) + decidim-templates (0.28.4) + decidim-core (= 0.28.4) + decidim-forms (= 0.28.4) + decidim-proposals (= 0.28.4) + decidim-verifications (0.28.4) + decidim-core (= 0.28.4) + +GIT + remote: https://github.com/AjuntamentdeBarcelona/decidim-internal-evaluation-module + revision: cf5eb7f00f957881ade8360a69655e92d95ceff0 + branch: release/0.28-stable + specs: + decidim-internal_evaluation (0.0.1) + decidim-core (~> 0.28.0) + decidim-proposals (~> 0.28.0) + decidim-templates (~> 0.28.0) + deface (~> 1.9) + GIT remote: https://github.com/AjuntamentdeBarcelona/decidim-module-kids revision: df16cf4de13c306348761d850d19815c8221874e @@ -18,7 +212,7 @@ GIT GIT remote: https://github.com/decidim-ice/decidim-module-decidim_awesome - revision: 84374037d34a3ac80dc18406834169c65869f11b + revision: a8d21e4e178f1965a6e3e73cf0c781cb78661e32 specs: decidim-decidim_awesome (0.11.2) decidim-admin (>= 0.28.0, < 0.29) @@ -60,49 +254,43 @@ PATH decidim-core (~> 0.28.0) decidim-proposals (~> 0.28.0) -PATH - remote: decidim-valid_auth - specs: - decidim-valid_auth (0.0.3) - decidim-verifications (~> 0.28.0) - GEM remote: https://rubygems.org/ specs: - actioncable (6.1.7.8) - actionpack (= 6.1.7.8) - activesupport (= 6.1.7.8) + actioncable (6.1.7.9) + actionpack (= 6.1.7.9) + activesupport (= 6.1.7.9) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.8) - actionpack (= 6.1.7.8) - activejob (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) + actionmailbox (6.1.7.9) + actionpack (= 6.1.7.9) + activejob (= 6.1.7.9) + activerecord (= 6.1.7.9) + activestorage (= 6.1.7.9) + activesupport (= 6.1.7.9) mail (>= 2.7.1) - actionmailer (6.1.7.8) - actionpack (= 6.1.7.8) - actionview (= 6.1.7.8) - activejob (= 6.1.7.8) - activesupport (= 6.1.7.8) + actionmailer (6.1.7.9) + actionpack (= 6.1.7.9) + actionview (= 6.1.7.9) + activejob (= 6.1.7.9) + activesupport (= 6.1.7.9) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.7.8) - actionview (= 6.1.7.8) - activesupport (= 6.1.7.8) + actionpack (6.1.7.9) + actionview (= 6.1.7.9) + activesupport (= 6.1.7.9) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.8) - actionpack (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) + actiontext (6.1.7.9) + actionpack (= 6.1.7.9) + activerecord (= 6.1.7.9) + activestorage (= 6.1.7.9) + activesupport (= 6.1.7.9) nokogiri (>= 1.8.5) - actionview (6.1.7.8) - activesupport (= 6.1.7.8) + actionview (6.1.7.9) + activesupport (= 6.1.7.9) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -110,31 +298,32 @@ GEM active_link_to (1.0.5) actionpack addressable - activejob (6.1.7.8) - activesupport (= 6.1.7.8) + activejob (6.1.7.9) + activesupport (= 6.1.7.9) globalid (>= 0.3.6) - activemodel (6.1.7.8) - activesupport (= 6.1.7.8) - activerecord (6.1.7.8) - activemodel (= 6.1.7.8) - activesupport (= 6.1.7.8) - activestorage (6.1.7.8) - actionpack (= 6.1.7.8) - activejob (= 6.1.7.8) - activerecord (= 6.1.7.8) - activesupport (= 6.1.7.8) + activemodel (6.1.7.9) + activesupport (= 6.1.7.9) + activerecord (6.1.7.9) + activemodel (= 6.1.7.9) + activesupport (= 6.1.7.9) + activestorage (6.1.7.9) + actionpack (= 6.1.7.9) + activejob (= 6.1.7.9) + activerecord (= 6.1.7.9) + activesupport (= 6.1.7.9) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.7.8) + activesupport (6.1.7.9) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) zeitwerk (~> 2.3) - acts_as_list (1.1.0) - activerecord (>= 4.2) - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) + acts_as_list (1.2.3) + activerecord (>= 6.1) + activesupport (>= 6.1) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) ast (2.4.2) aws-eventstream (1.3.0) aws-partitions (1.896.0) @@ -158,20 +347,20 @@ GEM base64 (0.2.0) batch-loader (1.5.0) bcrypt (3.1.20) - better_html (2.0.2) + better_html (2.1.1) actionview (>= 6.0) activesupport (>= 6.0) ast (~> 2.0) erubi (~> 1.4) parser (>= 2.4) smart_properties - bigdecimal (3.1.6) + bigdecimal (3.1.8) bindex (0.8.1) bootsnap (1.18.3) msgpack (~> 1.2) browser (2.7.1) - builder (3.2.4) - bullet (7.1.6) + builder (3.3.0) + bullet (7.2.0) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) byebug (11.1.3) @@ -184,7 +373,7 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (2.2.5) + carrierwave (2.2.6) activemodel (>= 5.0.0) activesupport (>= 5.0.0) addressable (~> 2.6) @@ -203,7 +392,7 @@ GEM cells-rails (0.1.5) actionpack (>= 5.0) cells (>= 4.1.6, < 5.0.0) - charlock_holmes (0.7.7) + charlock_holmes (0.7.9) chef-utils (18.1.0) concurrent-ruby cmdparse (3.0.7) @@ -212,14 +401,15 @@ GEM simplecov colorize (0.8.1) commonmarker (0.23.10) - concurrent-ruby (1.2.3) + concurrent-ruby (1.3.4) connection_pool (2.4.1) crack (1.0.0) bigdecimal rexml crass (1.0.6) - css_parser (1.16.0) + css_parser (1.19.1) addressable + csv (3.3.0) dalli (3.2.8) database_cleaner (2.0.2) database_cleaner-active_record (>= 2, < 3) @@ -231,179 +421,6 @@ GEM date_validator (0.12.0) activemodel (>= 3) activesupport (>= 3) - decidim (0.28.3) - decidim-accountability (= 0.28.3) - decidim-admin (= 0.28.3) - decidim-api (= 0.28.3) - decidim-assemblies (= 0.28.3) - decidim-blogs (= 0.28.3) - decidim-budgets (= 0.28.3) - decidim-comments (= 0.28.3) - decidim-core (= 0.28.3) - decidim-debates (= 0.28.3) - decidim-forms (= 0.28.3) - decidim-generators (= 0.28.3) - decidim-meetings (= 0.28.3) - decidim-pages (= 0.28.3) - decidim-participatory_processes (= 0.28.3) - decidim-proposals (= 0.28.3) - decidim-sortitions (= 0.28.3) - decidim-surveys (= 0.28.3) - decidim-system (= 0.28.3) - decidim-verifications (= 0.28.3) - decidim-accountability (0.28.3) - decidim-comments (= 0.28.3) - decidim-core (= 0.28.3) - decidim-admin (0.28.3) - active_link_to (~> 1.0) - decidim-core (= 0.28.3) - devise (~> 4.7) - devise-i18n (~> 1.2) - devise_invitable (~> 2.0, >= 2.0.9) - decidim-api (0.28.3) - commonmarker (~> 0.23.0, >= 0.23.9) - decidim-core (= 0.28.3) - graphql (~> 2.0.0) - graphql-docs (~> 3.0.1) - rack-cors (~> 1.0) - decidim-assemblies (0.28.3) - decidim-core (= 0.28.3) - decidim-blogs (0.28.3) - decidim-admin (= 0.28.3) - decidim-comments (= 0.28.3) - decidim-core (= 0.28.3) - decidim-budgets (0.28.3) - decidim-comments (= 0.28.3) - decidim-core (= 0.28.3) - decidim-comments (0.28.3) - decidim-core (= 0.28.3) - redcarpet (~> 3.5, >= 3.5.1) - decidim-core (0.28.3) - active_link_to (~> 1.0) - acts_as_list (~> 1.0) - batch-loader (~> 1.2) - browser (~> 2.7) - carrierwave (~> 2.2.5, >= 2.2.5) - cells-erb (~> 0.1.0) - cells-rails (~> 0.1.3) - charlock_holmes (~> 0.7) - date_validator (~> 0.12.0) - devise (~> 4.7) - devise-i18n (~> 1.2, < 1.11.1) - 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) - 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) - 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) - pg_search (~> 2.2) - premailer-rails (~> 1.10) - psych (~> 4.0) - rack (~> 2.2, >= 2.2.6.4) - rack-attack (~> 6.0) - rails (~> 6.1.7, >= 6.1.7.4) - rails-i18n (~> 6.0) - ransack (~> 3.2.1) - redis (~> 4.1) - request_store (~> 1.5.0) - rubyXL (~> 3.4) - rubyzip (~> 2.0) - shakapacker (~> 7.1.0) - valid_email2 (~> 4.0) - web-push (~> 3.0) - wisper (~> 2.0) - decidim-debates (0.28.3) - decidim-comments (= 0.28.3) - decidim-core (= 0.28.3) - decidim-dev (0.28.3) - bullet (~> 7.0) - byebug (~> 11.0) - capybara (~> 3.39) - decidim (= 0.28.3) - erb_lint (~> 0.4.0) - factory_bot_rails (~> 6.2) - faker (~> 3.2) - i18n-tasks (~> 1.0) - nokogiri (~> 1.14, >= 1.14.3) - parallel_tests (~> 4.2) - puma (~> 6.2, >= 6.3.1) - rails-controller-testing (~> 1.0) - rspec (~> 3.12) - rspec-cells (~> 0.3.7) - rspec-html-matchers (~> 0.10) - rspec-rails (~> 6.0) - rspec-retry (~> 0.6.2) - rspec_junit_formatter (~> 0.6.0) - rubocop (~> 1.50.0) - rubocop-faker (~> 1.1) - rubocop-rails (~> 2.19) - rubocop-rspec (~> 2.20) - selenium-webdriver (~> 4.9) - simplecov (~> 0.22.0) - simplecov-cobertura (~> 2.1.0) - spring (~> 2.0) - spring-watcher-listen (~> 2.0) - w3c_rspec_validators (~> 0.3.0) - webmock (~> 3.18) - wisper-rspec (~> 1.0) - decidim-forms (0.28.3) - decidim-core (= 0.28.3) - wicked_pdf (~> 2.1) - wkhtmltopdf-binary (~> 0.12) - decidim-generators (0.28.3) - decidim-core (= 0.28.3) - decidim-initiatives (0.28.3) - decidim-admin (= 0.28.3) - decidim-comments (= 0.28.3) - decidim-core (= 0.28.3) - decidim-verifications (= 0.28.3) - hexapdf (~> 0.32.0) - wicked_pdf (~> 2.1) - wkhtmltopdf-binary (~> 0.12) - decidim-meetings (0.28.3) - decidim-core (= 0.28.3) - decidim-forms (= 0.28.3) - icalendar (~> 2.5) - decidim-pages (0.28.3) - decidim-core (= 0.28.3) - decidim-participatory_processes (0.28.3) - decidim-core (= 0.28.3) - decidim-proposals (0.28.3) - decidim-comments (= 0.28.3) - decidim-core (= 0.28.3) - doc2text (~> 0.4.6) - redcarpet (~> 3.5, >= 3.5.1) - decidim-sortitions (0.28.3) - decidim-admin (= 0.28.3) - decidim-comments (= 0.28.3) - decidim-core (= 0.28.3) - decidim-proposals (= 0.28.3) - decidim-surveys (0.28.3) - decidim-core (= 0.28.3) - decidim-forms (= 0.28.3) - decidim-system (0.28.3) - active_link_to (~> 1.0) - decidim-core (= 0.28.3) - devise (~> 4.7) - devise-i18n (~> 1.2) - devise_invitable (~> 2.0, >= 2.0.9) - decidim-verifications (0.28.3) - decidim-core (= 0.28.3) declarative-builder (0.1.0) declarative-option (< 0.2.0) declarative-option (0.1.0) @@ -430,7 +447,7 @@ GEM nokogiri (>= 1.13.2, < 1.17.0) rubyzip (~> 2.3.0) docile (1.4.0) - doorkeeper (5.6.9) + doorkeeper (5.7.1) railties (>= 5) doorkeeper-i18n (4.0.1) dotenv (3.1.0) @@ -446,27 +463,29 @@ GEM smart_properties erbse (0.1.4) temple - erubi (1.12.0) + erubi (1.13.0) escape_utils (1.2.2) - excon (0.109.0) + excon (0.112.0) extended-markdown-filter (0.7.0) html-pipeline (~> 2.9) - factory_bot (6.4.6) + factory_bot (6.5.0) activesupport (>= 5.0.0) factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) faker (3.2.3) i18n (>= 1.8.11, < 2) - faraday (2.9.0) - faraday-net_http (>= 2.0, < 3.2) - faraday-net_http (3.1.0) + faraday (2.12.0) + faraday-net_http (>= 2.0, < 3.4) + json + logger + faraday-net_http (3.3.0) net-http ffi (1.16.3) file_validators (3.0.0) activemodel (>= 3.2) mime-types (>= 1.0) - fog-core (2.4.0) + fog-core (2.5.0) builder excon (~> 0.71) formatador (>= 0.2, < 2.0) @@ -481,13 +500,15 @@ GEM activesupport (>= 4.1, < 7.1) railties (>= 4.1, < 7.1) gemoji (3.0.1) - geocoder (1.8.2) + geocoder (1.8.3) + base64 (>= 0.1.0) + csv (>= 3.0.0) geom2d (0.4.1) get_process_mem (0.2.7) ffi (~> 1.0) globalid (1.2.1) activesupport (>= 6.1) - graphql (2.0.29) + graphql (2.0.31) base64 graphql-docs (3.0.1) commonmarker (~> 0.16) @@ -497,23 +518,23 @@ GEM graphql (~> 2.0) html-pipeline (~> 2.9) sass (~> 3.4) - hashdiff (1.1.0) + hashdiff (1.1.1) hashie (5.0.0) hexapdf (0.32.2) cmdparse (~> 3.0, >= 3.0.3) geom2d (~> 0.3) openssl (>= 2.2.1) - highline (3.0.1) + highline (3.1.1) + reline html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) htmlentities (4.3.4) - i18n (1.14.4) + i18n (1.14.6) concurrent-ruby (~> 1.0) - i18n-tasks (1.0.13) + i18n-tasks (1.0.14) activesupport (>= 4.0.2) ast (>= 2.1.0) - better_html (>= 1.0, < 3.0) erubi highline (>= 2.0.0) i18n @@ -521,17 +542,19 @@ GEM rails-i18n rainbow (>= 2.2.2, < 4.0) terminal-table (>= 1.5.1) - icalendar (2.10.1) + icalendar (2.10.3) ice_cube (~> 0.16) - ice_cube (0.16.4) - image_processing (1.12.2) + ostruct + ice_cube (0.17.0) + image_processing (1.13.0) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) invisible_captcha (0.13.0) rails (>= 3.2.0) + io-console (0.7.2) jmespath (1.6.2) - json (2.7.1) - jwt (2.8.1) + json (2.7.2) + jwt (2.9.3) base64 kaminari (1.2.2) activesupport (>= 4.1.0) @@ -561,6 +584,7 @@ GEM listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.6.1) lograge (0.14.0) actionpack (>= 4) activesupport (>= 4) @@ -582,13 +606,14 @@ GEM mixlib-cli (~> 2.1, >= 2.1.1) mixlib-config (>= 2.2.1, < 4) mixlib-shellout - method_source (1.0.0) - mime-types (3.5.2) + method_source (1.1.0) + mime-types (3.6.0) + logger mime-types-data (~> 3.2015) - mime-types-data (3.2024.0305) - mini_magick (4.12.0) + mime-types-data (3.2024.1001) + mini_magick (4.13.2) mini_mime (1.1.5) - minitest (5.22.3) + minitest (5.25.1) mixlib-cli (2.1.8) mixlib-config (3.0.27) tomlrb @@ -599,7 +624,7 @@ GEM multi_xml (0.6.0) net-http (0.4.1) uri - net-imap (0.4.10) + net-imap (0.4.17) date net-protocol net-pop (0.1.2) @@ -608,12 +633,12 @@ GEM timeout net-smtp (0.3.4) net-protocol - nio4r (2.7.0) - nokogiri (1.16.2-aarch64-linux) + nio4r (2.7.3) + nokogiri (1.16.7-aarch64-linux) racc (~> 1.4) - nokogiri (1.16.2-arm64-darwin) + nokogiri (1.16.7-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.2-x86_64-linux) + nokogiri (1.16.7-x86_64-linux) racc (~> 1.4) oauth (1.1.0) oauth-tty (~> 1.0, >= 1.0.1) @@ -634,18 +659,19 @@ GEM rack-protection omniauth-facebook (5.0.0) omniauth-oauth2 (~> 1.2) - omniauth-google-oauth2 (1.1.1) - jwt (>= 2.0) - oauth2 (~> 2.0.6) + omniauth-google-oauth2 (1.2.0) + jwt (>= 2.9) + oauth2 (~> 2.0) omniauth (~> 2.0) - omniauth-oauth2 (~> 1.8.0) - omniauth-oauth (1.2.0) + omniauth-oauth2 (~> 1.8) + omniauth-oauth (1.2.1) oauth omniauth (>= 1.0, < 3) + rack (>= 1.6.2, < 4) omniauth-oauth2 (1.8.0) oauth2 (>= 1.4, < 3) omniauth (~> 2.0) - omniauth-rails_csrf_protection (1.0.1) + omniauth-rails_csrf_protection (1.0.2) actionpack (>= 4.2) omniauth (~> 2.0) omniauth-twitter (1.4.0) @@ -655,23 +681,24 @@ GEM origami (2.1.0) colorize (~> 0.7) orm_adapter (0.5.0) + ostruct (0.6.0) paper_trail (12.3.0) activerecord (>= 5.2) request_store (~> 1.1) - parallel (1.24.0) - parallel_tests (4.5.2) + parallel (1.26.3) + parallel_tests (4.7.2) parallel - parser (3.3.0.5) + parser (3.3.5.0) ast (~> 2.4.1) racc pg (1.4.6) - pg_search (2.3.6) - activerecord (>= 5.2) - activesupport (>= 5.2) + pg_search (2.3.7) + activerecord (>= 6.1) + activesupport (>= 6.1) polyglot (0.3.5) - premailer (1.23.0) + premailer (1.27.0) addressable - css_parser (>= 1.12.0) + css_parser (>= 1.19.0) htmlentities (>= 4.0.0) premailer-rails (1.12.0) actionmailer (>= 3) @@ -680,14 +707,14 @@ GEM progressbar (1.13.0) psych (4.0.6) stringio - public_suffix (5.0.4) + public_suffix (6.0.1) puma (6.4.2) nio4r (~> 2.0) puma_worker_killer (0.3.1) get_process_mem (~> 0.2) puma (>= 2.7) - racc (1.7.3) - rack (2.2.8.1) + racc (1.8.1) + rack (2.2.10) rack-attack (6.7.0) rack (>= 1.0, < 4) rack-cors (1.1.1) @@ -702,20 +729,20 @@ GEM rack (>= 1.3) rack-timeout (0.6.3) rack_password (1.3) - rails (6.1.7.8) - actioncable (= 6.1.7.8) - actionmailbox (= 6.1.7.8) - actionmailer (= 6.1.7.8) - actionpack (= 6.1.7.8) - actiontext (= 6.1.7.8) - actionview (= 6.1.7.8) - activejob (= 6.1.7.8) - activemodel (= 6.1.7.8) - activerecord (= 6.1.7.8) - activestorage (= 6.1.7.8) - activesupport (= 6.1.7.8) + rails (6.1.7.9) + actioncable (= 6.1.7.9) + actionmailbox (= 6.1.7.9) + actionmailer (= 6.1.7.9) + actionpack (= 6.1.7.9) + actiontext (= 6.1.7.9) + actionview (= 6.1.7.9) + activejob (= 6.1.7.9) + activemodel (= 6.1.7.9) + activerecord (= 6.1.7.9) + activestorage (= 6.1.7.9) + activesupport (= 6.1.7.9) bundler (>= 1.15.0) - railties (= 6.1.7.8) + railties (= 6.1.7.9) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) @@ -737,32 +764,34 @@ GEM rails_autoscale_agent (0.12.0) rails_serve_static_assets (0.0.5) rails_stdout_logging (0.0.5) - railties (6.1.7.8) - actionpack (= 6.1.7.8) - activesupport (= 6.1.7.8) + railties (6.1.7.9) + actionpack (= 6.1.7.9) + activesupport (= 6.1.7.9) method_source rake (>= 12.2) thor (~> 1.0) rainbow (3.1.1) - rake (13.1.0) + rake (13.2.1) ransack (3.2.1) activerecord (>= 6.1.5) activesupport (>= 6.1.5) i18n rb-fsevent (0.11.2) - rb-inotify (0.10.1) + rb-inotify (0.11.1) ffi (~> 1.0) redcarpet (3.6.0) redis (4.8.1) redis-client (0.21.0) connection_pool - regexp_parser (2.9.0) + regexp_parser (2.9.2) + reline (0.5.10) + io-console (~> 0.5) request_store (1.5.1) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.2.6) + rexml (3.3.8) rspec (3.13.0) rspec-core (~> 3.13.0) rspec-expectations (~> 3.13.0) @@ -781,14 +810,14 @@ GEM rspec-mocks (3.13.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.1) + rspec-rails (6.1.5) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) - rspec-core (~> 3.12) - rspec-expectations (~> 3.12) - rspec-mocks (~> 3.12) - rspec-support (~> 3.12) + rspec-core (~> 3.13) + rspec-expectations (~> 3.13) + rspec-mocks (~> 3.13) + rspec-support (~> 3.13) rspec-retry (0.6.2) rspec-core (> 3.3) rspec-support (3.13.1) @@ -823,9 +852,10 @@ GEM rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) ruby-progressbar (1.13.0) - ruby-vips (2.2.1) + ruby-vips (2.2.2) ffi (~> 1.12) - rubyXL (3.4.25) + logger + rubyXL (3.4.27) nokogiri (>= 1.10.8) rubyzip (>= 1.3.0) rubyzip (2.3.2) @@ -838,8 +868,9 @@ GEM ffi (~> 1.9) scout_apm (5.3.7) parser - selenium-webdriver (4.18.1) + selenium-webdriver (4.25.0) base64 (~> 0.2) + logger (~> 1.4) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) @@ -882,31 +913,31 @@ GEM sprockets (4.2.1) concurrent-ruby (~> 1.0) rack (>= 2.2.4, < 4) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) sprockets (>= 3.0.0) ssrf_filter (1.1.2) stackprof (0.2.26) statsd-ruby (1.5.0) - stringio (3.1.0) + stringio (3.1.1) temple (0.10.3) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - thor (1.3.1) - tilt (2.3.0) + thor (1.3.2) + tilt (2.4.0) timeout (0.4.1) tomlrb (2.0.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) uber (0.1.0) - unicode-display_width (2.5.0) + unicode-display_width (2.6.0) uniform_notifier (1.16.0) - uri (0.13.0) + uri (0.13.1) valid_email2 (4.0.6) activemodel (>= 3.2) mail (~> 2.5) - version_gem (1.1.3) + version_gem (1.1.4) w3c_rspec_validators (0.3.0) rails rspec @@ -925,11 +956,11 @@ GEM web-push (3.0.1) jwt (~> 2.0) openssl (~> 3.0) - webmock (3.23.0) + webmock (3.24.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket (1.2.10) + websocket (1.2.11) websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) @@ -940,7 +971,7 @@ GEM wkhtmltopdf-binary (0.12.6.6) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.13) + zeitwerk (2.6.18) PLATFORMS aarch64-linux @@ -956,19 +987,20 @@ DEPENDENCIES codecov dalli database_cleaner - decidim (= 0.28.3) + decidim! decidim-census_sms! decidim-dataviz! decidim-decidim_awesome! - decidim-dev (= 0.28.3) + decidim-dev! decidim-ephemeral_participation! - decidim-initiatives (= 0.28.3) + decidim-initiatives! + decidim-internal_evaluation! decidim-kids! decidim-navigation_maps! - decidim-sortitions (= 0.28.3) + decidim-sortitions! decidim-stats! + decidim-templates! decidim-term_customizer! - decidim-valid_auth! dotenv-rails faker foreman diff --git a/README.md b/README.md index e0f0df906..f7f1ce826 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,7 @@ Citizen Participation and Open Government Application. [![[CI] Lint](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/lint.yml/badge.svg)](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/lint.yml) [![[CI] Test](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/test.yml/badge.svg)](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/test.yml) [![[CI] Test Census SMS](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/test_census_sms.yml/badge.svg)](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/test_census_sms.yml) -[![[CI] Test Ephemeral Participation](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/test_ephemeral_participation.yml/badge.svg)](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/test_ephemeral_participation.yml) [![[CI] Test Stats](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/test_stats.yml/badge.svg)](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/test_stats.yml) -[![[CI] Test Valid Auth](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/test_valid_auth.yml/badge.svg)](https://github.com/AjuntamentdeBarcelona/decidim-barcelona/actions/workflows/test_valid_auth.yml) [![Code Climate](https://codeclimate.com/github/AjuntamentdeBarcelona/decidim-barcelona/badges/gpa.svg)](https://codeclimate.com/github/AjuntamentdeBarcelona/decidim-barcelona) This is the opensource code repository for "decidim-barcelona", based on [Decidim](https://github.com/AjuntamentdeBarcelona/decidim). diff --git a/app/packs/entrypoints/decidim_barcelona_email.scss b/app/packs/entrypoints/decidim_barcelona_email.scss index 0c95ab6a7..06c51c1ac 100644 --- a/app/packs/entrypoints/decidim_barcelona_email.scss +++ b/app/packs/entrypoints/decidim_barcelona_email.scss @@ -1,2 +1 @@ - -@import "stylesheets/email.scss"; \ No newline at end of file +@import "stylesheets/email.scss"; diff --git a/app/packs/images/bcn-logo-mobile.svg b/app/packs/images/bcn-logo-mobile.svg new file mode 100644 index 000000000..e8394d940 --- /dev/null +++ b/app/packs/images/bcn-logo-mobile.svg @@ -0,0 +1,4 @@ + + + + diff --git a/app/packs/images/bcn-logo.svg b/app/packs/images/bcn-logo.svg new file mode 100644 index 000000000..27e7a2c29 --- /dev/null +++ b/app/packs/images/bcn-logo.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/packs/stylesheets/decidim/decidim_application.scss b/app/packs/stylesheets/decidim/decidim_application.scss index 6a1261577..f4d4f6194 100644 --- a/app/packs/stylesheets/decidim/decidim_application.scss +++ b/app/packs/stylesheets/decidim/decidim_application.scss @@ -29,3 +29,137 @@ } } } + +.main-header__language-container > #trigger-dropdown-language-chooser { + gap: 0.1rem !important; + flex-direction: column; + padding: 0.25rem 0.5rem; + + span { + display: block; + font-weight: 400; + color: rgb(var(--secondary-rgb) / 1); + font-size: 14px; + } + + svg { + fill: rgb(var(--secondary-rgb) / 1); + } +} + +.main-footer__language { + z-index: 1000; +} + +.main-header__language-container > #trigger-dropdown-language-chooser:hover { + background-color: #f3f4f7 !important; + border-radius: 0.25rem; + text-decoration: underline; + text-decoration-color: rgb(var(--secondary-rgb) / 1); +} + +#dropdown-menu-language-chooser { + margin-left: 0 !important; + margin-right: 0 !important; + align-items: center !important; +} + +#dropdown-menu-language-chooser > ul > li > a { + font-size: 14px; + padding: 0.5rem; +} + +.mobile_menu__language-container { + padding-top: 12px; + padding-bottom: 12px; +} + +.brand-bar { + padding-top: 0.2rem !important; + padding-bottom: 0.2rem !important; + display: flex; + flex-direction: row; + justify-content: space-between; + width: auto; +} + +.bcn-cat-link > a { + font-weight: 600; + font-size: 20px; + color: black; + line-height: 35px; + letter-spacing: -0.5px; + background-size: 0; + text-decoration: none; + font-family: "Source Sans Pro"; +} + +.logo-mobile { + display: none; +} + +.logo-desktop { + padding-right: 0; +} + +.bcn-cat-link > a:hover { + text-decoration: underline; +} + +body > div.layout-container > header > div.brand-bar > div.bcn-logo > a > span { + display: none; +} + +@media screen and (max-width: 1279px) { + .brand-bar { + padding-right: 1rem !important; + } +} + +@media screen and (max-width: 1024px) { + .logo-desktop { + display: none; + } + + .logo-mobile { + display: block; + } +} + +@media (min-width: 768px) { + .main-header__language-container > #trigger-dropdown-language-chooser { + display: flex !important; + } +} + +@media (max-width: 1023px) { + .main-header__language-container > #trigger-dropdown-language-chooser { + flex-direction: row !important; + } + + #trigger-dropdown-language-chooser > svg { + display: none; + } + + #trigger-dropdown-language-chooser > div > svg { + display: none; + } + + #dropdown-menu-main-mobile > div.main-header__language-container { + display: flex; + flex-direction: row; + width: 10rem; + margin: auto; + color: rgb(168 44 44) !important; + font-weight: 600 !important; + } + + #dropdown-menu-language-chooser > ul > li > a, + #dropdown-menu-language-chooser > ul > li, + #trigger-dropdown-language-chooser > div > span, + #trigger-dropdown-language-chooser { + padding: 0 !important; + font-size: 1rem !important; + font-weight: 600 !important; + } +} diff --git a/app/packs/stylesheets/email.scss b/app/packs/stylesheets/email.scss index dd5360584..aa5a7d47e 100644 --- a/app/packs/stylesheets/email.scss +++ b/app/packs/stylesheets/email.scss @@ -7,6 +7,48 @@ /* 1 - Foundation settings --------- */ +$email-primary: #ffe27f; +$email-secondary: #4869ad; +$email-tertiary: #73caea; + +$email-dark-0: #666d7a; +$email-dark-100: #2c2930; + +$email-neutral-0: #fff; +$email-neutral-100: #fefefe; +$email-neutral-200: #f4f4f4; +$email-neutral-250: #f3f3f3; +$email-neutral-300: #ebebeb; +$email-neutral-350: #e5e5e5; +$email-neutral-400: #cbcbcb; +$email-neutral-450: #cacaca; +$email-neutral-500: #919191; +$email-neutral-550: #8a8a8a; +$email-neutral-600: #777; +$email-neutral-700: #666; +$email-neutral-800: #444; +$email-neutral-900: #000; +$email-neutral-1000: #0a0a0a; + +$email-success-0: #e1faea; +$email-success-100: #3adb76; +$email-success-200: #23bf5d; +$email-success-300: #1b9448; + +$email-alert-0: #fce6e2; +$email-alert-100: #ec5840; +$email-alert-200: #e23317; +$email-alert-300: #b42912; + +$email-warning-0: #fff3d9; +$email-warning-100: #ffae00; +$email-warning-200: #cc8b00; +$email-warning-300: #996800; + +$email-link-0: #def0fc; +$email-link-100: #5295ad; +$email-link-200: #147dc2; + .wrapper { width: 100%; } @@ -101,12 +143,12 @@ td { @media only screen { html { min-height: 100%; - background: #f3f3f3; + background: $email-neutral-250; } } table.body { - background: #f3f3f3; + background: $email-neutral-250; height: 100%; width: 100%; } @@ -1015,7 +1057,7 @@ p, td, th, a { - color: #0a0a0a; + color: $email-neutral-1000; font-family: Helvetica, Arial, sans-serif; font-weight: normal; padding: 0; @@ -1084,29 +1126,29 @@ p.subheader { margin-bottom: 8px; font-weight: normal; line-height: 1.4; - color: #8a8a8a; + color: $email-neutral-550; } small { font-size: 80%; - color: #cacaca; + color: $email-neutral-450; } a { - color: #5295ad; + color: $email-link-100; text-decoration: none; } a:hover { - color: #147dc2; + color: $email-link-200; } a:active { - color: #147dc2; + color: $email-link-200; } a:visited { - color: #5295ad; + color: $email-link-100; } h1 a, @@ -1121,25 +1163,25 @@ h5 a, h5 a:visited, h6 a, h6 a:visited { - color: #5295ad; + color: $email-link-100; } pre { - background: #f3f3f3; + background: $email-neutral-250; margin: 30px 0; } pre code { - color: #cacaca; + color: $email-neutral-450; } pre code span.callout { - color: #8a8a8a; + color: $email-neutral-550; font-weight: bold; } pre code span.callout-strong { - color: #ff6908; + color: $email-alert-100; font-weight: bold; } @@ -1152,7 +1194,7 @@ table.hr th { max-width: 580px; border-top: 0; border-right: 0; - border-bottom: 1px solid #0a0a0a; + border-bottom: 1px solid $email-neutral-1000; border-left: 0; margin: 20px auto; clear: both; @@ -1173,7 +1215,7 @@ span.preheader { visibility: hidden; mso-hide: all !important; font-size: 1px; - color: #f3f3f3; + color: $email-neutral-250; line-height: 1px; max-height: 0; max-width: 0; @@ -1189,24 +1231,24 @@ table.button { table.button table td { text-align: left; - color: #fefefe; - background: #c24b29; - border: 2px solid #c24b29; + color: $email-neutral-100; + background: $primary; + border: 2px solid $primary; } table.button table td a { font-family: Helvetica, Arial, sans-serif; font-size: 16px; - color: #fefefe; + color: $email-neutral-900 !important; text-decoration: none; display: inline-block; padding: 8px 16px; - border: 0 solid #c24b29; + border: 0 solid $primary; border-radius: 3px; } table.button.radius table td { - border-radius: 3px; + border-radius: 4px; border: none; } @@ -1227,7 +1269,7 @@ table.button.small table tr td a:visited, table.button.large:hover table tr td a, table.button.large:active table tr td a, table.button.large table tr td a:visited { - color: #fefefe; + color: $email-neutral-100; } table.button.tiny table td, @@ -1290,97 +1332,97 @@ table.button.expanded center { table.button:hover table td, table.button:visited table td, table.button:active table td { - background: #147dc2; - color: #fefefe; + background: $primary; + color: $email-neutral-100; } table.button:hover table a, table.button:visited table a, table.button:active table a { - border: 0 solid #147dc2; + border: 0 solid $email-link-200; } table.button.secondary table td { - background: #777; - color: #fefefe; - border: 0 solid #777; + background: $email-neutral-600; + color: $email-neutral-100; + border: 0 solid $email-neutral-600; } table.button.secondary table a { - color: #fefefe; - border: 0 solid #777; + color: $email-neutral-100; + border: 0 solid $email-neutral-600; } table.button.secondary:hover table td { - background: #919191; - color: #fefefe; + background: $email-neutral-500; + color: $email-neutral-100; } table.button.secondary:hover table a { - border: 0 solid #919191; + border: 0 solid $email-neutral-500; } table.button.secondary:hover table td a { - color: #fefefe; + color: $email-neutral-100; } table.button.secondary:active table td a { - color: #fefefe; + color: $email-neutral-100; } table.button.secondary table td a:visited { - color: #fefefe; + color: $email-neutral-100; } table.button.success table td { - background: #3adb76; - border: 0 solid #3adb76; + background: $email-success-100; + border: 0 solid $email-success-100; } table.button.success table a { - border: 0 solid #3adb76; + border: 0 solid $email-success-100; } table.button.success:hover table td { - background: #23bf5d; + background: $email-success-200; } table.button.success:hover table a { - border: 0 solid #23bf5d; + border: 0 solid $email-success-200; } table.button.alert table td { - background: #ec5840; - border: 0 solid #ec5840; + background: $email-alert-100; + border: 0 solid $email-alert-100; } table.button.alert table a { - border: 0 solid #ec5840; + border: 0 solid $email-alert-100; } table.button.alert:hover table td { - background: #e23317; + background: $email-alert-200; } table.button.alert:hover table a { - border: 0 solid #e23317; + border: 0 solid $email-alert-200; } table.button.warning table td { - background: #ffae00; - border: 0 solid #ffae00; + background: $email-warning-100; + border: 0 solid $email-warning-100; } table.button.warning table a { - border: 0 solid #ffae00; + border: 0 solid $email-warning-100; } table.button.warning:hover table td { - background: #cc8b00; + background: $email-warning-200; } table.button.warning:hover table a { - border: 0 solid #cc8b00; + border: 0 solid $email-warning-200; } table.callout { @@ -1389,43 +1431,43 @@ table.callout { th.callout-inner { width: 100%; - border: 1px solid #cbcbcb; + border: 1px solid $email-neutral-400; padding: 10px; - background: #fefefe; + background: $email-neutral-100; } th.callout-inner.primary { - background: #def0fc; - border: 1px solid #444; - color: #0a0a0a; + background: $email-link-0; + border: 1px solid $email-neutral-800; + color: $email-neutral-1000; } th.callout-inner.secondary { - background: #ebebeb; - border: 1px solid #444; - color: #0a0a0a; + background: $email-neutral-300; + border: 1px solid $email-neutral-800; + color: $email-neutral-1000; } th.callout-inner.success { - background: #e1faea; - border: 1px solid #1b9448; - color: #fefefe; + background: $email-success-0; + border: 1px solid $email-success-300; + color: $email-neutral-100; } th.callout-inner.warning { - background: #fff3d9; - border: 1px solid #996800; - color: #fefefe; + background: $email-warning-0; + border: 1px solid $email-warning-300; + color: $email-neutral-100; } th.callout-inner.alert { - background: #fce6e2; - border: 1px solid #b42912; - color: #fefefe; + background: $email-alert-0; + border: 1px solid $email-alert-300; + color: $email-neutral-100; } .thumbnail { - border: solid 4px #fefefe; + border: solid 4px $email-neutral-100; box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2); display: inline-block; line-height: 0; @@ -1452,7 +1494,7 @@ table.menu th.menu-item { table.menu td.menu-item a, table.menu th.menu-item a { - color: #5295ad; + color: $email-link-100; } table.menu.vertical td.menu-item, @@ -1724,11 +1766,11 @@ body.outlook p { table.body th.decidim-bar, table.body td.decidim-bar { padding: 10px 0; - background-color: #f3f3f3; + background-color: $email-primary; } table.body { - background-color: #f3f3f3; + background-color: $email-neutral-250; margin: 20px 0; } @@ -1742,7 +1784,7 @@ table.body { } .cityhall-bar { - background-color: #2c2930; + background-color: $email-dark-100; } .cityhall-logo { @@ -1753,12 +1795,12 @@ table.body { .footnote, .headnote { padding-top: 10px; - color: #666; + color: $email-neutral-700; font-size: 12px; } table.container.main { - background: #fefefe; + background: $email-neutral-100; } .custom-button { @@ -1794,7 +1836,7 @@ td { margin-bottom: 32px; font-size: 16px; font-weight: bold; - color: #2c2930; + color: $email-dark-100; display: inline-block; width: 49%; @@ -1809,16 +1851,16 @@ td { } .email-content-notifications { - background-color: #f4f4f4; + background-color: $email-neutral-200; border-radius: 5px; - border: 1px #e5e5e5; + border: 1px $email-neutral-350; padding: 16px; margin: 32px 0; } .email-content-notification { p a { - color: #327f9b; + color: $email-link-100; font-weight: bold; text-decoration: underline; } @@ -1826,15 +1868,15 @@ td { .email-element-separator { margin: 24px 0; - color: #e5e5e5; - border-color: #e5e5e5; + color: $email-neutral-350; + border-color: $email-neutral-350; height: 0; border-style: solid; border-width: 1px; } .email-notification-date { - color: #666d7a; + color: $email-dark-0; display: block; margin-bottom: 10px; } @@ -1850,7 +1892,7 @@ td { text-align: center; display: inline-block; padding: 10px; - color: #5295ad; + color: $email-link-100; text-decoration: none; } } diff --git a/app/permissions/concerns/decidim/initiatives/admin/permissions_override.rb b/app/permissions/concerns/decidim/initiatives/admin/permissions_override.rb index aa227f763..d6d535853 100644 --- a/app/permissions/concerns/decidim/initiatives/admin/permissions_override.rb +++ b/app/permissions/concerns/decidim/initiatives/admin/permissions_override.rb @@ -10,8 +10,8 @@ def initiative_admin_user_action? return unless permission_action.subject == :initiative case permission_action.action - when :read - toggle_allow(Decidim::Initiatives.print_enabled) + when :print + toggle_allow(Decidim::Initiatives.print_enabled && user.admin?) when :publish, :discard toggle_allow(initiative.validating?) when :unpublish diff --git a/app/views/decidim/accountability/results/_scope_filters.html.erb b/app/views/decidim/accountability/results/_scope_filters.html.erb index 7c648c9d6..8a1002278 100644 --- a/app/views/decidim/accountability/results/_scope_filters.html.erb +++ b/app/views/decidim/accountability/results/_scope_filters.html.erb @@ -5,7 +5,7 @@ <% if current_component.has_subscopes? && !hide_subscopes %>
-
+
+ withdrawnAt (DateTime) +
+

The date and time this proposal was withdrawn

+
+
+
+ withdrawn (Boolean) +
+

Whether this proposal has been withdrawn or not

+
+
voteCount (Int)
diff --git a/config/initializers/decidim.rb b/config/initializers/decidim.rb index 38d39eae7..852c15803 100644 --- a/config/initializers/decidim.rb +++ b/config/initializers/decidim.rb @@ -378,6 +378,8 @@ # Additional optional configurations (see decidim-core/lib/decidim/core.rb) config.cache_key_separator = Rails.application.secrets.decidim[:cache_key_separator] if Rails.application.secrets.decidim[:cache_key_separator].present? + config.cache_expiry_time = Rails.application.secrets.decidim[:cache_expiry_time].to_i.minutes if Rails.application.secrets.decidim[:cache_expiry_time].present? + config.stats_cache_expiry_time = Rails.application.secrets.decidim[:stats_cache_expiry_time].to_i.minutes if Rails.application.secrets.decidim[:stats_cache_expiry_time].present? config.expire_session_after = Rails.application.secrets.decidim[:expire_session_after].to_i.minutes if Rails.application.secrets.decidim[:expire_session_after].present? config.enable_remember_me = Rails.application.secrets.decidim[:enable_remember_me].present? unless Rails.application.secrets.decidim[:enable_remember_me] == "auto" if Rails.application.secrets.decidim[:session_timeout_interval].present? diff --git a/config/initializers/decidim_overrides.rb b/config/initializers/decidim_overrides.rb index 2e9fe9463..3df4c8b2c 100644 --- a/config/initializers/decidim_overrides.rb +++ b/config/initializers/decidim_overrides.rb @@ -22,10 +22,4 @@ Decidim::Forms::QuestionnaireUserAnswers.include(Decidim::Forms::QuestionnaireUserAnswersOverride) Decidim::Proposals::ApplicationHelper.include(Decidim::Proposals::ApplicationHelperOverride) Decidim::Assemblies::AssembliesController.include(Decidim::Assemblies::AssembliesControllerOverride) - # This last one will be removed once https://github.com/decidim/decidim/pull/13402 is used - Decidim::ViewModel.class_eval do - def cache_expiry_time - 5.minutes - end - end end diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 444013798..fa8528c5c 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -154,6 +154,44 @@ ca: postal_code: Codi postal time_and_date: Data i hora timestamp: Segell + filters: + proposals: + evaluated_by_user: + label: Avaluació + values: + "false": No avaluat + "true": Avaluat + internal_evaluation: + admin: + internal_evaluations: + create: + error: "Hi ha hagut un problema en crear l'avaluació interna: %{message}" + success: Avaluació interna creada correctament. + form: + save: Desar + status: Estat + title: Avaluació per a %{title} + index: + actions: Accions + counter: "%{count} de %{total} avaluacions" + edit_evaluation: Edita l'avaluació + evaluation: Avaluació + status: Estat + title: Avaluacions internes + updated: Actualitzat + update: + error: "Hi ha hagut un problema en actualitzar l'avaluació interna: %{message}" + success: Avaluació interna actualitzada correctament. + valuation_assignments_evaluations: + edit_evaluation: Edita l'avaluació + proposals: + admin: + exports: + internal_evaluations: Avaluacions internes + models: + proposal: + fields: + valuators: Estat de l'avaluació authorization_handlers: census16_authorization_handler: explanation: Verifica't amb el padró @@ -293,11 +331,17 @@ ca: valid_auth: Valid auth layouts: decidim: + header: + main: + organization_logo: Logo Ajuntament de Barcelona initiative_header_steps: signature_collection_period: Recollida de signatures system: login_items: logout: Tancar sessió + locale: + name: Català + name_with_error: Català (¡error!) errors: messages: not_in_district: El codi postal no pertany al districte diff --git a/config/locales/en.yml b/config/locales/en.yml index 25efe5f52..5e81defee 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -19,5 +19,8 @@ en: decidim: initiative_header_steps: signature_collection_period: Recollida de signatures + locale: + name: English + name_with_error: English (error!) menu: accountability_static: Accountability diff --git a/config/locales/es.yml b/config/locales/es.yml index f0de5e4ab..f0cd157fd 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -154,6 +154,44 @@ es: postal_code: Código postal time_and_date: Fecha y hora timestamp: Sello + filters: + proposals: + evaluated_by_user: + label: Evaluación + values: + "false": No evaluado + "true": Evaluado + internal_evaluation: + admin: + internal_evaluations: + create: + error: "Hubo un problema al crear la evaluación interna: %{message}" + success: Evaluación interna creada correctamente. + form: + save: Guardar + status: Estado + title: Evaluación para %{title} + index: + actions: Acciones + counter: "%{count} de %{total} evaluaciones" + edit_evaluation: Editar evaluación + evaluation: Evaluación + status: Estado + title: Evaluaciones internas + updated: Actualizado + update: + error: "Hubo un problema al actualizar la evaluación interna: %{message}" + success: Evaluación interna actualizada correctamente. + valuation_assignments_evaluations: + edit_evaluation: Editar evaluación + proposals: + admin: + exports: + internal_evaluations: Evaluaciones internas + models: + proposal: + fields: + valuators: Estado de la evaluación authorization_handlers: census16_authorization_handler: explanation: Verifícate con el padrón @@ -286,11 +324,17 @@ es: census_sarria_sant_gervasi_authorization_handler: Verifícate con el padrón (8+) layouts: decidim: + header: + main: + organization_logo: Logo Ayuntamiento de Barcelona initiative_header_steps: signature_collection_period: Recogida de firmas system: login_items: logout: Cerrar sesión + locale: + name: Castellano + name_with_error: Castellano (¡error!) errors: messages: not_in_district: El código postal no pertenece al distrito diff --git a/config/secrets.yml b/config/secrets.yml index d7136965c..7dd3d823a 100644 --- a/config/secrets.yml +++ b/config/secrets.yml @@ -33,6 +33,8 @@ decidim_default: &decidim_default default_csv_col_sep: <%= Decidim::Env.new("DECIDIM_DEFAULT_CSV_COL_SEP", ";").to_json %> consent_cookie_name: <%= Decidim::Env.new("DECIDIM_CONSENT_COOKIE_NAME", "decidim-consent").to_json %> cache_key_separator: <%= Decidim::Env.new("DECIDIM_CACHE_KEY_SEPARATOR", "/").to_json %> + cache_expiry_time: <%= Decidim::Env.new("DECIDIM_CACHE_EXPIRATION_TIME", "1440").to_i %> + stats_cache_expiry_time: <%= Decidim::Env.new("DECIDIM_STATS_CACHE_EXPIRATION_TIME", 10).to_i %> expire_session_after: <%= Decidim::Env.new("DECIDIM_EXPIRE_SESSION_AFTER", "30").to_i %> session_timeout_interval: <%= Decidim::Env.new("DECIDIM_SESSION_TIMEOUT_INTERVAL", "10").to_i %> enable_remember_me: <%= Decidim::Env.new("DECIDIM_ENABLE_REMEMBER_ME", "auto").default_or_present_if_exists.to_s %> diff --git a/db/migrate/20241014151251_add_withdrawn_at_field_to_proposals.decidim_proposals.rb b/db/migrate/20241014151251_add_withdrawn_at_field_to_proposals.decidim_proposals.rb new file mode 100644 index 000000000..53d023700 --- /dev/null +++ b/db/migrate/20241014151251_add_withdrawn_at_field_to_proposals.decidim_proposals.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true +# This migration comes from decidim_proposals (originally 20240110203500) + +class AddWithdrawnAtFieldToProposals < ActiveRecord::Migration[6.1] + class CustomProposal < Decidim::Proposals::ApplicationRecord + self.table_name = "decidim_proposals_proposals" + STATES = { not_answered: 0, evaluating: 10, accepted: 20, rejected: -10, withdrawn: -20 }.freeze + enum state: STATES, _default: "not_answered" + end + + def up + add_column :decidim_proposals_proposals, :withdrawn_at, :datetime + + CustomProposal.withdrawn.find_each do |proposal| + proposal.withdrawn_at = proposal.updated_at + proposal.save! + end + end + + def down + CustomProposal.where.not(withdrawn_at: null).find_each do |proposal| + proposal.state = :withdrawn + proposal.save! + end + + remove_column :decidim_proposals_proposals, :withdrawn_at + end +end diff --git a/db/migrate/20241014151252_create_decidim_proposals_proposal_state.decidim_proposals.rb b/db/migrate/20241014151252_create_decidim_proposals_proposal_state.decidim_proposals.rb new file mode 100644 index 000000000..8721f6935 --- /dev/null +++ b/db/migrate/20241014151252_create_decidim_proposals_proposal_state.decidim_proposals.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true +# This migration comes from decidim_proposals (originally 20240110203501) + +class CreateDecidimProposalsProposalState < ActiveRecord::Migration[6.1] + def change + create_table :decidim_proposals_proposal_states do |t| + t.jsonb :title + t.jsonb :announcement_title + t.string :token, null: false + t.references :decidim_component, index: true, null: false + t.integer :proposals_count, default: 0, null: false + t.string :bg_color, default: "#F6F8FA", null: false + t.string :text_color, default: "#4B5058", null: false + end + end +end diff --git a/db/migrate/20241014151253_add_state_id_to_decidim_proposals_proposals.decidim_proposals.rb b/db/migrate/20241014151253_add_state_id_to_decidim_proposals_proposals.decidim_proposals.rb new file mode 100644 index 000000000..c1bc21c6a --- /dev/null +++ b/db/migrate/20241014151253_add_state_id_to_decidim_proposals_proposals.decidim_proposals.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true +# This migration comes from decidim_proposals (originally 20240110203502) + +class AddStateIdToDecidimProposalsProposals < ActiveRecord::Migration[6.1] + def up + add_column :decidim_proposals_proposals, :decidim_proposals_proposal_state_id, :integer, index: true + add_foreign_key :decidim_proposals_proposals, :decidim_proposals_proposal_states, column: :decidim_proposals_proposal_state_id + end + + def down + remove_foreign_key :decidim_proposals_proposals, column: :decidim_proposals_proposal_state_id + remove_column :decidim_proposals_proposals, :decidim_proposals_proposal_state_id + end +end diff --git a/db/migrate/20241014151254_remove_state_from_decidim_proposals_proposals.decidim_proposals.rb b/db/migrate/20241014151254_remove_state_from_decidim_proposals_proposals.decidim_proposals.rb new file mode 100644 index 000000000..0503308e3 --- /dev/null +++ b/db/migrate/20241014151254_remove_state_from_decidim_proposals_proposals.decidim_proposals.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true +# This migration comes from decidim_proposals (originally 20240110203503) + +class RemoveStateFromDecidimProposalsProposals < ActiveRecord::Migration[6.1] + def up + rename_column :decidim_proposals_proposals, :state, :old_state + end + + def down + rename_column :decidim_proposals_proposals, :old_state, :state + end +end diff --git a/db/migrate/20241014151255_create_default_proposal_states.decidim_proposals.rb b/db/migrate/20241014151255_create_default_proposal_states.decidim_proposals.rb new file mode 100644 index 000000000..f7b802dd9 --- /dev/null +++ b/db/migrate/20241014151255_create_default_proposal_states.decidim_proposals.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true +# This migration comes from decidim_proposals (originally 20240110203504) + +class CreateDefaultProposalStates < ActiveRecord::Migration[6.1] + class CustomProposal < ApplicationRecord + belongs_to :proposal_state, + class_name: "Decidim::Proposals::ProposalState", + foreign_key: "decidim_proposals_proposal_state_id", + inverse_of: :proposals, + optional: true + + self.table_name = :decidim_proposals_proposals + STATES = { not_answered: 0, evaluating: 10, accepted: 20, rejected: -10 }.freeze + enum old_state: STATES, _default: "not_answered" + end + + def up + CustomProposal.reset_column_information + Decidim::Proposals::ProposalState.reset_column_information + Decidim::Component.where(manifest_name: "proposals").find_each do |component| + admin_user = component.organization.admins.first + Decidim::Proposals.create_default_states!(component, admin_user) + + CustomProposal.where(decidim_component_id: component.id).find_each do |proposal| + next if proposal.old_state == "not_answered" + next if proposal.old_state.nil? + + token = I18n.t("decidim.proposals.answers.#{proposal.old_state}").downcase.tr(" ", "_").tr("ó", "o") + proposal.update!(proposal_state: Decidim::Proposals::ProposalState.where(component:, token:).first!) + end + end + end + + def down + raise ActiveRecord::IrreversibleMigration + end +end diff --git a/db/migrate/20241014151256_change_color_fields_on_proposals_states.decidim_proposals.rb b/db/migrate/20241014151256_change_color_fields_on_proposals_states.decidim_proposals.rb new file mode 100644 index 000000000..b35233688 --- /dev/null +++ b/db/migrate/20241014151256_change_color_fields_on_proposals_states.decidim_proposals.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true +# This migration comes from decidim_proposals (originally 20240209092404) + +class ChangeColorFieldsOnProposalsStates < ActiveRecord::Migration[6.1] + class ProposalState < ApplicationRecord + self.table_name = :decidim_proposals_proposal_states + + def self.colors + { + gray: { + background: "#F6F8FA", + foreground: "#4B5058" + }, + green: { + background: "#E3FCE9", + foreground: "#15602C" + }, + orange: { + background: "#FFF1E5", + foreground: "#BC4C00" + }, + red: { + background: "#FFEBE9", + foreground: "#D1242F" + } + } + end + end + + def up + colors = ProposalState.colors + + # rubocop:disable Rails/SkipsModelValidations + ProposalState.where(token: :accepted).update_all( + bg_color: colors[:green][:background], text_color: colors[:green][:foreground] + ) + ProposalState.where(token: :evaluating).update_all( + bg_color: colors[:orange][:background], text_color: colors[:orange][:foreground] + ) + ProposalState.where(token: :rejected).update_all( + bg_color: colors[:red][:background], text_color: colors[:red][:foreground] + ) + # rubocop:enable Rails/SkipsModelValidations + end + + def down + raise ActiveRecord::IrreversibleMigration + end +end diff --git a/db/migrate/20241015093724_create_decidim_internal_evaluation_internal_evaluations.decidim_internal_evaluation.rb b/db/migrate/20241015093724_create_decidim_internal_evaluation_internal_evaluations.decidim_internal_evaluation.rb new file mode 100644 index 000000000..f4f05ef2e --- /dev/null +++ b/db/migrate/20241015093724_create_decidim_internal_evaluation_internal_evaluations.decidim_internal_evaluation.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true +# This migration comes from decidim_internal_evaluation (originally 20240625151452) + +class CreateDecidimInternalEvaluationInternalEvaluations < ActiveRecord::Migration[6.1] + def change + create_table :decidim_internal_evaluation_internal_evaluations do |t| + t.references :decidim_proposal, null: false, index: { name: "index_decidim_internal_evaluations_on_proposal" } + t.references :decidim_proposal_state, index: { name: "index_decidim_internal_evaluations_on_proposal_state" } + t.references :decidim_author, null: false, index: { name: "index_decidim_internal_evaluations_on_author" } + t.jsonb :body + + t.timestamps + end + end +end diff --git a/db/migrate/20241015093725_change_internal_evaluations_body_to_text.decidim_internal_evaluation.rb b/db/migrate/20241015093725_change_internal_evaluations_body_to_text.decidim_internal_evaluation.rb new file mode 100644 index 000000000..ae4e35795 --- /dev/null +++ b/db/migrate/20241015093725_change_internal_evaluations_body_to_text.decidim_internal_evaluation.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true +# This migration comes from decidim_internal_evaluation (originally 20240715150021) + +class ChangeInternalEvaluationsBodyToText < ActiveRecord::Migration[6.1] + def up + change_column :decidim_internal_evaluation_internal_evaluations, :body, :text + end + + def down + change_column :decidim_internal_evaluation_internal_evaluations, :body, :jsonb + end +end diff --git a/db/migrate/20241031144530_add_email_on_assigned_proposals_to_users.decidim_proposals.rb b/db/migrate/20241031144530_add_email_on_assigned_proposals_to_users.decidim_proposals.rb new file mode 100644 index 000000000..6c04835fe --- /dev/null +++ b/db/migrate/20241031144530_add_email_on_assigned_proposals_to_users.decidim_proposals.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim_proposals (originally 20240617091140) + +class AddEmailOnAssignedProposalsToUsers < ActiveRecord::Migration[6.1] + def change + add_column :decidim_users, :email_on_assigned_proposals, :boolean, default: true + end +end diff --git a/db/schema.rb b/db/schema.rb index 463b5dce8..498610a5d 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2024_08_13_060359) do +ActiveRecord::Schema.define(version: 2024_10_31_144530) do # These are extensions that must be enabled in order to support this database enable_extension "ltree" @@ -848,6 +848,18 @@ t.index ["hash_id"], name: "index_decidim_initiatives_votes_on_hash_id" end + create_table "decidim_internal_evaluation_internal_evaluations", force: :cascade do |t| + t.bigint "decidim_proposal_id", null: false + t.bigint "decidim_proposal_state_id" + t.bigint "decidim_author_id", null: false + t.text "body" + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + t.index ["decidim_author_id"], name: "index_decidim_internal_evaluations_on_author" + t.index ["decidim_proposal_id"], name: "index_decidim_internal_evaluations_on_proposal" + t.index ["decidim_proposal_state_id"], name: "index_decidim_internal_evaluations_on_proposal_state" + end + create_table "decidim_kids_impersonation_minor_logs", force: :cascade do |t| t.bigint "decidim_tutor_id" t.bigint "decidim_minor_id" @@ -1446,6 +1458,17 @@ t.index ["decidim_proposal_id"], name: "decidim_proposals_proposal_note_proposal" end + create_table "decidim_proposals_proposal_states", force: :cascade do |t| + t.jsonb "title" + t.jsonb "announcement_title" + t.string "token", null: false + t.bigint "decidim_component_id", null: false + t.integer "proposals_count", default: 0, null: false + t.string "bg_color", default: "#F6F8FA", null: false + t.string "text_color", default: "#4B5058", null: false + t.index ["decidim_component_id"], name: "index_decidim_proposals_proposal_states_on_decidim_component_id" + end + create_table "decidim_proposals_proposal_votes", id: :serial, force: :cascade do |t| t.integer "decidim_proposal_id", null: false t.integer "decidim_author_id", null: false @@ -1485,8 +1508,10 @@ t.jsonb "title" t.jsonb "body" t.integer "follows_count", default: 0, null: false - t.integer "state", default: 0, null: false + t.integer "old_state", default: 0, null: false t.integer "valuation_assignments_count", default: 0 + t.datetime "withdrawn_at" + t.integer "decidim_proposals_proposal_state_id" t.index "md5((body)::text)", name: "decidim_proposals_proposal_body_search" t.index "md5((title)::text)", name: "decidim_proposals_proposal_title_search" t.index ["created_at"], name: "index_decidim_proposals_proposals_on_created_at" @@ -1855,6 +1880,7 @@ t.datetime "digest_sent_at" t.datetime "password_updated_at" t.string "previous_passwords", default: [], array: true + t.boolean "email_on_assigned_proposals", default: true t.index ["confirmation_token"], name: "index_decidim_users_on_confirmation_token", unique: true t.index ["decidim_organization_id"], name: "index_decidim_users_on_decidim_organization_id" t.index ["email", "decidim_organization_id"], name: "index_decidim_users_on_email_and_decidim_organization_id", unique: true, where: "((deleted_at IS NULL) AND (managed = false) AND ((type)::text = 'Decidim::User'::text))" @@ -1986,6 +2012,7 @@ add_foreign_key "decidim_participatory_processes", "decidim_organizations" add_foreign_key "decidim_participatory_processes", "decidim_participatory_process_types" add_foreign_key "decidim_participatory_processes", "decidim_scope_types" + add_foreign_key "decidim_proposals_proposals", "decidim_proposals_proposal_states" add_foreign_key "decidim_reminder_deliveries", "decidim_reminders" add_foreign_key "decidim_reminder_records", "decidim_reminders" add_foreign_key "decidim_reminders", "decidim_components" diff --git a/decidim-ephemeral_participation/lib/tasks/purge_unused_verifications.rake b/decidim-ephemeral_participation/lib/tasks/purge_unused_verifications.rake index 8c0c3385a..348de453f 100644 --- a/decidim-ephemeral_participation/lib/tasks/purge_unused_verifications.rake +++ b/decidim-ephemeral_participation/lib/tasks/purge_unused_verifications.rake @@ -19,7 +19,7 @@ namespace :decidim do end def lost_ephemeral_users - Decidim::User.ephemeral_participant.where("updated_at < ?", 12.hours.ago).where("id NOT IN (SELECT decidim_user_id FROM decidim_budgets_orders)") + Decidim::User.ephemeral_participant.where(updated_at: ...12.hours.ago).where("id NOT IN (SELECT decidim_user_id FROM decidim_budgets_orders)") end def conflicts_for(user) diff --git a/package-lock.json b/package-lock.json index da337a4ef..73cbc62b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4998,28 +4998,10 @@ "@types/node": "*" } }, - "node_modules/@types/eslint": { - "version": "8.56.5", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz", - "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, "node_modules/@types/express": { "version": "4.17.21", @@ -5189,9 +5171,9 @@ "peer": true }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -5208,9 +5190,9 @@ "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", @@ -5228,14 +5210,14 @@ "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "@webassemblyjs/wasm-gen": "1.12.1" } }, "node_modules/@webassemblyjs/ieee754": { @@ -5260,26 +5242,26 @@ "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", "@webassemblyjs/leb128": "1.11.6", @@ -5287,22 +5269,22 @@ } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", "@webassemblyjs/ieee754": "1.11.6", @@ -5311,11 +5293,11 @@ } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -5449,10 +5431,10 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "peerDependencies": { "acorn": "^8" } @@ -7869,9 +7851,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", - "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -17770,9 +17752,9 @@ "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -17804,25 +17786,24 @@ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" }, "node_modules/webpack": { - "version": "5.90.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", - "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", "dependencies": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", + "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -17830,7 +17811,7 @@ "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { diff --git a/public/robots.txt b/public/robots.txt index cbff3ff52..8e422044f 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -13,6 +13,8 @@ Disallow: /processes/143/f/4568/proposals Disallow: /processes/canviempelclima/f/4568/proposals Disallow: /processes/245/f/5649/proposals Disallow: /processes/documentacio/f/5649/proposals +Disallow: /processes/pressupostos2024/f/6464/proposals +Disallow: /processes/380/f/6464/proposals Disallow: /assemblies/476/f/5426/proposals Disallow: /assemblies/sectorempresarial/f/5426/proposals Disallow: /assemblies/481/f/5789/proposals diff --git a/spec/lib/overrides_spec.rb b/spec/lib/overrides_spec.rb index 836cddc57..26b3da048 100644 --- a/spec/lib/overrides_spec.rb +++ b/spec/lib/overrides_spec.rb @@ -21,13 +21,14 @@ "/app/permissions/decidim/permissions.rb" => "36a9c31bbf17685e80acff49f6e9b0ca", # ephemeral participation overrides "/app/views/decidim/shared/_login_modal.html.erb" => "a29d4fcebe8c689044e3c15f6144f3d1", # ephemeral participation overrides "/app/views/layouts/decidim/mailer.html.erb" => "4e308c82acd8b1dac405ff71963d8743", + "/app/views/layouts/decidim/newsletter_base.html.erb" => "44095c3df64a4fea34f46b61bb840b31", "/app/views/layouts/decidim/footer/_main_links.html.erb" => "e35f39aa247534377219915b1632e354", # ephemeral participation overrides "/app/views/layouts/decidim/header/_main_links_dropdown.html.erb" => "a369664c2bb36cbd2b10d90d9a7469cf", # ephemeral participation overrides "/app/cells/decidim/content_blocks/last_activity_cell.rb" => "22355fa93da7c8776e7e7f56a5b207f7", "/app/cells/decidim/activities_cell.rb" => "dd17416a8d1efe7f26b1e759613e4db4", "/app/cells/decidim/user_profile_cell.rb" => "71216a17c7eea8dd8ebc1ea3907efaef", - "/lib/decidim/view_model.rb" => "141f2ea7b4c8bb35bd3966882780c225", - "/lib/decidim/search_resource_fields_mapper.rb" => "ff2cc476eb72c2942cf2e69ae21b84fa" + "/lib/decidim/search_resource_fields_mapper.rb" => "ff2cc476eb72c2942cf2e69ae21b84fa", + "/app/views/layouts/decidim/header/_main.html.erb" => "a6496ec11e073062743a927ee3c8bd3c" } }, { @@ -81,7 +82,7 @@ "/app/views/decidim/accountability/results/home.html.erb" => "4050a327e040350e247c9086fc432cde", "/app/views/decidim/accountability/results/index.html.erb" => "1b655348f4e689fb27b2892846faf586", "/app/views/decidim/accountability/results/_home_categories.html.erb" => "00721e6e14f5ad718a3d80ecd905999e", - "/app/views/decidim/accountability/results/_scope_filters.html.erb" => "457ac0cce5522504d0a33a245cd424d4", + "/app/views/decidim/accountability/results/_scope_filters.html.erb" => "a405bb47fe4f8f7b216165b5044c1462", "/app/views/decidim/accountability/results/_stats_box.html.erb" => "2ce34e1ee1a824dc4fbe36940c97f3e8", "/app/models/decidim/accountability/result.rb" => "e1c063ba7c39ca8996daa740c7ff6bc6", "/app/services/decidim/accountability/results_calculator.rb" => "4cc5ed480220f0bfe7561ad887e59576" @@ -92,7 +93,7 @@ files: { "/app/cells/decidim/initiatives/initiative_metadata_g_cell.rb" => "e41380534ae3c4c441530a6739e3746a", "/app/models/decidim/initiative.rb" => "77c9775fcff404b16e5a382915116fe1", - "/app/permissions/decidim/initiatives/admin/permissions.rb" => "805ba1e544cc3883baec90a357596320", + "/app/permissions/decidim/initiatives/admin/permissions.rb" => "c0f9bf5d9edaca545a7c931c0dc5c0e9", "/app/views/decidim/initiatives/initiatives/_progress_bar.html.erb" => "849e1ad297a15bb00e34122d3b845ff9", "/app/views/decidim/initiatives/initiative_signatures/fill_personal_data.html.erb" => "40c663fcb732743399b4fe79605e7823" } @@ -113,8 +114,8 @@ { package: "decidim-proposals", files: { - "/app/helpers/decidim/proposals/application_helper.rb" => "317b0347528e697fa405a792bcfa3db8", - "/app/presenters/decidim/proposals/proposal_presenter.rb" => "72910541010305f25baf297f4a58497b" + "/app/helpers/decidim/proposals/application_helper.rb" => "c17dd875a166cd0cd3c09b0e596ebef5", + "/app/presenters/decidim/proposals/proposal_presenter.rb" => "bbc7cee02125c1f8cf909219e48af337" } }, {