diff --git a/.gitignore b/.gitignore index eae59bb..ded2258 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,6 @@ public/sw.js* tailwind.config.js yarn-error.log minio_data + +# Ignore byebug history file. +.byebug_history \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 69edf4a..d2e6d1c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,7 +22,8 @@ COPY . . RUN bundle exec rake decidim:webpacker:install && \ bundle exec rake assets:precompile && \ - bundle exec rails shakapacker:compile + bundle exec rails shakapacker:compile && \ + bundle exec rails deface:precompile RUN rm -rf node_modules tmp/cache vendor/bundle/spec \ && rm -rf /usr/local/bundle/cache/*.gem \ diff --git a/Gemfile b/Gemfile index e895887..8ac3cbd 100644 --- a/Gemfile +++ b/Gemfile @@ -4,25 +4,28 @@ source "https://rubygems.org" ruby RUBY_VERSION -gem "decidim-accountability", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-admin", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-api", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-assemblies", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-blogs", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-budgets", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-comments", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-core", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-debates", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-forms", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-meetings", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-pages", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-participatory_processes", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-proposals", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-surveys", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-system", github: "decidim/decidim", tag: "v0.29.1" -gem "decidim-verifications", github: "decidim/decidim", tag: "v0.29.1" +DECIDIM_TAG = "v0.29.1" + +gem "decidim-accountability", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-admin", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-api", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-assemblies", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-blogs", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-budgets", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-comments", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-core", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-debates", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-forms", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-meetings", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-pages", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-participatory_processes", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-proposals", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-surveys", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-system", github: "decidim/decidim", tag: DECIDIM_TAG +gem "decidim-verifications", github: "decidim/decidim", tag: DECIDIM_TAG gem "bootsnap", "~> 1.4" +gem "deface" gem "puma", ">= 6.3.1" gem "aws-sdk-s3" @@ -31,10 +34,24 @@ gem "dotenv-rails", "~> 2.7" gem "letter_opener_web", "~> 2.0" gem "spring" +# gem "ransack", "~> 4.0" +gem "actionpack", "~> 7.0.8.7" +gem "net-imap", "~> 0.5.6" +gem "rails-html-sanitizer", "~> 1.6.1" + +gem "omniauth-rails_csrf_protection" +gem "omniauth-saml" + +# gem "veracode" + +# External Decidim gems +gem "decidim-decidim_awesome", git: "https://github.com/OpenSourcePolitics/decidim-module-decidim_awesome.git", branch: "fix/update_packages_dependancies" +gem "decidim-term_customizer", git: "https://github.com/OpenSourcePolitics/decidim-module-term_customizer.git", branch: "backport/fix_database_not_available" + group :development, :test do gem "byebug", "~> 11.0", platform: :mri - gem "decidim-dev", github: "decidim/decidim", tag: "v0.29.1" + gem "decidim-dev", github: "decidim/decidim", tag: DECIDIM_TAG gem "brakeman", "~> 6.1" gem "parallel_tests", "~> 4.2" diff --git a/Gemfile.lock b/Gemfile.lock index 4bc13f4..900ed8d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,23 @@ +GIT + remote: https://github.com/OpenSourcePolitics/decidim-module-decidim_awesome.git + revision: 002f1c933b05ed4d93b7c0dd68b4a476c8cb1d4d + branch: fix/update_packages_dependancies + specs: + decidim-decidim_awesome (0.12.0) + decidim-admin (>= 0.29.1, < 0.30) + decidim-core (>= 0.29.1, < 0.30) + deface (>= 1.5) + sassc (~> 2.3) + +GIT + remote: https://github.com/OpenSourcePolitics/decidim-module-term_customizer.git + revision: f3b55cae4e22713d7c842f0de4c421e9765ad7b0 + branch: backport/fix_database_not_available + specs: + decidim-term_customizer (0.29.0) + decidim-admin (~> 0.29.0) + decidim-core (~> 0.29.0) + GIT remote: https://github.com/decidim/decidim.git revision: af8d33194b3b011e8ae2517bf9cd8476e806c363 @@ -177,47 +197,47 @@ GIT GEM remote: https://rubygems.org/ specs: - actioncable (7.0.8.6) - actionpack (= 7.0.8.6) - activesupport (= 7.0.8.6) + actioncable (7.0.8.7) + actionpack (= 7.0.8.7) + activesupport (= 7.0.8.7) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.8.6) - actionpack (= 7.0.8.6) - activejob (= 7.0.8.6) - activerecord (= 7.0.8.6) - activestorage (= 7.0.8.6) - activesupport (= 7.0.8.6) + 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) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.8.6) - actionpack (= 7.0.8.6) - actionview (= 7.0.8.6) - activejob (= 7.0.8.6) - activesupport (= 7.0.8.6) + 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) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.8.6) - actionview (= 7.0.8.6) - activesupport (= 7.0.8.6) + actionpack (7.0.8.7) + actionview (= 7.0.8.7) + activesupport (= 7.0.8.7) 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.6) - actionpack (= 7.0.8.6) - activerecord (= 7.0.8.6) - activestorage (= 7.0.8.6) - activesupport (= 7.0.8.6) + 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) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.8.6) - activesupport (= 7.0.8.6) + actionview (7.0.8.7) + activesupport (= 7.0.8.7) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -225,30 +245,30 @@ GEM active_link_to (1.0.5) actionpack addressable - activejob (7.0.8.6) - activesupport (= 7.0.8.6) + activejob (7.0.8.7) + activesupport (= 7.0.8.7) globalid (>= 0.3.6) activejob-uniqueness (0.3.2) activejob (>= 4.2, < 7.3) redlock (>= 2.0, < 3) - activemodel (7.0.8.6) - activesupport (= 7.0.8.6) - activerecord (7.0.8.6) - activemodel (= 7.0.8.6) - activesupport (= 7.0.8.6) - activestorage (7.0.8.6) - actionpack (= 7.0.8.6) - activejob (= 7.0.8.6) - activerecord (= 7.0.8.6) - activesupport (= 7.0.8.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) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.8.6) + activesupport (7.0.8.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - acts_as_list (1.2.3) + acts_as_list (1.2.4) activerecord (>= 6.1) activesupport (>= 6.1) addressable (2.8.7) @@ -301,14 +321,6 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (2.2.6) - activemodel (>= 5.0.0) - activesupport (>= 5.0.0) - addressable (~> 2.6) - image_processing (~> 1.1) - marcel (~> 1.0.0) - mini_mime (>= 0.1.3) - ssrf_filter (~> 1.0) cells (4.1.8) declarative-builder (~> 0.2.0) declarative-option (< 0.2.0) @@ -335,13 +347,19 @@ GEM csv (3.3.0) dalli (3.2.8) dartsass (1.49.8) - date (3.4.0) + date (3.4.1) date_validator (0.12.0) activemodel (>= 3) activesupport (>= 3) declarative-builder (0.2.0) trailblazer-option (~> 0.1.0) declarative-option (0.1.0) + deface (1.9.0) + actionview (>= 5.2) + nokogiri (>= 1.6) + polyglot + railties (>= 5.2) + rainbow (>= 2.1.0) devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) @@ -409,23 +427,13 @@ GEM activemodel (>= 3.2) mime-types (>= 1.0) flamegraph (0.9.5) - fog-aws (3.21.0) - fog-core (~> 2.1) - fog-json (~> 1.1) - fog-xml (~> 0.1) fog-core (2.6.0) builder excon (~> 1.0) formatador (>= 0.2, < 2.0) mime-types - fog-json (1.2.0) - fog-core - multi_json (~> 1.10) fog-local (0.8.0) fog-core (>= 1.27, < 3.0) - fog-xml (0.1.4) - fog-core - nokogiri (>= 1.5.11, < 2.0.0) formatador (1.1.0) foundation_rails_helper (4.0.1) actionpack (>= 4.1, < 7.1) @@ -441,7 +449,7 @@ GEM csv (>= 3.0.0) globalid (1.2.1) activesupport (>= 6.1) - graphql (2.2.16) + graphql (2.2.17) base64 graphql-docs (4.0.0) commonmarker (~> 0.23, >= 0.23.6) @@ -532,12 +540,11 @@ GEM mini_mime (1.1.5) minitest (5.25.1) msgpack (1.7.5) - multi_json (1.15.0) multi_xml (0.7.1) bigdecimal (~> 3.1) net-http (0.5.0) uri - net-imap (0.5.1) + net-imap (0.5.6) date net-protocol net-pop (0.1.2) @@ -547,17 +554,17 @@ GEM net-smtp (0.3.4) net-protocol nio4r (2.7.4) - nokogiri (1.16.7-aarch64-linux) + nokogiri (1.16.8-aarch64-linux) racc (~> 1.4) - nokogiri (1.16.7-arm-linux) + nokogiri (1.16.8-arm-linux) racc (~> 1.4) - nokogiri (1.16.7-arm64-darwin) + nokogiri (1.16.8-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-x86-linux) + nokogiri (1.16.8-x86-linux) racc (~> 1.4) - nokogiri (1.16.7-x86_64-darwin) + nokogiri (1.16.8-x86_64-darwin) racc (~> 1.4) - nokogiri (1.16.7-x86_64-linux) + nokogiri (1.16.8-x86_64-linux) racc (~> 1.4) oauth (1.1.0) oauth-tty (~> 1.0, >= 1.0.1) @@ -593,6 +600,9 @@ GEM omniauth-rails_csrf_protection (1.0.2) actionpack (>= 4.2) omniauth (~> 2.0) + omniauth-saml (2.2.1) + omniauth (~> 2.1) + ruby-saml (~> 1.17) omniauth-twitter (1.4.0) omniauth-oauth (~> 1.1) rack @@ -612,6 +622,7 @@ GEM pg_search (2.3.7) activerecord (>= 6.1) activesupport (>= 6.1) + polyglot (0.3.5) premailer (1.27.0) addressable css_parser (>= 1.19.0) @@ -627,7 +638,7 @@ GEM nio4r (~> 2.0) raabro (1.4.0) racc (1.8.1) - rack (2.2.10) + rack (2.2.13) rack-attack (6.7.0) rack (>= 1.0, < 4) rack-cors (1.1.1) @@ -641,20 +652,20 @@ GEM rack rack-test (2.1.0) rack (>= 1.3) - rails (7.0.8.6) - actioncable (= 7.0.8.6) - actionmailbox (= 7.0.8.6) - actionmailer (= 7.0.8.6) - actionpack (= 7.0.8.6) - actiontext (= 7.0.8.6) - actionview (= 7.0.8.6) - activejob (= 7.0.8.6) - activemodel (= 7.0.8.6) - activerecord (= 7.0.8.6) - activestorage (= 7.0.8.6) - activesupport (= 7.0.8.6) + 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) bundler (>= 1.15.0) - railties (= 7.0.8.6) + railties (= 7.0.8.7) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -663,15 +674,15 @@ GEM activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) + 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.6) - actionpack (= 7.0.8.6) - activesupport (= 7.0.8.6) + railties (7.0.8.7) + actionpack (= 7.0.8.7) + activesupport (= 7.0.8.7) method_source rake (>= 12.2) thor (~> 1.0) @@ -767,6 +778,9 @@ GEM rubocop-rubycw (0.1.6) rubocop (~> 1.0) ruby-progressbar (1.13.0) + ruby-saml (1.18.0) + nokogiri (>= 1.13.10) + rexml ruby-vips (2.2.2) ffi (~> 1.12) logger @@ -776,6 +790,8 @@ GEM rubyzip (2.3.2) rufus-scheduler (3.9.2) fugit (~> 1.1, >= 1.11.1) + sassc (2.4.0) + ffi (~> 1.9) selenium-webdriver (4.26.0) base64 (~> 0.2) logger (~> 1.4) @@ -813,7 +829,6 @@ GEM spring-watcher-listen (2.1.0) listen (>= 2.7, < 4.0) spring (>= 4) - ssrf_filter (1.1.2) stackprof (0.2.26) stringio (3.1.2) temple (0.10.3) @@ -828,7 +843,7 @@ GEM uber (0.1.0) unicode-display_width (2.6.0) uniform_notifier (1.16.0) - uri (1.0.2) + uri (1.0.3) valid_email2 (4.0.6) activemodel (>= 3.2) mail (~> 2.5) @@ -886,13 +901,13 @@ PLATFORMS x86_64-linux-musl DEPENDENCIES + actionpack (~> 7.0.8.7) activejob-uniqueness aws-sdk-s3 bootsnap (~> 1.4) brakeman (~> 6.1) bullet byebug (~> 11.0) - carrierwave dalli decidim-accountability! decidim-admin! @@ -903,6 +918,7 @@ DEPENDENCIES decidim-comments! decidim-core! decidim-debates! + decidim-decidim_awesome! decidim-dev! decidim-forms! decidim-meetings! @@ -911,16 +927,21 @@ DEPENDENCIES decidim-proposals! decidim-surveys! decidim-system! + decidim-term_customizer! decidim-verifications! + deface dotenv-rails (~> 2.7) flamegraph - fog-aws letter_opener_web (~> 2.0) listen (~> 3.1) memory_profiler + net-imap (~> 0.5.6) + omniauth-rails_csrf_protection + omniauth-saml parallel_tests (~> 4.2) puma (>= 6.3.1) rack-mini-profiler + rails-html-sanitizer (~> 1.6.1) sidekiq (~> 6.0) sidekiq-scheduler (~> 5.0) spring diff --git a/Makefile b/Makefile index 083108a..01d125a 100644 --- a/Makefile +++ b/Makefile @@ -57,5 +57,6 @@ tls-cert: mkdir -p $(HOME)/.decidim/tls-certificate openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 \ -subj "/C=FR/ST=France/L=Paris/O=decidim/CN=decidim.eu" \ + -addext "subjectAltName = DNS:localhost, DNS:minio" \ -keyout $(HOME)/.decidim/tls-certificate/key.pem \ -out $(HOME)/.decidim/tls-certificate/cert.pem \ No newline at end of file diff --git a/app/controllers/decidim/omniauth/switch_controller.rb b/app/controllers/decidim/omniauth/switch_controller.rb new file mode 100644 index 0000000..ce1f111 --- /dev/null +++ b/app/controllers/decidim/omniauth/switch_controller.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +module Decidim + module Omniauth + class SwitchController < DecidimController + def redirect + redirect_post("/users/auth/#{params["provider"]}", params: { authenticity_token: form_authenticity_token }) + end + end + end +end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 15b06f0..fc058ed 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,4 +1,17 @@ # frozen_string_literal: true module ApplicationHelper + def omniauth_sign_up_url(config) + return if config[:sign_up_button_url].blank? + + uri = URI(config[:sign_up_button_url]) + uri.query = { + showNameFields: "false", + lang: current_locale, + spName: config[:sign_up_button_sp_name], + target: Base64.urlsafe_encode64(config[:sign_up_button_target]) + }.to_query + + uri.to_s + end end diff --git a/app/overrides/decidim/devise/sessions/new/admin_sign_in.html.erb.deface b/app/overrides/decidim/devise/sessions/new/admin_sign_in.html.erb.deface new file mode 100644 index 0000000..3ab60cd --- /dev/null +++ b/app/overrides/decidim/devise/sessions/new/admin_sign_in.html.erb.deface @@ -0,0 +1,2 @@ + + <% if current_organization.sign_in_enabled? || request.env['PATH_INFO'].include?("/admin_sign_in") %> \ No newline at end of file diff --git a/app/overrides/layouts/decidim/header/_main/language_chooser_icon.html.erb.deface b/app/overrides/layouts/decidim/header/_main/language_chooser_icon.html.erb.deface new file mode 100644 index 0000000..5152c9d --- /dev/null +++ b/app/overrides/layouts/decidim/header/_main/language_chooser_icon.html.erb.deface @@ -0,0 +1,2 @@ + + <%= render partial: "/layouts/decidim/language_chooser_icon" %> \ No newline at end of file diff --git a/app/overrides/layouts/decidim/header/_main/language_chooser_toggle.html.erb.deface b/app/overrides/layouts/decidim/header/_main/language_chooser_toggle.html.erb.deface new file mode 100644 index 0000000..2b55678 --- /dev/null +++ b/app/overrides/layouts/decidim/header/_main/language_chooser_toggle.html.erb.deface @@ -0,0 +1,2 @@ + + <%= render partial: "/layouts/decidim/language_chooser_bar" %> \ No newline at end of file diff --git a/app/packs/images/favicon.ico b/app/packs/images/favicon.ico new file mode 100644 index 0000000..c78fd9e Binary files /dev/null and b/app/packs/images/favicon.ico differ diff --git a/app/packs/images/icon-language-solid.svg b/app/packs/images/icon-language-solid.svg new file mode 100644 index 0000000..c701c59 --- /dev/null +++ b/app/packs/images/icon-language-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/packs/images/nyc-for-developers-logo.svg b/app/packs/images/nyc-for-developers-logo.svg new file mode 100644 index 0000000..a9abfed --- /dev/null +++ b/app/packs/images/nyc-for-developers-logo.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/app/packs/images/nyc-logo.png b/app/packs/images/nyc-logo.png new file mode 100644 index 0000000..a5f1aea Binary files /dev/null and b/app/packs/images/nyc-logo.png differ diff --git a/app/packs/images/nyc-logo.svg b/app/packs/images/nyc-logo.svg new file mode 100644 index 0000000..a143c35 --- /dev/null +++ b/app/packs/images/nyc-logo.svg @@ -0,0 +1,11 @@ + + + nyc-logo + + + + \ No newline at end of file diff --git a/app/packs/images/nyc-logo@2x.png b/app/packs/images/nyc-logo@2x.png new file mode 100644 index 0000000..d4cd00a Binary files /dev/null and b/app/packs/images/nyc-logo@2x.png differ diff --git a/app/packs/images/nyc_white.png b/app/packs/images/nyc_white.png new file mode 100644 index 0000000..fe6df6d Binary files /dev/null and b/app/packs/images/nyc_white.png differ diff --git a/app/packs/stylesheets/decidim/decidim_application.scss b/app/packs/stylesheets/decidim/decidim_application.scss index 5b876c8..ae29123 100644 --- a/app/packs/stylesheets/decidim/decidim_application.scss +++ b/app/packs/stylesheets/decidim/decidim_application.scss @@ -6,3 +6,34 @@ // available at https://docs.decidim.org/en/develop/customize/styles.html#_tailwind_css // // By default this is empty. + +header { + .main-bar { + &__logo { + @apply col-span-2; + } + + &__lc-button { + @apply text-secondary justify-self-end xl:col-start-7; + } + } +} + +.language-chooser-bar { + + @apply container items-center py-5 h-24 relative z-40; + + .goog-te-gadget { + @apply w-full text-center; + + select { + @apply block w-full xl:w-2/3 px-4 py-1.5 mx-auto font-sans text-md; + color: var(--secondary); + } + + img { + @apply inline box-content; + } + } +} + diff --git a/app/views/decidim/devise/shared/_omniauth_buttons.html.erb b/app/views/decidim/devise/shared/_omniauth_buttons.html.erb new file mode 100644 index 0000000..b1798ec --- /dev/null +++ b/app/views/decidim/devise/shared/_omniauth_buttons.html.erb @@ -0,0 +1,24 @@ +<% is_horizontal = false unless local_assigns.has_key?(:is_horizontal) %> +<% if Devise.mappings[:user].omniauthable? && current_organization.enabled_omniauth_providers.any? %> +
"> + <%- current_organization.enabled_omniauth_providers.each do |provider_key, provider_config| %> + <% link_classes = "login__omniauth-button button--#{normalize_provider_name(provider_key)}" %> + <% provider_name = provider_config.dig(:provider_name) || normalize_provider_name(provider_key).titleize %> + <%= link_to decidim.send("user_#{provider_key}_omniauth_authorize_path"), class: link_classes, method: :post, title: t("devise.shared.links.log_in_with_provider", provider: provider_name) do %> + <%= oauth_icon provider_key %> + + <%= provider_config[:sign_in_button_text] || provider_name %> + + <% end %> + <%= link_to(omniauth_sign_up_url(provider_config), class: link_classes) do %> + <%= oauth_icon provider_key %> + + <%= provider_config[:sign_up_button_text] || provider_name %> + + <% end %> + <% end %> +
+ <%- if current_organization.sign_in_enabled? %> + <%= t(".or") %> + <%- end %> +<% end %> \ No newline at end of file diff --git a/app/views/decidim/proposals/admin/imports/_proposals_fields.html.erb b/app/views/decidim/proposals/admin/imports/_proposals_fields.html.erb new file mode 100644 index 0000000..951ed23 --- /dev/null +++ b/app/views/decidim/proposals/admin/imports/_proposals_fields.html.erb @@ -0,0 +1,11 @@ +<% if current_organization.user_groups_enabled? && form.object.user_groups.any? %> +
+ <%#= form.select( + :user_group_id, + form.object.user_groups.map { |g| [g.name, g.id] }, + selected: form.object.user_group_id.presence, + include_blank: current_user.name, + label: true + ) %> +
+<% end %> \ No newline at end of file diff --git a/app/views/layouts/decidim/_head_extra.html.erb b/app/views/layouts/decidim/_head_extra.html.erb new file mode 100644 index 0000000..92a39c9 --- /dev/null +++ b/app/views/layouts/decidim/_head_extra.html.erb @@ -0,0 +1,11 @@ + + diff --git a/app/views/layouts/decidim/_language_chooser_bar.html.erb b/app/views/layouts/decidim/_language_chooser_bar.html.erb new file mode 100644 index 0000000..9789990 --- /dev/null +++ b/app/views/layouts/decidim/_language_chooser_bar.html.erb @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/app/views/layouts/decidim/_language_chooser_icon.html.erb b/app/views/layouts/decidim/_language_chooser_icon.html.erb new file mode 100644 index 0000000..0136a42 --- /dev/null +++ b/app/views/layouts/decidim/_language_chooser_icon.html.erb @@ -0,0 +1,6 @@ + +
+ +
\ No newline at end of file diff --git a/app/views/static/api/docs/directive/deprecated/index.html b/app/views/static/api/docs/directive/deprecated/index.html index 272c276..d79ee55 100644 --- a/app/views/static/api/docs/directive/deprecated/index.html +++ b/app/views/static/api/docs/directive/deprecated/index.html @@ -193,6 +193,13 @@

+
  • + + Component + +
  • + +
  • Coordinates @@ -249,6 +256,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -578,6 +592,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/directive/include/index.html b/app/views/static/api/docs/directive/include/index.html index f70147e..101c18a 100644 --- a/app/views/static/api/docs/directive/include/index.html +++ b/app/views/static/api/docs/directive/include/index.html @@ -192,6 +192,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -248,6 +255,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -577,6 +591,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/directive/index.html b/app/views/static/api/docs/directive/index.html index 3080c06..69a23ae 100644 --- a/app/views/static/api/docs/directive/index.html +++ b/app/views/static/api/docs/directive/index.html @@ -164,6 +164,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -220,6 +227,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -549,6 +563,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/directive/oneof/index.html b/app/views/static/api/docs/directive/oneof/index.html index f0f7807..ea2c650 100644 --- a/app/views/static/api/docs/directive/oneof/index.html +++ b/app/views/static/api/docs/directive/oneof/index.html @@ -168,6 +168,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -224,6 +231,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -553,6 +567,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/directive/skip/index.html b/app/views/static/api/docs/directive/skip/index.html index e2f8435..2fe8010 100644 --- a/app/views/static/api/docs/directive/skip/index.html +++ b/app/views/static/api/docs/directive/skip/index.html @@ -192,6 +192,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -248,6 +255,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -577,6 +591,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/directive/specifiedby/index.html b/app/views/static/api/docs/directive/specifiedby/index.html index 5000cf8..1a279d5 100644 --- a/app/views/static/api/docs/directive/specifiedby/index.html +++ b/app/views/static/api/docs/directive/specifiedby/index.html @@ -190,6 +190,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -246,6 +253,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -575,6 +589,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/enum/__directivelocation/index.html b/app/views/static/api/docs/enum/__directivelocation/index.html index fed90df..c8e2ceb 100644 --- a/app/views/static/api/docs/enum/__directivelocation/index.html +++ b/app/views/static/api/docs/enum/__directivelocation/index.html @@ -260,6 +260,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -316,6 +323,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -645,6 +659,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/enum/__typekind/index.html b/app/views/static/api/docs/enum/__typekind/index.html index 856b108..266c361 100644 --- a/app/views/static/api/docs/enum/__typekind/index.html +++ b/app/views/static/api/docs/enum/__typekind/index.html @@ -205,6 +205,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -261,6 +268,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -590,6 +604,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/enum/index.html b/app/views/static/api/docs/enum/index.html index 1a45cff..9205bd1 100644 --- a/app/views/static/api/docs/enum/index.html +++ b/app/views/static/api/docs/enum/index.html @@ -164,6 +164,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -220,6 +227,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -549,6 +563,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/index.html b/app/views/static/api/docs/index.html index 60f8b15..3544412 100644 --- a/app/views/static/api/docs/index.html +++ b/app/views/static/api/docs/index.html @@ -661,6 +661,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -717,6 +724,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -1046,6 +1060,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/categoryfilter/index.html b/app/views/static/api/docs/input_object/categoryfilter/index.html index 17e31a8..fec14e8 100644 --- a/app/views/static/api/docs/input_object/categoryfilter/index.html +++ b/app/views/static/api/docs/input_object/categoryfilter/index.html @@ -171,6 +171,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -227,6 +234,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -556,6 +570,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/componentfilter/index.html b/app/views/static/api/docs/input_object/componentfilter/index.html index 1afbf4d..9569cd3 100644 --- a/app/views/static/api/docs/input_object/componentfilter/index.html +++ b/app/views/static/api/docs/input_object/componentfilter/index.html @@ -207,6 +207,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -263,6 +270,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -592,6 +606,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/componentsort/index.html b/app/views/static/api/docs/input_object/componentsort/index.html index 1d0ea73..74eb98b 100644 --- a/app/views/static/api/docs/input_object/componentsort/index.html +++ b/app/views/static/api/docs/input_object/componentsort/index.html @@ -195,6 +195,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -251,6 +258,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -580,6 +594,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/index.html b/app/views/static/api/docs/input_object/index.html index defd9f7..7bdd0c5 100644 --- a/app/views/static/api/docs/input_object/index.html +++ b/app/views/static/api/docs/input_object/index.html @@ -164,6 +164,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -220,6 +227,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -549,6 +563,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/participatoryprocessfilter/index.html b/app/views/static/api/docs/input_object/participatoryprocessfilter/index.html index 6a24a62..043d975 100644 --- a/app/views/static/api/docs/input_object/participatoryprocessfilter/index.html +++ b/app/views/static/api/docs/input_object/participatoryprocessfilter/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/participatoryprocesssort/index.html b/app/views/static/api/docs/input_object/participatoryprocesssort/index.html index cbcaaab..6fc847d 100644 --- a/app/views/static/api/docs/input_object/participatoryprocesssort/index.html +++ b/app/views/static/api/docs/input_object/participatoryprocesssort/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/postfilter/index.html b/app/views/static/api/docs/input_object/postfilter/index.html index d51bdda..639dc75 100644 --- a/app/views/static/api/docs/input_object/postfilter/index.html +++ b/app/views/static/api/docs/input_object/postfilter/index.html @@ -202,6 +202,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -258,6 +265,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -587,6 +601,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/postsort/index.html b/app/views/static/api/docs/input_object/postsort/index.html index b858381..5391456 100644 --- a/app/views/static/api/docs/input_object/postsort/index.html +++ b/app/views/static/api/docs/input_object/postsort/index.html @@ -189,6 +189,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -245,6 +252,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -574,6 +588,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/proposalfilter/index.html b/app/views/static/api/docs/input_object/proposalfilter/index.html index ea018c8..6ec223d 100644 --- a/app/views/static/api/docs/input_object/proposalfilter/index.html +++ b/app/views/static/api/docs/input_object/proposalfilter/index.html @@ -190,6 +190,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -246,6 +253,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -575,6 +589,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/proposalsort/index.html b/app/views/static/api/docs/input_object/proposalsort/index.html index 3be929f..0b1126a 100644 --- a/app/views/static/api/docs/input_object/proposalsort/index.html +++ b/app/views/static/api/docs/input_object/proposalsort/index.html @@ -189,6 +189,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -245,6 +252,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -574,6 +588,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/userentityfilter/index.html b/app/views/static/api/docs/input_object/userentityfilter/index.html index 3bb865d..dc4c70a 100644 --- a/app/views/static/api/docs/input_object/userentityfilter/index.html +++ b/app/views/static/api/docs/input_object/userentityfilter/index.html @@ -197,6 +197,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -253,6 +260,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -582,6 +596,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/input_object/userentitysort/index.html b/app/views/static/api/docs/input_object/userentitysort/index.html index 0df2f7e..a205b3c 100644 --- a/app/views/static/api/docs/input_object/userentitysort/index.html +++ b/app/views/static/api/docs/input_object/userentitysort/index.html @@ -189,6 +189,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -245,6 +252,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -574,6 +588,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/amendableentityinterface/index.html b/app/views/static/api/docs/interface/amendableentityinterface/index.html index 0b5c517..acfc0b4 100644 --- a/app/views/static/api/docs/interface/amendableentityinterface/index.html +++ b/app/views/static/api/docs/interface/amendableentityinterface/index.html @@ -176,6 +176,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -232,6 +239,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -561,6 +575,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/amendableinterface/index.html b/app/views/static/api/docs/interface/amendableinterface/index.html index b275a28..43e5497 100644 --- a/app/views/static/api/docs/interface/amendableinterface/index.html +++ b/app/views/static/api/docs/interface/amendableinterface/index.html @@ -176,6 +176,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -232,6 +239,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -561,6 +575,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/attachableinterface/index.html b/app/views/static/api/docs/interface/attachableinterface/index.html index 739ebd9..751658a 100644 --- a/app/views/static/api/docs/interface/attachableinterface/index.html +++ b/app/views/static/api/docs/interface/attachableinterface/index.html @@ -181,6 +181,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -237,6 +244,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -566,6 +580,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/author/index.html b/app/views/static/api/docs/interface/author/index.html index 4e4e9d6..e93841f 100644 --- a/app/views/static/api/docs/interface/author/index.html +++ b/app/views/static/api/docs/interface/author/index.html @@ -219,6 +219,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -275,6 +282,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -604,6 +618,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/authorableinterface/index.html b/app/views/static/api/docs/interface/authorableinterface/index.html index cf2ad5b..563b88a 100644 --- a/app/views/static/api/docs/interface/authorableinterface/index.html +++ b/app/views/static/api/docs/interface/authorableinterface/index.html @@ -178,6 +178,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -234,6 +241,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -563,6 +577,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/categoriescontainerinterface/index.html b/app/views/static/api/docs/interface/categoriescontainerinterface/index.html index 8eaaae7..68fe9f8 100644 --- a/app/views/static/api/docs/interface/categoriescontainerinterface/index.html +++ b/app/views/static/api/docs/interface/categoriescontainerinterface/index.html @@ -197,6 +197,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -253,6 +260,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -582,6 +596,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/categorizableinterface/index.html b/app/views/static/api/docs/interface/categorizableinterface/index.html index c47cb47..552386a 100644 --- a/app/views/static/api/docs/interface/categorizableinterface/index.html +++ b/app/views/static/api/docs/interface/categorizableinterface/index.html @@ -180,6 +180,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -236,6 +243,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -565,6 +579,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/coauthorableinterface/index.html b/app/views/static/api/docs/interface/coauthorableinterface/index.html index fde4f17..e00b563 100644 --- a/app/views/static/api/docs/interface/coauthorableinterface/index.html +++ b/app/views/static/api/docs/interface/coauthorableinterface/index.html @@ -188,6 +188,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -244,6 +251,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -573,6 +587,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/commentableinterface/index.html b/app/views/static/api/docs/interface/commentableinterface/index.html index 7eb02ad..4eae551 100644 --- a/app/views/static/api/docs/interface/commentableinterface/index.html +++ b/app/views/static/api/docs/interface/commentableinterface/index.html @@ -259,6 +259,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -315,6 +322,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -644,6 +658,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/componentinterface/index.html b/app/views/static/api/docs/interface/componentinterface/index.html index ee387c6..a6df2fe 100644 --- a/app/views/static/api/docs/interface/componentinterface/index.html +++ b/app/views/static/api/docs/interface/componentinterface/index.html @@ -7,6 +7,7 @@

  • Accountability
  • Blogs
  • Budgets
  • +
  • Component
  • Debates
  • Meetings
  • Pages
  • @@ -201,6 +202,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -257,6 +265,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -586,6 +601,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/endorsableinterface/index.html b/app/views/static/api/docs/interface/endorsableinterface/index.html index f55c495..ae47291 100644 --- a/app/views/static/api/docs/interface/endorsableinterface/index.html +++ b/app/views/static/api/docs/interface/endorsableinterface/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/fingerprintinterface/index.html b/app/views/static/api/docs/interface/fingerprintinterface/index.html index e7f80b4..bc28cff 100644 --- a/app/views/static/api/docs/interface/fingerprintinterface/index.html +++ b/app/views/static/api/docs/interface/fingerprintinterface/index.html @@ -176,6 +176,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -232,6 +239,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -561,6 +575,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/index.html b/app/views/static/api/docs/interface/index.html index 4d6cbb6..8ce80d9 100644 --- a/app/views/static/api/docs/interface/index.html +++ b/app/views/static/api/docs/interface/index.html @@ -164,6 +164,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -220,6 +227,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -549,6 +563,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/participatoryspaceinterface/index.html b/app/views/static/api/docs/interface/participatoryspaceinterface/index.html index e5f3854..f2d557a 100644 --- a/app/views/static/api/docs/interface/participatoryspaceinterface/index.html +++ b/app/views/static/api/docs/interface/participatoryspaceinterface/index.html @@ -236,6 +236,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -292,6 +299,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -621,6 +635,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/participatoryspaceresourceableinterface/index.html b/app/views/static/api/docs/interface/participatoryspaceresourceableinterface/index.html index cbf3389..6b2ed84 100644 --- a/app/views/static/api/docs/interface/participatoryspaceresourceableinterface/index.html +++ b/app/views/static/api/docs/interface/participatoryspaceresourceableinterface/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/questionnaireentityinterface/index.html b/app/views/static/api/docs/interface/questionnaireentityinterface/index.html index aab53d5..f68b5d8 100644 --- a/app/views/static/api/docs/interface/questionnaireentityinterface/index.html +++ b/app/views/static/api/docs/interface/questionnaireentityinterface/index.html @@ -176,6 +176,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -232,6 +239,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -561,6 +575,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/scopableinterface/index.html b/app/views/static/api/docs/interface/scopableinterface/index.html index acaed0a..2a892f5 100644 --- a/app/views/static/api/docs/interface/scopableinterface/index.html +++ b/app/views/static/api/docs/interface/scopableinterface/index.html @@ -182,6 +182,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -238,6 +245,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -567,6 +581,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/servicesinterface/index.html b/app/views/static/api/docs/interface/servicesinterface/index.html index a0464a1..28de8a7 100644 --- a/app/views/static/api/docs/interface/servicesinterface/index.html +++ b/app/views/static/api/docs/interface/servicesinterface/index.html @@ -176,6 +176,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -232,6 +239,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -561,6 +575,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/timestampsinterface/index.html b/app/views/static/api/docs/interface/timestampsinterface/index.html index 2ebcf2b..11024f9 100644 --- a/app/views/static/api/docs/interface/timestampsinterface/index.html +++ b/app/views/static/api/docs/interface/timestampsinterface/index.html @@ -186,6 +186,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -242,6 +249,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -571,6 +585,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/interface/traceableinterface/index.html b/app/views/static/api/docs/interface/traceableinterface/index.html index 91274de..ab9eb36 100644 --- a/app/views/static/api/docs/interface/traceableinterface/index.html +++ b/app/views/static/api/docs/interface/traceableinterface/index.html @@ -184,6 +184,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -240,6 +247,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -569,6 +583,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/mutation/comment/index.html b/app/views/static/api/docs/mutation/comment/index.html index e657e5a..6e7c83c 100644 --- a/app/views/static/api/docs/mutation/comment/index.html +++ b/app/views/static/api/docs/mutation/comment/index.html @@ -201,6 +201,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -257,6 +264,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -586,6 +600,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/mutation/commentable/index.html b/app/views/static/api/docs/mutation/commentable/index.html index cd778ed..7964547 100644 --- a/app/views/static/api/docs/mutation/commentable/index.html +++ b/app/views/static/api/docs/mutation/commentable/index.html @@ -242,6 +242,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -298,6 +305,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -627,6 +641,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/__directive/index.html b/app/views/static/api/docs/object/__directive/index.html index c71d47e..cfb5768 100644 --- a/app/views/static/api/docs/object/__directive/index.html +++ b/app/views/static/api/docs/object/__directive/index.html @@ -238,6 +238,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -294,6 +301,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -623,6 +637,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/__enumvalue/index.html b/app/views/static/api/docs/object/__enumvalue/index.html index 430d43a..0181283 100644 --- a/app/views/static/api/docs/object/__enumvalue/index.html +++ b/app/views/static/api/docs/object/__enumvalue/index.html @@ -185,6 +185,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -241,6 +248,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -570,6 +584,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/__field/index.html b/app/views/static/api/docs/object/__field/index.html index b6920cc..fe39101 100644 --- a/app/views/static/api/docs/object/__field/index.html +++ b/app/views/static/api/docs/object/__field/index.html @@ -215,6 +215,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -271,6 +278,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -600,6 +614,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/__inputvalue/index.html b/app/views/static/api/docs/object/__inputvalue/index.html index 9260142..7f378db 100644 --- a/app/views/static/api/docs/object/__inputvalue/index.html +++ b/app/views/static/api/docs/object/__inputvalue/index.html @@ -196,6 +196,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -252,6 +259,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -581,6 +595,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/__schema/index.html b/app/views/static/api/docs/object/__schema/index.html index f257218..c7f0d03 100644 --- a/app/views/static/api/docs/object/__schema/index.html +++ b/app/views/static/api/docs/object/__schema/index.html @@ -200,6 +200,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -256,6 +263,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -585,6 +599,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/__type/index.html b/app/views/static/api/docs/object/__type/index.html index 583970f..fde732a 100644 --- a/app/views/static/api/docs/object/__type/index.html +++ b/app/views/static/api/docs/object/__type/index.html @@ -281,6 +281,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -337,6 +344,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -666,6 +680,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/accountability/index.html b/app/views/static/api/docs/object/accountability/index.html index 3f45b14..942853e 100644 --- a/app/views/static/api/docs/object/accountability/index.html +++ b/app/views/static/api/docs/object/accountability/index.html @@ -272,6 +272,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -328,6 +335,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -657,6 +671,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/amendment/index.html b/app/views/static/api/docs/object/amendment/index.html index 3d36419..a59c7eb 100644 --- a/app/views/static/api/docs/object/amendment/index.html +++ b/app/views/static/api/docs/object/amendment/index.html @@ -207,6 +207,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -263,6 +270,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -592,6 +606,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/answeroption/index.html b/app/views/static/api/docs/object/answeroption/index.html index 4b4f2bb..5a87801 100644 --- a/app/views/static/api/docs/object/answeroption/index.html +++ b/app/views/static/api/docs/object/answeroption/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/area/index.html b/app/views/static/api/docs/object/area/index.html index 4313b5e..51301ef 100644 --- a/app/views/static/api/docs/object/area/index.html +++ b/app/views/static/api/docs/object/area/index.html @@ -195,6 +195,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -251,6 +258,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -580,6 +594,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/areatype/index.html b/app/views/static/api/docs/object/areatype/index.html index 7e3e881..aac71a3 100644 --- a/app/views/static/api/docs/object/areatype/index.html +++ b/app/views/static/api/docs/object/areatype/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/assembliestype/index.html b/app/views/static/api/docs/object/assembliestype/index.html index 9916849..162ffc2 100644 --- a/app/views/static/api/docs/object/assembliestype/index.html +++ b/app/views/static/api/docs/object/assembliestype/index.html @@ -195,6 +195,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -251,6 +258,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -580,6 +594,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/assembly/index.html b/app/views/static/api/docs/object/assembly/index.html index c364f7e..64866a4 100644 --- a/app/views/static/api/docs/object/assembly/index.html +++ b/app/views/static/api/docs/object/assembly/index.html @@ -545,6 +545,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -601,6 +608,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -930,6 +944,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/assemblymember/index.html b/app/views/static/api/docs/object/assemblymember/index.html index 0c73952..bc03b9f 100644 --- a/app/views/static/api/docs/object/assemblymember/index.html +++ b/app/views/static/api/docs/object/assemblymember/index.html @@ -237,6 +237,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -293,6 +300,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -622,6 +636,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/attachment/index.html b/app/views/static/api/docs/object/attachment/index.html index d93d039..f86f75a 100644 --- a/app/views/static/api/docs/object/attachment/index.html +++ b/app/views/static/api/docs/object/attachment/index.html @@ -195,6 +195,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -251,6 +258,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -580,6 +594,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/blogs/index.html b/app/views/static/api/docs/object/blogs/index.html index 51b676f..fe73dd5 100644 --- a/app/views/static/api/docs/object/blogs/index.html +++ b/app/views/static/api/docs/object/blogs/index.html @@ -293,6 +293,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -349,6 +356,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -678,6 +692,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/budget/index.html b/app/views/static/api/docs/object/budget/index.html index 9abeb35..c348618 100644 --- a/app/views/static/api/docs/object/budget/index.html +++ b/app/views/static/api/docs/object/budget/index.html @@ -231,6 +231,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -287,6 +294,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -616,6 +630,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/budgetconnection/index.html b/app/views/static/api/docs/object/budgetconnection/index.html index 2184f1b..0bff047 100644 --- a/app/views/static/api/docs/object/budgetconnection/index.html +++ b/app/views/static/api/docs/object/budgetconnection/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/budgetedge/index.html b/app/views/static/api/docs/object/budgetedge/index.html index 9dd74a8..07f6321 100644 --- a/app/views/static/api/docs/object/budgetedge/index.html +++ b/app/views/static/api/docs/object/budgetedge/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/budgets/index.html b/app/views/static/api/docs/object/budgets/index.html index c467f89..e5d0cc6 100644 --- a/app/views/static/api/docs/object/budgets/index.html +++ b/app/views/static/api/docs/object/budgets/index.html @@ -272,6 +272,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -328,6 +335,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -657,6 +671,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/category/index.html b/app/views/static/api/docs/object/category/index.html index e1d7cac..c17e8e5 100644 --- a/app/views/static/api/docs/object/category/index.html +++ b/app/views/static/api/docs/object/category/index.html @@ -188,6 +188,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -244,6 +251,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -573,6 +587,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/comment/index.html b/app/views/static/api/docs/object/comment/index.html index de96e47..ee9b738 100644 --- a/app/views/static/api/docs/object/comment/index.html +++ b/app/views/static/api/docs/object/comment/index.html @@ -324,6 +324,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -380,6 +387,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -709,6 +723,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/commentable/index.html b/app/views/static/api/docs/object/commentable/index.html index 09f6737..ff59174 100644 --- a/app/views/static/api/docs/object/commentable/index.html +++ b/app/views/static/api/docs/object/commentable/index.html @@ -252,6 +252,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -308,6 +315,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -637,6 +651,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/commentablemutation/index.html b/app/views/static/api/docs/object/commentablemutation/index.html index 52093fb..4d5b5cd 100644 --- a/app/views/static/api/docs/object/commentablemutation/index.html +++ b/app/views/static/api/docs/object/commentablemutation/index.html @@ -216,6 +216,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -272,6 +279,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -601,6 +615,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/commentmutation/index.html b/app/views/static/api/docs/object/commentmutation/index.html index 5ca73f0..6edf4b8 100644 --- a/app/views/static/api/docs/object/commentmutation/index.html +++ b/app/views/static/api/docs/object/commentmutation/index.html @@ -181,6 +181,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -237,6 +244,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -566,6 +580,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/component/index.html b/app/views/static/api/docs/object/component/index.html new file mode 100644 index 0000000..ee863c5 --- /dev/null +++ b/app/views/static/api/docs/object/component/index.html @@ -0,0 +1,1051 @@ +

    +Component

    +

    A base component with no particular specificities.

    +

    +Implements

    + +

    +Fields

    +
    + id (ID!) +
    +

    The Component's unique ID

    +
    +
    +
    + name (TranslatedField!) +
    +

    The name of this component.

    +
    +
    +
    + weight (Int!) +
    +

    The weight of the component

    +
    +
    +
    + participatorySpace (ParticipatorySpace!) +
    +

    The participatory space in which this component belongs to.

    +
    +
    + + + +
    + ☰ +
    diff --git a/app/views/static/api/docs/object/coordinates/index.html b/app/views/static/api/docs/object/coordinates/index.html index 6782da6..6735550 100644 --- a/app/views/static/api/docs/object/coordinates/index.html +++ b/app/views/static/api/docs/object/coordinates/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/debate/index.html b/app/views/static/api/docs/object/debate/index.html index bf7cec9..1841090 100644 --- a/app/views/static/api/docs/object/debate/index.html +++ b/app/views/static/api/docs/object/debate/index.html @@ -333,6 +333,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -389,6 +396,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -718,6 +732,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/debateconnection/index.html b/app/views/static/api/docs/object/debateconnection/index.html index 3f5307a..356950a 100644 --- a/app/views/static/api/docs/object/debateconnection/index.html +++ b/app/views/static/api/docs/object/debateconnection/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/debateedge/index.html b/app/views/static/api/docs/object/debateedge/index.html index 93604eb..98cc044 100644 --- a/app/views/static/api/docs/object/debateedge/index.html +++ b/app/views/static/api/docs/object/debateedge/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/debates/index.html b/app/views/static/api/docs/object/debates/index.html index dcce680..671a815 100644 --- a/app/views/static/api/docs/object/debates/index.html +++ b/app/views/static/api/docs/object/debates/index.html @@ -272,6 +272,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -328,6 +335,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -657,6 +671,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/decidim/index.html b/app/views/static/api/docs/object/decidim/index.html index 4dac0f5..27128eb 100644 --- a/app/views/static/api/docs/object/decidim/index.html +++ b/app/views/static/api/docs/object/decidim/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/fingerprint/index.html b/app/views/static/api/docs/object/fingerprint/index.html index 1fb353c..3d6b037 100644 --- a/app/views/static/api/docs/object/fingerprint/index.html +++ b/app/views/static/api/docs/object/fingerprint/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/hashtagtype/index.html b/app/views/static/api/docs/object/hashtagtype/index.html index 22c0337..6ac6064 100644 --- a/app/views/static/api/docs/object/hashtagtype/index.html +++ b/app/views/static/api/docs/object/hashtagtype/index.html @@ -171,6 +171,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -227,6 +234,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -556,6 +570,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/index.html b/app/views/static/api/docs/object/index.html index db1d67a..6ebde8f 100644 --- a/app/views/static/api/docs/object/index.html +++ b/app/views/static/api/docs/object/index.html @@ -164,6 +164,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -220,6 +227,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -549,6 +563,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/localizedcustomfields/index.html b/app/views/static/api/docs/object/localizedcustomfields/index.html new file mode 100644 index 0000000..e222ffb --- /dev/null +++ b/app/views/static/api/docs/object/localizedcustomfields/index.html @@ -0,0 +1,1040 @@ +

    +LocalizedCustomFields

    +

    Represents a particular translation of a LocalizedCustomFieldsType

    +

    +Fields

    +
    + locale (String!) +
    +

    The standard locale of this translation.

    +
    +
    +
    + fields (JSON) +
    +

    The fields of this translation.

    +
    +
    +
    + machineTranslated (Boolean!) +
    +

    Whether this string is machine translated or not.

    +
    +
    + + + +
    + ☰ +
    diff --git a/app/views/static/api/docs/object/localizedstring/index.html b/app/views/static/api/docs/object/localizedstring/index.html index 9625f3e..cb69b7a 100644 --- a/app/views/static/api/docs/object/localizedstring/index.html +++ b/app/views/static/api/docs/object/localizedstring/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/meeting/index.html b/app/views/static/api/docs/object/meeting/index.html index e99e45f..72603c7 100644 --- a/app/views/static/api/docs/object/meeting/index.html +++ b/app/views/static/api/docs/object/meeting/index.html @@ -481,6 +481,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -537,6 +544,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -866,6 +880,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/meetingagenda/index.html b/app/views/static/api/docs/object/meetingagenda/index.html index 0ffb050..df2b956 100644 --- a/app/views/static/api/docs/object/meetingagenda/index.html +++ b/app/views/static/api/docs/object/meetingagenda/index.html @@ -195,6 +195,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -251,6 +258,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -580,6 +594,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/meetingagendaitem/index.html b/app/views/static/api/docs/object/meetingagendaitem/index.html index 29ed89c..d539237 100644 --- a/app/views/static/api/docs/object/meetingagendaitem/index.html +++ b/app/views/static/api/docs/object/meetingagendaitem/index.html @@ -225,6 +225,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -281,6 +288,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -610,6 +624,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/meetingconnection/index.html b/app/views/static/api/docs/object/meetingconnection/index.html index 2bd7f6d..005f7fa 100644 --- a/app/views/static/api/docs/object/meetingconnection/index.html +++ b/app/views/static/api/docs/object/meetingconnection/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/meetingedge/index.html b/app/views/static/api/docs/object/meetingedge/index.html index 506642c..7e58022 100644 --- a/app/views/static/api/docs/object/meetingedge/index.html +++ b/app/views/static/api/docs/object/meetingedge/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/meetings/index.html b/app/views/static/api/docs/object/meetings/index.html index d5fd911..ada05eb 100644 --- a/app/views/static/api/docs/object/meetings/index.html +++ b/app/views/static/api/docs/object/meetings/index.html @@ -272,6 +272,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -328,6 +335,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -657,6 +671,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/meetingservice/index.html b/app/views/static/api/docs/object/meetingservice/index.html index bda00bb..36b56fc 100644 --- a/app/views/static/api/docs/object/meetingservice/index.html +++ b/app/views/static/api/docs/object/meetingservice/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/metric/index.html b/app/views/static/api/docs/object/metric/index.html index 5b07dfb..b38723e 100644 --- a/app/views/static/api/docs/object/metric/index.html +++ b/app/views/static/api/docs/object/metric/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/metrichistory/index.html b/app/views/static/api/docs/object/metrichistory/index.html index b44b4cd..699ee1a 100644 --- a/app/views/static/api/docs/object/metrichistory/index.html +++ b/app/views/static/api/docs/object/metrichistory/index.html @@ -176,6 +176,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -232,6 +239,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -561,6 +575,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/organization/index.html b/app/views/static/api/docs/object/organization/index.html index 5b5542c..7a203d5 100644 --- a/app/views/static/api/docs/object/organization/index.html +++ b/app/views/static/api/docs/object/organization/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/page/index.html b/app/views/static/api/docs/object/page/index.html index d8974d6..fb01c4b 100644 --- a/app/views/static/api/docs/object/page/index.html +++ b/app/views/static/api/docs/object/page/index.html @@ -194,6 +194,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -250,6 +257,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -579,6 +593,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/pageconnection/index.html b/app/views/static/api/docs/object/pageconnection/index.html index d9daadc..f524c76 100644 --- a/app/views/static/api/docs/object/pageconnection/index.html +++ b/app/views/static/api/docs/object/pageconnection/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/pageedge/index.html b/app/views/static/api/docs/object/pageedge/index.html index cb85414..c4cd415 100644 --- a/app/views/static/api/docs/object/pageedge/index.html +++ b/app/views/static/api/docs/object/pageedge/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/pageinfo/index.html b/app/views/static/api/docs/object/pageinfo/index.html index 2671bf4..95580d3 100644 --- a/app/views/static/api/docs/object/pageinfo/index.html +++ b/app/views/static/api/docs/object/pageinfo/index.html @@ -189,6 +189,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -245,6 +252,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -574,6 +588,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/pages/index.html b/app/views/static/api/docs/object/pages/index.html index 2cddc13..0b2fabf 100644 --- a/app/views/static/api/docs/object/pages/index.html +++ b/app/views/static/api/docs/object/pages/index.html @@ -272,6 +272,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -328,6 +335,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -657,6 +671,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/participatoryprocess/index.html b/app/views/static/api/docs/object/participatoryprocess/index.html index b11af7a..1aa4ea9 100644 --- a/app/views/static/api/docs/object/participatoryprocess/index.html +++ b/app/views/static/api/docs/object/participatoryprocess/index.html @@ -419,6 +419,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -475,6 +482,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -804,6 +818,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/participatoryprocessgroup/index.html b/app/views/static/api/docs/object/participatoryprocessgroup/index.html index 13b8ef1..9ec87e9 100644 --- a/app/views/static/api/docs/object/participatoryprocessgroup/index.html +++ b/app/views/static/api/docs/object/participatoryprocessgroup/index.html @@ -195,6 +195,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -251,6 +258,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -580,6 +594,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/participatoryprocessstep/index.html b/app/views/static/api/docs/object/participatoryprocessstep/index.html index 1fd8a08..bedfbda 100644 --- a/app/views/static/api/docs/object/participatoryprocessstep/index.html +++ b/app/views/static/api/docs/object/participatoryprocessstep/index.html @@ -225,6 +225,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -281,6 +288,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -610,6 +624,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/participatoryprocesstype/index.html b/app/views/static/api/docs/object/participatoryprocesstype/index.html index 0612170..3862f89 100644 --- a/app/views/static/api/docs/object/participatoryprocesstype/index.html +++ b/app/views/static/api/docs/object/participatoryprocesstype/index.html @@ -195,6 +195,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -251,6 +258,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -580,6 +594,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/participatoryspace/index.html b/app/views/static/api/docs/object/participatoryspace/index.html index 7915de9..1f06d98 100644 --- a/app/views/static/api/docs/object/participatoryspace/index.html +++ b/app/views/static/api/docs/object/participatoryspace/index.html @@ -234,6 +234,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -290,6 +297,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -619,6 +633,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/participatoryspacelink/index.html b/app/views/static/api/docs/object/participatoryspacelink/index.html index b504f7d..3e12abf 100644 --- a/app/views/static/api/docs/object/participatoryspacelink/index.html +++ b/app/views/static/api/docs/object/participatoryspacelink/index.html @@ -195,6 +195,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -251,6 +258,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -580,6 +594,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/participatoryspacemanifest/index.html b/app/views/static/api/docs/object/participatoryspacemanifest/index.html index 415a552..a4aba91 100644 --- a/app/views/static/api/docs/object/participatoryspacemanifest/index.html +++ b/app/views/static/api/docs/object/participatoryspacemanifest/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/post/index.html b/app/views/static/api/docs/object/post/index.html index 77e65d6..3cb59e6 100644 --- a/app/views/static/api/docs/object/post/index.html +++ b/app/views/static/api/docs/object/post/index.html @@ -323,6 +323,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -379,6 +386,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -708,6 +722,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/postconnection/index.html b/app/views/static/api/docs/object/postconnection/index.html index 391e1b9..562443c 100644 --- a/app/views/static/api/docs/object/postconnection/index.html +++ b/app/views/static/api/docs/object/postconnection/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/postedge/index.html b/app/views/static/api/docs/object/postedge/index.html index f6eac1c..074a6c9 100644 --- a/app/views/static/api/docs/object/postedge/index.html +++ b/app/views/static/api/docs/object/postedge/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/project/index.html b/app/views/static/api/docs/object/project/index.html index 47e3616..9b5e82a 100644 --- a/app/views/static/api/docs/object/project/index.html +++ b/app/views/static/api/docs/object/project/index.html @@ -315,6 +315,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -371,6 +378,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -700,6 +714,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/proposal/index.html b/app/views/static/api/docs/object/proposal/index.html index b5b3d89..227fa08 100644 --- a/app/views/static/api/docs/object/proposal/index.html +++ b/app/views/static/api/docs/object/proposal/index.html @@ -125,6 +125,18 @@

    The total amount of votes the proposal has received

    +
    + bodyFields (TranslatedCustomFields) +
    +

    Custom fields for this proposal

    +
    +
    +
    + voteWeights (JSON) +
    +

    The corresponding weights count to the proposal votes

    +
    +
    createdAt (DateTime)
    @@ -447,6 +459,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -503,6 +522,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -832,6 +858,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/proposalconnection/index.html b/app/views/static/api/docs/object/proposalconnection/index.html index 073f87a..926d51d 100644 --- a/app/views/static/api/docs/object/proposalconnection/index.html +++ b/app/views/static/api/docs/object/proposalconnection/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/proposaledge/index.html b/app/views/static/api/docs/object/proposaledge/index.html index adaf2d7..ef36e86 100644 --- a/app/views/static/api/docs/object/proposaledge/index.html +++ b/app/views/static/api/docs/object/proposaledge/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/proposals/index.html b/app/views/static/api/docs/object/proposals/index.html index 921a415..e03d081 100644 --- a/app/views/static/api/docs/object/proposals/index.html +++ b/app/views/static/api/docs/object/proposals/index.html @@ -293,6 +293,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -349,6 +356,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -678,6 +692,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/quantifiabletranslatedfield/index.html b/app/views/static/api/docs/object/quantifiabletranslatedfield/index.html index 00ee2e5..9dc0500 100644 --- a/app/views/static/api/docs/object/quantifiabletranslatedfield/index.html +++ b/app/views/static/api/docs/object/quantifiabletranslatedfield/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/question/index.html b/app/views/static/api/docs/object/question/index.html index a5b1473..2f0259f 100644 --- a/app/views/static/api/docs/object/question/index.html +++ b/app/views/static/api/docs/object/question/index.html @@ -236,6 +236,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -292,6 +299,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -621,6 +635,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/questionnaire/index.html b/app/views/static/api/docs/object/questionnaire/index.html index fd59514..911e8cb 100644 --- a/app/views/static/api/docs/object/questionnaire/index.html +++ b/app/views/static/api/docs/object/questionnaire/index.html @@ -224,6 +224,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -280,6 +287,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -609,6 +623,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/result/index.html b/app/views/static/api/docs/object/result/index.html index ebd7b9c..78a7aa2 100644 --- a/app/views/static/api/docs/object/result/index.html +++ b/app/views/static/api/docs/object/result/index.html @@ -356,6 +356,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -412,6 +419,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -741,6 +755,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/resultconnection/index.html b/app/views/static/api/docs/object/resultconnection/index.html index 29b5127..f610003 100644 --- a/app/views/static/api/docs/object/resultconnection/index.html +++ b/app/views/static/api/docs/object/resultconnection/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/resultedge/index.html b/app/views/static/api/docs/object/resultedge/index.html index 565cbdd..0bf31a1 100644 --- a/app/views/static/api/docs/object/resultedge/index.html +++ b/app/views/static/api/docs/object/resultedge/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/scope/index.html b/app/views/static/api/docs/object/scope/index.html index e7b711e..0181dd1 100644 --- a/app/views/static/api/docs/object/scope/index.html +++ b/app/views/static/api/docs/object/scope/index.html @@ -188,6 +188,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -244,6 +251,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -573,6 +587,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/session/index.html b/app/views/static/api/docs/object/session/index.html index 118c09e..99ccea8 100644 --- a/app/views/static/api/docs/object/session/index.html +++ b/app/views/static/api/docs/object/session/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/statistic/index.html b/app/views/static/api/docs/object/statistic/index.html index 54f46da..800f9dc 100644 --- a/app/views/static/api/docs/object/statistic/index.html +++ b/app/views/static/api/docs/object/statistic/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/status/index.html b/app/views/static/api/docs/object/status/index.html index 849525b..119bcc0 100644 --- a/app/views/static/api/docs/object/status/index.html +++ b/app/views/static/api/docs/object/status/index.html @@ -213,6 +213,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -269,6 +276,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -598,6 +612,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/survey/index.html b/app/views/static/api/docs/object/survey/index.html index 885dde6..e5cdc38 100644 --- a/app/views/static/api/docs/object/survey/index.html +++ b/app/views/static/api/docs/object/survey/index.html @@ -189,6 +189,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -245,6 +252,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -574,6 +588,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/surveyconnection/index.html b/app/views/static/api/docs/object/surveyconnection/index.html index f7fdf79..9d102e4 100644 --- a/app/views/static/api/docs/object/surveyconnection/index.html +++ b/app/views/static/api/docs/object/surveyconnection/index.html @@ -183,6 +183,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -239,6 +246,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -568,6 +582,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/surveyedge/index.html b/app/views/static/api/docs/object/surveyedge/index.html index 18abd29..c0f4cfa 100644 --- a/app/views/static/api/docs/object/surveyedge/index.html +++ b/app/views/static/api/docs/object/surveyedge/index.html @@ -177,6 +177,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -233,6 +240,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -562,6 +576,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/surveys/index.html b/app/views/static/api/docs/object/surveys/index.html index d24616f..3070c78 100644 --- a/app/views/static/api/docs/object/surveys/index.html +++ b/app/views/static/api/docs/object/surveys/index.html @@ -272,6 +272,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -328,6 +335,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -657,6 +671,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/timelineentry/index.html b/app/views/static/api/docs/object/timelineentry/index.html index 9d75c28..03f477d 100644 --- a/app/views/static/api/docs/object/timelineentry/index.html +++ b/app/views/static/api/docs/object/timelineentry/index.html @@ -207,6 +207,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -263,6 +270,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -592,6 +606,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/traceversion/index.html b/app/views/static/api/docs/object/traceversion/index.html index b6873f4..f9d9e1c 100644 --- a/app/views/static/api/docs/object/traceversion/index.html +++ b/app/views/static/api/docs/object/traceversion/index.html @@ -189,6 +189,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -245,6 +252,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -574,6 +588,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/translatedcustomfields/index.html b/app/views/static/api/docs/object/translatedcustomfields/index.html new file mode 100644 index 0000000..adaa888 --- /dev/null +++ b/app/views/static/api/docs/object/translatedcustomfields/index.html @@ -0,0 +1,1080 @@ +

    +TranslatedCustomFields

    +

    A translated field

    +

    +Fields

    +
    + locales ([String]) +
    +

    Lists all the locales in which this translation is available

    +
    +
    +
    + translations ([LocalizedCustomFields]!) +
    +

    All the localized custom fields for this translation.

    + + + + + + + + + + + + + + + +
    ArgumentTypeDescription
    locales + [String!] + +

    A list of locales to scope the translations to.

    +
    +
    +
    +
    + translation (JSON) +
    +

    Returns a single translation given a locale.

    + + + + + + + + + + + + + + + +
    ArgumentTypeDescription
    locale + String! + +

    A locale to search for

    +
    +
    +
    + + + +
    + ☰ +
    diff --git a/app/views/static/api/docs/object/translatedfield/index.html b/app/views/static/api/docs/object/translatedfield/index.html index 3cd87a3..b8d4e2b 100644 --- a/app/views/static/api/docs/object/translatedfield/index.html +++ b/app/views/static/api/docs/object/translatedfield/index.html @@ -223,6 +223,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -279,6 +286,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -608,6 +622,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/user/index.html b/app/views/static/api/docs/object/user/index.html index 042b419..972e147 100644 --- a/app/views/static/api/docs/object/user/index.html +++ b/app/views/static/api/docs/object/user/index.html @@ -230,6 +230,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -286,6 +293,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -615,6 +629,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/object/usergroup/index.html b/app/views/static/api/docs/object/usergroup/index.html index 1a8cda3..d0ad770 100644 --- a/app/views/static/api/docs/object/usergroup/index.html +++ b/app/views/static/api/docs/object/usergroup/index.html @@ -230,6 +230,13 @@

  • +
  • + + Component + +
  • + +
  • Coordinates @@ -286,6 +293,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -615,6 +629,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/operation/mutation/index.html b/app/views/static/api/docs/operation/mutation/index.html index 26c5cec..5ec0738 100644 --- a/app/views/static/api/docs/operation/mutation/index.html +++ b/app/views/static/api/docs/operation/mutation/index.html @@ -165,6 +165,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -221,6 +228,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -550,6 +564,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/operation/query/index.html b/app/views/static/api/docs/operation/query/index.html index 5303f3c..1ac6b67 100644 --- a/app/views/static/api/docs/operation/query/index.html +++ b/app/views/static/api/docs/operation/query/index.html @@ -257,15 +257,15 @@

    - participatoryProcessGroups ([ParticipatoryProcessGroup!]!) + assembliesTypes ([AssembliesType!]!)
    -

    Lists all participatory process groups

    +

    Lists all assemblies types

    - participatoryProcessGroup (ParticipatoryProcessGroup) + assembliesType (AssembliesType)
    -

    Finds a participatory process group

    +

    Finds an assemblies type group

    @@ -281,7 +281,7 @@

    ID!

    @@ -289,15 +289,44 @@

    - participatoryProcessTypes ([ParticipatoryProcessType!]!) + assemblies ([Assembly!])
    -

    List all participatory process types

    +

    Lists all assemblies

    +

    -

    The ID of the Participatory process group

    +

    The ID of the Assemblies type

    + + + + + + + + + + + + + + + + + + + +
    ArgumentTypeDescription
    filter + ParticipatoryProcessFilter + +

    This argument lets you filter the results

    +
    order + ParticipatoryProcessSort + +

    This argument lets you order the results

    +
    - participatoryProcessType (ParticipatoryProcessType) + assembly (Assembly)
    -

    Finds a participatory process type

    +

    Finds an assembly

    @@ -310,10 +339,10 @@

    @@ -373,15 +402,15 @@

    - assembliesTypes ([AssembliesType!]!) + participatoryProcessGroups ([ParticipatoryProcessGroup!]!)
    -

    Lists all assemblies types

    +

    Lists all participatory process groups

    - assembliesType (AssembliesType) + participatoryProcessGroup (ParticipatoryProcessGroup)
    -

    Finds an assemblies type group

    +

    Finds a participatory process group

    id - ID! + ID -

    The ID of the participatory process type

    +

    The ID of the participatory space

    @@ -397,7 +426,7 @@

    ID!

    @@ -405,44 +434,15 @@

    - assemblies ([Assembly!]) + participatoryProcessTypes ([ParticipatoryProcessType!]!)
    -

    Lists all assemblies

    -

    -

    The ID of the Assemblies type

    +

    The ID of the Participatory process group

    - - - - - - - - - - - - - - - - - - - -
    ArgumentTypeDescription
    filter - ParticipatoryProcessFilter - -

    This argument lets you filter the results

    -
    order - ParticipatoryProcessSort - -

    This argument lets you order the results

    -
    +

    List all participatory process types

    - assembly (Assembly) + participatoryProcessType (ParticipatoryProcessType)
    -

    Finds an assembly

    +

    Finds a participatory process type

    @@ -455,10 +455,10 @@

    @@ -627,6 +627,13 @@

    +
  • + + Component + +
  • + +
  • Coordinates @@ -683,6 +690,13 @@

  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -1012,6 +1026,13 @@

  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/scalar/boolean/index.html b/app/views/static/api/docs/scalar/boolean/index.html index 9008e17..af1d3e1 100644 --- a/app/views/static/api/docs/scalar/boolean/index.html +++ b/app/views/static/api/docs/scalar/boolean/index.html @@ -163,6 +163,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -219,6 +226,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -548,6 +562,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/scalar/date/index.html b/app/views/static/api/docs/scalar/date/index.html index 94b6b33..bffb575 100644 --- a/app/views/static/api/docs/scalar/date/index.html +++ b/app/views/static/api/docs/scalar/date/index.html @@ -163,6 +163,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -219,6 +226,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -548,6 +562,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/scalar/datetime/index.html b/app/views/static/api/docs/scalar/datetime/index.html index c5d2d75..0350a70 100644 --- a/app/views/static/api/docs/scalar/datetime/index.html +++ b/app/views/static/api/docs/scalar/datetime/index.html @@ -163,6 +163,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -219,6 +226,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -548,6 +562,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/scalar/float/index.html b/app/views/static/api/docs/scalar/float/index.html index 01061db..c33214d 100644 --- a/app/views/static/api/docs/scalar/float/index.html +++ b/app/views/static/api/docs/scalar/float/index.html @@ -163,6 +163,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -219,6 +226,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -548,6 +562,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/scalar/id/index.html b/app/views/static/api/docs/scalar/id/index.html index b3df030..742e2de 100644 --- a/app/views/static/api/docs/scalar/id/index.html +++ b/app/views/static/api/docs/scalar/id/index.html @@ -163,6 +163,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -219,6 +226,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -548,6 +562,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/scalar/index.html b/app/views/static/api/docs/scalar/index.html index 3839ee0..391206a 100644 --- a/app/views/static/api/docs/scalar/index.html +++ b/app/views/static/api/docs/scalar/index.html @@ -164,6 +164,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -220,6 +227,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -549,6 +563,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/scalar/int/index.html b/app/views/static/api/docs/scalar/int/index.html index ea74307..9c675dc 100644 --- a/app/views/static/api/docs/scalar/int/index.html +++ b/app/views/static/api/docs/scalar/int/index.html @@ -163,6 +163,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -219,6 +226,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -548,6 +562,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/scalar/json/index.html b/app/views/static/api/docs/scalar/json/index.html index cf144a5..a1f89eb 100644 --- a/app/views/static/api/docs/scalar/json/index.html +++ b/app/views/static/api/docs/scalar/json/index.html @@ -163,6 +163,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -219,6 +226,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -548,6 +562,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/scalar/string/index.html b/app/views/static/api/docs/scalar/string/index.html index aa8a2e7..7bd7bf5 100644 --- a/app/views/static/api/docs/scalar/string/index.html +++ b/app/views/static/api/docs/scalar/string/index.html @@ -163,6 +163,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -219,6 +226,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -548,6 +562,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/app/views/static/api/docs/union/index.html b/app/views/static/api/docs/union/index.html index b510a09..ae8fe18 100644 --- a/app/views/static/api/docs/union/index.html +++ b/app/views/static/api/docs/union/index.html @@ -164,6 +164,13 @@
  • +
  • + + Component + +
  • + +
  • Coordinates @@ -220,6 +227,13 @@
  • +
  • + + LocalizedCustomFields + +
  • + +
  • LocalizedString @@ -549,6 +563,13 @@
  • +
  • + + TranslatedCustomFields + +
  • + +
  • TranslatedField diff --git a/config/application.rb b/config/application.rb index b553bc9..40d45c3 100644 --- a/config/application.rb +++ b/config/application.rb @@ -2,6 +2,7 @@ require_relative "boot" +require "decidim/version" require "decidim/rails" # Add the frameworks used by your app that are not loaded by Decidim. @@ -26,5 +27,11 @@ class Application < Rails::Application # # config.time_zone = "Central Time (US & Canada)" # config.eager_load_paths << Rails.root.join("extras") + + config.after_initialize do + # Controllers + require "extends/controllers/decidim/devise/omniauth_registrations_controller_extends" + require "extends/controllers/decidim/errors_controller_extends" + end end end diff --git a/config/database.yml b/config/database.yml index 8ef91f3..b6cafdb 100644 --- a/config/database.yml +++ b/config/database.yml @@ -31,7 +31,6 @@ default: &default development: <<: *default - database: decidim_development_app_development # The specified database role being used to connect to postgres. # To create additional roles in postgres see `$ createuser --help`. diff --git a/config/environments/development.rb b/config/environments/development.rb index b2759d1..60dd43a 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -87,4 +87,6 @@ # Compress the HTML responses with gzip config.middleware.use Rack::Deflater end + + config.deface.enabled = true end diff --git a/config/environments/production.rb b/config/environments/production.rb index 1fd287c..068bcaa 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -41,11 +41,7 @@ # Store uploaded files on the local file system (see config/storage.yml for options). config.active_storage.service = Rails.application.secrets.dig(:storage, :provider)&.to_sym || :local - config.active_storage.service_urls_expire_in = if Rails.application.secrets.dig(:storage, :s3, :access_key_id).blank? - "120000" - else - Rails.application.secrets.dig(:decidim, :service_urls_expires_in) - end.to_i.weeks + config.active_storage.service_urls_expire_in = Rails.application.secrets.dig(:decidim, :service_urls_expires_in).to_i.days # Mount Action Cable outside main process or domain. # config.action_cable.mount_path = nil @@ -53,11 +49,11 @@ # config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ] # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. - # config.force_ssl = true + config.force_ssl = Rails.application.secrets.decidim[:force_ssl].present? # Include generic and useful information about system operation, but avoid logging too much # information to avoid inadvertent exposure of personally identifiable information (PII). - config.log_level = %w(debug info warn error fatal).include?(ENV["RAILS_LOG_LEVEL"]) ? ENV["RAILS_LOG_LEVEL"] : :warn + config.log_level = %w(debug info warn error fatal).include?(ENV["RAILS_LOG_LEVEL"]) ? ENV["RAILS_LOG_LEVEL"].to_sym : :warn # Prepend all log lines with the following tags. config.log_tags = [:request_id, :ip] @@ -116,4 +112,24 @@ # Do not dump schema after migrations. config.active_record.dump_schema_after_migration = false + + config.ssl_options = if config.force_ssl + { + redirect: { + exclude: ->(request) { request.port == ENV.fetch("PUMA_HEALTH_CHECK_PORT", 3124) } + } + } + else + { + redirect: false + } + end + + # # Veracode configuration + # config.cache_classes = false + + # # Log error messages when you accidentally call methods on nil. + # config.whiny_nils = true + + config.deface.enabled = ENV.fetch("DEFACE_ENABLED", nil) == "true" end diff --git a/config/initializers/decidim.rb b/config/initializers/decidim.rb index 1a90b5b..fac98c2 100644 --- a/config/initializers/decidim.rb +++ b/config/initializers/decidim.rb @@ -357,40 +357,42 @@ config.consent_cookie_name = Rails.application.secrets.decidim[:consent_cookie_name] if Rails.application.secrets.decidim[:consent_cookie_name].present? # Defines data consent categories and the data stored in each category. - # config.consent_categories = [ - # { - # slug: "essential", - # mandatory: true, - # items: [ - # { - # type: "cookie", - # name: "_session_id" - # }, - # { - # type: "cookie", - # name: Decidim.consent_cookie_name - # } - # ] - # }, - # { - # slug: "preferences", - # mandatory: false - # }, - # { - # slug: "analytics", - # mandatory: false - # }, - # { - # slug: "marketing", - # mandatory: false - # } - # ] + config.consent_categories = [ + { + slug: "essential", + mandatory: true, + items: [ + { + type: "cookie", + name: "_session_id" + }, + { + type: "cookie", + name: Decidim.consent_cookie_name + }, + { + type: "cookie", + name: "youtube-nocookie" + }, + { + type: "cookie", + name: "google-maps" + }, + { + type: "cookie", + name: "airtable" + } + ] + } + ] # Defines additional content security policies following the structure # Read more: https://docs.decidim.org/en/develop/configure/initializer#_content_security_policy config.content_security_policies_extra = { - "connect-src" => %w(http://minio:9000 http://minio http://localhost:9000), - "img-src" => %w(http://minio:9000 http://minio http://localhost:9000) + "connect-src" => %w(http://minio:9000 http://minio http://localhost:9000 https://localhost:3000 *.gstatic.com *.google.com *.googleapis.com), + "img-src" => %w(http://minio:9000 http://minio http://localhost:9000 https://localhost:3000 *.gstatic.com *.google.com *.googleapis.com), + "script-src" => %w(*.gstatic.com *.google.com *.googleapis.com), + "style-src" => %w(*.gstatic.com *.google.com *.googleapis.com) } # Admin admin password configurations @@ -403,6 +405,7 @@ config.admin_password_repetition_times = Rails.application.secrets.dig(:decidim, :admin_password, :repetition_times).presence || 5 # Additional optional configurations (see decidim-core/lib/decidim/core.rb) + config.cache_expiry_time = Rails.application.secrets.decidim[:cache_expiry_time].to_i.minutes if Rails.application.secrets.decidim[:cache_expiry_time].present? config.cache_key_separator = Rails.application.secrets.decidim[:cache_key_separator] if Rails.application.secrets.decidim[:cache_key_separator].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" diff --git a/config/initializers/extends.rb b/config/initializers/extends.rb new file mode 100644 index 0000000..c85e6a9 --- /dev/null +++ b/config/initializers/extends.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: true + +require "extends/lib/decidim/proposals/import/proposal_creator_extends" diff --git a/config/initializers/omniauth_nyc.rb b/config/initializers/omniauth_nyc.rb new file mode 100644 index 0000000..667eae6 --- /dev/null +++ b/config/initializers/omniauth_nyc.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +require "omniauth/strategies/nyc" + +Rails.application.config.middleware.use OmniAuth::Builder do + OmniAuth.config.logger = Rails.logger + + omniauth_config = Rails.application.secrets[:omniauth] + + if omniauth_config[:nyc].present? + provider( + OmniAuth::Strategies::NYC, + setup: setup_provider_proc(:nyc, + icon_path: :icon_path, + provider_name: :provider_name, + idp_cert_fingerprint: :idp_cert_fingerprint, + idp_cert: :idp_cert, + certificate: :idp_cert, + private_key: :idp_key, + issuer: :issuer, + authn_context: :authn_context, + assertion_consumer_service_url: :assertion_consumer_service_url, + idp_sso_target_callback_origin: :idp_sso_target_callback_origin, + idp_sso_target_url: :idp_sso_target_url, + idp_slo_target_url: :idp_slo_target_url) + ) + end +end diff --git a/config/initializers/storage.rb b/config/initializers/storage.rb new file mode 100644 index 0000000..5999200 --- /dev/null +++ b/config/initializers/storage.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: true + +require "aws-sdk-core" + +Aws.config.update(credentials: Aws::ECSCredentials.new) if Rails.env.production? && Rails.application.config.active_storage.service == :amazon_instance_profile diff --git a/config/locales/en.yml b/config/locales/en.yml index c81dd88..0b337fd 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -5,3 +5,17 @@ en: assembly: fields: promoted: "Promoted" + layouts: + decidim: + data_consent: + details: + items: + airtable: + service: "Airtable" + description: "We need these for airtable" + google-maps: + service: "Google Maps" + description: "We need these for maps" + youtube-nocookie: + service: "YouTube (no cookies)" + description: "We need these for video" \ No newline at end of file diff --git a/config/puma.rb b/config/puma.rb index e443901..3d8de6d 100644 --- a/config/puma.rb +++ b/config/puma.rb @@ -54,3 +54,7 @@ key_pem: File.read("#{cert_dir}/ssl-key.pem") ) end + +if Rails.application.secrets.puma[:health_check][:enabled] + activate_control_app "tcp://0.0.0.0:#{Rails.application.secrets.puma[:health_check][:port]}", { auth_token: Rails.application.secrets.puma[:health_check][:token] } +end diff --git a/config/routes.rb b/config/routes.rb index 6258177..2a8b9dc 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -4,10 +4,20 @@ require "sidekiq-scheduler/web" Rails.application.routes.draw do + if Rails.application.secrets.puma[:health_check][:enabled] + get "/stats", to: redirect { |_params, request| "http://#{request.host}:#{Rails.application.secrets.puma[:health_check][:port]}/stats?#{request.params.to_query}" } + end + authenticate :admin do mount Sidekiq::Web => "/sidekiq" end + devise_scope :user do + get "/admin_sign_in", to: "decidim/devise/sessions#new" + end + + get "/sign_in_redirect/:provider", to: "decidim/omniauth/switch#redirect" + mount LetterOpenerWeb::Engine, at: "/letter_opener" if Rails.env.development? || ENV.fetch("ENABLE_LETTER_OPENER", "0") == "1" mount Decidim::Core::Engine => "/" diff --git a/config/secrets.yml b/config/secrets.yml index acd90a7..c78cdf7 100644 --- a/config/secrets.yml +++ b/config/secrets.yml @@ -32,6 +32,7 @@ decidim_default: &decidim_default base_uploads_path: <%= Decidim::Env.new("DECIDIM_BASE_UPLOADS_PATH").to_json %> 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_expiry_time: <%= Decidim::Env.new("DECIDIM_CACHE_EXPIRY_TIME", "1440").to_i %> cache_key_separator: <%= Decidim::Env.new("DECIDIM_CACHE_KEY_SEPARATOR", "/").to_json %> 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 %> @@ -82,12 +83,20 @@ decidim_default: &decidim_default storage_default: &storage_default provider: <%= Decidim::Env.new("STORAGE_PROVIDER", "local").to_s %> cdn_host: <%= ENV["STORAGE_CDN_HOST"] %> - s3: + amazon: access_key_id: <%= ENV["AWS_ACCESS_KEY_ID"] %> secret_access_key: <%= ENV["AWS_SECRET_ACCESS_KEY"] %> region: <%= ENV["AWS_REGION"] %> bucket: <%= ENV["AWS_BUCKET"] %> + amazon_instance_profile: + region: <%= ENV["AWS_REGION"] %> + bucket: <%= ENV["AWS_BUCKET"] %> + minio: + access_key_id: <%= ENV["AWS_ACCESS_KEY_ID"] %> + secret_access_key: <%= ENV["AWS_SECRET_ACCESS_KEY"] %> + bucket: <%= ENV["AWS_BUCKET"] %> endpoint: <%= ENV["AWS_ENDPOINT"] %> + region: <%= ENV["AWS_REGION"] %> azure: storage_access_key: <%= ENV["AZURE_STORAGE_ACCESS_KEY"] %> storage_account_name: <%= ENV["AZURE_STORAGE_ACCOUNT_NAME"] %> @@ -113,21 +122,24 @@ default: &default concurrency: <%= Decidim::Env.new('SIDEKIQ_CONCURRENCY', '5').to_i %> max_retries: <%= Decidim::Env.new('SIDEKIQ_MAX_RETRIES', '5').to_i %> omniauth: - facebook: + nyc: enabled: <%= Decidim::Env.new("OMNIAUTH_FACEBOOK_APP_ID").to_boolean_string %> - app_id: <%= ENV["OMNIAUTH_FACEBOOK_APP_ID"] %> - app_secret: <%= ENV["OMNIAUTH_FACEBOOK_APP_SECRET"] %> - icon: facebook-fill - twitter: - enabled: <%= Decidim::Env.new("OMNIAUTH_TWITTER_API_KEY").to_boolean_string %> - api_key: <%= ENV["OMNIAUTH_TWITTER_API_KEY"] %> - api_secret: <%= ENV["OMNIAUTH_TWITTER_API_SECRET"] %> - icon: twitter-x-fill - google_oauth2: - enabled: <%= Decidim::Env.new("OMNIAUTH_GOOGLE_CLIENT_ID").to_boolean_string %> - icon: google-fill - client_id: <%= ENV["OMNIAUTH_GOOGLE_CLIENT_ID"] %> - client_secret: <%= ENV["OMNIAUTH_GOOGLE_CLIENT_SECRET"] %> + icon_path: <%= ENV["OMNIAUTH_NYC_ICON_PATH"] %> + provider_name: <%= ENV["OMNIAUTH_NYC_PROVIDER_NAME"] %> + idp_sso_target_url: <%= ENV["OMNIAUTH_NYC_SSO_URL"] %> + assertion_consumer_service_url: <%= ENV["OMNIAUTH_NYC_CALLBACK"] %> + idp_sso_target_callback_origin: <%= ENV["OMNIAUTH_NYC_SSO_CALLBACK_ORIGIN"] %> + authn_context: <%= ENV["OMNIAUTH_NYC_AUTHN_CONTEXT"] %> + issuer: <%= ENV["OMNIAUTH_NYC_ISSUER"] %> + idp_slo_target_url: <%= ENV["OMNIAUTH_NYC_SLO_URL"] %> + idp_cert_fingerprint: <%= ENV["OMNIAUTH_NYC_CERT_FINGERPRINT"] %> + idp_cert: <%= ENV["OMNIAUTH_NYC_CERT"] %> + idp_key: <%= ENV["OMNIAUTH_NYC_KEY"] %> + sign_in_button_text: <%= ENV["SIGN_IN_BUTTON_TEXT"] || "" %> + sign_up_button_url: <%= ENV["SIGN_UP_BUTTON_NYID_URL"] || "" %> + sign_up_button_sp_name: <%= ENV["SIGN_UP_BUTTON_SP_NAME"] || "" %> + sign_up_button_target: <%= ENV["SIGN_UP_BUTTON_TARGET"] || "" %> + sign_up_button_text: <%= ENV["SIGN_UP_BUTTON_TEXT"] || "" %> maps: dynamic_provider: <%= Decidim::Env.new("MAPS_DYNAMIC_PROVIDER", ENV["MAPS_PROVIDER"]).to_s %> static_provider: <%= Decidim::Env.new("MAPS_STATIC_PROVIDER", ENV["MAPS_PROVIDER"]).to_s %> @@ -148,6 +160,11 @@ default: &default enabled: <%= Decidim::Env.new("VAPID_PUBLIC_KEY").to_boolean_string %> public_key: <%= ENV["VAPID_PUBLIC_KEY"] %> private_key: <%= ENV["VAPID_PRIVATE_KEY"] %> + puma: + health_check: + enabled: <%= Decidim::Env.new("PUMA_HEALTH_CHECK_ENABLED").to_boolean_string %> + port: <%= Decidim::Env.new("PUMA_HEALTH_CHECK_PORT", 3124).to_i %> + token: <%= Decidim::Env.new("PUMA_HEALTH_CHECK_TOKEN", "decidimlite123456789").to_s %> development: <<: *default diff --git a/config/spring.rb b/config/spring.rb index 37be777..83c74ca 100644 --- a/config/spring.rb +++ b/config/spring.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -return if Rails.env.production? +return if ENV["RAILS_ENV"] == "production" require "decidim/spring" diff --git a/config/storage.yml b/config/storage.yml index 49ec24a..92684b8 100644 --- a/config/storage.yml +++ b/config/storage.yml @@ -6,14 +6,33 @@ local: service: Disk root: <%= Rails.root.join("storage") %> -s3: +amazon: service: S3 - access_key_id: <%= Rails.application.secrets.dig(:storage, :s3, :access_key_id) %> - secret_access_key: <%= Rails.application.secrets.dig(:storage, :s3, :secret_access_key) %> - bucket: <%= Rails.application.secrets.dig(:storage, :s3, :bucket) %> - endpoint: <%= Rails.application.secrets.dig(:storage, :s3, :bucket) == "mybucket" ? "http" : "https" %>://<%= Rails.application.secrets.dig(:storage, :s3, :endpoint) %> + region: <%= Rails.application.secrets.dig(:storage, :amazon, :region) %> + bucket: <%= Rails.application.secrets.dig(:amazon, :bucket) %> + access_key_id: <%= Rails.application.secrets.dig(:storage, :amazon, :access_key_id) %> + secret_access_key: <%= Rails.application.secrets.dig(:storage, :amazon, :secret_access_key) %> + validate_params: false + +amazon_instance_profile: + service: S3 + region: <%= Rails.application.secrets.dig(:storage, :amazon_instance_profile, :region) %> + bucket: <%= Rails.application.secrets.dig(:storage, :amazon_instance_profile, :bucket) %> + # In production, the following configuration is set through instance profile + # see config/initalizers/storage.rb for more details + # access_key_id: <%= Rails.application.secrets.dig(:storage, :amazon_instance_profile, :access_key_id) %> + # secret_access_key: <%= Rails.application.secrets.dig(:storage, :amazon_instance_profile, :secret_access_key) %> + validate_params: false + +minio: + service: S3 + access_key_id: <%= Rails.application.secrets.dig(:storage, :minio, :access_key_id) %> + secret_access_key: <%= Rails.application.secrets.dig(:storage, :minio, :secret_access_key) %> + bucket: <%= Rails.application.secrets.dig(:storage, :minio, :bucket) %> + endpoint: <%= Rails.application.secrets.dig(:storage, :minio, :endpoint) %> + region: <%= Rails.application.secrets.dig(:storage, :minio, :region) %> force_path_style: true - <%= "region: #{Rails.application.secrets.dig(:storage, :s3, :region)}" if Rails.application.secrets.dig(:storage, :s3, :region) %> + validate_params: false azure: service: AzureStorage diff --git a/db/migrate/20250416095651_create_decidim_term_customizer_translation_sets.decidim_term_customizer.rb b/db/migrate/20250416095651_create_decidim_term_customizer_translation_sets.decidim_term_customizer.rb new file mode 100644 index 0000000..7c9feed --- /dev/null +++ b/db/migrate/20250416095651_create_decidim_term_customizer_translation_sets.decidim_term_customizer.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This migration comes from decidim_term_customizer (originally 20190217132503) +class CreateDecidimTermCustomizerTranslationSets < ActiveRecord::Migration[5.2] + def change + create_table :decidim_term_customizer_translation_sets do |t| + t.jsonb :name + end + end +end diff --git a/db/migrate/20250416095652_create_decidim_term_customizer_translations.decidim_term_customizer.rb b/db/migrate/20250416095652_create_decidim_term_customizer_translations.decidim_term_customizer.rb new file mode 100644 index 0000000..af44db0 --- /dev/null +++ b/db/migrate/20250416095652_create_decidim_term_customizer_translations.decidim_term_customizer.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +# This migration comes from decidim_term_customizer (originally 20190217132654) +class CreateDecidimTermCustomizerTranslations < ActiveRecord::Migration[5.2] + def change + create_table :decidim_term_customizer_translations do |t| + t.string :locale + t.string :key + t.text :value + + t.references( + :translation_set, + null: false, + foreign_key: { to_table: :decidim_term_customizer_translation_sets }, + index: { name: "decidim_term_customizer_translation_translation_set" } + ) + end + end +end diff --git a/db/migrate/20250416095653_create_decidim_term_customizer_constraints.decidim_term_customizer.rb b/db/migrate/20250416095653_create_decidim_term_customizer_constraints.decidim_term_customizer.rb new file mode 100644 index 0000000..f389706 --- /dev/null +++ b/db/migrate/20250416095653_create_decidim_term_customizer_constraints.decidim_term_customizer.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# This migration comes from decidim_term_customizer (originally 20190217132726) +class CreateDecidimTermCustomizerConstraints < ActiveRecord::Migration[5.2] + def change + create_table :decidim_term_customizer_constraints do |t| + t.references :decidim_organization, null: false, foreign_key: true, index: { name: "decidim_term_customizer_constraint_organization" } + t.references :subject, polymorphic: true, index: { name: "decidim_term_customizer_constraint_subject" } + + t.references( + :translation_set, + null: false, + foreign_key: { to_table: :decidim_term_customizer_translation_sets }, + index: { name: "decidim_term_customizer_constraint_translation_set" } + ) + end + end +end diff --git a/db/migrate/20250416095720_create_decidim_awesome_config.decidim_decidim_awesome.rb b/db/migrate/20250416095720_create_decidim_awesome_config.decidim_decidim_awesome.rb new file mode 100644 index 0000000..4172801 --- /dev/null +++ b/db/migrate/20250416095720_create_decidim_awesome_config.decidim_decidim_awesome.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +# This migration comes from decidim_decidim_awesome (originally 20200324170000) +class CreateDecidimAwesomeConfig < ActiveRecord::Migration[5.2] + def change + create_table :decidim_awesome_config do |t| + t.jsonb :var + t.jsonb :value + t.integer :decidim_organization_id, + foreign_key: true, + index: { name: "index_decidim_awesome_on_decidim_organization_id" } + + t.timestamps + t.index [:var, :decidim_organization_id], name: "index_decidim_awesome_organization_var", unique: true + end + end +end diff --git a/db/migrate/20250416095721_create_awesome_editor_images.decidim_decidim_awesome.rb b/db/migrate/20250416095721_create_awesome_editor_images.decidim_decidim_awesome.rb new file mode 100644 index 0000000..5cea52c --- /dev/null +++ b/db/migrate/20250416095721_create_awesome_editor_images.decidim_decidim_awesome.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +# This migration comes from decidim_decidim_awesome (originally 20200324230936) +class CreateAwesomeEditorImages < ActiveRecord::Migration[5.2] + def change + create_table :decidim_awesome_editor_images do |t| + t.string :image + t.string :path + t.references :decidim_author, null: false, foreign_key: { to_table: :decidim_users }, index: { name: "decidim_awesome_editor_images_author" } + t.references :decidim_organization, null: false, foreign_key: true, index: { name: "decidim_awesome_editor_images_constraint_organization" } + + t.timestamps + end + end +end diff --git a/db/migrate/20250416095722_create_decidim_awesome_config_constraints.decidim_decidim_awesome.rb b/db/migrate/20250416095722_create_decidim_awesome_config_constraints.decidim_decidim_awesome.rb new file mode 100644 index 0000000..0f06577 --- /dev/null +++ b/db/migrate/20250416095722_create_decidim_awesome_config_constraints.decidim_decidim_awesome.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +# This migration comes from decidim_decidim_awesome (originally 20200403142257) +class CreateDecidimAwesomeConfigConstraints < ActiveRecord::Migration[5.2] + def change + create_table :decidim_awesome_config_constraints do |t| + t.jsonb :settings + + t.references :decidim_awesome_config, null: false, foreign_key: { to_table: :decidim_awesome_config }, index: { name: "decidim_awesome_config_constraints_config" } + t.timestamps + t.index [:settings, :decidim_awesome_config_id], name: "index_decidim_awesome_settings_awesome_config", unique: true + end + end +end diff --git a/db/migrate/20250416095723_change_awesome_config_var_type.decidim_decidim_awesome.rb b/db/migrate/20250416095723_change_awesome_config_var_type.decidim_decidim_awesome.rb new file mode 100644 index 0000000..b1af6a4 --- /dev/null +++ b/db/migrate/20250416095723_change_awesome_config_var_type.decidim_decidim_awesome.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +# This migration comes from decidim_decidim_awesome (originally 20210628150825) +class ChangeAwesomeConfigVarType < ActiveRecord::Migration[5.2] + def change + change_column :decidim_awesome_config, :var, :string + + Decidim::DecidimAwesome::AwesomeConfig.find_each do |config| + config.var.gsub!('"', "") + config.save! + end + end +end diff --git a/db/migrate/20250416095724_create_decidim_awesome_vote_weights.decidim_decidim_awesome.rb b/db/migrate/20250416095724_create_decidim_awesome_vote_weights.decidim_decidim_awesome.rb new file mode 100644 index 0000000..6968673 --- /dev/null +++ b/db/migrate/20250416095724_create_decidim_awesome_vote_weights.decidim_decidim_awesome.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +# This migration comes from decidim_decidim_awesome (originally 20231006113837) +class CreateDecidimAwesomeVoteWeights < ActiveRecord::Migration[6.0] + def change + create_table :decidim_awesome_vote_weights do |t| + # this might be polymorphic in the future (if other types of votes are supported) + t.references :proposal_vote, null: false, index: { name: "decidim_awesome_proposals_weights_vote" } + + t.integer :weight, null: false, default: 1 + t.timestamps + end + end +end diff --git a/db/migrate/20250416095725_create_decidim_awesome_proposal_extra_fields.decidim_decidim_awesome.rb b/db/migrate/20250416095725_create_decidim_awesome_proposal_extra_fields.decidim_decidim_awesome.rb new file mode 100644 index 0000000..751a3ce --- /dev/null +++ b/db/migrate/20250416095725_create_decidim_awesome_proposal_extra_fields.decidim_decidim_awesome.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +# This migration comes from decidim_decidim_awesome (originally 20231006113841) +class CreateDecidimAwesomeProposalExtraFields < ActiveRecord::Migration[6.0] + def change + create_table :decidim_awesome_proposal_extra_fields do |t| + # this might be polymorphic in the future (if other types of votes are supported) + t.references :decidim_proposal, null: false, index: { name: "decidim_awesome_extra_fields_on_proposal" } + + t.jsonb :vote_weight_totals + t.integer :weight_total, default: 0 + t.timestamps + end + end +end diff --git a/db/migrate/20250416095726_rename_editor_images_awesome_config.decidim_decidim_awesome.rb b/db/migrate/20250416095726_rename_editor_images_awesome_config.decidim_decidim_awesome.rb new file mode 100644 index 0000000..4546526 --- /dev/null +++ b/db/migrate/20250416095726_rename_editor_images_awesome_config.decidim_decidim_awesome.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +# This migration comes from decidim_decidim_awesome (originally 20240306175331) +class RenameEditorImagesAwesomeConfig < ActiveRecord::Migration[6.1] + class AwesomeConfig < ApplicationRecord + self.table_name = :decidim_awesome_config + end + + # rubocop:disable Rails/SkipsModelValidations + def up + AwesomeConfig.where(var: :allow_images_in_full_editor).update_all(var: :allow_images_in_editors) + AwesomeConfig.where(var: :allow_images_in_small_editor).destroy_all + end + + def down + AwesomeConfig.where(var: :allow_images_in_editors).update_all(var: :allow_images_in_full_editor) + end + # rubocop:enable Rails/SkipsModelValidations +end diff --git a/db/migrate/20250416095727_add_decidim_awesome_proposal_private_fields.decidim_decidim_awesome.rb b/db/migrate/20250416095727_add_decidim_awesome_proposal_private_fields.decidim_decidim_awesome.rb new file mode 100644 index 0000000..7f39ca8 --- /dev/null +++ b/db/migrate/20250416095727_add_decidim_awesome_proposal_private_fields.decidim_decidim_awesome.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +# This migration comes from decidim_decidim_awesome (originally 20240531224204) +class AddDecidimAwesomeProposalPrivateFields < ActiveRecord::Migration[6.0] + class ProposalExtraField < ApplicationRecord + self.table_name = :decidim_awesome_proposal_extra_fields + end + + def change + add_column :decidim_awesome_proposal_extra_fields, :private_body, :string + add_column :decidim_awesome_proposal_extra_fields, :decidim_proposal_type, :string + reversible do |direction| + direction.up do + execute <<~SQL.squish + UPDATE decidim_awesome_proposal_extra_fields + SET decidim_proposal_type = 'Decidim::Proposals::Proposal' + SQL + end + end + + remove_index :decidim_awesome_proposal_extra_fields, name: "decidim_awesome_extra_fields_on_proposal" + add_index :decidim_awesome_proposal_extra_fields, + [:decidim_proposal_id, :decidim_proposal_type], + name: "index_decidim_awesome_proposal_extra_fields_on_decidim_proposal" + + change_column_null :decidim_awesome_proposal_extra_fields, :decidim_proposal_id, false + change_column_null :decidim_awesome_proposal_extra_fields, :decidim_proposal_type, false + ProposalExtraField.reset_column_information + end +end diff --git a/db/migrate/20250416095728_add_decidim_awesome_proposal_private_fields_date.decidim_decidim_awesome.rb b/db/migrate/20250416095728_add_decidim_awesome_proposal_private_fields_date.decidim_decidim_awesome.rb new file mode 100644 index 0000000..8831e91 --- /dev/null +++ b/db/migrate/20250416095728_add_decidim_awesome_proposal_private_fields_date.decidim_decidim_awesome.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +# This migration comes from decidim_decidim_awesome (originally 20240729164227) +class AddDecidimAwesomeProposalPrivateFieldsDate < ActiveRecord::Migration[6.1] + class ProposalExtraField < ApplicationRecord + self.table_name = :decidim_awesome_proposal_extra_fields + end + + def change + add_column :decidim_awesome_proposal_extra_fields, :private_body_updated_at, :datetime + + reversible do |direction| + direction.up do + execute <<~SQL.squish + UPDATE decidim_awesome_proposal_extra_fields + SET private_body_updated_at = updated_at + SQL + end + end + end +end diff --git a/db/schema.rb b/db/schema.rb index b54e419..edccf30 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[7.0].define(version: 2024_09_18_113781) do +ActiveRecord::Schema[7.0].define(version: 2025_04_16_095728) do # These are extensions that must be enabled in order to support this database enable_extension "ltree" enable_extension "pg_trgm" @@ -311,6 +311,56 @@ t.index ["unique_id"], name: "index_decidim_authorizations_on_unique_id" end + create_table "decidim_awesome_config", force: :cascade do |t| + t.string "var" + t.jsonb "value" + t.integer "decidim_organization_id" + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false + t.index ["decidim_organization_id"], name: "index_decidim_awesome_on_decidim_organization_id" + t.index ["var", "decidim_organization_id"], name: "index_decidim_awesome_organization_var", unique: true + end + + create_table "decidim_awesome_config_constraints", force: :cascade do |t| + t.jsonb "settings" + t.bigint "decidim_awesome_config_id", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false + t.index ["decidim_awesome_config_id"], name: "decidim_awesome_config_constraints_config" + t.index ["settings", "decidim_awesome_config_id"], name: "index_decidim_awesome_settings_awesome_config", unique: true + end + + create_table "decidim_awesome_editor_images", force: :cascade do |t| + t.string "image" + t.string "path" + t.bigint "decidim_author_id", null: false + t.bigint "decidim_organization_id", null: false + t.datetime "created_at", precision: nil, null: false + t.datetime "updated_at", precision: nil, null: false + t.index ["decidim_author_id"], name: "decidim_awesome_editor_images_author" + t.index ["decidim_organization_id"], name: "decidim_awesome_editor_images_constraint_organization" + end + + create_table "decidim_awesome_proposal_extra_fields", force: :cascade do |t| + t.bigint "decidim_proposal_id", null: false + t.jsonb "vote_weight_totals" + t.integer "weight_total", default: 0 + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.string "private_body" + t.string "decidim_proposal_type", null: false + t.datetime "private_body_updated_at", precision: nil + t.index ["decidim_proposal_id", "decidim_proposal_type"], name: "index_decidim_awesome_proposal_extra_fields_on_decidim_proposal" + end + + create_table "decidim_awesome_vote_weights", force: :cascade do |t| + t.bigint "proposal_vote_id", null: false + t.integer "weight", default: 1, null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["proposal_vote_id"], name: "decidim_awesome_proposals_weights_vote" + end + create_table "decidim_blogs_posts", id: :serial, force: :cascade do |t| t.jsonb "title" t.jsonb "body" @@ -1473,6 +1523,28 @@ t.index ["templatable_type", "templatable_id"], name: "index_decidim_templates_templatable" end + create_table "decidim_term_customizer_constraints", force: :cascade do |t| + t.bigint "decidim_organization_id", null: false + t.string "subject_type" + t.bigint "subject_id" + t.bigint "translation_set_id", null: false + t.index ["decidim_organization_id"], name: "decidim_term_customizer_constraint_organization" + t.index ["subject_type", "subject_id"], name: "decidim_term_customizer_constraint_subject" + t.index ["translation_set_id"], name: "decidim_term_customizer_constraint_translation_set" + end + + create_table "decidim_term_customizer_translation_sets", force: :cascade do |t| + t.jsonb "name" + end + + create_table "decidim_term_customizer_translations", force: :cascade do |t| + t.string "locale" + t.string "key" + t.text "value" + t.bigint "translation_set_id", null: false + t.index ["translation_set_id"], name: "decidim_term_customizer_translation_translation_set" + end + create_table "decidim_user_blocks", force: :cascade do |t| t.bigint "decidim_user_id" t.integer "blocking_user_id" @@ -1683,6 +1755,9 @@ add_foreign_key "decidim_authorization_transfers", "decidim_users", column: "source_user_id" add_foreign_key "decidim_authorization_transfers", "decidim_users", column: "user_id" add_foreign_key "decidim_authorizations", "decidim_users" + add_foreign_key "decidim_awesome_config_constraints", "decidim_awesome_config" + add_foreign_key "decidim_awesome_editor_images", "decidim_organizations" + add_foreign_key "decidim_awesome_editor_images", "decidim_users", column: "decidim_author_id" add_foreign_key "decidim_budgets_budgets", "decidim_scopes" add_foreign_key "decidim_budgets_orders", "decidim_budgets_budgets" add_foreign_key "decidim_budgets_projects", "decidim_budgets_budgets" @@ -1707,6 +1782,9 @@ add_foreign_key "decidim_scopes", "decidim_scope_types", column: "scope_type_id" add_foreign_key "decidim_scopes", "decidim_scopes", column: "parent_id" add_foreign_key "decidim_static_pages", "decidim_organizations" + add_foreign_key "decidim_term_customizer_constraints", "decidim_organizations" + add_foreign_key "decidim_term_customizer_constraints", "decidim_term_customizer_translation_sets", column: "translation_set_id" + add_foreign_key "decidim_term_customizer_translations", "decidim_term_customizer_translation_sets", column: "translation_set_id" add_foreign_key "decidim_user_blocks", "decidim_users" add_foreign_key "decidim_user_blocks", "decidim_users", column: "blocking_user_id" add_foreign_key "decidim_user_moderations", "decidim_users" diff --git a/docker-compose.yml b/docker-compose.yml index 0a14f73..99bdb04 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,7 +23,7 @@ services: /usr/bin/mc alias set local http://minio:9000 minioadmin minioadmin && /usr/bin/mc mb --ignore-existing local/mybucket && /usr/bin/mc anonymous set public local/mybucket && - /usr/bin/mc admin config set local/ cors="*" && + /usr/bin/mc admin config set local/mybucket cors="*" && /usr/bin/mc admin service restart local && echo 'Bucket mybucket created and set to public!'; exit 0; @@ -61,7 +61,7 @@ services: - RAILS_LOG_TO_STDOUT=true - RAILS_LOG_LEVEL=debug - ASSET_HOST=localhost:3000 - - FORCE_SSL=1 + - DECIDIM_FORCE_SSL=true - ENABLE_LETTER_OPENER=1 - SEED=true - DEFACE_ENABLED=false @@ -72,9 +72,9 @@ services: - PUMA_WORKERS=4 - PUMA_PRELOAD_APP=true - RAILS_SESSION_STORE=active_record - - STORAGE_PROVIDER=s3 + - STORAGE_PROVIDER=minio - AWS_REGION=fr-par-1 - - AWS_ENDPOINT=minio:9000 + - AWS_ENDPOINT=http://minio:9000 - AWS_BUCKET=mybucket - AWS_ACCESS_KEY_ID=minioadmin - AWS_SECRET_ACCESS_KEY=minioadmin @@ -94,6 +94,7 @@ services: image: decidim-lite:1.0.0 command: [ "bundle", "exec", "rails", "server", "-b", "ssl://0.0.0.0:3000?key=/decidim/tls-certificate/key.pem&cert=/decidim/tls-certificate/cert.pem" ] environment: + - DECIDIM_CORS_ENABLED=true - DATABASE_HOST=database - DATABASE_USERNAME=postgres - DECIDIM_HOST=localhost @@ -103,7 +104,7 @@ services: - RAILS_LOG_TO_STDOUT=true - RAILS_LOG_LEVEL=debug - ASSET_HOST=localhost:3000 - - FORCE_SSL=1 + - DECIDIM_FORCE_SSL=true - ENABLE_LETTER_OPENER=1 - SEED=true - DEFACE_ENABLED=false @@ -114,9 +115,9 @@ services: - PUMA_WORKERS=4 - PUMA_PRELOAD_APP=true - RAILS_SESSION_STORE=active_record - - STORAGE_PROVIDER=s3 + - STORAGE_PROVIDER=minio - AWS_REGION=fr-par-1 - - AWS_ENDPOINT=minio:9000 # Should be localhost:9000 to make the AJAX requests work without CORS issues + - AWS_ENDPOINT=http://minio:9000 # Should be localhost:9000 to make the AJAX requests work without CORS issues - AWS_BUCKET=mybucket - AWS_ACCESS_KEY_ID=minioadmin - AWS_SECRET_ACCESS_KEY=minioadmin diff --git a/lib/decidim/version.rb b/lib/decidim/version.rb new file mode 100644 index 0000000..146146c --- /dev/null +++ b/lib/decidim/version.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +module Decidim + def self.version + Decidim::Core.version + end +end diff --git a/lib/extends/controllers/decidim/devise/omniauth_registrations_controller_extends.rb b/lib/extends/controllers/decidim/devise/omniauth_registrations_controller_extends.rb new file mode 100644 index 0000000..13dc17a --- /dev/null +++ b/lib/extends/controllers/decidim/devise/omniauth_registrations_controller_extends.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module OmniauthRegistrationsControllerExtends + extend ActiveSupport::Concern + + included do + skip_before_action :verify_authenticity_token, if: :saml_callback? + + private + + def saml_callback? + custom_callback_origin = request.env["omniauth.strategy"]&.options&.[](:idp_sso_target_callback_origin) + Rails.logger.debug { "OmniauthRegistrationsControllerExtends::saml_callback? Custom callback origin: #{custom_callback_origin}" } + result = request.path.end_with?("/callback") && custom_callback_origin.present? && URI.parse(request.origin).host == custom_callback_origin + Rails.logger.debug { "OmniauthRegistrationsControllerExtends::saml_callback? Result : #{result}" } + + Rails.logger.info "Skip authenticity token verification for authorized origin: #{custom_callback_origin}" if result + result + end + end +end + +Decidim::Devise::OmniauthRegistrationsController.class_eval do + include(OmniauthRegistrationsControllerExtends) +end diff --git a/lib/extends/controllers/decidim/errors_controller_extends.rb b/lib/extends/controllers/decidim/errors_controller_extends.rb new file mode 100644 index 0000000..cd35827 --- /dev/null +++ b/lib/extends/controllers/decidim/errors_controller_extends.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module ErrorsControllerExtends + extend ActiveSupport::Concern + + included do + before_action :delete_headers + skip_after_action :append_content_security_policy_headers + + def not_found + head :not_found + end + + def internal_server_error + head :internal_server_error + end + + private + + def delete_headers + response.delete_header("Content-Security-Policy") + response.delete_header("Link") + end + end +end + +Decidim::ErrorsController.class_eval do + include(ErrorsControllerExtends) +end diff --git a/lib/extends/lib/decidim/proposals/import/proposal_creator_extends.rb b/lib/extends/lib/decidim/proposals/import/proposal_creator_extends.rb new file mode 100644 index 0000000..cfd11c3 --- /dev/null +++ b/lib/extends/lib/decidim/proposals/import/proposal_creator_extends.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +module ProposalCreatorExtends + extend ActiveSupport::Concern + + included do + def produce + resource.add_coauthor(context[:current_organization]) + resource + end + + def finish! + Decidim.traceability.perform_action!(:create, self.class.resource_klass, context[:current_user], visibility: "admin-only") do + resource.save! + resource + end + publish(resource) + end + + private + + def publish(proposal) + Decidim::EventsManager.publish( + event: "decidim.events.proposals.proposal_published", + event_class: Decidim::Proposals::PublishProposalEvent, + resource: proposal, + followers: proposal.participatory_space.followers, + extra: { + participatory_space: true + } + ) + end + end +end + +Decidim::Proposals::Import::ProposalCreator.class_eval do + include(ProposalCreatorExtends) +end diff --git a/lib/omniauth/strategies/email_not_validated_error.rb b/lib/omniauth/strategies/email_not_validated_error.rb new file mode 100644 index 0000000..c3b531f --- /dev/null +++ b/lib/omniauth/strategies/email_not_validated_error.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module OmniAuth + module Strategies + class EmailNotValidatedError < RuntimeError + end + end +end diff --git a/lib/omniauth/strategies/nyc.rb b/lib/omniauth/strategies/nyc.rb new file mode 100644 index 0000000..0caa38c --- /dev/null +++ b/lib/omniauth/strategies/nyc.rb @@ -0,0 +1,86 @@ +# frozen_string_literal: true + +require "omniauth-saml" +require "omniauth/strategies/email_not_validated_error" + +module OmniAuth + module Strategies + class NYC < OmniAuth::Strategies::SAML + option :name, :nyc + + option :origin_param, "redirect_url" + + option :authn_context_comparison, "minimum" + option :name_identifier_format, "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" + option :attribute_statements, + name: %w(name), + email: %w(mail email), + first_name: %w(givenName), + last_name: %w(sn), + nickname: %w(sn), + nycExtEmailValidationFlag: %w(nycExtEmailValidationFlag) + option :idp_cert_fingerprint_validator, ->(fingerprint) { fingerprint } + option :force_authn, true + option :security, + authn_requests_signed: true, # Enable or not signature on AuthNRequest + logout_requests_signed: true, # Enable or not signature on Logout Request + logout_responses_signed: true, # Enable or not signature on Logout Response + want_assertions_signed: false, # Enable or not the requirement of signed assertion + metadata_signed: true, # Enable or not signature on Metadata + digest_method: XMLSecurity::Document::SHA1, + signature_method: XMLSecurity::Document::RSA_SHA1, + embed_sign: false + + info do + found_attributes = options.attribute_statements.map do |key, values| + attribute = find_attribute_by(values) + [key, attribute] + end + + hash_attributes = found_attributes.to_h + + hash_attributes["name"] = "#{hash_attributes["first_name"]} #{hash_attributes["last_name"]}" + + if hash_attributes["first_name"].present? && hash_attributes["last_name"].present? + hash_attributes["nickname"] = "#{hash_attributes["first_name"].split.first}#{hash_attributes["last_name"][0]}".downcase + end + + hash_attributes.except!("email") if hash_attributes["nycExtEmailValidationFlag"] == "False" + + hash_attributes + end + + def callback_phase + raise OmniAuth::Strategies::SAML::ValidationError, "SAML response missing" unless request.params["SAMLResponse"] + + with_settings do |settings| + # Call a fingerprint validation method if there's one + validate_fingerprint(settings) if options.idp_cert_fingerprint_validator + + handle_response(request.params["SAMLResponse"], options_for_response_object, settings) do + super + end + end + rescue OmniAuth::Strategies::SAML::ValidationError + fail!(:invalid_ticket, $ERROR_INFO) + rescue OneLogin::RubySaml::ValidationError # rubocop:disable Lint/DuplicateBranch + fail!(:invalid_ticket, $ERROR_INFO) + rescue OmniAuth::Strategies::EmailNotValidatedError + fail!(I18n.t("omniauth.strategies.nyc.email_not_validated"), $ERROR_INFO) + end + + def handle_response(raw_response, opts, settings) + super(raw_response, opts, settings) do + if @response_object.success? + nyc_ext_email_validation_flag = find_attribute_by(options.attribute_statements["nycExtEmailValidationFlag"]) + Rails.logger.debug { "nycExtEmailValidationFlag --> #{nyc_ext_email_validation_flag}" } + raise OmniAuth::Strategies::EmailNotValidatedError if nyc_ext_email_validation_flag == "False" + end + yield + end + end + end + end +end + +OmniAuth.config.add_camelization "nyc", "NYC" diff --git a/lib/tasks/decidim-app.rake b/lib/tasks/decidim-app.rake new file mode 100644 index 0000000..2bfd7b1 --- /dev/null +++ b/lib/tasks/decidim-app.rake @@ -0,0 +1,11 @@ +# frozen_string_literal: true + +namespace :decidim_app do + namespace :k8s do + # This task does nothing right now, but it's a placeholder for future CI/CD pipeline tasks. + desc "Placeholder task for future CI/CD pipeline" + task upgrade: :environment do + puts "Running decidim_app:k8s:upgrade" + end + end +end diff --git a/package-lock.json b/package-lock.json index e9dd330..fc74703 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,9 +11,15 @@ "@decidim/browserslist-config": "file:packages/browserslist-config", "@decidim/core": "file:packages/core", "@decidim/webpacker": "file:packages/webpacker", + "@tarekraafat/autocomplete.js": "10.2.7", "axe-core": "^4.10.2", + "form-storage": "^1.3.5", + "formBuilder": "^3.19.12", "graphql": "^16.9.0", - "graphql-ws": "^5.16.0" + "graphql-ws": "^5.16.0", + "inline-attacher": "^0.0.7", + "jsrender": "^1.0.9", + "leaflet.featuregroup.subgroup": "^1.0.2" }, "devDependencies": { "@decidim/dev": "file:packages/dev", @@ -1456,14 +1462,12 @@ "node_modules/@codemirror/state": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz", - "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==", - "peer": true + "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==" }, "node_modules/@codemirror/view": { "version": "6.34.3", "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.34.3.tgz", "integrity": "sha512-Ph5d+u8DxIeSgssXEakaakImkzBV4+slwIbcxl9oc9evexJhImeu/G8TK7+zp+IFK9KuJ0BdSn6kTBJeH2CHvA==", - "peer": true, "dependencies": { "@codemirror/state": "^6.4.0", "style-mod": "^4.1.0", @@ -4593,9 +4597,9 @@ } }, "node_modules/@tarekraafat/autocomplete.js": { - "version": "10.2.9", - "resolved": "https://registry.npmjs.org/@tarekraafat/autocomplete.js/-/autocomplete.js-10.2.9.tgz", - "integrity": "sha512-A7OP3iJDTWeO85M3Vxu391acu9SmDguormHpMZ13khuyM180dKl9O1gAXSDA322XwkYuUU1Ad7WchW1TQNNuDw==", + "version": "10.2.7", + "resolved": "https://registry.npmjs.org/@tarekraafat/autocomplete.js/-/autocomplete.js-10.2.7.tgz", + "integrity": "sha512-iE+dnXI8/LrTaSORrnNdSyXg/bFCbCpz/R5GUdB3ioW+9PVEhglxNcSDQNeCXtrbRG0kOBFUd4unEiwcmqyn8A==", "funding": [ { "type": "opencollective", @@ -4609,7 +4613,8 @@ "type": "patreon", "url": "https://patreon.com/TarekRaafat" } - ] + ], + "license": "Apache-2.0" }, "node_modules/@tiptap/core": { "version": "2.1.13", @@ -7459,6 +7464,15 @@ "node": ">=0.10.0" } }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -7768,6 +7782,12 @@ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.63.tgz", "integrity": "sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA==" }, + "node_modules/element-matches-polyfill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/element-matches-polyfill/-/element-matches-polyfill-1.0.0.tgz", + "integrity": "sha512-6xnaB9NpWYmSgWP1/njuCanX1nopjVZRvSivd9cX7cfURGdldeT46g+3ph1pfNNiiPvHLjfhUk/8HXQkbcu7ng==", + "license": "MIT" + }, "node_modules/element-qsa-scope": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/element-qsa-scope/-/element-qsa-scope-1.1.0.tgz", @@ -9630,6 +9650,34 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/form-serialize": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/form-serialize/-/form-serialize-0.7.2.tgz", + "integrity": "sha512-ohEA4Crzd/+hSREjGf4kSsy73WhAtQ7H+blGEz2DVd+JCi0TV5nZBSn9PaPlvrl9m29fa6xclAfpRkqZ57b1bw==", + "license": "MIT" + }, + "node_modules/form-storage": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/form-storage/-/form-storage-1.3.5.tgz", + "integrity": "sha512-Pp9OE43Yy8DkBmk12Yf6i5HmWsNwDJ25IiON5JqaOrvfUE2fZQFYkGXbG9lIkum8h+JSURNulc/w6d56W9X3dA==", + "license": "MIT", + "dependencies": { + "element-matches-polyfill": "^1.0.0", + "form-serialize": "^0.7.2", + "query-string": "^5.0.1", + "query-string-es5": "^6.1.4" + } + }, + "node_modules/formBuilder": { + "version": "3.19.13", + "resolved": "https://registry.npmjs.org/formBuilder/-/formBuilder-3.19.13.tgz", + "integrity": "sha512-bap3UF6CVbpBIq/SdtUHDd+tK0HzKdNuk1HzPzA/L/zcM1eONudfCLj9U4Fzoj0zk6Rlc26y8ZzS5cnp5Pl8rQ==", + "license": "MIT", + "dependencies": { + "jquery": ">=3.4.1", + "jquery-ui-sortable": "*" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -10610,6 +10658,22 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, + "node_modules/inline-attacher": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/inline-attacher/-/inline-attacher-0.0.7.tgz", + "integrity": "sha512-TAOhFcPSVFizI/cdUtu/riEU6n4+aAFnRDCmKtz2T5RYqOm1016+i8G01T7C9fyve5F689k882Jp2SmFFVe26w==", + "license": "MIT", + "dependencies": { + "@codemirror/view": "^6.16.0" + }, + "engines": { + "node": ">=16.0.0", + "pnpm": ">=7.0.0" + }, + "peerDependencies": { + "@codemirror/view": ">=6.0.0" + } + }, "node_modules/inquirer": { "version": "8.2.6", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", @@ -11277,6 +11341,12 @@ "resolved": "https://registry.npmjs.org/jquery-serializejson/-/jquery-serializejson-2.9.0.tgz", "integrity": "sha512-xR7rjl0tRKIVioV5lOkOSv7K8BHMvGzYzC7Ech1iAYuZiYf0ksEpLC8OqjA5VApXf/qn/49O9hTmW70+/EA0vA==" }, + "node_modules/jquery-ui-sortable": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jquery-ui-sortable/-/jquery-ui-sortable-1.0.0.tgz", + "integrity": "sha512-7xAUWoEJ/jHoj48ei8CCUtiad2uM3ie3IR2b3KB0Mpmb54IbBxzVb5vtrj0zqtd0GNQDImx+BPZml9QmK2EL3w==", + "license": "ISC" + }, "node_modules/js-cookie": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", @@ -11377,6 +11447,15 @@ "node": ">=0.10.0" } }, + "node_modules/jsrender": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/jsrender/-/jsrender-1.0.15.tgz", + "integrity": "sha512-OodS9veJzdkxj0zqWTEDyHm5MdwpeaBA11X3W06n3wTP7XifCv1JwaNpY6jn0KIltzgm3nM1Gi/tccslMEai1w==", + "license": "MIT", + "dependencies": { + "through2": "^3.0.1" + } + }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -11463,6 +11542,12 @@ "resolved": "https://registry.npmjs.org/leaflet-tilelayer-here/-/leaflet-tilelayer-here-2.0.1.tgz", "integrity": "sha512-lujfnFt7TuEk3bHGsWt/w01XBfrU9zy7B6C8fzJDr8txhNmVNA00kRRrEJPaLaFyVeSwwA5vWS6zDg2W13DCIA==" }, + "node_modules/leaflet.featuregroup.subgroup": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/leaflet.featuregroup.subgroup/-/leaflet.featuregroup.subgroup-1.0.2.tgz", + "integrity": "sha512-9nCVg8nUe686+BtPbUT7ALOe/IA+8Mum+rkA8pfPpCkH0WvKevRrH+JMcMTjAoNQKVI0uxrWrLV5w298SS3ESA==", + "license": "BSD-2-Clause" + }, "node_modules/leaflet.markercluster": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/leaflet.markercluster/-/leaflet.markercluster-1.5.3.tgz", @@ -14306,6 +14391,42 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/query-string-es5": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/query-string-es5/-/query-string-es5-6.1.4.tgz", + "integrity": "sha512-pMdQETPqMQO+OUd2t3hUxBV8REa6w+iyD+o87M1qc1Vj3jBkQIIw3aZc+6rxlRTDxZ5ac+w0rGE/p4JIt2Xupg==", + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/query-string-es5/node_modules/strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -16025,6 +16146,15 @@ "node": ">= 0.8" } }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -16271,8 +16401,7 @@ "node_modules/style-mod": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", - "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==", - "peer": true + "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==" }, "node_modules/style-search": { "version": "0.1.0", @@ -17053,6 +17182,16 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, + "node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", diff --git a/package.json b/package.json index 16f6bdc..f0dfe67 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,15 @@ "@decidim/browserslist-config": "file:packages/browserslist-config", "@decidim/core": "file:packages/core", "@decidim/webpacker": "file:packages/webpacker", + "@tarekraafat/autocomplete.js": "10.2.7", "axe-core": "^4.10.2", + "form-storage": "^1.3.5", + "formBuilder": "^3.19.12", "graphql": "^16.9.0", - "graphql-ws": "^5.16.0" + "graphql-ws": "^5.16.0", + "inline-attacher": "^0.0.7", + "jsrender": "^1.0.9", + "leaflet.featuregroup.subgroup": "^1.0.2" }, "version": "0.1.0", "devDependencies": { diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index 8c9fd16..0000000 --- a/tailwind.config.js +++ /dev/null @@ -1,85 +0,0 @@ -// This file is automatically generated. -// Do not edit this file, it will be overwritten -// -// If you want to modify it, follow instructions from -// https://docs.decidim.org/en/develop/customize/styles -// - -const { inherit, current, transparent, white } = require("tailwindcss/colors") - -const withOpacity = - (variable) => - ({ opacityValue }) => - opacityValue === undefined - ? `rgb(var(${variable}))` - : `rgb(var(${variable}) / ${opacityValue})`; - -module.exports = { - // This content is generated automatically by decidim:webpacker:install task, it - // should not be updated manually. - // The array must contain all the decidim modules active in the application - content: ['/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-core','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-comments','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-accountability','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-admin','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-api','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-assemblies','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-blogs','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-budgets','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-debates','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-forms','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-generators','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-meetings','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-pages','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-participatory_processes','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-proposals','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-sortitions','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-surveys','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-system','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-verifications','/Users/quentinchampenois/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/bundler/gems/decidim-af8d33194b3b/decidim-dev','.'].flatMap(directory => [ - `${directory}/app/views/**/*.html.erb`, - `${directory}/app/cells/**/*.{rb,erb}`, - `${directory}/app/helpers/**/*.rb`, - `${directory}/app/packs/**/*.js`, - `${directory}/lib/**/*.rb` - ]), - // Comment out the next line to disable purging the tailwind styles - // safelist: [{ pattern: /.*/ }], - theme: { - colors: { - inherit, - current, - transparent, - white, - primary: withOpacity("--primary-rgb"), - secondary: withOpacity("--secondary-rgb"), - tertiary: withOpacity("--tertiary-rgb"), - success: "#28A745", - alert: "#ED1C24", - warning: "#FFB703", - black: "#020203", - gray: { - DEFAULT: "#6B7280CC", // 80% opacity - 2: "#3E4C5C", - 3: "#E1E5EF", - 4: "#242424", - 5: "#F6F8FA" - }, - background: { - DEFAULT: "#F3F4F7", - 2: "#FAFBFC", - 3: "#EFEFEF", - 4: "#E4EEFF99" // 60% opacity - } - }, - container: { - center: true, - padding: { - DEFAULT: "1rem", - lg: "4rem" - } - }, - fontFamily: { - sans: ["Source Sans Pro", "ui-sans-serif", "system-ui", "sans-serif"] - }, - fontSize: { - xs: ["13px", "16px"], - sm: ["14px", "18px"], - md: ["16px", "20px"], - lg: ["18px", "23px"], - xl: ["20px", "25px"], - "2xl": ["24px", "30px"], - "3xl": ["32px", "40px"], - "4xl": ["36px", "45px"], - "5xl": ["48px", "60px"] - }, - extend: { - transitionProperty: { - 'top': 'top', - } - } - }, - plugins: [require("@tailwindcss/typography")] -}
  • id - ID + ID! -

    The ID of the participatory space

    +

    The ID of the participatory process type