diff --git a/.github/workflows/rails-test.yml b/.github/workflows/rails-test.yml
index b45fe024df..5ebe0966e9 100644
--- a/.github/workflows/rails-test.yml
+++ b/.github/workflows/rails-test.yml
@@ -32,10 +32,10 @@ jobs:
run: |
sudo apt-get update -y
sudo apt-get -yqq install libpq-dev postgresql-client
- - name: Set up Ruby 2.6
+ - name: Set up Ruby 2.7
uses: ruby/setup-ruby@v1
with:
- ruby-version: 2.6
+ ruby-version: 2.7
bundler-cache: true
- name: Build and Test with RSpec
env:
diff --git a/.rubocop.yml b/.rubocop.yml
index 18650a7536..ca983a8055 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -65,7 +65,7 @@ AllCops:
# If a value is specified for TargetRubyVersion then it is used.
# Else if .ruby-version exists and it contains an MRI version it is used.
# Otherwise we fallback to the oldest officially supported Ruby version (2.0).
- TargetRubyVersion: 2.5
+ TargetRubyVersion: 2.7
RSpec:
Patterns:
@@ -89,7 +89,7 @@ Style/Alias:
- prefer_alias_method
# Align the elements of a hash literal if they span more than one line.
-Layout/AlignHash:
+Layout/HashAlignment:
# Alignment of entries using hash rocket as separator. Valid values are:
#
# key - left alignment of keys
@@ -152,7 +152,7 @@ Layout/AlignHash:
- ignore_implicit
- ignore_explicit
-Layout/AlignParameters:
+Layout/ParameterAlignment:
# Alignment of parameters in multi-line method calls.
#
# The `with_first_parameter` style aligns the following lines along the same
@@ -267,20 +267,6 @@ Style/BlockDelimiters:
- proc
- it
-Style/BracesAroundHashParameters:
- EnforcedStyle: no_braces
- SupportedStyles:
- # The `braces` style enforces braces around all method parameters that are
- # hashes.
- - braces
- # The `no_braces` style checks that the last parameter doesn't have braces
- # around it.
- - no_braces
- # The `context_dependent` style checks that the last parameter doesn't have
- # braces around it, but requires braces if the second to last parameter is
- # also a hash literal.
- - context_dependent
-
# Indentation of `when`.
Layout/CaseIndentation:
EnforcedStyle: case
@@ -473,7 +459,7 @@ Naming/FileName:
# files with a shebang in the first line).
IgnoreExecutableScripts: true
-Layout/IndentFirstArgument:
+Layout/FirstArgumentIndentation:
EnforcedStyle: special_for_inner_method_call_in_parentheses
SupportedStyles:
# The first parameter should always be indented one step more than the
@@ -561,7 +547,7 @@ Layout/IndentationWidth:
Width: 2
# Checks the indentation of the first element in an array literal.
-Layout/IndentFirstArrayElement:
+Layout/FirstArrayElementIndentation:
# The value `special_inside_parentheses` means that array literals with
# brackets that have their opening bracket on the same line as a surrounding
# opening round parenthesis, shall have their first element indented relative
@@ -583,13 +569,13 @@ Layout/IndentFirstArrayElement:
IndentationWidth: ~
# Checks the indentation of assignment RHS, when on a different line from LHS
-Layout/IndentAssignment:
+Layout/AssignmentIndentation:
# By default, the indentation width from Style/IndentationWidth is used
# But it can be overridden by setting this parameter
IndentationWidth: ~
# Checks the indentation of the first key in a hash literal.
-Layout/IndentFirstHashElement:
+Layout/FirstHashElementIndentation:
# The value `special_inside_parentheses` means that hash literals with braces
# that have their opening brace on the same line as a surrounding opening
# round parenthesis, shall have their first key indented relative to the
@@ -801,12 +787,12 @@ Naming/PredicateName:
- has_
- have_
# Predicate name prefixes that should be removed.
- NamePrefixBlacklist:
+ ForbiddenPrefixes:
- is_
- have_
# Predicate names which, despite having a blacklisted prefix, or no ?,
# should still be accepted
- NameWhitelist:
+ AllowedMethods:
- is_a?
# Exclude Rspec specs because there is a strong convetion to write spec
# helpers in the form of `have_something` or `be_something`.
@@ -987,7 +973,7 @@ Style/TernaryParentheses:
- require_no_parentheses
AllowSafeAssignment: true
-Layout/TrailingBlankLines:
+Layout/TrailingEmptyLines:
EnforcedStyle: final_newline
SupportedStyles:
- final_newline
@@ -1037,7 +1023,7 @@ Style/TrivialAccessors:
# Commonly used in DSLs
AllowDSLWriters: false
IgnoreClassMethods: false
- Whitelist:
+ AllowedMethods:
- to_ary
- to_a
- to_c
diff --git a/Dockerfile b/Dockerfile
index 3e3d20fed5..400d553115 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
FROM node:10.23.0-alpine as node
-FROM ruby:2.6.6-alpine
+FROM ruby:2.7.3-alpine
RUN apk update \
&& apk add --no-cache --virtual build-dependencies \
@@ -30,7 +30,7 @@ ARG RAILS_ENV="production"
ENV LANG=C.UTF-8 \
LC_ALL=C.UTF-8 \
BUNDLER_JOBS=4 \
- BUNDLER_VERSION=1.17.3 \
+ BUNDLER_VERSION=2.1.4 \
APP_HOME=/app \
RAILS_ENV=${RAILS_ENV} \
SECRET_KEY_BASE=placeholder \
diff --git a/Gemfile b/Gemfile
index e5a522850d..b7dc00c417 100644
--- a/Gemfile
+++ b/Gemfile
@@ -4,18 +4,18 @@ source "https://rubygems.org"
ruby RUBY_VERSION
-gem "decidim", git: "https://github.com/decidim/decidim.git", branch: "release/0.23-stable"
+gem "decidim", git: "https://github.com/decidim/decidim.git", branch: "release/0.24-stable"
-# gem "decidim", "0.21"
-# gem "decidim-consultations", "0.23.0.dev"
-# gem "decidim-initiatives", "0.23.0.dev"
+# gem "decidim", "0.24"
+# gem "decidim-consultations", "0.24.0.dev"
+# gem "decidim-initiatives", "0.24.0.dev"
gem "bootsnap", "~> 1.3"
gem "puma", ">= 4.3.5"
gem "uglifier", "~> 4.1"
-gem "faker", "~> 1.9"
+gem "faker", "~> 2.0"
gem "wicked_pdf", "~> 1.4"
@@ -31,7 +31,7 @@ group :development, :test do
gem "byebug", "~> 11.0", platform: :mri
gem "figaro"
- gem "decidim-dev", git: "https://github.com/decidim/decidim.git", branch: "release/0.23-stable"
+ gem "decidim-dev", git: "https://github.com/decidim/decidim.git", branch: "release/0.24-stable"
gem "dotenv-rails"
gem "factory_bot_rails"
gem "rspec-rails"
diff --git a/Gemfile.lock b/Gemfile.lock
index 3071282f80..7722860676 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,79 +1,78 @@
GIT
remote: https://github.com/decidim/decidim.git
- revision: 912bb8b483fd030b9d81299da1d8a92a85037ea3
- branch: release/0.23-stable
+ revision: dbf54e01397ea3f443525ddec84910846ea987c3
+ branch: release/0.24-stable
specs:
- decidim (0.23.0.dev)
- decidim-accountability (= 0.23.0.dev)
- decidim-admin (= 0.23.0.dev)
- decidim-api (= 0.23.0.dev)
- decidim-assemblies (= 0.23.0.dev)
- decidim-blogs (= 0.23.0.dev)
- decidim-budgets (= 0.23.0.dev)
- decidim-comments (= 0.23.0.dev)
- decidim-core (= 0.23.0.dev)
- decidim-debates (= 0.23.0.dev)
- decidim-forms (= 0.23.0.dev)
- decidim-generators (= 0.23.0.dev)
- decidim-meetings (= 0.23.0.dev)
- decidim-pages (= 0.23.0.dev)
- decidim-participatory_processes (= 0.23.0.dev)
- decidim-proposals (= 0.23.0.dev)
- decidim-sortitions (= 0.23.0.dev)
- decidim-surveys (= 0.23.0.dev)
- decidim-system (= 0.23.0.dev)
- decidim-templates (= 0.23.0.dev)
- decidim-verifications (= 0.23.0.dev)
- decidim-accountability (0.23.0.dev)
- decidim-comments (= 0.23.0.dev)
- decidim-core (= 0.23.0.dev)
+ decidim (0.24.0)
+ decidim-accountability (= 0.24.0)
+ decidim-admin (= 0.24.0)
+ decidim-api (= 0.24.0)
+ decidim-assemblies (= 0.24.0)
+ decidim-blogs (= 0.24.0)
+ decidim-budgets (= 0.24.0)
+ decidim-comments (= 0.24.0)
+ decidim-core (= 0.24.0)
+ decidim-debates (= 0.24.0)
+ decidim-forms (= 0.24.0)
+ decidim-generators (= 0.24.0)
+ decidim-meetings (= 0.24.0)
+ decidim-pages (= 0.24.0)
+ decidim-participatory_processes (= 0.24.0)
+ decidim-proposals (= 0.24.0)
+ decidim-sortitions (= 0.24.0)
+ decidim-surveys (= 0.24.0)
+ decidim-system (= 0.24.0)
+ decidim-templates (= 0.24.0)
+ decidim-verifications (= 0.24.0)
+ decidim-accountability (0.24.0)
+ decidim-comments (= 0.24.0)
+ decidim-core (= 0.24.0)
kaminari (~> 1.2, >= 1.2.1)
searchlight (~> 4.1)
- decidim-admin (0.23.0.dev)
+ decidim-admin (0.24.0)
active_link_to (~> 1.0)
- decidim-core (= 0.23.0.dev)
+ decidim-core (= 0.24.0)
devise (~> 4.7)
devise-i18n (~> 1.2)
devise_invitable (~> 1.7)
- jquery-rails (~> 4.3)
- sassc (~> 2.3.0)
+ jquery-rails (~> 4.4)
+ sassc (~> 2.4.0)
sassc-rails (~> 2.1.2)
- decidim-api (0.23.0.dev)
+ decidim-api (0.24.0)
graphiql-rails (~> 1.4, < 1.5)
- graphql (~> 1.9)
+ graphql (~> 1.12, >= 1.12.3)
rack-cors (~> 1.0)
- redcarpet (~> 3.4)
+ redcarpet (~> 3.5, >= 3.5.1)
sprockets-es6 (~> 0.9.2)
- decidim-assemblies (0.23.0.dev)
- decidim-core (= 0.23.0.dev)
- decidim-blogs (0.23.0.dev)
- decidim-admin (= 0.23.0.dev)
- decidim-comments (= 0.23.0.dev)
- decidim-core (= 0.23.0.dev)
- httparty (~> 0.17)
+ decidim-assemblies (0.24.0)
+ decidim-core (= 0.24.0)
+ decidim-blogs (0.24.0)
+ decidim-admin (= 0.24.0)
+ decidim-comments (= 0.24.0)
+ decidim-core (= 0.24.0)
jquery-tmpl-rails (~> 1.1)
kaminari (~> 1.2, >= 1.2.1)
- decidim-budgets (0.23.0.dev)
- decidim-comments (= 0.23.0.dev)
- decidim-core (= 0.23.0.dev)
+ decidim-budgets (0.24.0)
+ decidim-comments (= 0.24.0)
+ decidim-core (= 0.24.0)
kaminari (~> 1.2, >= 1.2.1)
searchlight (~> 4.1)
- decidim-comments (0.23.0.dev)
- decidim-core (= 0.23.0.dev)
- jquery-rails (~> 4.3)
- redcarpet (~> 3.4)
- decidim-core (0.23.0.dev)
+ decidim-comments (0.24.0)
+ decidim-core (= 0.24.0)
+ jquery-rails (~> 4.4)
+ redcarpet (~> 3.5, >= 3.5.1)
+ decidim-core (0.24.0)
active_link_to (~> 1.0)
- anchored (>= 1.1.0)
+ anchored (~> 1.1)
autoprefixer-rails (~> 8.0)
batch-loader (~> 1.2)
browser (~> 2.7)
- carrierwave (~> 1.3)
+ carrierwave (~> 2.2.1)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
charlock_holmes (~> 0.7)
date_validator (~> 0.9.0)
- decidim-api (= 0.23.0.dev)
+ decidim-api (= 0.24.0)
devise (~> 4.7)
devise-i18n (~> 1.2)
diffy (~> 3.3)
@@ -81,12 +80,13 @@ GIT
doorkeeper-i18n (~> 4.0)
etherpad-lite (~> 0.3)
file_validators (~> 2.1)
+ fog-local (~> 0.6)
foundation-rails (~> 6.6, < 6.7)
foundation_rails_helper (~> 3.0)
- geocoder (>= 1.5)
+ geocoder (~> 1.5)
hashdiff (>= 0.4.0, < 2.0.0)
invisible_captcha (~> 0.12)
- jquery-rails (~> 4.3)
+ jquery-rails (~> 4.4)
kaminari (~> 1.2, >= 1.2.1)
loofah (~> 2.3.1)
mini_magick (~> 4.9)
@@ -101,15 +101,15 @@ GIT
pg (~> 1.1.4, < 2)
pg_search (~> 2.2)
premailer-rails (~> 1.10)
- rack (>= 2.2.3)
+ rack (~> 2.2, >= 2.2.3)
rack-attack (~> 6.0)
- rails (>= 5.2.4.4, < 6.0.x)
+ rails (~> 5.2.5)
rails-i18n (~> 5.0)
rectify (~> 0.13.0)
redis (~> 4.1)
request_store (~> 1.5.0)
rubyzip (~> 2.0)
- sassc (~> 2.3.0)
+ sassc (~> 2.4.0)
sassc-rails (~> 2.1.2)
seven_zip_ruby (~> 1.3)
social-share-button (~> 1.2, >= 1.2.1)
@@ -120,90 +120,91 @@ GIT
uglifier (~> 4.1)
valid_email2 (~> 2.1)
wisper (~> 2.0)
- decidim-debates (0.23.0.dev)
- decidim-comments (= 0.23.0.dev)
- decidim-core (= 0.23.0.dev)
+ decidim-debates (0.24.0)
+ decidim-comments (= 0.24.0)
+ decidim-core (= 0.24.0)
kaminari (~> 1.2, >= 1.2.1)
searchlight (~> 4.1)
- decidim-dev (0.23.0.dev)
+ decidim-dev (0.24.0)
byebug (~> 11.0)
capybara (~> 3.24)
db-query-matchers (~> 0.9.0)
- decidim (= 0.23.0.dev)
+ decidim (= 0.24.0)
erb_lint (~> 0.0.28)
factory_bot_rails (~> 4.8)
i18n-tasks (~> 0.9.18)
mdl (~> 0.5)
- nokogiri (>= 1.10.8)
- puma (>= 4.3)
+ nokogiri (~> 1.11, >= 1.11.1)
+ puffing-billy (~> 2.4.0)
+ puma (~> 5.0)
rails-controller-testing (~> 1.0)
rspec-cells (~> 0.3.4)
rspec-html-matchers (~> 0.9.1)
rspec-rails (~> 3.7)
rspec-retry (~> 0.6.2)
rspec_junit_formatter (~> 0.3.0)
- rubocop (~> 0.71.0)
+ rubocop (~> 0.92.0)
rubocop-rails (~> 2.0)
rubocop-rspec (~> 1.21)
selenium-webdriver (~> 3.142)
simplecov (~> 0.19.0)
simplecov-cobertura (~> 1.3.1)
system_test_html_screenshots (~> 0.1.1)
+ vcr (~> 6.0)
webmock (~> 3.6)
wisper-rspec (~> 1.0)
- decidim-forms (0.23.0.dev)
- decidim-core (= 0.23.0.dev)
+ decidim-forms (0.24.0)
+ decidim-core (= 0.24.0)
wicked_pdf (~> 1.4)
wkhtmltopdf-binary (~> 0.12)
- decidim-generators (0.23.0.dev)
- decidim-core (= 0.23.0.dev)
- decidim-meetings (0.23.0.dev)
+ decidim-generators (0.24.0)
+ decidim-core (= 0.24.0)
+ decidim-meetings (0.24.0)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
- decidim-core (= 0.23.0.dev)
- decidim-forms (= 0.23.0.dev)
- httparty (~> 0.17)
+ decidim-core (= 0.24.0)
+ decidim-forms (= 0.24.0)
icalendar (~> 2.5)
jquery-tmpl-rails (~> 1.1)
kaminari (~> 1.2, >= 1.2.1)
searchlight (~> 4.1)
- decidim-pages (0.23.0.dev)
- decidim-core (= 0.23.0.dev)
- decidim-participatory_processes (0.23.0.dev)
- decidim-core (= 0.23.0.dev)
- decidim-proposals (0.23.0.dev)
+ decidim-pages (0.24.0)
+ decidim-core (= 0.24.0)
+ decidim-participatory_processes (0.24.0)
+ decidim-core (= 0.24.0)
+ decidim-proposals (0.24.0)
acts_as_list (~> 0.9)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
- decidim-comments (= 0.23.0.dev)
- decidim-core (= 0.23.0.dev)
- doc2text (~> 0.4.2)
+ decidim-comments (= 0.24.0)
+ decidim-core (= 0.24.0)
+ doc2text (~> 0.4.3)
kaminari (~> 1.2, >= 1.2.1)
ransack (~> 2.1.1)
- redcarpet (~> 3.4)
- decidim-sortitions (0.23.0.dev)
- decidim-admin (= 0.23.0.dev)
- decidim-comments (= 0.23.0.dev)
- decidim-core (= 0.23.0.dev)
- decidim-proposals (= 0.23.0.dev)
- decidim-surveys (0.23.0.dev)
- decidim-core (= 0.23.0.dev)
- decidim-forms (= 0.23.0.dev)
- decidim-templates (= 0.23.0.dev)
- decidim-system (0.23.0.dev)
+ redcarpet (~> 3.5, >= 3.5.1)
+ decidim-sortitions (0.24.0)
+ decidim-admin (= 0.24.0)
+ decidim-comments (= 0.24.0)
+ decidim-core (= 0.24.0)
+ decidim-proposals (= 0.24.0)
+ decidim-surveys (0.24.0)
+ decidim-core (= 0.24.0)
+ decidim-forms (= 0.24.0)
+ decidim-templates (= 0.24.0)
+ decidim-system (0.24.0)
active_link_to (~> 1.0)
- decidim-core (= 0.23.0.dev)
+ decidim-core (= 0.24.0)
devise (~> 4.7)
devise-i18n (~> 1.2)
devise_invitable (~> 1.7)
- jquery-rails (~> 4.3)
- sassc (~> 2.3.0)
+ jquery-rails (~> 4.4)
+ sassc (~> 2.4.0)
sassc-rails (~> 2.1.2)
- decidim-templates (0.23.0.dev)
- decidim-core (= 0.23.0.dev)
- decidim-forms (= 0.23.0.dev)
- decidim-verifications (0.23.0.dev)
- decidim-core (= 0.23.0.dev)
+ decidim-templates (0.24.0)
+ decidim-core (= 0.24.0)
+ decidim-forms (= 0.24.0)
+ decidim-verifications (0.24.0)
+ decidim-core (= 0.24.0)
PATH
remote: decidim-user_extension
@@ -216,25 +217,25 @@ PATH
GEM
remote: https://rubygems.org/
specs:
- actioncable (5.2.4.4)
- actionpack (= 5.2.4.4)
+ actioncable (5.2.5)
+ actionpack (= 5.2.5)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
- actionmailer (5.2.4.4)
- actionpack (= 5.2.4.4)
- actionview (= 5.2.4.4)
- activejob (= 5.2.4.4)
+ actionmailer (5.2.5)
+ actionpack (= 5.2.5)
+ actionview (= 5.2.5)
+ activejob (= 5.2.5)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
- actionpack (5.2.4.4)
- actionview (= 5.2.4.4)
- activesupport (= 5.2.4.4)
+ actionpack (5.2.5)
+ actionview (= 5.2.5)
+ activesupport (= 5.2.5)
rack (~> 2.0, >= 2.0.8)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
- actionview (5.2.4.4)
- activesupport (= 5.2.4.4)
+ actionview (5.2.5)
+ activesupport (= 5.2.5)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
@@ -242,20 +243,20 @@ GEM
active_link_to (1.0.5)
actionpack
addressable
- activejob (5.2.4.4)
- activesupport (= 5.2.4.4)
+ activejob (5.2.5)
+ activesupport (= 5.2.5)
globalid (>= 0.3.6)
- activemodel (5.2.4.4)
- activesupport (= 5.2.4.4)
- activerecord (5.2.4.4)
- activemodel (= 5.2.4.4)
- activesupport (= 5.2.4.4)
+ activemodel (5.2.5)
+ activesupport (= 5.2.5)
+ activerecord (5.2.5)
+ activemodel (= 5.2.5)
+ activesupport (= 5.2.5)
arel (>= 9.0)
- activestorage (5.2.4.4)
- actionpack (= 5.2.4.4)
- activerecord (= 5.2.4.4)
- marcel (~> 0.3.1)
- activesupport (5.2.4.4)
+ activestorage (5.2.5)
+ actionpack (= 5.2.5)
+ activerecord (= 5.2.5)
+ marcel (~> 1.0.0)
+ activesupport (5.2.5)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
@@ -266,7 +267,7 @@ GEM
public_suffix (>= 2.0.2, < 5.0)
anchored (1.1.0)
arel (9.0.0)
- ast (2.4.1)
+ ast (2.4.2)
autoprefixer-rails (8.6.5)
execjs
axiom-types (0.1.1)
@@ -279,7 +280,7 @@ GEM
execjs (~> 2.0)
batch-loader (1.5.0)
bcrypt (3.1.16)
- better_html (1.0.15)
+ better_html (1.0.16)
actionview (>= 4.0)
activesupport (>= 4.0)
ast (~> 2.0)
@@ -288,23 +289,27 @@ GEM
parser (>= 2.4)
smart_properties
bindex (0.8.1)
- bootsnap (1.4.8)
+ bootsnap (1.7.3)
msgpack (~> 1.0)
browser (2.7.1)
builder (3.2.4)
byebug (11.1.3)
- capybara (3.33.0)
+ capybara (3.35.3)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
- regexp_parser (~> 1.5)
+ regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
- carrierwave (1.3.1)
- activemodel (>= 4.0.0)
- activesupport (>= 4.0.0)
- mime-types (>= 1.16)
+ carrierwave (2.2.1)
+ 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.7)
declarative-builder (< 0.2.0)
declarative-option (< 0.2.0)
@@ -317,7 +322,7 @@ GEM
actionpack (>= 3.0)
cells (>= 4.1.6, < 5.0.0)
charlock_holmes (0.7.7)
- chef-utils (16.6.14)
+ chef-utils (16.12.3)
childprocess (3.0.0)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
@@ -328,11 +333,13 @@ GEM
coffee-script-source
execjs
coffee-script-source (1.12.2)
- concurrent-ruby (1.1.7)
+ concurrent-ruby (1.1.8)
connection_pool (2.2.3)
- crack (0.4.4)
+ cookiejar (0.3.3)
+ crack (0.4.5)
+ rexml
crass (1.0.6)
- css_parser (1.7.1)
+ css_parser (1.9.0)
addressable
date_validator (0.9.0)
activemodel
@@ -343,10 +350,10 @@ GEM
declarative-builder (0.1.0)
declarative-option (< 0.2.0)
declarative-option (0.1.0)
- deface (1.5.3)
+ deface (1.8.1)
nokogiri (>= 1.6)
polyglot
- rails (>= 4.1)
+ rails (>= 5.2)
rainbow (>= 2.1.0)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
@@ -356,58 +363,73 @@ GEM
railties (>= 4.1.0)
responders
warden (~> 1.2.3)
- devise-i18n (1.9.2)
+ devise-i18n (1.9.3)
devise (>= 4.7.1)
devise_invitable (1.7.5)
actionmailer (>= 4.1.0)
devise (>= 4.0.0)
diff-lcs (1.4.4)
diffy (3.4.0)
- doc2text (0.4.2)
- nokogiri (~> 1.10.0)
- rubyzip (~> 2.0.0)
- docile (1.3.2)
+ doc2text (0.4.3)
+ nokogiri (~> 1.11.1)
+ rubyzip (~> 2.3.0)
+ docile (1.3.5)
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
- doorkeeper (5.4.0)
+ doorkeeper (5.5.1)
railties (>= 5)
doorkeeper-i18n (4.0.1)
dotenv (2.7.6)
dotenv-rails (2.7.6)
dotenv (= 2.7.6)
railties (>= 3.2)
+ em-http-request (1.1.7)
+ addressable (>= 2.3.4)
+ cookiejar (!= 0.3.1)
+ em-socksify (>= 0.3)
+ eventmachine (>= 1.0.3)
+ http_parser.rb (>= 0.6.0)
+ em-socksify (0.3.2)
+ eventmachine (>= 1.0.0.beta.4)
+ em-synchrony (1.0.6)
+ eventmachine (>= 1.0.0.beta.1)
equalizer (0.0.11)
- erb_lint (0.0.30)
+ erb_lint (0.0.37)
activesupport
better_html (~> 1.0.7)
html_tokenizer
+ parser (>= 2.7.1.4)
rainbow
- rubocop (~> 0.51)
+ rubocop
smart_properties
erbse (0.1.4)
temple
- erubi (1.9.0)
+ erubi (1.10.0)
etherpad-lite (0.3.0)
rest-client (>= 1.6)
- excon (0.78.0)
+ eventmachine (1.2.7)
+ eventmachine_httpserver (0.2.1)
+ excon (0.79.0)
execjs (2.7.0)
factory_bot (4.11.1)
activesupport (>= 3.0.0)
factory_bot_rails (4.11.1)
factory_bot (~> 4.11.1)
railties (>= 3.0.0)
- faker (1.9.6)
- i18n (>= 0.7)
- faraday (1.1.0)
+ faker (2.17.0)
+ i18n (>= 1.6, < 2)
+ faraday (1.3.0)
+ faraday-net_http (~> 1.0)
multipart-post (>= 1.2, < 3)
ruby2_keywords
- ffi (1.13.1)
+ faraday-net_http (1.0.1)
+ ffi (1.15.0)
figaro (1.2.0)
thor (>= 0.14.0, < 2)
file_validators (2.3.0)
activemodel (>= 3.2)
mime-types (>= 1.0)
- fog-aws (3.6.7)
+ fog-aws (3.10.0)
fog-core (~> 2.1)
fog-json (~> 1.1)
fog-xml (~> 0.1)
@@ -420,6 +442,8 @@ GEM
fog-json (1.2.0)
fog-core
multi_json (~> 1.10)
+ fog-local (0.6.0)
+ fog-core (>= 1.27, < 3.0)
fog-xml (0.1.3)
fog-core
nokogiri (>= 1.5.11, < 2.0.0)
@@ -434,13 +458,13 @@ GEM
activesupport (>= 4.1, < 6.0)
railties (>= 4.1, < 6.0)
tzinfo (~> 1.2, >= 1.2.2)
- geocoder (1.6.4)
+ geocoder (1.6.6)
globalid (0.4.2)
activesupport (>= 4.2.0)
graphiql-rails (1.4.11)
railties
sprockets-rails
- graphql (1.11.5)
+ graphql (1.12.7)
hashdiff (1.0.1)
hashie (4.1.0)
highline (2.0.3)
@@ -449,12 +473,10 @@ GEM
http-accept (1.7.0)
http-cookie (1.0.3)
domain_name (~> 0.5)
- httparty (0.18.1)
- mime-types (~> 3.0)
- multi_xml (>= 0.5.2)
- i18n (1.8.5)
+ http_parser.rb (0.6.0)
+ i18n (1.8.10)
concurrent-ruby (~> 1.0)
- i18n-tasks (0.9.31)
+ i18n-tasks (0.9.34)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
erubi
@@ -464,14 +486,16 @@ GEM
rails-i18n
rainbow (>= 2.2.2, < 4.0)
terminal-table (>= 1.5.1)
- icalendar (2.7.0)
+ icalendar (2.7.1)
ice_cube (~> 0.16)
ice_cube (0.16.3)
ice_nine (0.11.2)
+ image_processing (1.12.1)
+ mini_magick (>= 4.9.5, < 5)
+ ruby-vips (>= 2.0.17, < 3)
invisible_captcha (0.13.0)
rails (>= 3.2.0)
ipaddress (0.8.3)
- jaro_winkler (1.5.4)
jquery-rails (4.4.0)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
@@ -491,7 +515,7 @@ GEM
activerecord
kaminari-core (= 1.2.1)
kaminari-core (1.2.1)
- kramdown (2.3.0)
+ kramdown (2.3.1)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
@@ -503,7 +527,7 @@ GEM
actionmailer (>= 3.2)
letter_opener (~> 1.0)
railties (>= 3.2)
- listen (3.2.1)
+ listen (3.5.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.3.1)
@@ -511,8 +535,7 @@ GEM
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
- marcel (0.3.3)
- mimemagic (~> 0.3.2)
+ marcel (1.0.1)
mdl (0.11.0)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.1)
@@ -522,32 +545,33 @@ GEM
method_source (1.0.0)
mime-types (3.3.1)
mime-types-data (~> 3.2015)
- mime-types-data (3.2020.0512)
+ mime-types-data (3.2021.0225)
mimemagic (0.3.10)
nokogiri (~> 1)
rake
- mini_magick (4.10.1)
- mini_mime (1.0.2)
- mini_portile2 (2.4.0)
- minitest (5.14.2)
+ mini_magick (4.11.0)
+ mini_mime (1.1.0)
+ mini_portile2 (2.5.0)
+ minitest (5.14.4)
mixlib-cli (2.1.8)
mixlib-config (3.0.9)
tomlrb
- mixlib-shellout (3.1.6)
+ mixlib-shellout (3.2.5)
chef-utils
- msgpack (1.3.3)
+ msgpack (1.4.2)
multi_json (1.15.0)
multi_xml (0.6.0)
multipart-post (2.1.1)
mustache (1.1.1)
netrc (0.11.0)
newrelic_rpm (6.15.0)
- nio4r (2.5.4)
+ nio4r (2.5.7)
nobspw (0.6.2)
- nokogiri (1.10.10)
- mini_portile2 (~> 2.4.0)
- oauth (0.5.4)
- oauth2 (1.4.4)
+ nokogiri (1.11.3)
+ mini_portile2 (~> 2.5.0)
+ racc (~> 1.4)
+ oauth (0.5.6)
+ oauth2 (1.4.7)
faraday (>= 0.8, < 2.0)
jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
@@ -558,16 +582,17 @@ GEM
rack (>= 1.6.2, < 3)
omniauth-facebook (5.0.0)
omniauth-oauth2 (~> 1.2)
- omniauth-google-oauth2 (0.8.0)
+ omniauth-google-oauth2 (0.8.2)
jwt (>= 2.0)
- omniauth (>= 1.1.1)
+ oauth2 (~> 1.1)
+ omniauth (~> 1.1)
omniauth-oauth2 (>= 1.6)
- omniauth-oauth (1.1.0)
+ omniauth-oauth (1.2.0)
oauth
- omniauth (~> 1.0)
- omniauth-oauth2 (1.7.0)
+ omniauth (>= 1.0, < 3)
+ omniauth-oauth2 (1.7.1)
oauth2 (~> 1.4)
- omniauth (~> 1.9)
+ omniauth (>= 1.9, < 3)
omniauth-rails_csrf_protection (0.1.2)
actionpack (>= 4.2)
omniauth (>= 1.3.1)
@@ -578,11 +603,11 @@ GEM
paper_trail (10.3.1)
activerecord (>= 4.2)
request_store (~> 1.1)
- parallel (1.19.2)
- parser (2.7.2.0)
+ parallel (1.20.1)
+ parser (3.0.1.0)
ast (~> 2.4.1)
pg (1.1.4)
- pg_search (2.3.4)
+ pg_search (2.3.5)
activerecord (>= 5.2)
activesupport (>= 5.2)
polyglot (0.3.5)
@@ -594,10 +619,19 @@ GEM
actionmailer (>= 3)
premailer (~> 1.7, >= 1.7.9)
public_suffix (4.0.6)
- puma (5.0.2)
+ puffing-billy (2.4.1)
+ addressable (~> 2.5)
+ em-http-request (~> 1.1, >= 1.1.0)
+ em-synchrony
+ eventmachine (~> 1.2)
+ eventmachine_httpserver
+ http_parser.rb (~> 0.6.0)
+ multi_json
+ puma (5.2.2)
nio4r (~> 2.0)
+ racc (1.5.2)
rack (2.2.3)
- rack-attack (6.3.1)
+ rack-attack (6.5.0)
rack (>= 1.0, < 3)
rack-cors (1.1.1)
rack (>= 2.0.0)
@@ -605,18 +639,18 @@ GEM
rack
rack-test (1.1.0)
rack (>= 1.0, < 3)
- rails (5.2.4.4)
- actioncable (= 5.2.4.4)
- actionmailer (= 5.2.4.4)
- actionpack (= 5.2.4.4)
- actionview (= 5.2.4.4)
- activejob (= 5.2.4.4)
- activemodel (= 5.2.4.4)
- activerecord (= 5.2.4.4)
- activestorage (= 5.2.4.4)
- activesupport (= 5.2.4.4)
+ rails (5.2.5)
+ actioncable (= 5.2.5)
+ actionmailer (= 5.2.5)
+ actionpack (= 5.2.5)
+ actionview (= 5.2.5)
+ activejob (= 5.2.5)
+ activemodel (= 5.2.5)
+ activerecord (= 5.2.5)
+ activestorage (= 5.2.5)
+ activesupport (= 5.2.5)
bundler (>= 1.3.0)
- railties (= 5.2.4.4)
+ railties (= 5.2.5)
sprockets-rails (>= 2.0.0)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
@@ -630,14 +664,14 @@ GEM
rails-i18n (5.1.3)
i18n (>= 0.7, < 2)
railties (>= 5.0, < 6)
- railties (5.2.4.4)
- actionpack (= 5.2.4.4)
- activesupport (= 5.2.4.4)
+ railties (5.2.5)
+ actionpack (= 5.2.5)
+ activesupport (= 5.2.5)
method_source
rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0)
rainbow (3.0.0)
- rake (13.0.1)
+ rake (13.0.3)
ransack (2.1.1)
actionpack (>= 5.0)
activerecord (>= 5.0)
@@ -652,9 +686,9 @@ GEM
activesupport (>= 4.1.0)
virtus (~> 1.0.5)
wisper (>= 1.6.1)
- redcarpet (3.5.0)
- redis (4.2.2)
- regexp_parser (1.8.2)
+ redcarpet (3.5.1)
+ redis (4.2.5)
+ regexp_parser (2.1.1)
request_store (1.5.0)
rack (>= 1.4)
responders (3.0.1)
@@ -665,7 +699,7 @@ GEM
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
- rexml (3.2.4)
+ rexml (3.2.5)
rspec (3.9.0)
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
@@ -675,7 +709,7 @@ GEM
rspec-rails (< 5.0)
rspec-core (3.9.3)
rspec-support (~> 3.9.3)
- rspec-expectations (3.9.2)
+ rspec-expectations (3.9.4)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-html-matchers (0.9.4)
@@ -694,31 +728,39 @@ GEM
rspec-support (~> 3.9.0)
rspec-retry (0.6.2)
rspec-core (> 3.3)
- rspec-support (3.9.3)
+ rspec-support (3.9.4)
rspec_junit_formatter (0.3.0)
rspec-core (>= 2, < 4, != 2.12.0)
- rubocop (0.71.0)
- jaro_winkler (~> 1.5.1)
+ rubocop (0.92.0)
parallel (~> 1.10)
- parser (>= 2.6)
+ parser (>= 2.7.1.5)
rainbow (>= 2.2.2, < 4.0)
+ regexp_parser (>= 1.7)
+ rexml
+ rubocop-ast (>= 0.5.0)
ruby-progressbar (~> 1.7)
- unicode-display_width (>= 1.4.0, < 1.7)
- rubocop-rails (2.0.1)
+ unicode-display_width (>= 1.4.0, < 2.0)
+ rubocop-ast (1.4.1)
+ parser (>= 2.7.1.5)
+ rubocop-rails (2.9.1)
+ activesupport (>= 4.2.0)
rack (>= 1.1)
- rubocop (>= 0.70.0)
- rubocop-rspec (1.41.0)
- rubocop (>= 0.68.1)
+ rubocop (>= 0.90.0, < 2.0)
+ rubocop-rspec (1.44.1)
+ rubocop (~> 0.87)
+ rubocop-ast (>= 0.7.1)
ruby-ole (1.2.12.2)
- ruby-progressbar (1.10.1)
- ruby2_keywords (0.0.2)
- rubyzip (2.0.0)
+ ruby-progressbar (1.11.0)
+ ruby-vips (2.1.0)
+ ffi (~> 1.12)
+ ruby2_keywords (0.0.4)
+ rubyzip (2.3.0)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
- sassc (2.3.0)
+ sassc (2.4.0)
ffi (~> 1.9)
sassc-rails (2.1.2)
railties (>= 4.0.0)
@@ -736,17 +778,17 @@ GEM
rack (>= 1.5.0)
rack-protection (>= 1.5.0)
redis (>= 3.3.5, < 5)
- simplecov (0.19.0)
+ simplecov (0.19.1)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov-cobertura (1.3.1)
simplecov (~> 0.8)
simplecov-html (0.12.3)
smart_properties (1.15.0)
- social-share-button (1.2.3)
+ social-share-button (1.2.4)
coffee-rails
- spreadsheet (1.2.6)
- ruby-ole (>= 1.0)
+ spreadsheet (1.2.8)
+ ruby-ole
spring (2.1.1)
spring-watcher-listen (2.0.1)
listen (>= 2.7, < 4.0)
@@ -762,19 +804,20 @@ GEM
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
+ ssrf_filter (1.0.7)
system_test_html_screenshots (0.1.2)
actionpack (>= 5.2, < 6.0.a)
temple (0.8.2)
- terminal-table (1.8.0)
+ terminal-table (3.0.0)
unicode-display_width (~> 1.1, >= 1.1.1)
- thor (1.0.1)
+ thor (1.1.0)
thread_safe (0.3.6)
tilt (2.0.10)
- tomlrb (1.3.0)
+ tomlrb (2.0.1)
truncato (0.7.11)
htmlentities (~> 4.3.1)
nokogiri (>= 1.7.0, <= 2.0)
- tzinfo (1.2.7)
+ tzinfo (1.2.9)
thread_safe (~> 0.1)
uber (0.1.0)
uglifier (4.2.0)
@@ -782,10 +825,11 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.7.7)
- unicode-display_width (1.6.1)
+ unicode-display_width (1.7.0)
valid_email2 (2.3.1)
activemodel (>= 3.2)
mail (~> 2.5)
+ vcr (6.0.0)
virtus (1.0.5)
axiom-types (~> 0.1)
coercible (~> 1.0)
@@ -798,7 +842,7 @@ GEM
activemodel (>= 5.0)
bindex (>= 0.4.0)
railties (>= 5.0)
- webmock (3.9.3)
+ webmock (3.12.2)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
@@ -827,7 +871,7 @@ DEPENDENCIES
deface
dotenv-rails
factory_bot_rails
- faker (~> 1.9)
+ faker (~> 2.0)
figaro
fog-aws
letter_opener_web (~> 1.3)
@@ -846,7 +890,7 @@ DEPENDENCIES
zip-zip
RUBY VERSION
- ruby 2.6.6p146
+ ruby 2.7.3p183
BUNDLED WITH
- 1.17.3
+ 2.1.4
diff --git a/config/boot.rb b/config/boot.rb
index 4ab87a74c2..c154378b5c 100644
--- a/config/boot.rb
+++ b/config/boot.rb
@@ -11,8 +11,6 @@
cache_dir: File.expand_path(File.join("..", "tmp", "cache"), __dir__),
development_mode: env == "development",
load_path_cache: true,
- autoload_paths_cache: true,
- disable_trace: false,
compile_cache_iseq: !ENV["SIMPLECOV"],
compile_cache_yaml: true
)
diff --git a/config/cable.yml b/config/cable.yml
index dc9270f13f..54e5293bbd 100644
--- a/config/cable.yml
+++ b/config/cable.yml
@@ -7,3 +7,4 @@ test:
production:
adapter: redis
url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %>
+ channel_prefix: decidim_app_production
diff --git a/config/environments/development.rb b/config/environments/development.rb
index 3e3ec5102d..cf0050df11 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -16,7 +16,7 @@
# Enable/disable caching. By default caching is disabled.
# Run rails dev:cache to toggle caching.
- if Rails.root.join("tmp", "caching-dev.txt").exist?
+ if Rails.root.join("tmp/caching-dev.txt").exist?
config.action_controller.perform_caching = true
config.cache_store = :memory_store
diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml
new file mode 100644
index 0000000000..8a76e9b02f
--- /dev/null
+++ b/config/i18n-tasks.yml
@@ -0,0 +1,133 @@
+# i18n-tasks finds and manages missing and unused translations: https://github.com/glebm/i18n-tasks
+
+# The "main" locale.
+base_locale: en
+## All available locales are inferred from the data by default. Alternatively, specify them explicitly:
+# locales: [es, fr]
+## Reporting locale, default: en. Available: en, ru.
+# internal_locale: en
+
+# Read and write translations.
+data:
+ ## Translations are read from the file system. Supported format: YAML, JSON.
+ ## Provide a custom adapter:
+ # adapter: I18n::Tasks::Data::FileSystem
+
+ # Locale files or `File.find` patterns where translations are read from:
+ read:
+ ## Default:
+ # - config/locales/%{locale}.yml
+ ## More files:
+ # - config/locales/**/*.%{locale}.yml
+
+ # Locale files to write new keys to, based on a list of key pattern => file rules. Matched from top to bottom:
+ # `i18n-tasks normalize -p` will force move the keys according to these rules
+ write:
+ ## For example, write devise and simple form keys to their respective files:
+ # - ['{devise, simple_form}.*', 'config/locales/\1.%{locale}.yml']
+ ## Catch-all default:
+ # - config/locales/%{locale}.yml
+
+ # External locale data (e.g. gems).
+ # This data is not considered unused and is never written to.
+ external:
+ ## Example (replace %#= with %=):
+ # - "<%#= %x[bundle info vagrant --path].chomp %>/templates/locales/%{locale}.yml"
+
+ ## Specify the router (see Readme for details). Valid values: conservative_router, pattern_router, or a custom class.
+ # router: conservative_router
+
+ yaml:
+ write:
+ # do not wrap lines at 80 characters
+ line_width: -1
+
+ ## Pretty-print JSON:
+ # json:
+ # write:
+ # indent: ' '
+ # space: ' '
+ # object_nl: "\n"
+ # array_nl: "\n"
+
+# Find translate calls
+search:
+ ## Paths or `File.find` patterns to search in:
+ # paths:
+ # - app/
+
+ ## Root directories for relative keys resolution.
+ # relative_roots:
+ # - app/controllers
+ # - app/helpers
+ # - app/mailers
+ # - app/presenters
+ # - app/views
+
+ ## Files or `File.fnmatch` patterns to exclude from search. Some files are always excluded regardless of this setting:
+ ## %w(*.jpg *.png *.gif *.svg *.ico *.eot *.otf *.ttf *.woff *.woff2 *.pdf *.css *.sass *.scss *.less *.yml *.json)
+ exclude:
+ - app/assets/images
+ - app/assets/fonts
+ - app/assets/videos
+
+ ## Alternatively, the only files or `File.fnmatch patterns` to search in `paths`:
+ ## If specified, this settings takes priority over `exclude`, but `exclude` still applies.
+ # only: ["*.rb", "*.html.slim"]
+
+ ## If `strict` is `false`, guess usages such as t("categories.#{category}.title"). The default is `true`.
+ # strict: true
+
+ ## Multiple scanners can be used. Their results are merged.
+ ## The options specified above are passed down to each scanner. Per-scanner options can be specified as well.
+ ## See this example of a custom scanner: https://github.com/glebm/i18n-tasks/wiki/A-custom-scanner-example
+
+## Translation Services
+# translation:
+# # Google Translate
+# # Get an API key and set billing info at https://code.google.com/apis/console to use Google Translate
+# google_translate_api_key: "AbC-dEf5"
+# # DeepL Pro Translate
+# # Get an API key and subscription at https://www.deepl.com/pro to use DeepL Pro
+# deepl_api_key: "48E92789-57A3-466A-9959-1A1A1A1A1A1A"
+
+## Do not consider these keys missing:
+# ignore_missing:
+# - 'errors.messages.{accepted,blank,invalid,too_short,too_long}'
+# - '{devise,simple_form}.*'
+
+## Consider these keys used:
+# ignore_unused:
+# - 'activerecord.attributes.*'
+# - '{devise,kaminari,will_paginate}.*'
+# - 'simple_form.{yes,no}'
+# - 'simple_form.{placeholders,hints,labels}.*'
+# - 'simple_form.{error_notification,required}.:'
+
+## Exclude these keys from the `i18n-tasks eq-base' report:
+# ignore_eq_base:
+# all:
+# - common.ok
+# fr,es:
+# - common.brand
+
+## Exclude these keys from the `i18n-tasks check-consistent-interpolations` report:
+# ignore_inconsistent_interpolations:
+# - 'activerecord.attributes.*'
+
+## Ignore these keys completely:
+# ignore:
+# - kaminari.*
+
+## Sometimes, it isn't possible for i18n-tasks to match the key correctly,
+## e.g. in case of a relative key defined in a helper method.
+## In these cases you can use the built-in PatternMapper to map patterns to keys, e.g.:
+#
+# <%# I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper',
+# only: %w(*.html.haml *.html.slim),
+# patterns: [['= title\b', '.page_title']] %>
+#
+# The PatternMapper can also match key literals via a special %{key} interpolation, e.g.:
+#
+# <%# I18n::Tasks.add_scanner 'I18n::Tasks::Scanners::PatternMapper',
+# patterns: [['\bSpree\.t[( ]\s*%{key}', 'spree.%{key}']] %>
diff --git a/config/locales/ja.yml b/config/locales/ja.yml
index 4ab760dd23..94263fa24c 100644
--- a/config/locales/ja.yml
+++ b/config/locales/ja.yml
@@ -33,8 +33,8 @@ ja:
name_or_nickname_or_email_cont: "%{collection} をメール、表示名、アカウントIDで検索します。"
authorization_handlers:
user_extension_authorization_handler:
- explanation: 'ユーザー拡張属性保持用'
- name: 'ユーザー拡張属性'
+ explanation: ユーザー拡張属性保持用
+ name: ユーザー拡張属性
components:
add_comment_form:
account_message: ログイン または 新規登録 することでコメントできます。
@@ -122,6 +122,9 @@ ja:
filters:
explanations:
no_active_nor_upcoming_callout: アクティブな参加型プロセスも今後の参加型プロセスもありません。ここでは過去の参加型プロセスのリストを示します。
+ profiles:
+ show:
+ send_private_message: プライベートメッセージを送信
proposals:
application_helper:
filter_origin_values:
diff --git a/db/migrate/20210408054250_remove_show_statistics_from_organizations.decidim.rb b/db/migrate/20210408054250_remove_show_statistics_from_organizations.decidim.rb
new file mode 100644
index 0000000000..cb77c106bc
--- /dev/null
+++ b/db/migrate/20210408054250_remove_show_statistics_from_organizations.decidim.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20200929171508)
+
+class RemoveShowStatisticsFromOrganizations < ActiveRecord::Migration[5.2]
+ def change
+ remove_column :decidim_organizations, :show_statistics
+ end
+end
diff --git a/db/migrate/20210408054251_create_decidim_user_moderations.decidim.rb b/db/migrate/20210408054251_create_decidim_user_moderations.decidim.rb
new file mode 100644
index 0000000000..61c5d18d7f
--- /dev/null
+++ b/db/migrate/20210408054251_create_decidim_user_moderations.decidim.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20201010124755)
+
+class CreateDecidimUserModerations < ActiveRecord::Migration[5.2]
+ def change
+ create_table :decidim_user_moderations do |t|
+ t.belongs_to :decidim_user, foreign_key: true
+ t.integer :report_count, default: 0, null: false
+
+ t.timestamps
+ end
+ end
+end
diff --git a/db/migrate/20210408054252_create_decidim_user_reports.decidim.rb b/db/migrate/20210408054252_create_decidim_user_reports.decidim.rb
new file mode 100644
index 0000000000..79bdadbc38
--- /dev/null
+++ b/db/migrate/20210408054252_create_decidim_user_reports.decidim.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20201010124756)
+
+class CreateDecidimUserReports < ActiveRecord::Migration[5.2]
+ def change
+ create_table :decidim_user_reports do |t|
+ t.integer :user_moderation_id, foreign_key: true
+ t.integer :user_id, null: false
+ t.string :reason
+ t.text :details
+
+ t.timestamps
+ end
+ add_foreign_key :decidim_user_reports, :decidim_user_moderations, column: :user_moderation_id
+ add_foreign_key :decidim_user_reports, :decidim_users, column: :user_id
+ end
+end
diff --git a/db/migrate/20210408054253_add_suspension_fields_to_decidim_users.decidim.rb b/db/migrate/20210408054253_add_suspension_fields_to_decidim_users.decidim.rb
new file mode 100644
index 0000000000..d839896095
--- /dev/null
+++ b/db/migrate/20210408054253_add_suspension_fields_to_decidim_users.decidim.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20201010224433)
+
+class AddSuspensionFieldsToDecidimUsers < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_users, :suspended, :boolean, default: false, null: false
+ add_column :decidim_users, :suspended_at, :datetime
+ end
+end
diff --git a/db/migrate/20210408054254_create_decidim_user_suspensions.decidim.rb b/db/migrate/20210408054254_create_decidim_user_suspensions.decidim.rb
new file mode 100644
index 0000000000..68b453af99
--- /dev/null
+++ b/db/migrate/20210408054254_create_decidim_user_suspensions.decidim.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20201011074641)
+
+class CreateDecidimUserSuspensions < ActiveRecord::Migration[5.2]
+ def change
+ create_table :decidim_user_suspensions do |t|
+ t.belongs_to :decidim_user, foreign_key: true
+ t.integer :suspending_user_id
+ t.text :justification
+
+ t.timestamps
+ end
+ add_foreign_key :decidim_user_suspensions, :decidim_users, column: :suspending_user_id
+ end
+end
diff --git a/db/migrate/20210408054255_add_current_suspension_id_to_decidim_users.decidim.rb b/db/migrate/20210408054255_add_current_suspension_id_to_decidim_users.decidim.rb
new file mode 100644
index 0000000000..fa5752e23e
--- /dev/null
+++ b/db/migrate/20210408054255_add_current_suspension_id_to_decidim_users.decidim.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20201011081626)
+
+class AddCurrentSuspensionIdToDecidimUsers < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_users, :suspension_id, :integer
+ end
+end
diff --git a/db/migrate/20210408054256_add_reported_content_to_moderations.decidim.rb b/db/migrate/20210408054256_add_reported_content_to_moderations.decidim.rb
new file mode 100644
index 0000000000..d37af03902
--- /dev/null
+++ b/db/migrate/20210408054256_add_reported_content_to_moderations.decidim.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20201013071533)
+
+class AddReportedContentToModerations < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_moderations, :reported_content, :text
+ end
+end
diff --git a/db/migrate/20210408054257_add_locale_to_moderation_reports.decidim.rb b/db/migrate/20210408054257_add_locale_to_moderation_reports.decidim.rb
new file mode 100644
index 0000000000..36bca7b34f
--- /dev/null
+++ b/db/migrate/20210408054257_add_locale_to_moderation_reports.decidim.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20201019074554)
+
+class AddLocaleToModerationReports < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_reports, :locale, :string
+ end
+end
diff --git a/db/migrate/20210408054258_encrypt_authorization_metadatas.decidim.rb b/db/migrate/20210408054258_encrypt_authorization_metadatas.decidim.rb
new file mode 100644
index 0000000000..0583061b0b
--- /dev/null
+++ b/db/migrate/20210408054258_encrypt_authorization_metadatas.decidim.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20201127114444)
+
+class EncryptAuthorizationMetadatas < ActiveRecord::Migration[5.2]
+ def up
+ Decidim::Authorization.all.each do |auth|
+ # Re-setting these values will internally convert the hash values to
+ # encypted values
+ auth.update!(
+ metadata: auth.metadata,
+ verification_metadata: auth.verification_metadata
+ )
+ end
+ end
+
+ def down
+ Decidim::Authorization.all.each do |auth|
+ # rubocop:disable Rails/SkipsModelValidations
+ auth.update_columns(
+ metadata: decrypt_hash(auth.metadata),
+ verification_metadata: decrypt_hash(auth.verification_metadata)
+ )
+ # rubocop:enable Rails/SkipsModelValidations
+ end
+ end
+
+ private
+
+ def decrypt_hash(hash)
+ hash.transform_values do |value|
+ ActiveSupport::JSON.decode(Decidim::AttributeEncryptor.decrypt(value))
+ rescue ActiveSupport::MessageEncryptor::InvalidMessage, ActiveSupport::MessageVerifier::InvalidSignature
+ value
+ end
+ end
+end
diff --git a/db/migrate/20210408054259_add_allow_public_access_to_static_pages.decidim.rb b/db/migrate/20210408054259_add_allow_public_access_to_static_pages.decidim.rb
new file mode 100644
index 0000000000..5ca91ad021
--- /dev/null
+++ b/db/migrate/20210408054259_add_allow_public_access_to_static_pages.decidim.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20201128130723)
+
+class AddAllowPublicAccessToStaticPages < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_static_pages, :allow_public_access, :boolean, null: false, default: false
+
+ reversible do |direction|
+ direction.up do
+ # rubocop:disable Rails/SkipsModelValidations
+ Decidim::StaticPage.where(slug: "terms-and-conditions").update_all(
+ allow_public_access: true
+ )
+ # rubocop:enable Rails/SkipsModelValidations
+ end
+ end
+ end
+end
diff --git a/db/migrate/20210408054260_update_table_block_user_functionality.decidim.rb b/db/migrate/20210408054260_update_table_block_user_functionality.decidim.rb
new file mode 100644
index 0000000000..a5b9c0e172
--- /dev/null
+++ b/db/migrate/20210408054260_update_table_block_user_functionality.decidim.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20201218144706)
+
+class UpdateTableBlockUserFunctionality < ActiveRecord::Migration[5.2]
+ def change
+ rename_column :decidim_user_suspensions, :suspending_user_id, :blocking_user_id
+ rename_table :decidim_user_suspensions, :decidim_user_blocks
+ end
+end
diff --git a/db/migrate/20210408054261_rename_decidim_user_fields_for_block_functionality.decidim.rb b/db/migrate/20210408054261_rename_decidim_user_fields_for_block_functionality.decidim.rb
new file mode 100644
index 0000000000..ef43862c4b
--- /dev/null
+++ b/db/migrate/20210408054261_rename_decidim_user_fields_for_block_functionality.decidim.rb
@@ -0,0 +1,10 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20201218145252)
+
+class RenameDecidimUserFieldsForBlockFunctionality < ActiveRecord::Migration[5.2]
+ def change
+ rename_column :decidim_users, :suspended, :blocked
+ rename_column :decidim_users, :suspended_at, :blocked_at
+ rename_column :decidim_users, :suspension_id, :block_id
+ end
+end
diff --git a/db/migrate/20210408054262_add_email_on_moderations_to_users.decidim.rb b/db/migrate/20210408054262_add_email_on_moderations_to_users.decidim.rb
new file mode 100644
index 0000000000..c04978d8df
--- /dev/null
+++ b/db/migrate/20210408054262_add_email_on_moderations_to_users.decidim.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20210208134328)
+
+class AddEmailOnModerationsToUsers < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_users, :email_on_moderations, :boolean, default: true
+ end
+end
diff --git a/db/migrate/20210408054263_invalidate_all_sessions_for_deleted_users.decidim.rb b/db/migrate/20210408054263_invalidate_all_sessions_for_deleted_users.decidim.rb
new file mode 100644
index 0000000000..b4acff929e
--- /dev/null
+++ b/db/migrate/20210408054263_invalidate_all_sessions_for_deleted_users.decidim.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20210302150803)
+
+class InvalidateAllSessionsForDeletedUsers < ActiveRecord::Migration[5.2]
+ def up
+ Decidim::User.reset_column_information
+
+ Decidim::User.where.not(deleted_at: nil).find_each(&:invalidate_all_sessions!)
+ end
+
+ def down; end
+end
diff --git a/db/migrate/20210408054264_add_followable_counter_cache_to_users.decidim.rb b/db/migrate/20210408054264_add_followable_counter_cache_to_users.decidim.rb
new file mode 100644
index 0000000000..1f0e0029b7
--- /dev/null
+++ b/db/migrate/20210408054264_add_followable_counter_cache_to_users.decidim.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+# This migration comes from decidim (originally 20210310120640)
+
+class AddFollowableCounterCacheToUsers < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_users, :follows_count, :integer, null: false, default: 0, index: true
+
+ reversible do |dir|
+ dir.up do
+ Decidim::User.reset_column_information
+ Decidim::User.find_each do |record|
+ record.class.reset_counters(record.id, :follows)
+ end
+ end
+ end
+ end
+end
diff --git a/db/migrate/20210408054265_add_salt_to_decidim_forms_questionnaires.decidim_forms.rb b/db/migrate/20210408054265_add_salt_to_decidim_forms_questionnaires.decidim_forms.rb
new file mode 100644
index 0000000000..9af15d62ea
--- /dev/null
+++ b/db/migrate/20210408054265_add_salt_to_decidim_forms_questionnaires.decidim_forms.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+# This migration comes from decidim_forms (originally 20201110152921)
+
+class AddSaltToDecidimFormsQuestionnaires < ActiveRecord::Migration[5.2]
+ class Questionnaire < ApplicationRecord
+ self.table_name = :decidim_forms_questionnaires
+ end
+
+ def change
+ add_column :decidim_forms_questionnaires, :salt, :string
+
+ Questionnaire.find_each do |questionnaire|
+ questionnaire.salt = Decidim::Tokenizer.random_salt
+ questionnaire.save!
+ end
+ end
+end
diff --git a/db/migrate/20210408054266_add_max_characters_to_decidim_forms_questions.decidim_forms.rb b/db/migrate/20210408054266_add_max_characters_to_decidim_forms_questions.decidim_forms.rb
new file mode 100644
index 0000000000..b24ef1e36a
--- /dev/null
+++ b/db/migrate/20210408054266_add_max_characters_to_decidim_forms_questions.decidim_forms.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim_forms (originally 20210208094442)
+
+class AddMaxCharactersToDecidimFormsQuestions < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_forms_questions, :max_characters, :integer, default: 0
+ end
+end
diff --git a/db/migrate/20210408054267_create_decidim_verifications_conflicts.decidim_verifications.rb b/db/migrate/20210408054267_create_decidim_verifications_conflicts.decidim_verifications.rb
new file mode 100644
index 0000000000..53b9daba03
--- /dev/null
+++ b/db/migrate/20210408054267_create_decidim_verifications_conflicts.decidim_verifications.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+# This migration comes from decidim_verifications (originally 20201028161118)
+
+class CreateDecidimVerificationsConflicts < ActiveRecord::Migration[5.2]
+ def change
+ create_table :decidim_verifications_conflicts do |t|
+ t.references :current_user, index: { name: "authorization_current_user" }, foreign_key: { to_table: :decidim_users }
+ t.references :managed_user, index: { name: "authorization_managed_user" }, foreign_key: { to_table: :decidim_users }
+ t.integer :times, default: 0
+ t.string :unique_id
+ t.boolean :solved, default: false
+
+ t.timestamps
+ end
+ end
+end
diff --git a/db/migrate/20210408054268_add_hashtag_to_participatory_process_groups.decidim_participatory_processes.rb b/db/migrate/20210408054268_add_hashtag_to_participatory_process_groups.decidim_participatory_processes.rb
new file mode 100644
index 0000000000..c6186cab45
--- /dev/null
+++ b/db/migrate/20210408054268_add_hashtag_to_participatory_process_groups.decidim_participatory_processes.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim_participatory_processes (originally 20201007215105)
+
+class AddHashtagToParticipatoryProcessGroups < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_participatory_process_groups, :hashtag, :string
+ end
+end
diff --git a/db/migrate/20210408054269_add_metadata_columns_to_participatory_process_groups.decidim_participatory_processes.rb b/db/migrate/20210408054269_add_metadata_columns_to_participatory_process_groups.decidim_participatory_processes.rb
new file mode 100644
index 0000000000..0efe84f5f4
--- /dev/null
+++ b/db/migrate/20210408054269_add_metadata_columns_to_participatory_process_groups.decidim_participatory_processes.rb
@@ -0,0 +1,14 @@
+# frozen_string_literal: true
+# This migration comes from decidim_participatory_processes (originally 20201008154315)
+
+class AddMetadataColumnsToParticipatoryProcessGroups < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_participatory_process_groups, :group_url, :string
+ add_column :decidim_participatory_process_groups, :developer_group, :jsonb
+ add_column :decidim_participatory_process_groups, :local_area, :jsonb
+ add_column :decidim_participatory_process_groups, :meta_scope, :jsonb
+ add_column :decidim_participatory_process_groups, :target, :jsonb
+ add_column :decidim_participatory_process_groups, :participatory_scope, :jsonb
+ add_column :decidim_participatory_process_groups, :participatory_structure, :jsonb
+ end
+end
diff --git a/db/migrate/20210408054270_rename_name_column_to_title_in_decidim_participatory_process_groups.decidim_participatory_processes.rb b/db/migrate/20210408054270_rename_name_column_to_title_in_decidim_participatory_process_groups.decidim_participatory_processes.rb
new file mode 100644
index 0000000000..3efa4e7172
--- /dev/null
+++ b/db/migrate/20210408054270_rename_name_column_to_title_in_decidim_participatory_process_groups.decidim_participatory_processes.rb
@@ -0,0 +1,40 @@
+# frozen_string_literal: true
+# This migration comes from decidim_participatory_processes (originally 20201013105520)
+
+class RenameNameColumnToTitleInDecidimParticipatoryProcessGroups < ActiveRecord::Migration[5.2]
+ def up
+ rename_column :decidim_participatory_process_groups, :name, :title
+ PaperTrail::Version.where(item_type: "Decidim::ParticipatoryProcessGroup").each do |version|
+ # rubocop:disable Rails/SkipsModelValidations
+ version.update_attribute(:object_changes, version.object_changes.gsub(/^name:/, "title:")) if version.object_changes.present?
+ # rubocop:enable Rails/SkipsModelValidations
+
+ next unless version.object.present? && version.object.has_key?("name")
+
+ object = version.object
+ object["title"] = object.delete("name")
+
+ # rubocop:disable Rails/SkipsModelValidations
+ version.update_attribute(:object, object)
+ # rubocop:enable Rails/SkipsModelValidations
+ end
+ end
+
+ def down
+ PaperTrail::Version.where(item_type: "Decidim::ParticipatoryProcessGroup").each do |version|
+ # rubocop:disable Rails/SkipsModelValidations
+ version.update_attribute(:object_changes, version.object_changes.gsub(/^title:/, "name:")) if version.object_changes.present?
+ # rubocop:enable Rails/SkipsModelValidations
+
+ next unless version.object.present? && version.object.has_key?("title")
+
+ object = version.object
+ object["name"] = object.delete("title")
+
+ # rubocop:disable Rails/SkipsModelValidations
+ version.update_attribute(:object, object)
+ # rubocop:enable Rails/SkipsModelValidations
+ end
+ rename_column :decidim_participatory_process_groups, :title, :name
+ end
+end
diff --git a/db/migrate/20210408054271_add_promoted_flag_to_decidim_participatory_process_groups.decidim_participatory_processes.rb b/db/migrate/20210408054271_add_promoted_flag_to_decidim_participatory_process_groups.decidim_participatory_processes.rb
new file mode 100644
index 0000000000..e63002a094
--- /dev/null
+++ b/db/migrate/20210408054271_add_promoted_flag_to_decidim_participatory_process_groups.decidim_participatory_processes.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim_participatory_processes (originally 20201030133444)
+
+class AddPromotedFlagToDecidimParticipatoryProcessGroups < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_participatory_process_groups, :promoted, :boolean, default: false, index: true
+ end
+end
diff --git a/db/migrate/20210408054272_add_weight_field_to_participatory_processes.decidim_participatory_processes.rb b/db/migrate/20210408054272_add_weight_field_to_participatory_processes.decidim_participatory_processes.rb
new file mode 100644
index 0000000000..f9a3d2af29
--- /dev/null
+++ b/db/migrate/20210408054272_add_weight_field_to_participatory_processes.decidim_participatory_processes.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim_participatory_processes (originally 20210204154593)
+
+class AddWeightFieldToParticipatoryProcesses < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_participatory_processes, :weight, :integer, null: false, default: true
+ end
+end
diff --git a/db/migrate/20210408054273_add_followable_counter_cache_to_participatory_processes.decidim_participatory_processes.rb b/db/migrate/20210408054273_add_followable_counter_cache_to_participatory_processes.decidim_participatory_processes.rb
new file mode 100644
index 0000000000..188adcdf03
--- /dev/null
+++ b/db/migrate/20210408054273_add_followable_counter_cache_to_participatory_processes.decidim_participatory_processes.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+# This migration comes from decidim_participatory_processes (originally 20210310120750)
+
+class AddFollowableCounterCacheToParticipatoryProcesses < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_participatory_processes, :follows_count, :integer, null: false, default: 0, index: true
+
+ reversible do |dir|
+ dir.up do
+ Decidim::ParticipatoryProcess.reset_column_information
+ Decidim::ParticipatoryProcess.find_each do |record|
+ record.class.reset_counters(record.id, :follows)
+ end
+ end
+ end
+ end
+end
diff --git a/db/migrate/20210408054274_add_weight_field_to_assembly.decidim_assemblies.rb b/db/migrate/20210408054274_add_weight_field_to_assembly.decidim_assemblies.rb
new file mode 100644
index 0000000000..d111eb0b30
--- /dev/null
+++ b/db/migrate/20210408054274_add_weight_field_to_assembly.decidim_assemblies.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim_assemblies (originally 20210204152393)
+
+class AddWeightFieldToAssembly < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_assemblies, :weight, :integer, null: false, default: true
+ end
+end
diff --git a/db/migrate/20210408054275_add_followable_counter_cache_to_assemblies.decidim_assemblies.rb b/db/migrate/20210408054275_add_followable_counter_cache_to_assemblies.decidim_assemblies.rb
new file mode 100644
index 0000000000..f56e5f345f
--- /dev/null
+++ b/db/migrate/20210408054275_add_followable_counter_cache_to_assemblies.decidim_assemblies.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+# This migration comes from decidim_assemblies (originally 20210310120444)
+
+class AddFollowableCounterCacheToAssemblies < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_assemblies, :follows_count, :integer, null: false, default: 0, index: true
+
+ reversible do |dir|
+ dir.up do
+ Decidim::Assembly.reset_column_information
+ Decidim::Assembly.find_each do |record|
+ record.class.reset_counters(record.id, :follows)
+ end
+ end
+ end
+ end
+end
diff --git a/db/migrate/20210408054276_add_online_meeting_url.decidim_meetings.rb b/db/migrate/20210408054276_add_online_meeting_url.decidim_meetings.rb
new file mode 100644
index 0000000000..0536c129e1
--- /dev/null
+++ b/db/migrate/20210408054276_add_online_meeting_url.decidim_meetings.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim_meetings (originally 20201006140511)
+
+class AddOnlineMeetingUrl < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_meetings_meetings, :online_meeting_url, :string
+ end
+end
diff --git a/db/migrate/20210408054277_add_type_of_meeting.decidim_meetings.rb b/db/migrate/20210408054277_add_type_of_meeting.decidim_meetings.rb
new file mode 100644
index 0000000000..a429f8884b
--- /dev/null
+++ b/db/migrate/20210408054277_add_type_of_meeting.decidim_meetings.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim_meetings (originally 20201009124057)
+
+class AddTypeOfMeeting < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_meetings_meetings, :type_of_meeting, :string, default: "in_person"
+ end
+end
diff --git a/db/migrate/20210408054278_fix_meetings_registration_terms.decidim_meetings.rb b/db/migrate/20210408054278_fix_meetings_registration_terms.decidim_meetings.rb
new file mode 100644
index 0000000000..314b6c036b
--- /dev/null
+++ b/db/migrate/20210408054278_fix_meetings_registration_terms.decidim_meetings.rb
@@ -0,0 +1,30 @@
+# frozen_string_literal: true
+# This migration comes from decidim_meetings (originally 20201016065302)
+
+class FixMeetingsRegistrationTerms < ActiveRecord::Migration[5.2]
+ def up
+ reset_column_information
+
+ PaperTrail.request(enabled: false) do
+ Decidim::Meetings::Meeting.find_each do |meeting|
+ next if meeting.component.nil?
+ # Only user-created meetings have this problem
+ next if meeting.official?
+
+ # Since user-created meetings have no way to override the `registration_terms` field
+ # and it's supposed to use the component defaults,
+ # we can safely override this.
+ meeting.registration_terms = meeting.component.settings.default_registration_terms
+ meeting.save!
+ end
+ end
+ reset_column_information
+ end
+
+ def down; end
+
+ def reset_column_information
+ Decidim::Meetings::Meeting.reset_column_information
+ Decidim::Component.reset_column_information
+ end
+end
diff --git a/db/migrate/20210408054279_add_registration_type_and_url_to_meetings.decidim_meetings.rb b/db/migrate/20210408054279_add_registration_type_and_url_to_meetings.decidim_meetings.rb
new file mode 100644
index 0000000000..e564d4ab83
--- /dev/null
+++ b/db/migrate/20210408054279_add_registration_type_and_url_to_meetings.decidim_meetings.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+# This migration comes from decidim_meetings (originally 20201016112641)
+
+class AddRegistrationTypeAndUrlToMeetings < ActiveRecord::Migration[5.2]
+ class Meetings < ApplicationRecord
+ self.table_name = :decidim_meetings_meetings
+ include Decidim::HasComponent
+ end
+
+ def change
+ add_column :decidim_meetings_meetings, :registration_type, :string, null: false, default: "registration_disabled"
+ add_column :decidim_meetings_meetings, :registration_url, :string
+
+ Meetings.reset_column_information
+ Meetings.find_each do |meeting|
+ meeting.registration_type = "on_this_platform" if meeting.decidim_author_type == "Decidim::Organization"
+ meeting.save!
+ end
+ end
+end
diff --git a/db/migrate/20210408054280_add_salt_to_decidim_meetings.decidim_meetings.rb b/db/migrate/20210408054280_add_salt_to_decidim_meetings.decidim_meetings.rb
new file mode 100644
index 0000000000..d715040283
--- /dev/null
+++ b/db/migrate/20210408054280_add_salt_to_decidim_meetings.decidim_meetings.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+# This migration comes from decidim_meetings (originally 20201111133246)
+
+class AddSaltToDecidimMeetings < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_meetings_meetings, :salt, :string
+ # we leave old entries empty to maintain the old pad reference
+ end
+end
diff --git a/db/migrate/20210408054281_add_followable_counter_cache_to_meetings.decidim_meetings.rb b/db/migrate/20210408054281_add_followable_counter_cache_to_meetings.decidim_meetings.rb
new file mode 100644
index 0000000000..fa6d92436f
--- /dev/null
+++ b/db/migrate/20210408054281_add_followable_counter_cache_to_meetings.decidim_meetings.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+# This migration comes from decidim_meetings (originally 20210310120731)
+
+class AddFollowableCounterCacheToMeetings < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_meetings_meetings, :follows_count, :integer, null: false, default: 0, index: true
+
+ reversible do |dir|
+ dir.up do
+ Decidim::Meetings::Meeting.reset_column_information
+ Decidim::Meetings::Meeting.find_each do |record|
+ record.class.reset_counters(record.id, :follows)
+ end
+ end
+ end
+ end
+end
diff --git a/db/migrate/20210408054282_fix_answered_proposals_after_copy.decidim_proposals.rb b/db/migrate/20210408054282_fix_answered_proposals_after_copy.decidim_proposals.rb
new file mode 100644
index 0000000000..93105d84b8
--- /dev/null
+++ b/db/migrate/20210408054282_fix_answered_proposals_after_copy.decidim_proposals.rb
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+# This migration comes from decidim_proposals (originally 20210127115628)
+
+class FixAnsweredProposalsAfterCopy < ActiveRecord::Migration[5.2]
+ def change
+ proposals_after_copy = Decidim::ResourceLink.where(from_type: "Decidim::Proposals::Proposal").pluck(:from_id)
+
+ result = Decidim::Proposals::Proposal.where.not(state_published_at: nil).where(state: nil, id: proposals_after_copy)
+
+ result.find_each do |proposal|
+ proposal.state_published_at = nil
+ proposal.save!
+ end
+ end
+end
diff --git a/db/migrate/20210408054283_add_followable_counter_cache_to_proposals.decidim_proposals.rb b/db/migrate/20210408054283_add_followable_counter_cache_to_proposals.decidim_proposals.rb
new file mode 100644
index 0000000000..0eb81ad057
--- /dev/null
+++ b/db/migrate/20210408054283_add_followable_counter_cache_to_proposals.decidim_proposals.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+# This migration comes from decidim_proposals (originally 20210310102839)
+
+class AddFollowableCounterCacheToProposals < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_proposals_proposals, :follows_count, :integer, null: false, default: 0, index: true
+
+ reversible do |dir|
+ dir.up do
+ Decidim::Proposals::Proposal.reset_column_information
+ Decidim::Proposals::Proposal.find_each do |record|
+ record.class.reset_counters(record.id, :follows)
+ end
+ end
+ end
+ end
+end
diff --git a/db/migrate/20210408054284_add_followable_counter_cache_to_collaborative_drafts.decidim_proposals.rb b/db/migrate/20210408054284_add_followable_counter_cache_to_collaborative_drafts.decidim_proposals.rb
new file mode 100644
index 0000000000..1d9209c421
--- /dev/null
+++ b/db/migrate/20210408054284_add_followable_counter_cache_to_collaborative_drafts.decidim_proposals.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+# This migration comes from decidim_proposals (originally 20210310120812)
+
+class AddFollowableCounterCacheToCollaborativeDrafts < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_proposals_collaborative_drafts, :follows_count, :integer, null: false, default: 0, index: true
+
+ reversible do |dir|
+ dir.up do
+ Decidim::Proposals::CollaborativeDraft.reset_column_information
+ Decidim::Proposals::CollaborativeDraft.find_each do |record|
+ record.class.reset_counters(record.id, :follows)
+ end
+ end
+ end
+ end
+end
diff --git a/db/migrate/20210408054285_fix_counters_for_copied_proposals.decidim_proposals.rb b/db/migrate/20210408054285_fix_counters_for_copied_proposals.decidim_proposals.rb
new file mode 100644
index 0000000000..505c8efd47
--- /dev/null
+++ b/db/migrate/20210408054285_fix_counters_for_copied_proposals.decidim_proposals.rb
@@ -0,0 +1,19 @@
+# frozen_string_literal: true
+# This migration comes from decidim_proposals (originally 20210318082934)
+
+class FixCountersForCopiedProposals < ActiveRecord::Migration[5.2]
+ def up
+ copies_ids = Decidim::ResourceLink.where(
+ name: "copied_from_component",
+ from_type: "Decidim::Proposals::Proposal",
+ to_type: "Decidim::Proposals::Proposal"
+ ).pluck(:to_id)
+
+ Decidim::Proposals::Proposal.where(id: copies_ids).find_each do |record|
+ record.class.reset_counters(record.id, :follows)
+ record.update_comments_count
+ end
+ end
+
+ def down; end
+end
diff --git a/db/migrate/20210408054286_add_followable_counter_cache_to_budgets.decidim_budgets.rb b/db/migrate/20210408054286_add_followable_counter_cache_to_budgets.decidim_budgets.rb
new file mode 100644
index 0000000000..8b8d0454a7
--- /dev/null
+++ b/db/migrate/20210408054286_add_followable_counter_cache_to_budgets.decidim_budgets.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+# This migration comes from decidim_budgets (originally 20210310120613)
+
+class AddFollowableCounterCacheToBudgets < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_budgets_projects, :follows_count, :integer, null: false, default: 0, index: true
+
+ reversible do |dir|
+ dir.up do
+ Decidim::Budgets::Project.reset_column_information
+ Decidim::Budgets::Project.find_each do |record|
+ record.class.reset_counters(record.id, :follows)
+ end
+ end
+ end
+ end
+end
diff --git a/db/migrate/20210408054287_add_scope_to_debates_debate.decidim_debates.rb b/db/migrate/20210408054287_add_scope_to_debates_debate.decidim_debates.rb
new file mode 100644
index 0000000000..2aa45964d6
--- /dev/null
+++ b/db/migrate/20210408054287_add_scope_to_debates_debate.decidim_debates.rb
@@ -0,0 +1,8 @@
+# frozen_string_literal: true
+# This migration comes from decidim_debates (originally 20200930145546)
+
+class AddScopeToDebatesDebate < ActiveRecord::Migration[5.2]
+ def change
+ add_reference :decidim_debates_debates, :decidim_scope, foreign_key: true, index: true
+ end
+end
diff --git a/db/migrate/20210408054288_archive_debates.decidim_debates.rb b/db/migrate/20210408054288_archive_debates.decidim_debates.rb
new file mode 100644
index 0000000000..886ddfff71
--- /dev/null
+++ b/db/migrate/20210408054288_archive_debates.decidim_debates.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+# This migration comes from decidim_debates (originally 20201126112752)
+
+class ArchiveDebates < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_debates_debates, :archived_at, :datetime
+ add_index :decidim_debates_debates, :archived_at
+ end
+end
diff --git a/db/migrate/20210408054289_revert_archive_debates.decidim_debates.rb b/db/migrate/20210408054289_revert_archive_debates.decidim_debates.rb
new file mode 100644
index 0000000000..a5432420de
--- /dev/null
+++ b/db/migrate/20210408054289_revert_archive_debates.decidim_debates.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+# This migration comes from decidim_debates (originally 20210125101735)
+
+class RevertArchiveDebates < ActiveRecord::Migration[5.2]
+ def change
+ remove_index :decidim_debates_debates, :archived_at
+ remove_column :decidim_debates_debates, :archived_at
+ end
+end
diff --git a/db/migrate/20210408054290_add_followable_counter_cache_to_debates.decidim_debates.rb b/db/migrate/20210408054290_add_followable_counter_cache_to_debates.decidim_debates.rb
new file mode 100644
index 0000000000..a91eb4d2e0
--- /dev/null
+++ b/db/migrate/20210408054290_add_followable_counter_cache_to_debates.decidim_debates.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+# This migration comes from decidim_debates (originally 20210310120652)
+
+class AddFollowableCounterCacheToDebates < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_debates_debates, :follows_count, :integer, null: false, default: 0, index: true
+
+ reversible do |dir|
+ dir.up do
+ Decidim::Debates::Debate.reset_column_information
+ Decidim::Debates::Debate.find_each do |record|
+ record.class.reset_counters(record.id, :follows)
+ end
+ end
+ end
+ end
+end
diff --git a/db/migrate/20210408054291_add_followable_counter_cache_to_blogs.decidim_blogs.rb b/db/migrate/20210408054291_add_followable_counter_cache_to_blogs.decidim_blogs.rb
new file mode 100644
index 0000000000..6542c75575
--- /dev/null
+++ b/db/migrate/20210408054291_add_followable_counter_cache_to_blogs.decidim_blogs.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+# This migration comes from decidim_blogs (originally 20210310120514)
+
+class AddFollowableCounterCacheToBlogs < ActiveRecord::Migration[5.2]
+ def change
+ add_column :decidim_blogs_posts, :follows_count, :integer, null: false, default: 0, index: true
+
+ reversible do |dir|
+ dir.up do
+ Decidim::Blogs::Post.reset_column_information
+ Decidim::Blogs::Post.find_each do |record|
+ record.class.reset_counters(record.id, :follows)
+ end
+ end
+ end
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index aae4115de2..7add9b38f7 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 2020_10_29_125846) do
+ActiveRecord::Schema.define(version: 2021_04_08_054291) do
# These are extensions that must be enabled in order to support this database
enable_extension "ltree"
@@ -170,6 +170,8 @@
t.string "youtube_handler"
t.string "github_handler"
t.bigint "decidim_assemblies_type_id"
+ t.integer "weight", default: 1, null: false
+ t.integer "follows_count", default: 0, null: false
t.index ["decidim_area_id"], name: "index_decidim_assemblies_on_decidim_area_id"
t.index ["decidim_assemblies_type_id"], name: "index_decidim_assemblies_on_decidim_assemblies_type_id"
t.index ["decidim_organization_id", "slug"], name: "index_unique_assembly_slug_and_organization", unique: true
@@ -273,6 +275,7 @@
t.integer "decidim_user_group_id"
t.integer "endorsements_count", default: 0, null: false
t.integer "comments_count", default: 0, null: false
+ t.integer "follows_count", default: 0, null: false
t.index ["decidim_author_id", "decidim_author_type"], name: "index_decidim_blogs_posts_on_decidim_author"
t.index ["decidim_component_id"], name: "index_decidim_blogs_posts_on_decidim_component_id"
t.index ["decidim_user_group_id"], name: "index_decidim_blogs_posts_on_decidim_user_group_id"
@@ -320,6 +323,7 @@
t.bigint "decidim_budgets_budget_id"
t.date "selected_at"
t.integer "comments_count", default: 0, null: false
+ t.integer "follows_count", default: 0, null: false
t.index ["decidim_budgets_budget_id"], name: "index_decidim_budgets_projects_on_decidim_budgets_budget_id"
t.index ["decidim_scope_id"], name: "index_decidim_budgets_projects_on_decidim_scope_id"
end
@@ -453,9 +457,12 @@
t.datetime "last_comment_at"
t.integer "last_comment_by_id"
t.string "last_comment_by_type"
+ t.bigint "decidim_scope_id"
+ t.integer "follows_count", default: 0, null: false
t.index ["closed_at"], name: "index_decidim_debates_debates_on_closed_at"
t.index ["decidim_author_id", "decidim_author_type"], name: "index_decidim_debates_debates_on_decidim_author"
t.index ["decidim_component_id"], name: "index_decidim_debates_debates_on_decidim_component_id"
+ t.index ["decidim_scope_id"], name: "index_decidim_debates_debates_on_decidim_scope_id"
t.index ["decidim_user_group_id"], name: "index_decidim_debates_debates_on_decidim_user_group_id"
t.index ["endorsements_count"], name: "idx_decidim_debates_debates_on_endorsemnts_count"
end
@@ -550,6 +557,7 @@
t.datetime "published_at"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.string "salt"
t.index ["questionnaire_for_type", "questionnaire_for_id"], name: "index_decidim_forms_questionnaires_questionnaire_for"
end
@@ -563,6 +571,7 @@
t.integer "max_choices"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.integer "max_characters", default: 0
t.index ["decidim_questionnaire_id"], name: "index_decidim_forms_questions_on_decidim_questionnaire_id"
t.index ["position"], name: "index_decidim_forms_questions_on_position"
end
@@ -673,6 +682,12 @@
t.string "decidim_author_type"
t.integer "decidim_user_group_id"
t.integer "comments_count", default: 0, null: false
+ t.string "online_meeting_url"
+ t.string "type_of_meeting", default: "in_person"
+ t.string "registration_type", default: "registration_disabled", null: false
+ t.string "registration_url"
+ t.string "salt"
+ t.integer "follows_count", default: 0, null: false
t.index ["decidim_author_id", "decidim_author_type"], name: "index_decidim_meetings_meetings_on_author"
t.index ["decidim_author_id"], name: "index_decidim_meetings_meetings_on_decidim_author_id"
t.index ["decidim_component_id"], name: "index_decidim_meetings_meetings_on_decidim_component_id"
@@ -776,6 +791,7 @@
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "decidim_participatory_space_type", null: false
+ t.text "reported_content"
t.index ["decidim_participatory_space_id", "decidim_participatory_space_type"], name: "decidim_moderations_participatory_space"
t.index ["decidim_reportable_type", "decidim_reportable_id"], name: "decidim_moderations_reportable", unique: true
t.index ["hidden_at"], name: "decidim_moderations_hidden_at"
@@ -819,7 +835,6 @@
t.jsonb "description"
t.string "logo"
t.string "twitter_handler"
- t.boolean "show_statistics", default: true
t.string "favicon"
t.string "instagram_handler"
t.string "facebook_handler"
@@ -878,12 +893,21 @@
end
create_table "decidim_participatory_process_groups", id: :serial, force: :cascade do |t|
- t.jsonb "name", null: false
+ t.jsonb "title", null: false
t.jsonb "description", null: false
t.string "hero_image"
t.integer "decidim_organization_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.string "hashtag"
+ t.string "group_url"
+ t.jsonb "developer_group"
+ t.jsonb "local_area"
+ t.jsonb "meta_scope"
+ t.jsonb "target"
+ t.jsonb "participatory_scope"
+ t.jsonb "participatory_structure"
+ t.boolean "promoted", default: false
t.index ["decidim_organization_id"], name: "decidim_participatory_process_group_organization"
end
@@ -947,6 +971,8 @@
t.bigint "decidim_area_id"
t.bigint "decidim_scope_type_id"
t.boolean "show_metrics", default: true
+ t.integer "weight", default: 1, null: false
+ t.integer "follows_count", default: 0, null: false
t.index ["decidim_area_id"], name: "index_decidim_participatory_processes_on_decidim_area_id"
t.index ["decidim_organization_id", "slug"], name: "index_unique_process_slug_and_organization", unique: true
t.index ["decidim_organization_id"], name: "index_decidim_processes_on_decidim_organization_id"
@@ -1004,6 +1030,7 @@
t.datetime "updated_at", null: false
t.integer "coauthorships_count", default: 0, null: false
t.integer "comments_count", default: 0, null: false
+ t.integer "follows_count", default: 0, null: false
t.index ["body"], name: "decidim_proposals_collaborative_draft_body_search"
t.index ["decidim_component_id"], name: "decidim_proposals_collaborative_drafts_on_decidim_component_id"
t.index ["decidim_scope_id"], name: "decidim_proposals_collaborative_drafts_on_decidim_scope_id"
@@ -1070,6 +1097,7 @@
t.jsonb "title"
t.jsonb "body"
t.integer "comments_count", default: 0, null: false
+ t.integer "follows_count", default: 0, null: false
t.index "md5((body)::text)", name: "decidim_proposals_proposal_body_search"
t.index "md5((title)::text)", name: "decidim_proposals_proposal_title_search"
t.index ["created_at"], name: "index_decidim_proposals_proposals_on_created_at"
@@ -1096,6 +1124,7 @@
t.text "details"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.string "locale"
t.index ["decidim_moderation_id", "decidim_user_id"], name: "decidim_reports_moderation_user_unique", unique: true
t.index ["decidim_moderation_id"], name: "decidim_reports_moderation"
t.index ["decidim_user_id"], name: "decidim_reports_user"
@@ -1227,6 +1256,7 @@
t.integer "weight"
t.boolean "show_in_footer", default: false, null: false
t.bigint "topic_id"
+ t.boolean "allow_public_access", default: false, null: false
t.index ["decidim_organization_id"], name: "index_decidim_static_pages_on_decidim_organization_id"
t.index ["topic_id"], name: "index_decidim_static_pages_on_topic_id"
end
@@ -1253,6 +1283,15 @@
t.index ["reset_password_token"], name: "index_decidim_system_admins_on_reset_password_token", unique: true
end
+ create_table "decidim_user_blocks", force: :cascade do |t|
+ t.bigint "decidim_user_id"
+ t.integer "blocking_user_id"
+ t.text "justification"
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["decidim_user_id"], name: "index_decidim_user_blocks_on_decidim_user_id"
+ end
+
create_table "decidim_user_group_memberships", id: :serial, force: :cascade do |t|
t.integer "decidim_user_id", null: false
t.integer "decidim_user_group_id", null: false
@@ -1266,6 +1305,23 @@
t.index ["role", "decidim_user_group_id"], name: "decidim_group_membership_one_creator_per_group", unique: true, where: "((role)::text = 'creator'::text)"
end
+ create_table "decidim_user_moderations", force: :cascade do |t|
+ t.bigint "decidim_user_id"
+ t.integer "report_count", default: 0, null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["decidim_user_id"], name: "index_decidim_user_moderations_on_decidim_user_id"
+ end
+
+ create_table "decidim_user_reports", force: :cascade do |t|
+ t.integer "user_moderation_id"
+ t.integer "user_id", null: false
+ t.string "reason"
+ t.text "details"
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ end
+
create_table "decidim_users", id: :serial, force: :cascade do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
@@ -1320,6 +1376,11 @@
t.datetime "officialized_at"
t.jsonb "officialized_as"
t.datetime "admin_terms_accepted_at"
+ t.boolean "blocked", default: false, null: false
+ t.datetime "blocked_at"
+ t.integer "block_id"
+ t.boolean "email_on_moderations", default: true
+ t.integer "follows_count", default: 0, null: false
t.index ["confirmation_token"], name: "index_decidim_users_on_confirmation_token", unique: true
t.index ["decidim_organization_id"], name: "index_decidim_users_on_decidim_organization_id"
t.index ["email", "decidim_organization_id"], name: "index_decidim_users_on_email_and_decidim_organization_id", unique: true, where: "((deleted_at IS NULL) AND (managed = false) AND ((type)::text = 'Decidim::User'::text))"
@@ -1334,6 +1395,18 @@
t.index ["unlock_token"], name: "index_decidim_users_on_unlock_token", unique: true
end
+ create_table "decidim_verifications_conflicts", force: :cascade do |t|
+ t.bigint "current_user_id"
+ t.bigint "managed_user_id"
+ t.integer "times", default: 0
+ t.string "unique_id"
+ t.boolean "solved", default: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["current_user_id"], name: "authorization_current_user"
+ t.index ["managed_user_id"], name: "authorization_managed_user"
+ end
+
create_table "decidim_verifications_csv_data", force: :cascade do |t|
t.string "email"
t.bigint "decidim_organization_id"
@@ -1413,6 +1486,7 @@
add_foreign_key "decidim_budgets_orders", "decidim_budgets_budgets"
add_foreign_key "decidim_budgets_projects", "decidim_budgets_budgets"
add_foreign_key "decidim_categorizations", "decidim_categories"
+ add_foreign_key "decidim_debates_debates", "decidim_scopes"
add_foreign_key "decidim_identities", "decidim_organizations"
add_foreign_key "decidim_newsletters", "decidim_users", column: "author_id"
add_foreign_key "decidim_participatory_process_steps", "decidim_participatory_processes"
@@ -1423,7 +1497,14 @@
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_user_blocks", "decidim_users"
+ add_foreign_key "decidim_user_blocks", "decidim_users", column: "blocking_user_id"
+ add_foreign_key "decidim_user_moderations", "decidim_users"
+ add_foreign_key "decidim_user_reports", "decidim_user_moderations", column: "user_moderation_id"
+ add_foreign_key "decidim_user_reports", "decidim_users", column: "user_id"
add_foreign_key "decidim_users", "decidim_organizations"
+ add_foreign_key "decidim_verifications_conflicts", "decidim_users", column: "current_user_id"
+ add_foreign_key "decidim_verifications_conflicts", "decidim_users", column: "managed_user_id"
add_foreign_key "decidim_verifications_csv_data", "decidim_organizations"
add_foreign_key "oauth_access_grants", "decidim_users", column: "resource_owner_id"
add_foreign_key "oauth_access_grants", "oauth_applications", column: "application_id"
diff --git a/decidim-user_extension/decidim-user_extension.gemspec b/decidim-user_extension/decidim-user_extension.gemspec
index 11cff9367d..cbd25cc5e2 100644
--- a/decidim-user_extension/decidim-user_extension.gemspec
+++ b/decidim-user_extension/decidim-user_extension.gemspec
@@ -1,5 +1,9 @@
# frozen_string_literal: true
+Gem::Specification.new do |spec|
+ spec.required_ruby_version = ">= 2.7.0"
+end
+
$LOAD_PATH.push File.expand_path("lib", __dir__)
require "decidim/user_extension/version"
diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb
index 4e557cee54..50317642b0 100644
--- a/spec/rails_helper.rb
+++ b/spec/rails_helper.rb
@@ -21,7 +21,7 @@
# directory. Alternatively, in the individual `*_spec.rb` files, manually
# require only the support files necessary.
#
-Dir[Rails.root.join("spec", "support", "**", "*.rb")].each { |f| require f }
+Dir[Rails.root.join("spec/support/**/*.rb")].sort.each { |f| require f }
# Checks for pending migrations and applies them before tests are run.
# If you are not using ActiveRecord, you can remove these lines.