diff --git a/Gemfile.lock b/Gemfile.lock
index 0dab5901..44a9680a 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -99,6 +99,7 @@ GEM
execjs (~> 2.0)
batch-loader (1.4.1)
bcrypt (3.1.13)
+ bcrypt (3.1.13-java)
better_html (1.0.14)
actionview (>= 4.0)
activesupport (>= 4.0)
@@ -406,6 +407,9 @@ GEM
faraday (0.15.4)
multipart-post (>= 1.2, < 3)
ffi (1.9.25)
+ ffi (1.9.25-java)
+ ffi (1.9.25-x64-mingw32)
+ ffi (1.9.25-x86-mingw32)
file_validators (2.3.0)
activemodel (>= 3.2)
mime-types (>= 1.0)
@@ -463,6 +467,7 @@ GEM
invisible_captcha (0.10.0)
rails (>= 3.2.0)
jaro_winkler (1.5.3)
+ jaro_winkler (1.5.3-java)
jquery-rails (4.3.5)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
@@ -470,6 +475,7 @@ GEM
jquery-tmpl-rails (1.1.0)
rails (>= 3.1.0)
json (2.2.0)
+ json (2.2.0-java)
jwt (2.2.1)
kaminari (1.1.1)
activesupport (>= 4.1.0)
@@ -486,8 +492,12 @@ GEM
kramdown (1.17.0)
ladle (1.0.1)
open4 (~> 1.0)
+ ladle (1.0.1-java)
launchy (2.4.3)
addressable (~> 2.3)
+ launchy (2.4.3-java)
+ addressable (~> 2.3)
+ spoon (~> 0.0.1)
letter_opener (1.7.0)
launchy (~> 2.2)
letter_opener_web (1.3.4)
@@ -528,9 +538,15 @@ GEM
net-ldap (0.16.1)
netrc (0.11.0)
nio4r (2.4.0)
+ nio4r (2.4.0-java)
nobspw (0.6.1)
nokogiri (1.10.3)
mini_portile2 (~> 2.4.0)
+ nokogiri (1.10.3-java)
+ nokogiri (1.10.3-x64-mingw32)
+ mini_portile2 (~> 2.4.0)
+ nokogiri (1.10.3-x86-mingw32)
+ mini_portile2 (~> 2.4.0)
nori (2.6.0)
oauth (0.5.4)
oauth2 (1.4.1)
@@ -568,6 +584,8 @@ GEM
parser (2.6.3.0)
ast (~> 2.4.0)
pg (1.1.4)
+ pg (1.1.4-x64-mingw32)
+ pg (1.1.4-x86-mingw32)
pg_search (2.3.0)
activerecord (>= 4.2)
activesupport (>= 4.2)
@@ -582,6 +600,10 @@ GEM
pry (0.12.2)
coderay (~> 1.1.0)
method_source (~> 0.9.0)
+ pry (0.12.2-java)
+ coderay (~> 1.1.0)
+ method_source (~> 0.9.0)
+ spoon (~> 0.0)
pry-byebug (3.6.0)
byebug (~> 10.0)
pry (~> 0.10)
@@ -591,6 +613,7 @@ GEM
pry (>= 0.10.4)
public_suffix (3.1.1)
puma (3.12.1)
+ puma (3.12.1-java)
raabro (1.1.6)
rack (2.0.7)
rack-attack (5.4.2)
@@ -659,6 +682,21 @@ GEM
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
+ rest-client (2.0.2-x64-mingw32)
+ ffi (~> 1.9)
+ http-cookie (>= 1.0.2, < 2.0)
+ mime-types (>= 1.16, < 4.0)
+ netrc (~> 0.8)
+ rest-client (2.0.2-x86-mingw32)
+ ffi (~> 1.9)
+ http-cookie (>= 1.0.2, < 2.0)
+ mime-types (>= 1.16, < 4.0)
+ netrc (~> 0.8)
+ rest-client (2.0.2-x86-mswin32)
+ ffi (~> 1.9)
+ http-cookie (>= 1.0.2, < 2.0)
+ mime-types (>= 1.16, < 4.0)
+ netrc (~> 0.8)
rspec (3.7.0)
rspec-core (~> 3.7.0)
rspec-expectations (~> 3.7.0)
@@ -743,6 +781,8 @@ GEM
social-share-button (1.2.0)
coffee-rails
socksify (1.7.1)
+ spoon (0.0.6)
+ ffi
spreadsheet (1.2.4)
ruby-ole (>= 1.0)
spring (2.1.0)
@@ -769,6 +809,7 @@ GEM
unicode-display_width (~> 1.1, >= 1.1.1)
thor (0.20.3)
thread_safe (0.3.6)
+ thread_safe (0.3.6-java)
tilt (2.0.9)
tomlrb (1.2.8)
truncato (0.7.11)
@@ -776,11 +817,14 @@ GEM
nokogiri (>= 1.7.0, <= 2.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
+ tzinfo-data (1.2019.3)
+ tzinfo (>= 1.0.0)
uber (0.1.0)
uglifier (4.1.20)
execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
+ unf (0.1.4-java)
unf_ext (0.0.7.6)
unicode-display_width (1.6.0)
unicode_utils (1.4.0)
@@ -810,6 +854,8 @@ GEM
hashdiff
websocket-driver (0.7.1)
websocket-extensions (>= 0.1.0)
+ websocket-driver (0.7.1-java)
+ websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.4)
wisper (2.0.0)
wisper-rspec (1.1.0)
@@ -817,7 +863,11 @@ GEM
nokogiri (~> 1.8)
PLATFORMS
+ java
ruby
+ x64-mingw32
+ x86-mingw32
+ x86-mswin32
DEPENDENCIES
byebug
@@ -855,4 +905,4 @@ RUBY VERSION
ruby 2.5.1p57
BUNDLED WITH
- 1.16.4
+ 1.17.3
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index de6be794..12ee52d3 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -1,2 +1,18 @@
module ApplicationHelper
+ def text_invalid_age_authorizer(status)
+ options = status.instance_variable_get(:@authorization_handler)
+ .instance_variable_get(:@action_authorizer)
+ .instance_variable_get(:@options)
+ scope = 'diba.decidim.authorization_modals.content.birthdate.invalid_field'
+ min_age = options['age']
+ max_age = options['max_age']
+
+ if min_age.present? && max_age.present?
+ t('both', scope: scope, max_age: max_age, min_age: min_age)
+ elsif min_age.present? && max_age.blank?
+ t('min_age', scope: scope, min_age: min_age)
+ elsif min_age.blank? && max_age.present?
+ t('max_age', scope: scope, max_age: max_age)
+ end
+ end
end
diff --git a/app/views/decidim/authorization_modals/_content.html.erb b/app/views/decidim/authorization_modals/_content.html.erb
new file mode 100644
index 00000000..876b771d
--- /dev/null
+++ b/app/views/decidim/authorization_modals/_content.html.erb
@@ -0,0 +1,52 @@
+<% if current_user && !current_user.verifiable? %>
+
+ <%= t ".unconfirmed.explanation_html", email: current_user.email %>
+ <%= t ".unconfirmed.confirmation_instructions" %>
+
+
+ <%= link_to t(".unconfirmed.request_confirmation_instructions"), new_confirmation_path(Decidim::User), class: "button expanded" %>
+
+
+<% else %>
+ <% base_code = authorizations.global_code || :missing %>
+
+ <% authorizations.statuses.each do |status| %>
+ <% next if status.ok? || authorizations.global_code && status.code != base_code %>
+ <%= t ".#{status.code}.explanation", authorization: t("#{status.handler_name}.name", scope: "decidim.authorization_handlers") %>
+ <% if status.data[:extra_explanation] %>
+ <%= t status.data[:extra_explanation][:key], **status.data[:extra_explanation][:params] %>
+ <% end %>
+ <% if status.data[:fields] %>
+
+ <% status.data[:fields].each do |field, value| %>
+ <% case field %>
+ <% when :birthdate %>
+ - <%= text_invalid_age_authorizer(status) %>
+ <% when :subcensus %>
+ - <%= t(".subcensus.invalid_field", scope: "diba")%>
+ <% else %>
+ - <%= t ".#{status.code}.invalid_field", field: t("#{status.handler_name}.fields.#{field}", scope: "decidim.authorization_handlers"), value: value ? "(#{value})" : "" %>
+ <% end %>
+ <% end %>
+
+ <% end %>
+
+
+ <% if status.data[:action].present? %>
+ <%= link_to t(".#{status.code}.#{status.data[:action]}", authorization: t("#{status.handler_name}.name", scope: "decidim.authorization_handlers")), authorize_action_path(status.handler_name), class: "button expanded" %>
+ <% else %>
+
+ <% end %>
+
+
+ <% if status.data[:cancel] %>
+
+
+
+ <% end %>
+ <% end %>
+<% end %>
diff --git a/config/initializers/subcensus_authorizer.rb b/config/initializers/subcensus_authorizer.rb
new file mode 100644
index 00000000..3baf4571
--- /dev/null
+++ b/config/initializers/subcensus_authorizer.rb
@@ -0,0 +1,28 @@
+# Decidim does not allow to use more than one ActionAuthorization inside an
+# AuthorizationHandler.
+# This code adds an aditional validation to the AgeActionAuthorization to validate
+# the subcensus.
+
+module SubcensusAuthorizer
+ def set_unmatched_fields
+ errors = []
+ errors << :birthdate unless valid_age?
+ errors << :subcensus unless valid_subcensus?
+ errors
+ end
+
+ def valid_subcensus?
+ subcensus = Decidim::Census::Subcensus.find_by(
+ decidim_participatory_process_id: @component&.participatory_space&.id
+ )
+
+ return true if subcensus.blank?
+
+ Decidim::Census::SubcensusDocument.where(
+ id_document: @authorization&.unique_id,
+ decidim_census_subcensus_id: subcensus.id
+ ).any?
+ end
+end
+
+Decidim::AgeActionAuthorization::Authorizer.prepend(SubcensusAuthorizer)
diff --git a/config/locales/ca.yml b/config/locales/ca.yml
index a044149c..96e98154 100644
--- a/config/locales/ca.yml
+++ b/config/locales/ca.yml
@@ -34,3 +34,14 @@ ca:
user:
invalid: Correu electrònic o contrasenya no vàlids.
not_found_in_database: Correu electrònic o contrasenya no vàlids.
+ diba:
+ decidim:
+ authorization_modals:
+ content:
+ birthdate:
+ invalid_field:
+ both: "Aquesta acció està restringida als habitants del padró municipal entre %{min_age} i %{max_age} anys"
+ min_age: "Aquesta acció està restringida als habitants del padró municipal majors de %{min_age} anys"
+ max_age: "Aquesta acció està restringida als habitants del padró municipal menors de %{max_age} anys"
+ subcensus:
+ invalid_field: "Aquesta acció està restringida a un conjunt d'habitants del padró municipal del qual no en formes part. Contacta amb nosaltres si creus que n'hauries de formar part i aquesta acció és de teu interés."
diff --git a/config/locales/en.yml b/config/locales/en.yml
index f7f3f4ef..f2418842 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -26,3 +26,14 @@ en:
proposals:
actions:
withdraw: Withdraw
+ diba:
+ decidim:
+ authorization_modals:
+ content:
+ birthdate:
+ invalid_field:
+ both: "This action is restricted to the inhabitants of the municipal census between %{min_age} and %{max_age} years old."
+ min_age: "This action is restricted to the inhabitants of the municipal census older than %{min_age} years."
+ max_age: "This action is restricted to the inhabitants of the municipal census under the age of %{max_age}."
+ subcensus:
+ invalid_field: "This action is restricted to a group of inhabitants of the municipal census which you are not part of. Contact us if you think you should belong to this group and you are interested in being able to perform this action."
diff --git a/config/locales/es.yml b/config/locales/es.yml
index 3e6ef464..9c1efe8b 100644
--- a/config/locales/es.yml
+++ b/config/locales/es.yml
@@ -26,3 +26,14 @@ es:
proposals:
actions:
withdraw: Retirar
+ diba:
+ decidim:
+ authorization_modals:
+ content:
+ birthdate:
+ invalid_field:
+ both: "Esta acción está restringida a los habitantes del padrón municipal entre %{min_age} y %{max_age} años"
+ min_age: "Esta acción está restringida a los habitantes del padrón municipal mayores de %{min_age} años"
+ max_age: "Esta acción está restringida a los habitantes del padrón municipal menores de %{max_age} años"
+ subcensus:
+ invalid_field: "Esta acción está restringida a un conjunto de habitantes del padrón municipal del cual no formas parte. Contacta con nosotros si crees que tendrías que formar parte de este grupo y esta acción es de tu interés."
diff --git a/db/migrate/20191017081707_create_decidim_census_subcensus.decidim_census.rb b/db/migrate/20191017081707_create_decidim_census_subcensus.decidim_census.rb
new file mode 100644
index 00000000..86e34afa
--- /dev/null
+++ b/db/migrate/20191017081707_create_decidim_census_subcensus.decidim_census.rb
@@ -0,0 +1,13 @@
+# This migration comes from decidim_census (originally 20191008121918)
+class CreateDecidimCensusSubcensus < ActiveRecord::Migration[5.2]
+
+ def change
+ create_table :decidim_census_subcensuses do |t|
+ t.references :decidim_participatory_process, index: { name: 'index_decidim_census_subcensuses_on_participatory_process_id' }
+ t.string :name
+
+ t.timestamps
+ end
+ end
+
+end
diff --git a/db/migrate/20191017081708_create_decidim_census_subcensus_documents.decidim_census.rb b/db/migrate/20191017081708_create_decidim_census_subcensus_documents.decidim_census.rb
new file mode 100644
index 00000000..664a1ad4
--- /dev/null
+++ b/db/migrate/20191017081708_create_decidim_census_subcensus_documents.decidim_census.rb
@@ -0,0 +1,13 @@
+# This migration comes from decidim_census (originally 20191009140338)
+class CreateDecidimCensusSubcensusDocuments < ActiveRecord::Migration[5.2]
+
+ def change
+ create_table :decidim_census_subcensus_documents do |t|
+ t.references :decidim_census_subcensus, index: { name: 'index_census_subcensus_documents_on_census_subcensus_id' }
+ t.string :id_document
+
+ t.timestamps
+ end
+ end
+
+end
diff --git a/db/schema.rb b/db/schema.rb
index 33b78a9f..3209a715 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: 2019_07_26_100964) do
+ActiveRecord::Schema.define(version: 2019_10_17_081708) do
# These are extensions that must be enabled in order to support this database
enable_extension "ltree"
@@ -310,6 +310,22 @@
t.index ["decidim_organization_id"], name: "index_decidim_census_census_data_on_decidim_organization_id"
end
+ create_table "decidim_census_subcensus_documents", force: :cascade do |t|
+ t.bigint "decidim_census_subcensus_id"
+ t.string "id_document"
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["decidim_census_subcensus_id"], name: "index_census_subcensus_documents_on_census_subcensus_id"
+ end
+
+ create_table "decidim_census_subcensuses", force: :cascade do |t|
+ t.bigint "decidim_participatory_process_id"
+ t.string "name"
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.index ["decidim_participatory_process_id"], name: "index_decidim_census_subcensuses_on_participatory_process_id"
+ end
+
create_table "decidim_coauthorships", force: :cascade do |t|
t.bigint "decidim_author_id", null: false
t.bigint "decidim_user_group_id"
@@ -1018,7 +1034,7 @@
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "decidim_author_type", null: false
- t.index "decidim_proposal_id, decidim_author_id, COALESCE(decidim_user_group_id, ('-1'::integer)::bigint)", name: "decidim_proposals_proposal_endorsmt_proposal_auth_ugroup_uniq", unique: true
+ t.index "decidim_proposal_id, decidim_author_id, (COALESCE(decidim_user_group_id, ('-1'::integer)::bigint))", name: "decidim_proposals_proposal_endorsmt_proposal_auth_ugroup_uniq", unique: true
t.index ["decidim_author_id", "decidim_author_type"], name: "index_decidim_proposals_proposal_endorsements_on_decidim_author"
t.index ["decidim_proposal_id"], name: "decidim_proposals_proposal_endorsement_proposal"
t.index ["decidim_user_group_id"], name: "decidim_proposals_proposal_endorsement_user_group"
diff --git a/decidim-age_action_authorization/lib/decidim/age_action_authorization/authorizer.rb b/decidim-age_action_authorization/lib/decidim/age_action_authorization/authorizer.rb
index aa47d5b1..acdf058a 100644
--- a/decidim-age_action_authorization/lib/decidim/age_action_authorization/authorizer.rb
+++ b/decidim-age_action_authorization/lib/decidim/age_action_authorization/authorizer.rb
@@ -7,11 +7,17 @@ def missing_fields
end
def unmatched_fields
- @unmatched_fields ||= (valid_age? ? [] : [:birthdate])
+ @unmatched_fields ||= set_unmatched_fields
end
private
+ def set_unmatched_fields
+ errors = []
+ errors << :birthdate unless valid_age?
+ errors
+ end
+
def valid_metadata?
return unless authorization
@@ -20,7 +26,8 @@ def valid_metadata?
def valid_age?
min_date = birthdate + minimum_age.years
- max_date = (birthdate + options['max_age'].to_i.years if options.key?('max_age'))
+ max_date = options['max_age'].present? &&
+ birthdate + options['max_age'].to_i.years
if max_date
(min_date..max_date).cover?(Date.current)
diff --git a/decidim-census/Gemfile b/decidim-census/Gemfile
index 667c5a41..944cc77e 100644
--- a/decidim-census/Gemfile
+++ b/decidim-census/Gemfile
@@ -6,6 +6,8 @@ source 'https://rubygems.org'
gemspec
group :test do
+ gem 'decidim'
gem 'decidim-age_action_authorization', path: '../decidim-age_action_authorization'
+ gem 'pry-rails'
gem 'decidim-ldap', path: '../decidim-ldap'
end
diff --git a/decidim-census/Gemfile.lock b/decidim-census/Gemfile.lock
index af615dd7..e79722d0 100644
--- a/decidim-census/Gemfile.lock
+++ b/decidim-census/Gemfile.lock
@@ -1,49 +1,49 @@
PATH
remote: ../decidim-age_action_authorization
specs:
- decidim-age_action_authorization (0.14.4)
- decidim (= 0.14.4)
+ decidim-age_action_authorization (0.18.0)
+ decidim (= 0.18.0)
PATH
remote: ../decidim-ldap
specs:
- decidim-ldap (0.14.4)
- decidim-core (= 0.14.4)
+ decidim-ldap (0.18.0)
+ decidim-core (= 0.18.0)
ladle
net-ldap
PATH
remote: .
specs:
- decidim-census (0.14.4)
- decidim (= 0.14.4)
- decidim-admin (= 0.14.4)
- decidim-age_action_authorization (= 0.14.4)
- decidim-ldap (= 0.14.4)
+ decidim-census (0.18.0)
+ decidim (= 0.18.0)
+ decidim-admin (= 0.18.0)
+ decidim-age_action_authorization (= 0.18.0)
+ decidim-ldap (= 0.18.0)
virtus-multiparams (~> 0.1.1)
GEM
remote: https://rubygems.org/
specs:
- actioncable (5.2.1)
- actionpack (= 5.2.1)
+ actioncable (5.2.3)
+ actionpack (= 5.2.3)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
- actionmailer (5.2.1)
- actionpack (= 5.2.1)
- actionview (= 5.2.1)
- activejob (= 5.2.1)
+ actionmailer (5.2.3)
+ actionpack (= 5.2.3)
+ actionview (= 5.2.3)
+ activejob (= 5.2.3)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
- actionpack (5.2.1)
- actionview (= 5.2.1)
- activesupport (= 5.2.1)
+ actionpack (5.2.3)
+ actionview (= 5.2.3)
+ activesupport (= 5.2.3)
rack (~> 2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
- actionview (5.2.1)
- activesupport (= 5.2.1)
+ actionview (5.2.3)
+ activesupport (= 5.2.3)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
@@ -51,26 +51,28 @@ GEM
active_link_to (1.0.5)
actionpack
addressable
- activejob (5.2.1)
- activesupport (= 5.2.1)
+ activejob (5.2.3)
+ activesupport (= 5.2.3)
globalid (>= 0.3.6)
- activemodel (5.2.1)
- activesupport (= 5.2.1)
- activerecord (5.2.1)
- activemodel (= 5.2.1)
- activesupport (= 5.2.1)
+ activemodel (5.2.3)
+ activesupport (= 5.2.3)
+ activerecord (5.2.3)
+ activemodel (= 5.2.3)
+ activesupport (= 5.2.3)
arel (>= 9.0)
- activestorage (5.2.1)
- actionpack (= 5.2.1)
- activerecord (= 5.2.1)
+ activestorage (5.2.3)
+ actionpack (= 5.2.3)
+ activerecord (= 5.2.3)
marcel (~> 0.3.1)
- activesupport (5.2.1)
+ activesupport (5.2.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
- addressable (2.5.2)
- public_suffix (>= 2.0.2, < 4.0)
+ acts_as_list (1.0.0)
+ activerecord (>= 4.2)
+ addressable (2.7.0)
+ public_suffix (>= 2.0.2, < 5.0)
arel (9.0.0)
ast (2.4.0)
autoprefixer-rails (8.6.5)
@@ -83,8 +85,9 @@ GEM
babel-transpiler (0.7.0)
babel-source (>= 4.0, < 6)
execjs (~> 2.0)
- bcrypt (3.1.12)
- better_html (1.0.11)
+ batch-loader (1.4.1)
+ bcrypt (3.1.13)
+ better_html (1.0.14)
actionview (>= 4.0)
activesupport (>= 4.0)
ast (~> 2.0)
@@ -94,15 +97,15 @@ GEM
smart_properties
builder (3.2.3)
byebug (10.0.2)
- capybara (3.11.0)
+ capybara (3.29.0)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
- regexp_parser (~> 1.2)
+ regexp_parser (~> 1.5)
xpath (~> 3.2)
- carrierwave (1.2.3)
+ carrierwave (1.3.1)
activemodel (>= 4.0.0)
activesupport (>= 4.0.0)
mime-types (>= 1.16)
@@ -117,13 +120,14 @@ GEM
cells-rails (0.0.9)
actionpack (>= 3.0)
cells (>= 4.1.6, < 5.0.0)
- childprocess (0.9.0)
- ffi (~> 1.0, >= 1.0.11)
+ charlock_holmes (0.7.6)
+ childprocess (3.0.0)
+ coderay (1.1.2)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
- coffee-rails (4.2.2)
+ coffee-rails (5.0.0)
coffee-script (>= 2.2.0)
- railties (>= 4.0.0)
+ railties (>= 5.2.0)
coffee-script (2.4.1)
coffee-script-source
execjs
@@ -132,7 +136,7 @@ GEM
crack (0.4.3)
safe_yaml (~> 1.0.0)
crass (1.0.4)
- css_parser (1.6.0)
+ css_parser (1.7.0)
addressable
date_validator (0.9.0)
activemodel
@@ -140,73 +144,77 @@ GEM
db-query-matchers (0.9.0)
activesupport (>= 4.0, <= 6.0)
rspec (~> 3.0)
- decidim (0.14.4)
- decidim-accountability (= 0.14.4)
- decidim-admin (= 0.14.4)
- decidim-api (= 0.14.4)
- decidim-assemblies (= 0.14.4)
- decidim-blogs (= 0.14.4)
- decidim-budgets (= 0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
- decidim-debates (= 0.14.4)
- decidim-generators (= 0.14.4)
- decidim-meetings (= 0.14.4)
- decidim-pages (= 0.14.4)
- decidim-participatory_processes (= 0.14.4)
- decidim-proposals (= 0.14.4)
- decidim-sortitions (= 0.14.4)
- decidim-surveys (= 0.14.4)
- decidim-system (= 0.14.4)
- decidim-verifications (= 0.14.4)
- decidim-accountability (0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim (0.18.0)
+ decidim-accountability (= 0.18.0)
+ decidim-admin (= 0.18.0)
+ decidim-api (= 0.18.0)
+ decidim-assemblies (= 0.18.0)
+ decidim-blogs (= 0.18.0)
+ decidim-budgets (= 0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-debates (= 0.18.0)
+ decidim-forms (= 0.18.0)
+ decidim-generators (= 0.18.0)
+ decidim-meetings (= 0.18.0)
+ decidim-pages (= 0.18.0)
+ decidim-participatory_processes (= 0.18.0)
+ decidim-proposals (= 0.18.0)
+ decidim-sortitions (= 0.18.0)
+ decidim-surveys (= 0.18.0)
+ decidim-system (= 0.18.0)
+ decidim-verifications (= 0.18.0)
+ decidim-accountability (0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-admin (0.14.4)
+ decidim-admin (0.18.0)
active_link_to (~> 1.0)
- decidim-core (= 0.14.4)
- devise (~> 4.2)
+ decidim-core (= 0.18.0)
+ devise (~> 4.6)
devise-i18n (~> 1.2)
devise_invitable (~> 1.7)
jquery-rails (~> 4.3)
sassc (~> 1.12, >= 1.12.1)
sassc-rails (~> 1.3)
- decidim-api (0.14.4)
- graphiql-rails (~> 1.4)
- graphql (~> 1.6)
+ decidim-api (0.18.0)
+ graphiql-rails (~> 1.4, < 1.5)
+ graphql (~> 1.6, < 1.8.11)
rack-cors (~> 1.0)
sprockets-es6 (~> 0.9.2)
- decidim-assemblies (0.14.4)
- decidim-core (= 0.14.4)
- decidim-blogs (0.14.4)
- decidim-admin (= 0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-assemblies (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-blogs (0.18.0)
+ decidim-admin (= 0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
httparty (~> 0.16.0)
jquery-tmpl-rails (~> 1.1)
kaminari (~> 1.0)
- decidim-budgets (0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-budgets (0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-comments (0.14.4)
- decidim-core (= 0.14.4)
+ decidim-comments (0.18.0)
+ decidim-core (= 0.18.0)
jquery-rails (~> 4.0)
- decidim-core (0.14.4)
+ decidim-core (0.18.0)
active_link_to (~> 1.0)
autoprefixer-rails (~> 8.0)
+ batch-loader (~> 1.2)
carrierwave (~> 1.1)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
+ charlock_holmes (>= 0.7.6)
date_validator (~> 0.9.0)
- decidim-api (= 0.14.4)
- devise (~> 4.3)
+ decidim-api (= 0.18.0)
+ devise (~> 4.6)
devise-i18n (~> 1.2)
doorkeeper (~> 4.4)
doorkeeper-i18n (~> 4.0)
+ etherpad-lite (~> 0.3)
file_validators (~> 2.1)
foundation-rails (~> 6.4, < 6.5)
foundation_rails_helper (~> 3.0)
@@ -217,7 +225,8 @@ GEM
kaminari (~> 1.0)
loofah (~> 2.0, >= 2.2.1)
mini_magick (~> 4.8)
- nobspw (~> 0.4.0)
+ mustache (~> 1.1.0)
+ nobspw (~> 0.6.0)
omniauth (~> 1.6)
omniauth-facebook (~> 4.0)
omniauth-google-oauth2 (~> 0.5.0)
@@ -226,12 +235,13 @@ GEM
pg (>= 0.18, < 2)
pg_search (~> 2.1, >= 2.1.0)
premailer-rails (~> 1.9)
+ rack (>= 2.0.6)
rack-attack (~> 5.2)
rails (>= 5.2, < 6.0.x)
rails-i18n (~> 5.0)
- rectify (~> 0.11.0)
+ rectify (~> 0.13.0)
redis (~> 4.0)
- rubyzip (~> 1.2)
+ rubyzip (~> 1.2, >= 1.2.2)
sassc (~> 1.12, >= 1.12.1)
sassc-rails (~> 1.3)
spreadsheet (~> 1.1)
@@ -240,16 +250,16 @@ GEM
uglifier (~> 4.0)
valid_email2 (~> 2.1)
wisper (~> 2.0)
- decidim-debates (0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-debates (0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-dev (0.14.4)
+ decidim-dev (0.18.0)
byebug (~> 10.0)
capybara (~> 3.0)
db-query-matchers (~> 0.9.0)
- decidim (= 0.14.4)
+ decidim (= 0.18.0)
erb_lint (~> 0.0.22)
factory_bot_rails (~> 4.8)
i18n-tasks (~> 0.9.18)
@@ -268,71 +278,85 @@ GEM
system_test_html_screenshots (~> 0.1.1)
webmock (~> 3.0)
wisper-rspec (~> 1.0)
- decidim-generators (0.14.4)
- decidim-core (= 0.14.4)
- decidim-meetings (0.14.4)
+ decidim-forms (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-generators (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-meetings (0.18.0)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
- decidim-core (= 0.14.4)
+ decidim-core (= 0.18.0)
+ decidim-forms (= 0.18.0)
httparty (~> 0.16.0)
icalendar (~> 2.4)
jquery-tmpl-rails (~> 1.1)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-pages (0.14.4)
- decidim-core (= 0.14.4)
- decidim-participatory_processes (0.14.4)
- decidim-core (= 0.14.4)
- decidim-proposals (0.14.4)
+ decidim-pages (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-participatory_processes (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-proposals (0.18.0)
+ acts_as_list (>= 0.9)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
+ diffy (>= 3.3)
+ doc2text (>= 0.4.0)
kaminari (~> 1.0)
ransack (~> 2.0)
+ redcarpet (>= 3.4)
social-share-button (~> 1.0)
- decidim-sortitions (0.14.4)
- decidim-admin (= 0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
- decidim-proposals (= 0.14.4)
+ decidim-sortitions (0.18.0)
+ decidim-admin (= 0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-proposals (= 0.18.0)
social-share-button (~> 1.0)
- decidim-surveys (0.14.4)
- decidim-core (= 0.14.4)
- decidim-system (0.14.4)
+ decidim-surveys (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-forms (= 0.18.0)
+ decidim-system (0.18.0)
active_link_to (~> 1.0)
- decidim-core (= 0.14.4)
- devise (~> 4.2)
+ decidim-core (= 0.18.0)
+ devise (~> 4.6)
devise-i18n (~> 1.2)
devise_invitable (~> 1.7)
jquery-rails (~> 4.3)
sassc (~> 1.12, >= 1.12.1)
sassc-rails (~> 1.3)
- decidim-verifications (0.14.4)
- decidim-core (= 0.14.4)
+ decidim-verifications (0.18.0)
+ decidim-core (= 0.18.0)
declarative-builder (0.1.0)
declarative-option (< 0.2.0)
declarative-option (0.1.0)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
- devise (4.5.0)
+ devise (4.7.1)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
- railties (>= 4.1.0, < 6.0)
+ railties (>= 4.1.0)
responders
warden (~> 1.2.3)
- devise-i18n (1.7.0)
- devise (>= 4.5)
+ devise-i18n (1.8.2)
+ devise (>= 4.6)
devise_invitable (1.7.5)
actionmailer (>= 4.1.0)
devise (>= 4.0.0)
diff-lcs (1.3)
- docile (1.3.1)
+ diffy (3.3.0)
+ doc2text (0.4.1)
+ nokogiri (~> 1.8, >= 1.8.2)
+ rubyzip (~> 1.2, >= 1.2.2)
+ docile (1.3.2)
+ domain_name (0.5.20190701)
+ unf (>= 0.0.5, < 1.0.0)
doorkeeper (4.4.3)
railties (>= 4.2)
- doorkeeper-i18n (4.0.0)
+ doorkeeper-i18n (4.0.1)
equalizer (0.0.11)
- erb_lint (0.0.28)
+ erb_lint (0.0.30)
activesupport
better_html (~> 1.0.7)
html_tokenizer
@@ -341,7 +365,9 @@ GEM
smart_properties
erbse (0.1.3)
temple
- erubi (1.7.1)
+ erubi (1.9.0)
+ etherpad-lite (0.3.0)
+ rest-client (>= 1.6)
execjs (2.7.0)
factory_bot (4.11.1)
activesupport (>= 3.0.0)
@@ -350,7 +376,7 @@ GEM
railties (>= 3.0.0)
faker (1.9.1)
i18n (>= 0.7)
- faraday (0.15.3)
+ faraday (0.17.0)
multipart-post (>= 1.2, < 3)
ffi (1.9.25)
file_validators (2.3.0)
@@ -366,24 +392,27 @@ GEM
activesupport (>= 4.1, < 6.0)
railties (>= 4.1, < 6.0)
tzinfo (~> 1.2, >= 1.2.2)
- geocoder (1.5.0)
- globalid (0.4.1)
+ geocoder (1.5.2)
+ globalid (0.4.2)
activesupport (>= 4.2.0)
- graphiql-rails (1.5.0)
+ graphiql-rails (1.4.11)
railties
sprockets-rails
- graphql (1.8.11)
- hashdiff (0.3.7)
- hashie (3.5.7)
- highline (2.0.0)
+ graphql (1.8.10)
+ hashdiff (0.3.9)
+ hashie (3.6.0)
+ highline (2.0.2)
html_tokenizer (0.0.7)
htmlentities (4.3.4)
- httparty (0.16.3)
+ http-accept (1.7.0)
+ http-cookie (1.0.3)
+ domain_name (~> 0.5)
+ httparty (0.16.4)
mime-types (~> 3.0)
multi_xml (>= 0.5.2)
i18n (1.1.1)
concurrent-ruby (~> 1.0)
- i18n-tasks (0.9.28)
+ i18n-tasks (0.9.29)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
erubi
@@ -393,21 +422,21 @@ GEM
rails-i18n
rainbow (>= 2.2.2, < 4.0)
terminal-table (>= 1.5.1)
- icalendar (2.5.1)
+ icalendar (2.5.3)
ice_cube (~> 0.16)
ice_cube (0.16.3)
ice_nine (0.11.2)
invisible_captcha (0.10.0)
rails (>= 3.2.0)
- jaro_winkler (1.5.1-x86_64-darwin-17)
- jquery-rails (4.3.3)
+ jaro_winkler (1.5.3)
+ jquery-rails (4.3.5)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-tmpl-rails (1.1.0)
rails (>= 3.1.0)
- json (2.1.0)
- jwt (2.1.0)
+ json (2.2.0)
+ jwt (2.2.1)
kaminari (1.1.1)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.1.1)
@@ -423,7 +452,7 @@ GEM
kramdown (1.17.0)
ladle (1.0.1)
open4 (~> 1.0)
- loofah (2.2.3)
+ loofah (2.3.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
@@ -435,47 +464,49 @@ GEM
mixlib-cli (~> 1.7, >= 1.7.0)
mixlib-config (~> 2.2, >= 2.2.1)
method_source (0.9.2)
- mime-types (3.2.2)
+ mime-types (3.3)
mime-types-data (~> 3.2015)
- mime-types-data (3.2018.0812)
- mimemagic (0.3.2)
- mini_magick (4.9.2)
- mini_mime (1.0.1)
- mini_portile2 (2.3.0)
- minitest (5.11.3)
+ mime-types-data (3.2019.0904)
+ mimemagic (0.3.3)
+ mini_magick (4.9.5)
+ mini_mime (1.0.2)
+ mini_portile2 (2.4.0)
+ minitest (5.12.2)
mixlib-cli (1.7.0)
- mixlib-config (2.2.13)
+ mixlib-config (2.2.18)
tomlrb
multi_json (1.13.1)
multi_xml (0.6.0)
- multipart-post (2.0.0)
+ multipart-post (2.1.1)
+ mustache (1.1.0)
net-ldap (0.16.1)
- nio4r (2.3.1)
- nobspw (0.4.0)
- nokogiri (1.8.5)
- mini_portile2 (~> 2.3.0)
+ netrc (0.11.0)
+ nio4r (2.5.2)
+ nobspw (0.6.1)
+ nokogiri (1.10.4)
+ mini_portile2 (~> 2.4.0)
oauth (0.5.4)
- oauth2 (1.4.1)
- faraday (>= 0.8, < 0.16.0)
+ oauth2 (1.4.2)
+ faraday (>= 0.8, < 2.0)
jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
- omniauth (1.8.1)
- hashie (>= 3.4.6, < 3.6.0)
+ omniauth (1.9.0)
+ hashie (>= 3.4.6, < 3.7.0)
rack (>= 1.6.2, < 3)
omniauth-facebook (4.0.0)
omniauth-oauth2 (~> 1.2)
- omniauth-google-oauth2 (0.5.3)
+ omniauth-google-oauth2 (0.5.4)
jwt (>= 1.5)
omniauth (>= 1.1.1)
omniauth-oauth2 (>= 1.5)
omniauth-oauth (1.1.0)
oauth
omniauth (~> 1.0)
- omniauth-oauth2 (1.5.0)
+ omniauth-oauth2 (1.6.0)
oauth2 (~> 1.1)
- omniauth (~> 1.2)
+ omniauth (~> 1.9)
omniauth-twitter (1.4.0)
omniauth-oauth (~> 1.1)
rack
@@ -485,109 +516,122 @@ GEM
activerecord (>= 4.2, < 5.3)
paper_trail-association_tracking (< 2)
request_store (~> 1.1)
- paper_trail-association_tracking (1.0.0)
- parallel (1.12.1)
- parser (2.5.3.0)
+ paper_trail-association_tracking (1.1.1)
+ parallel (1.18.0)
+ parser (2.6.5.0)
ast (~> 2.4.0)
- pg (1.1.3)
- pg_search (2.1.2)
+ pg (1.1.4)
+ pg_search (2.3.0)
activerecord (>= 4.2)
activesupport (>= 4.2)
- arel (>= 6)
+ polyamorous (2.3.0)
+ activerecord (>= 5.0)
powerpack (0.1.2)
premailer (1.11.1)
addressable
css_parser (>= 1.6.0)
htmlentities (>= 4.0.0)
- premailer-rails (1.10.2)
- actionmailer (>= 3, < 6)
+ premailer-rails (1.10.3)
+ actionmailer (>= 3)
premailer (~> 1.7, >= 1.7.9)
- public_suffix (3.0.3)
- puma (3.12.0)
- rack (2.0.6)
+ pry (0.12.2)
+ coderay (~> 1.1.0)
+ method_source (~> 0.9.0)
+ pry-rails (0.3.9)
+ pry (>= 0.10.4)
+ public_suffix (4.0.1)
+ puma (3.12.1)
+ rack (2.0.7)
rack-attack (5.4.2)
rack (>= 1.0, < 3)
- rack-cors (1.0.2)
+ rack-cors (1.0.3)
rack-test (1.1.0)
rack (>= 1.0, < 3)
- rails (5.2.1)
- actioncable (= 5.2.1)
- actionmailer (= 5.2.1)
- actionpack (= 5.2.1)
- actionview (= 5.2.1)
- activejob (= 5.2.1)
- activemodel (= 5.2.1)
- activerecord (= 5.2.1)
- activestorage (= 5.2.1)
- activesupport (= 5.2.1)
+ rails (5.2.3)
+ actioncable (= 5.2.3)
+ actionmailer (= 5.2.3)
+ actionpack (= 5.2.3)
+ actionview (= 5.2.3)
+ activejob (= 5.2.3)
+ activemodel (= 5.2.3)
+ activerecord (= 5.2.3)
+ activestorage (= 5.2.3)
+ activesupport (= 5.2.3)
bundler (>= 1.3.0)
- railties (= 5.2.1)
+ railties (= 5.2.3)
sprockets-rails (>= 2.0.0)
- rails-controller-testing (1.0.2)
- actionpack (~> 5.x, >= 5.0.1)
- actionview (~> 5.x, >= 5.0.1)
- activesupport (~> 5.x)
+ rails-controller-testing (1.0.4)
+ actionpack (>= 5.0.1.x)
+ actionview (>= 5.0.1.x)
+ activesupport (>= 5.0.1.x)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
- rails-html-sanitizer (1.0.4)
+ rails-html-sanitizer (1.2.0)
loofah (~> 2.2, >= 2.2.2)
- rails-i18n (5.1.2)
+ rails-i18n (5.1.3)
i18n (>= 0.7, < 2)
railties (>= 5.0, < 6)
- railties (5.2.1)
- actionpack (= 5.2.1)
- activesupport (= 5.2.1)
+ railties (5.2.3)
+ actionpack (= 5.2.3)
+ activesupport (= 5.2.3)
method_source
rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0)
rainbow (3.0.0)
- rake (12.3.1)
- ransack (2.1.0)
+ rake (13.0.0)
+ ransack (2.3.0)
actionpack (>= 5.0)
activerecord (>= 5.0)
activesupport (>= 5.0)
i18n
- rectify (0.11.0)
+ polyamorous (= 2.3.0)
+ rectify (0.13.0)
activemodel (>= 4.1.0)
activerecord (>= 4.1.0)
activesupport (>= 4.1.0)
virtus (~> 1.0.5)
wisper (>= 1.6.1)
- redis (4.0.3)
- regexp_parser (1.3.0)
+ redcarpet (3.5.0)
+ redis (4.1.3)
+ regexp_parser (1.6.0)
request_store (1.4.1)
rack (>= 1.4)
- responders (2.4.0)
- actionpack (>= 4.2.0, < 5.3)
- railties (>= 4.2.0, < 5.3)
- rspec (3.8.0)
- rspec-core (~> 3.8.0)
- rspec-expectations (~> 3.8.0)
- rspec-mocks (~> 3.8.0)
+ responders (3.0.0)
+ actionpack (>= 5.0)
+ railties (>= 5.0)
+ rest-client (2.1.0)
+ http-accept (>= 1.7.0, < 2.0)
+ http-cookie (>= 1.0.2, < 2.0)
+ mime-types (>= 1.16, < 4.0)
+ netrc (~> 0.8)
+ rspec (3.9.0)
+ rspec-core (~> 3.9.0)
+ rspec-expectations (~> 3.9.0)
+ rspec-mocks (~> 3.9.0)
rspec-cells (0.3.4)
cells (>= 4.0.0, < 6.0.0)
rspec-rails (~> 3.2)
- rspec-core (3.8.0)
- rspec-support (~> 3.8.0)
- rspec-expectations (3.8.2)
+ rspec-core (3.9.0)
+ rspec-support (~> 3.9.0)
+ rspec-expectations (3.9.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.8.0)
+ rspec-support (~> 3.9.0)
rspec-html-matchers (0.9.1)
nokogiri (~> 1)
rspec (>= 3.0.0.a, < 4)
- rspec-mocks (3.8.0)
+ rspec-mocks (3.9.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.8.0)
- rspec-rails (3.8.1)
+ rspec-support (~> 3.9.0)
+ rspec-rails (3.9.0)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
- rspec-core (~> 3.8.0)
- rspec-expectations (~> 3.8.0)
- rspec-mocks (~> 3.8.0)
- rspec-support (~> 3.8.0)
- rspec-support (3.8.0)
+ rspec-core (~> 3.9.0)
+ rspec-expectations (~> 3.9.0)
+ rspec-mocks (~> 3.9.0)
+ rspec-support (~> 3.9.0)
+ rspec-support (3.9.0)
rspec_junit_formatter (0.3.0)
rspec-core (>= 2, < 4, != 2.12.0)
rubocop (0.58.2)
@@ -600,10 +644,10 @@ GEM
unicode-display_width (~> 1.0, >= 1.0.1)
rubocop-rspec (1.30.0)
rubocop (>= 0.58.0)
- ruby-ole (1.2.12.1)
- ruby-progressbar (1.10.0)
- rubyzip (1.2.2)
- safe_yaml (1.0.4)
+ ruby-ole (1.2.12.2)
+ ruby-progressbar (1.10.1)
+ rubyzip (1.3.0)
+ safe_yaml (1.0.5)
sass (3.4.25)
sassc (1.12.1)
ffi (~> 1.9.6)
@@ -616,18 +660,18 @@ GEM
sprockets-rails
tilt
searchlight (4.1.0)
- selenium-webdriver (3.141.0)
- childprocess (~> 0.5)
- rubyzip (~> 1.2, >= 1.2.2)
- simplecov (0.16.1)
+ selenium-webdriver (3.142.6)
+ childprocess (>= 0.5, < 4.0)
+ rubyzip (>= 1.2.2)
+ simplecov (0.17.1)
docile (~> 1.1)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
- smart_properties (1.13.1)
- social-share-button (1.1.0)
+ smart_properties (1.15.0)
+ social-share-button (1.2.1)
coffee-rails
- spreadsheet (1.1.8)
+ spreadsheet (1.2.4)
ruby-ole (>= 1.0)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
@@ -640,24 +684,27 @@ GEM
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
- system_test_html_screenshots (0.1.1)
- actionpack (>= 5.2, < 6.0.x)
- temple (0.8.0)
+ system_test_html_screenshots (0.1.2)
+ actionpack (>= 5.2, < 6.0.a)
+ temple (0.8.2)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thor (0.20.3)
thread_safe (0.3.6)
- tilt (2.0.8)
- tomlrb (1.2.7)
- truncato (0.7.10)
+ tilt (2.0.10)
+ tomlrb (1.2.8)
+ truncato (0.7.11)
htmlentities (~> 4.3.1)
- nokogiri (~> 1.8.0, >= 1.7.0)
+ nokogiri (>= 1.7.0, <= 2.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
uber (0.1.0)
- uglifier (4.1.19)
+ uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
- unicode-display_width (1.4.0)
+ unf (0.1.4)
+ unf_ext
+ unf_ext (0.0.7.6)
+ unicode-display_width (1.6.0)
valid_email2 (2.3.1)
activemodel (>= 3.2)
mail (~> 2.5)
@@ -670,13 +717,13 @@ GEM
virtus (~> 1.0)
warden (1.2.8)
rack (>= 2.0.6)
- webmock (3.4.2)
+ webmock (3.5.1)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
- websocket-driver (0.7.0)
+ websocket-driver (0.7.1)
websocket-extensions (>= 0.1.0)
- websocket-extensions (0.1.3)
+ websocket-extensions (0.1.4)
wisper (2.0.0)
wisper-rspec (1.1.0)
xpath (3.2.0)
@@ -686,11 +733,13 @@ PLATFORMS
ruby
DEPENDENCIES
+ decidim
decidim-age_action_authorization!
decidim-census!
- decidim-dev (= 0.14.4)
+ decidim-dev (= 0.18.0)
decidim-ldap!
faker
+ pry-rails
BUNDLED WITH
- 1.16.4
+ 1.17.3
diff --git a/decidim-census/app/commands/decidim/census/create_subcensus.rb b/decidim-census/app/commands/decidim/census/create_subcensus.rb
new file mode 100644
index 00000000..75ee5cab
--- /dev/null
+++ b/decidim-census/app/commands/decidim/census/create_subcensus.rb
@@ -0,0 +1,39 @@
+# frozen_string_literal: true
+
+module Decidim
+ module Census
+ class CreateSubcensus < Rectify::Command
+
+ attr_reader :form
+
+ def initialize(organization, form)
+ @organization = organization
+ @form = form
+ end
+
+ def call
+ return broadcast(:invalid) if form.invalid?
+
+ subcensus = Subcensus.create!(attributes)
+
+ events = ImportSubcensusDocuments.call(subcensus, form.subcensus_file)
+ broadcast(:ok, subcensus, events[:ok])
+ end
+
+ private
+
+ def attributes
+ {
+ participatory_process: find_participatory_process,
+ name: form.name
+ }
+ end
+
+ def find_participatory_process
+ Decidim::ParticipatoryProcess.where(organization: @organization)
+ .find(form.participatory_process)
+ end
+
+ end
+ end
+end
diff --git a/decidim-census/app/commands/decidim/census/import_subcensus_documents.rb b/decidim-census/app/commands/decidim/census/import_subcensus_documents.rb
new file mode 100644
index 00000000..a8cb610e
--- /dev/null
+++ b/decidim-census/app/commands/decidim/census/import_subcensus_documents.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+module Decidim
+ module Census
+ class ImportSubcensusDocuments < Rectify::Command
+
+ def initialize(subcensus, documents_file)
+ @subcensus = subcensus
+ @documents_file = documents_file
+ end
+
+ def call
+ return unless @documents_file.present?
+
+ data = SubcensusCsvData.new(@documents_file.path)
+ @subcensus.documents.destroy_all
+ SubcensusDocument.insert_documents(@subcensus, data.values)
+ broadcast(:ok, data)
+ end
+
+ end
+ end
+end
diff --git a/decidim-census/app/commands/decidim/census/update_subcensus.rb b/decidim-census/app/commands/decidim/census/update_subcensus.rb
new file mode 100644
index 00000000..7b8dfede
--- /dev/null
+++ b/decidim-census/app/commands/decidim/census/update_subcensus.rb
@@ -0,0 +1,40 @@
+# frozen_string_literal: true
+
+module Decidim
+ module Census
+ class UpdateSubcensus < Rectify::Command
+
+ attr_reader :form
+
+ def initialize(subcensus, organization, form)
+ @subcensus = subcensus
+ @form = form
+ @organization = organization
+ end
+
+ def call
+ return broadcast(:invalid) if form.invalid?
+
+ @subcensus.update_attributes!(attributes)
+
+ events = ImportSubcensusDocuments.call(@subcensus, form.subcensus_file)
+ broadcast(:ok, events[:ok])
+ end
+
+ private
+
+ def attributes
+ {
+ participatory_process: find_participatory_process,
+ name: form.name
+ }
+ end
+
+ def find_participatory_process
+ Decidim::ParticipatoryProcess.where(organization: @organization)
+ .find(form.participatory_process)
+ end
+
+ end
+ end
+end
diff --git a/decidim-census/app/controllers/decidim/census/admin/subcensuses_controller.rb b/decidim-census/app/controllers/decidim/census/admin/subcensuses_controller.rb
new file mode 100644
index 00000000..83461efe
--- /dev/null
+++ b/decidim-census/app/controllers/decidim/census/admin/subcensuses_controller.rb
@@ -0,0 +1,109 @@
+module Decidim
+ module Census
+ module Admin
+ class SubcensusesController < Decidim::Census::Admin::ApplicationController
+
+ include Rectify::ControllerHelpers
+
+ CENSUS_AUTHORIZATIONS = %w[diba_authorization_handler
+ census_authorization_handler].freeze
+
+ before_action :show_instructions,
+ unless: :census_authorization_active_in_organization?
+ helper_method :query, :subcensuses, :participatory_processes
+
+ def index
+ enforce_permission_to :create, :census
+ end
+
+ def new
+ enforce_permission_to :create, :census
+
+ @form = form(CreateSubcensusForm).instance
+ end
+
+ def create
+ enforce_permission_to :create, :census
+
+ @form = form(CreateSubcensusForm).from_params(params)
+
+ CreateSubcensus.call(current_organization, @form) do
+ on(:ok) do |_subcensus, imported_data|
+ configure_flash_for(imported_data)
+ redirect_to decidim_census_admin.subcensuses_path
+ end
+
+ on(:invalid) { render :new }
+ end
+ end
+
+ def edit
+ enforce_permission_to :create, :census
+
+ @form = form(SubcensusForm).from_model(load_subcensus)
+ end
+
+ def update
+ enforce_permission_to :create, :census
+
+ @form = form(SubcensusForm).from_params(params)
+
+ UpdateSubcensus.call(load_subcensus, current_organization, @form) do
+ on(:ok) do |imported_data|
+ configure_flash_for(imported_data)
+ redirect_to decidim_census_admin.subcensuses_path
+ end
+
+ on(:invalid) { render :edit }
+ end
+ end
+
+ def destroy
+ enforce_permission_to :create, :census
+
+ Subcensus.find(params[:id]).destroy
+ redirect_to decidim_census_admin.subcensuses_path, notice: t('.success')
+ end
+
+ private
+
+ def subcensuses
+ @subcensuses ||= query.result(distinct: true)
+ end
+
+ def query
+ @query ||= subcensuses_scope.ransack(params[:q])
+ end
+
+ def subcensuses_scope
+ @subcensuses_scope ||= Decidim::Census::Subcensus.where(
+ decidim_participatory_process_id: participatory_processes
+ )
+ end
+
+ def participatory_processes
+ @participatory_processes ||=
+ ParticipatoryProcesses::OrganizationParticipatoryProcesses
+ .new(current_organization).query
+ end
+
+ def load_subcensus
+ Decidim::Census::Subcensus.find(params[:id])
+ end
+
+ def census_authorization_active_in_organization?
+ (current_organization.available_authorizations & CENSUS_AUTHORIZATIONS).any?
+ end
+
+ def configure_flash_for(imported_data)
+ return unless imported_data
+
+ flash[:notice] = t('.success', count: imported_data.values.count,
+ errors: imported_data.errors.count)
+ expose(invalid_rows: imported_data.errors)
+ end
+
+ end
+ end
+ end
+end
diff --git a/decidim-census/app/forms/decidim/census/create_subcensus_form.rb b/decidim-census/app/forms/decidim/census/create_subcensus_form.rb
new file mode 100644
index 00000000..d0efb78e
--- /dev/null
+++ b/decidim-census/app/forms/decidim/census/create_subcensus_form.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+module Decidim
+ module Census
+ class CreateSubcensusForm < SubcensusForm
+
+ validates :subcensus_file, presence: true
+
+ end
+ end
+end
diff --git a/decidim-census/app/forms/decidim/census/subcensus_form.rb b/decidim-census/app/forms/decidim/census/subcensus_form.rb
new file mode 100644
index 00000000..fc145300
--- /dev/null
+++ b/decidim-census/app/forms/decidim/census/subcensus_form.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+module Decidim
+ module Census
+ class SubcensusForm < Form
+
+ mimic :subcensus
+
+ attribute :name, String
+ attribute :participatory_process, Integer
+ attribute :subcensus_file
+
+ validates :name, :participatory_process, presence: true
+
+ def map_model(model)
+ self.participatory_process = model.decidim_participatory_process_id
+ end
+
+ end
+ end
+end
diff --git a/decidim-census/app/models/decidim/census/status.rb b/decidim-census/app/models/decidim/census/status.rb
index f2106563..5476fe16 100644
--- a/decidim-census/app/models/decidim/census/status.rb
+++ b/decidim-census/app/models/decidim/census/status.rb
@@ -1,4 +1,3 @@
-
module Decidim
module Census
# Provides information about the current status of the census data
diff --git a/decidim-census/app/models/decidim/census/subcensus.rb b/decidim-census/app/models/decidim/census/subcensus.rb
new file mode 100644
index 00000000..794bf840
--- /dev/null
+++ b/decidim-census/app/models/decidim/census/subcensus.rb
@@ -0,0 +1,17 @@
+module Decidim
+ module Census
+ class Subcensus < ApplicationRecord
+
+ belongs_to :participatory_process, foreign_key: :decidim_participatory_process_id,
+ class_name: 'Decidim::ParticipatoryProcess'
+ has_many :documents, class_name: 'Decidim::Census::SubcensusDocument',
+ foreign_key: :decidim_census_subcensus_id,
+ dependent: :destroy
+
+ validates :name, presence: true
+
+ attr_accessor :subcensus_file
+
+ end
+ end
+end
diff --git a/decidim-census/app/models/decidim/census/subcensus_csv_data.rb b/decidim-census/app/models/decidim/census/subcensus_csv_data.rb
new file mode 100644
index 00000000..3693415b
--- /dev/null
+++ b/decidim-census/app/models/decidim/census/subcensus_csv_data.rb
@@ -0,0 +1,32 @@
+require 'csv'
+
+module Decidim
+ module Census
+ class SubcensusCsvData
+
+ attr_reader :errors, :values
+
+ def initialize(file)
+ @file = file
+ @errors = []
+ @values = []
+
+ CSV.foreach(@file, headers: true, col_sep: ';') do |row|
+ process_row(row)
+ end
+ end
+
+ private
+
+ def process_row(row)
+ id_document = CensusDatum.normalize_and_encode_id_document(row[0])
+ if id_document.present?
+ values << [id_document]
+ else
+ errors << { line: $., data: row }
+ end
+ end
+
+ end
+ end
+end
diff --git a/decidim-census/app/models/decidim/census/subcensus_document.rb b/decidim-census/app/models/decidim/census/subcensus_document.rb
new file mode 100644
index 00000000..ff052792
--- /dev/null
+++ b/decidim-census/app/models/decidim/census/subcensus_document.rb
@@ -0,0 +1,26 @@
+class Decidim::Census::SubcensusDocument < ApplicationRecord
+
+ belongs_to :subcensus, foreign_key: :decidim_census_subcensus_id,
+ class_name: 'Decidim::Census::Subcensus'
+
+ validates :id_document, presence: true
+
+ private
+
+ # Insert a collection of values
+ def self.insert_documents(subcensus, values)
+ return if values.blank?
+
+ table_name = self.table_name
+ columns = %w[
+ id_document decidim_census_subcensus_id created_at updated_at
+ ].join(',')
+ now = Time.current
+ values = values.map do |row|
+ "('#{row[0]}', '#{subcensus.id}', '#{now}', '#{now}')"
+ end
+ sql = "INSERT INTO #{table_name} (#{columns}) VALUES #{values.join(',')}"
+ ActiveRecord::Base.connection.execute(sql)
+ end
+
+end
diff --git a/decidim-census/app/views/decidim/census/admin/subcensuses/_form.html.erb b/decidim-census/app/views/decidim/census/admin/subcensuses/_form.html.erb
new file mode 100644
index 00000000..752e2d11
--- /dev/null
+++ b/decidim-census/app/views/decidim/census/admin/subcensuses/_form.html.erb
@@ -0,0 +1,23 @@
+
+
+
<%= t(".title") %>
+
+
+
+
+ <%= form.text_field :name, label: t("models.subcensus.fields.name", scope: "decidim.census.admin") %>
+
+
+ <%= form.select :participatory_process,
+ participatory_processes.map { |p| [translated_attribute(p.title), p.id] },
+ selected: form.object.participatory_process,
+ label: t("models.subcensus.fields.participatory_process", scope: "decidim.census.admin"),
+ include_blank: t(".select_participatory_process") %>
+
+
+ <%= form.file_field :subcensus_file,
+ label: t("models.subcensus.fields.subcensus_file", scope: "decidim.census.admin") %>
+
+
+
+
diff --git a/decidim-census/app/views/decidim/census/admin/subcensuses/edit.html.erb b/decidim-census/app/views/decidim/census/admin/subcensuses/edit.html.erb
new file mode 100644
index 00000000..b5313b2e
--- /dev/null
+++ b/decidim-census/app/views/decidim/census/admin/subcensuses/edit.html.erb
@@ -0,0 +1,9 @@
+
+<%= decidim_form_for(@form, html: { class: "form edit_participatory_process" },
+ url: decidim_census_admin.subcensus_path(@form),
+ method: :put) do |f| %>
+ <%= render partial: "form", object: f %>
+
+ <%= f.submit t('.update'), class: "button" %>
+
+<% end %>
diff --git a/decidim-census/app/views/decidim/census/admin/subcensuses/index.html.erb b/decidim-census/app/views/decidim/census/admin/subcensuses/index.html.erb
new file mode 100644
index 00000000..3af6e12f
--- /dev/null
+++ b/decidim-census/app/views/decidim/census/admin/subcensuses/index.html.erb
@@ -0,0 +1,65 @@
+<%= render 'invalid_rows' if @invalid_rows.present? %>
+
+
+
+
+ <%= t("subcensus", scope: "decidim.census.admin.titles") %>
+ <%= link_to t(".new_subcensus"),
+ decidim_census_admin.new_subcensus_path,
+ class: "button tiny button--title" %>
+
+
+
+
diff --git a/decidim-census/app/views/decidim/census/admin/subcensuses/new.html.erb b/decidim-census/app/views/decidim/census/admin/subcensuses/new.html.erb
new file mode 100644
index 00000000..a8330c37
--- /dev/null
+++ b/decidim-census/app/views/decidim/census/admin/subcensuses/new.html.erb
@@ -0,0 +1,9 @@
+
+<%= decidim_form_for(@form, html: { class: "form edit_participatory_process" },
+ url: decidim_census_admin.subcensuses_path,
+ method: :post) do |f| %>
+ <%= render partial: "form", object: f %>
+
+ <%= f.submit t('.create'), class: "button" %>
+
+<% end %>
diff --git a/decidim-census/config/locales/ca.yml b/decidim-census/config/locales/ca.yml
index 6faa0696..7ebf1655 100644
--- a/decidim-census/config/locales/ca.yml
+++ b/decidim-census/config/locales/ca.yml
@@ -20,12 +20,15 @@ ca:
birthdate: Data de naixement
age: 'Edat mínima'
max_age: 'Edat máxima'
+ subcensus: 'Subcens'
census:
errors:
messages:
not_censed: No hem pogut trobar el teu document d'identitat amb aquesta data de naixement al padró municipal. Si les dades són correctes i el problema persisteix, siusplau, posa't en contacte amb un administrador.
younger_than_minimum_age: Hauries de ser major de %{age} anys
admin:
+ titles:
+ subcensus: Subcensos
destroy:
title: Esborrar totes les dades del cens
confirm: Aquesta acció no es pot desfer. Estàs segur/a que voleu continuar?
@@ -38,6 +41,7 @@ ca:
title: Necessites activar el mòdul de censos per a aquesta organització
body: Per a això has d'entrar a l'administració del sistema i afegir l'autorització d'excel o la combinada a l'organització
menu:
+ subcensus: Subcensos
census: Pujar cens
show:
title: Dades del cens carregat
@@ -53,3 +57,28 @@ ca:
data:
line: Línia
data: Dades
+ models:
+ subcensus:
+ fields:
+ name: Nom
+ participatory_process: Proces Participatiu
+ subcensus_file: Arxiu excel .csv amb les dades del subcens
+ documents: Documents
+ created_at: Data de creació
+ subcensuses:
+ index:
+ new_subcensus: Nou Subcens
+ confirm: Aquesta acció no es pot desfer. Estàs segur/a que voleu continuar?
+ form:
+ title: Subcensos
+ select_participatory_process: Seleccionar Proces Participatiu
+ edit:
+ update: Actualitzar
+ update:
+ success: S'han guardat correctament el subcens i s'han importat amb èxit %{count} documents (%{errors} errors)
+ create:
+ success: S'han creat correctament el subcens i s'han importat amb èxit %{count} documents (%{errors} errors)
+ new:
+ create: Crear
+ destroy:
+ success: S'han esborrat totes les dades del subcens
diff --git a/decidim-census/config/locales/en.yml b/decidim-census/config/locales/en.yml
index 3afc57dd..151345cb 100644
--- a/decidim-census/config/locales/en.yml
+++ b/decidim-census/config/locales/en.yml
@@ -20,12 +20,15 @@ en:
birthdate: Birthdate
age: 'Minimum age'
age: 'Maximum age'
+ subcensus: 'Subcensus'
census:
errors:
messages:
not_censed: We could not find your document ID matching with this birthdate in our Census. If the data entered is correct and the problem persists, please, contact an administrator.
younger_than_minimum_age: You should be older than %{age} years
admin:
+ titles:
+ subcensus: Subcensus
destroy:
title: Delete all census data
confirm: Delete all the census can not be undone. Are you sure you want to continue?
@@ -38,6 +41,7 @@ en:
title: You need to activate the census module for this organization
body: To do this you must enter system administration and add the excel or combined authorizations to the organization
menu:
+ subcensus: Subcensus
census: Upload census
show:
title: Current census data
@@ -53,3 +57,28 @@ en:
data:
line: Line
data: Data
+ models:
+ subcensus:
+ fields:
+ name: Name
+ participatory_process: Participatory Process
+ subcensus_file: Excel .csv file with subcensus data
+ documents: Documents
+ created_at: Created at
+ subcensuses:
+ index:
+ new_subcensus: New Subcensus
+ confirm: Delete the subcensus can not be undone. Are you sure you want to continue?
+ form:
+ title: Subcensus
+ select_participatory_process: Select Participatory Process
+ edit:
+ update: Update
+ update:
+ success: Successfully updated and imported %{count} items (%{errors} errors)
+ create:
+ success: Successfully created and imported %{count} items (%{errors} errors)
+ new:
+ create: Create
+ destroy:
+ success: All subcensus data have been deleted
diff --git a/decidim-census/config/locales/es.yml b/decidim-census/config/locales/es.yml
index 0c4f906d..67ec579e 100644
--- a/decidim-census/config/locales/es.yml
+++ b/decidim-census/config/locales/es.yml
@@ -20,12 +20,15 @@ es:
birthdate: Fecha de nacimiento
age: 'Edad mínima'
max_age: 'Edad máxima'
+ subcensus: 'Subcenso'
census:
errors:
messages:
not_censed: No hemos podido encontrar tu documento de identidad con esta fecha de nacimiento en el padrón municipal. Si tus datos son correctos y el problema persiste, por favor, ponte en contacto con un administrador
younger_than_minimum_age: Deberías ser mayor de %{age} años
admin:
+ titles:
+ subcensus: Subcensos
destroy:
title: Borrar todos los datos de censo
confirm: Borrar el censo no se puede deshacer. ¿Estás seguro/a que deseas continuar?
@@ -38,6 +41,7 @@ es:
title: Necesitas activar el módulo de censos para esta organización
body: Para ello debes entrar en administración del sistema y añadir la autorización de excel o la combinada en la organización
menu:
+ subcensus: Subcensos
census: Subir censo
show:
title: Datos de censo actuales
@@ -53,3 +57,28 @@ es:
data:
line: Línea
data: Datos
+ models:
+ subcensus:
+ fields:
+ name: Nombre
+ participatory_process: Proceso Participativo
+ subcensus_file: Archivo excel .csv con los datos del subcenso
+ documents: Documentos
+ created_at: Fecha de Creación
+ subcensuses:
+ index:
+ new_subcensus: Nuevo Subcenso
+ confirm: Borrar el subcenso no se puede deshacer. ¿Estás seguro/a que deseas continuar?
+ form:
+ title: Subcensos
+ select_participatory_process: Seleccionar Proceso Participativo
+ edit:
+ update: Actualizar
+ update:
+ success: Subcenso guardado correctamente y se han importado con éxito %{count} documentos (%{errors} errors)
+ create:
+ success: Subcenso creado correctamente y se han importado con éxito %{count} documentos (%{errors} errors)
+ new:
+ create: Crear
+ destroy:
+ success: Se han borrado todos los datos del subcenso
diff --git a/decidim-census/db/migrate/20191008121918_create_decidim_census_subcensus.rb b/decidim-census/db/migrate/20191008121918_create_decidim_census_subcensus.rb
new file mode 100644
index 00000000..8b1841b3
--- /dev/null
+++ b/decidim-census/db/migrate/20191008121918_create_decidim_census_subcensus.rb
@@ -0,0 +1,12 @@
+class CreateDecidimCensusSubcensus < ActiveRecord::Migration[5.2]
+
+ def change
+ create_table :decidim_census_subcensuses do |t|
+ t.references :decidim_participatory_process, index: { name: 'index_decidim_census_subcensuses_on_participatory_process_id' }
+ t.string :name
+
+ t.timestamps
+ end
+ end
+
+end
diff --git a/decidim-census/db/migrate/20191009140338_create_decidim_census_subcensus_documents.rb b/decidim-census/db/migrate/20191009140338_create_decidim_census_subcensus_documents.rb
new file mode 100644
index 00000000..a6203607
--- /dev/null
+++ b/decidim-census/db/migrate/20191009140338_create_decidim_census_subcensus_documents.rb
@@ -0,0 +1,12 @@
+class CreateDecidimCensusSubcensusDocuments < ActiveRecord::Migration[5.2]
+
+ def change
+ create_table :decidim_census_subcensus_documents do |t|
+ t.references :decidim_census_subcensuses, index: { name: 'index_census_subcensus_documents_on_census_subcensus_id' }
+ t.string :id_document
+
+ t.timestamps
+ end
+ end
+
+end
diff --git a/decidim-census/lib/decidim/census.rb b/decidim-census/lib/decidim/census.rb
index 5729e4cb..834d4ab6 100644
--- a/decidim-census/lib/decidim/census.rb
+++ b/decidim-census/lib/decidim/census.rb
@@ -1,5 +1,6 @@
# frozen_string_literal: true
+require 'decidim'
require 'decidim/census/admin'
require 'decidim/census/engine'
require 'decidim/census/admin_engine'
diff --git a/decidim-census/lib/decidim/census/admin_engine.rb b/decidim-census/lib/decidim/census/admin_engine.rb
index ae15af39..5a77ad4a 100644
--- a/decidim-census/lib/decidim/census/admin_engine.rb
+++ b/decidim-census/lib/decidim/census/admin_engine.rb
@@ -8,6 +8,7 @@ class AdminEngine < ::Rails::Engine
routes do
resource :censuses, only: %i(show create destroy)
+ resources :subcensuses, except: %i(show)
end
initializer 'decidim_census.add_admin_menu' do
@@ -21,6 +22,16 @@ class AdminEngine < ::Rails::Engine
:census,
{},
[Decidim::Census::Admin::Permissions])
+
+ menu.item I18n.t('menu.subcensus', scope: 'decidim.census.admin'),
+ decidim_census_admin.subcensuses_path,
+ icon_name: 'spreadsheet',
+ position: 7.1,
+ active: :inclusive,
+ if: allowed_to?(:create,
+ :census,
+ {},
+ [Decidim::Census::Admin::Permissions])
end
end
diff --git a/decidim-census/lib/decidim/census/engine.rb b/decidim-census/lib/decidim/census/engine.rb
index 94550840..e273ddb3 100644
--- a/decidim-census/lib/decidim/census/engine.rb
+++ b/decidim-census/lib/decidim/census/engine.rb
@@ -10,6 +10,7 @@ class Engine < ::Rails::Engine
initializer 'decidim_census.add_irregular_inflection' do |_app|
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.irregular 'census', 'census'
+ inflect.irregular 'subcensus', 'subcensuses'
end
end
diff --git a/decidim-census/spec/factories/subcensus.rb b/decidim-census/spec/factories/subcensus.rb
new file mode 100644
index 00000000..8b7152b1
--- /dev/null
+++ b/decidim-census/spec/factories/subcensus.rb
@@ -0,0 +1,6 @@
+FactoryBot.define do
+ factory :subcensus, class: Decidim::Census::Subcensus do
+ participatory_process
+ name { 'Subcensus A' }
+ end
+end
diff --git a/decidim-census/spec/factories/subcensus_document.rb b/decidim-census/spec/factories/subcensus_document.rb
new file mode 100644
index 00000000..93bad3d8
--- /dev/null
+++ b/decidim-census/spec/factories/subcensus_document.rb
@@ -0,0 +1,6 @@
+FactoryBot.define do
+ factory :subcensus_document, class: Decidim::Census::SubcensusDocument do
+ id_document { '123456789A' }
+ subcensus
+ end
+end
diff --git a/decidim-census/spec/fixtures/files/subcensus_data1.csv b/decidim-census/spec/fixtures/files/subcensus_data1.csv
new file mode 100644
index 00000000..c713bf9f
--- /dev/null
+++ b/decidim-census/spec/fixtures/files/subcensus_data1.csv
@@ -0,0 +1,4 @@
+DNI|
+AAA|
+2222-b|
+33 33 C|
diff --git a/decidim-census/spec/fixtures/files/subcensus_data2.csv b/decidim-census/spec/fixtures/files/subcensus_data2.csv
new file mode 100644
index 00000000..2398794f
--- /dev/null
+++ b/decidim-census/spec/fixtures/files/subcensus_data2.csv
@@ -0,0 +1,4 @@
+DNI
+123123
+222b
+3414 a
diff --git a/decidim-census/spec/models/subcensus_document_spec.rb b/decidim-census/spec/models/subcensus_document_spec.rb
new file mode 100644
index 00000000..fae45d6d
--- /dev/null
+++ b/decidim-census/spec/models/subcensus_document_spec.rb
@@ -0,0 +1,7 @@
+require 'spec_helper'
+
+RSpec.describe Decidim::Census::SubcensusDocument, type: :model do
+ it { expect(FactoryBot.build(:subcensus_document)).to be_valid }
+ it { expect(FactoryBot.build(:subcensus_document, id_document: nil)).not_to be_valid }
+ it { expect(FactoryBot.build(:subcensus_document, subcensus: nil)).not_to be_valid }
+end
diff --git a/decidim-census/spec/models/subcensus_spec.rb b/decidim-census/spec/models/subcensus_spec.rb
new file mode 100644
index 00000000..cdcef90a
--- /dev/null
+++ b/decidim-census/spec/models/subcensus_spec.rb
@@ -0,0 +1,7 @@
+require 'spec_helper'
+
+RSpec.describe Decidim::Census::Subcensus, type: :model do
+ it { expect(FactoryBot.build(:subcensus)).to be_valid }
+ it { expect(FactoryBot.build(:subcensus, participatory_process: nil)).not_to be_valid }
+ it { expect(FactoryBot.build(:subcensus, name: nil)).not_to be_valid }
+end
diff --git a/decidim-census/spec/spec_helper.rb b/decidim-census/spec/spec_helper.rb
index fd37b16a..44e73226 100644
--- a/decidim-census/spec/spec_helper.rb
+++ b/decidim-census/spec/spec_helper.rb
@@ -1,5 +1,7 @@
ENV['RAILS_ENV'] ||= 'test'
+require 'pry'
+require 'decidim'
require 'decidim/dev'
require 'decidim/admin'
require 'decidim/core'
diff --git a/decidim-diba_census_api/config/locales/ca.yml b/decidim-diba_census_api/config/locales/ca.yml
index c1f87c2c..e9f1909b 100644
--- a/decidim-diba_census_api/config/locales/ca.yml
+++ b/decidim-diba_census_api/config/locales/ca.yml
@@ -20,6 +20,7 @@ ca:
fields:
birthdate: Data de naixement
age: Edat mínima
+ max_age: Edat màxima
document_types:
dni: 'DNI'
nie: 'NIE'
diff --git a/decidim-diba_census_api/config/locales/en.yml b/decidim-diba_census_api/config/locales/en.yml
index 123b4470..c2801e81 100644
--- a/decidim-diba_census_api/config/locales/en.yml
+++ b/decidim-diba_census_api/config/locales/en.yml
@@ -20,6 +20,7 @@ en:
fields:
birthdate: Birth date
age: Minimum age
+ max_age: Maximum age
document_types:
dni: DNI
nie: NIE
diff --git a/decidim-diba_census_api/config/locales/es.yml b/decidim-diba_census_api/config/locales/es.yml
index 150606f8..1260bcb5 100644
--- a/decidim-diba_census_api/config/locales/es.yml
+++ b/decidim-diba_census_api/config/locales/es.yml
@@ -20,6 +20,7 @@ es:
fields:
birthdate: Fecha de nacimiento
age: Edad mínima
+ max_age: Edad máxima
document_types:
dni: DNI
nie: NIE
diff --git a/decidim-ldap/Gemfile.lock b/decidim-ldap/Gemfile.lock
index 3c574d2a..ff3d5eaa 100644
--- a/decidim-ldap/Gemfile.lock
+++ b/decidim-ldap/Gemfile.lock
@@ -1,33 +1,33 @@
PATH
remote: .
specs:
- decidim-ldap (0.14.4)
- decidim-core (= 0.14.4)
+ decidim-ldap (0.18.0)
+ decidim-core (= 0.18.0)
ladle
net-ldap
GEM
remote: https://rubygems.org/
specs:
- actioncable (5.2.1)
- actionpack (= 5.2.1)
+ actioncable (5.2.3)
+ actionpack (= 5.2.3)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
- actionmailer (5.2.1)
- actionpack (= 5.2.1)
- actionview (= 5.2.1)
- activejob (= 5.2.1)
+ actionmailer (5.2.3)
+ actionpack (= 5.2.3)
+ actionview (= 5.2.3)
+ activejob (= 5.2.3)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
- actionpack (5.2.1)
- actionview (= 5.2.1)
- activesupport (= 5.2.1)
+ actionpack (5.2.3)
+ actionview (= 5.2.3)
+ activesupport (= 5.2.3)
rack (~> 2.0)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
- actionview (5.2.1)
- activesupport (= 5.2.1)
+ actionview (5.2.3)
+ activesupport (= 5.2.3)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
@@ -35,26 +35,28 @@ GEM
active_link_to (1.0.5)
actionpack
addressable
- activejob (5.2.1)
- activesupport (= 5.2.1)
+ activejob (5.2.3)
+ activesupport (= 5.2.3)
globalid (>= 0.3.6)
- activemodel (5.2.1)
- activesupport (= 5.2.1)
- activerecord (5.2.1)
- activemodel (= 5.2.1)
- activesupport (= 5.2.1)
+ activemodel (5.2.3)
+ activesupport (= 5.2.3)
+ activerecord (5.2.3)
+ activemodel (= 5.2.3)
+ activesupport (= 5.2.3)
arel (>= 9.0)
- activestorage (5.2.1)
- actionpack (= 5.2.1)
- activerecord (= 5.2.1)
+ activestorage (5.2.3)
+ actionpack (= 5.2.3)
+ activerecord (= 5.2.3)
marcel (~> 0.3.1)
- activesupport (5.2.1)
+ activesupport (5.2.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
- addressable (2.5.2)
- public_suffix (>= 2.0.2, < 4.0)
+ acts_as_list (1.0.0)
+ activerecord (>= 4.2)
+ addressable (2.7.0)
+ public_suffix (>= 2.0.2, < 5.0)
arel (9.0.0)
ast (2.4.0)
autoprefixer-rails (8.6.5)
@@ -67,8 +69,9 @@ GEM
babel-transpiler (0.7.0)
babel-source (>= 4.0, < 6)
execjs (~> 2.0)
- bcrypt (3.1.12)
- better_html (1.0.11)
+ batch-loader (1.4.1)
+ bcrypt (3.1.13)
+ better_html (1.0.14)
actionview (>= 4.0)
activesupport (>= 4.0)
ast (~> 2.0)
@@ -78,15 +81,15 @@ GEM
smart_properties
builder (3.2.3)
byebug (10.0.2)
- capybara (3.11.0)
+ capybara (3.29.0)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
- regexp_parser (~> 1.2)
+ regexp_parser (~> 1.5)
xpath (~> 3.2)
- carrierwave (1.2.3)
+ carrierwave (1.3.1)
activemodel (>= 4.0.0)
activesupport (>= 4.0.0)
mime-types (>= 1.16)
@@ -101,13 +104,13 @@ GEM
cells-rails (0.0.9)
actionpack (>= 3.0)
cells (>= 4.1.6, < 5.0.0)
- childprocess (0.9.0)
- ffi (~> 1.0, >= 1.0.11)
+ charlock_holmes (0.7.6)
+ childprocess (3.0.0)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
- coffee-rails (4.2.2)
+ coffee-rails (5.0.0)
coffee-script (>= 2.2.0)
- railties (>= 4.0.0)
+ railties (>= 5.2.0)
coffee-script (2.4.1)
coffee-script-source
execjs
@@ -116,7 +119,7 @@ GEM
crack (0.4.3)
safe_yaml (~> 1.0.0)
crass (1.0.4)
- css_parser (1.6.0)
+ css_parser (1.7.0)
addressable
date_validator (0.9.0)
activemodel
@@ -124,73 +127,77 @@ GEM
db-query-matchers (0.9.0)
activesupport (>= 4.0, <= 6.0)
rspec (~> 3.0)
- decidim (0.14.4)
- decidim-accountability (= 0.14.4)
- decidim-admin (= 0.14.4)
- decidim-api (= 0.14.4)
- decidim-assemblies (= 0.14.4)
- decidim-blogs (= 0.14.4)
- decidim-budgets (= 0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
- decidim-debates (= 0.14.4)
- decidim-generators (= 0.14.4)
- decidim-meetings (= 0.14.4)
- decidim-pages (= 0.14.4)
- decidim-participatory_processes (= 0.14.4)
- decidim-proposals (= 0.14.4)
- decidim-sortitions (= 0.14.4)
- decidim-surveys (= 0.14.4)
- decidim-system (= 0.14.4)
- decidim-verifications (= 0.14.4)
- decidim-accountability (0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim (0.18.0)
+ decidim-accountability (= 0.18.0)
+ decidim-admin (= 0.18.0)
+ decidim-api (= 0.18.0)
+ decidim-assemblies (= 0.18.0)
+ decidim-blogs (= 0.18.0)
+ decidim-budgets (= 0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-debates (= 0.18.0)
+ decidim-forms (= 0.18.0)
+ decidim-generators (= 0.18.0)
+ decidim-meetings (= 0.18.0)
+ decidim-pages (= 0.18.0)
+ decidim-participatory_processes (= 0.18.0)
+ decidim-proposals (= 0.18.0)
+ decidim-sortitions (= 0.18.0)
+ decidim-surveys (= 0.18.0)
+ decidim-system (= 0.18.0)
+ decidim-verifications (= 0.18.0)
+ decidim-accountability (0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-admin (0.14.4)
+ decidim-admin (0.18.0)
active_link_to (~> 1.0)
- decidim-core (= 0.14.4)
- devise (~> 4.2)
+ decidim-core (= 0.18.0)
+ devise (~> 4.6)
devise-i18n (~> 1.2)
devise_invitable (~> 1.7)
jquery-rails (~> 4.3)
sassc (~> 1.12, >= 1.12.1)
sassc-rails (~> 1.3)
- decidim-api (0.14.4)
- graphiql-rails (~> 1.4)
- graphql (~> 1.6)
+ decidim-api (0.18.0)
+ graphiql-rails (~> 1.4, < 1.5)
+ graphql (~> 1.6, < 1.8.11)
rack-cors (~> 1.0)
sprockets-es6 (~> 0.9.2)
- decidim-assemblies (0.14.4)
- decidim-core (= 0.14.4)
- decidim-blogs (0.14.4)
- decidim-admin (= 0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-assemblies (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-blogs (0.18.0)
+ decidim-admin (= 0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
httparty (~> 0.16.0)
jquery-tmpl-rails (~> 1.1)
kaminari (~> 1.0)
- decidim-budgets (0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-budgets (0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-comments (0.14.4)
- decidim-core (= 0.14.4)
+ decidim-comments (0.18.0)
+ decidim-core (= 0.18.0)
jquery-rails (~> 4.0)
- decidim-core (0.14.4)
+ decidim-core (0.18.0)
active_link_to (~> 1.0)
autoprefixer-rails (~> 8.0)
+ batch-loader (~> 1.2)
carrierwave (~> 1.1)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
+ charlock_holmes (>= 0.7.6)
date_validator (~> 0.9.0)
- decidim-api (= 0.14.4)
- devise (~> 4.3)
+ decidim-api (= 0.18.0)
+ devise (~> 4.6)
devise-i18n (~> 1.2)
doorkeeper (~> 4.4)
doorkeeper-i18n (~> 4.0)
+ etherpad-lite (~> 0.3)
file_validators (~> 2.1)
foundation-rails (~> 6.4, < 6.5)
foundation_rails_helper (~> 3.0)
@@ -201,7 +208,8 @@ GEM
kaminari (~> 1.0)
loofah (~> 2.0, >= 2.2.1)
mini_magick (~> 4.8)
- nobspw (~> 0.4.0)
+ mustache (~> 1.1.0)
+ nobspw (~> 0.6.0)
omniauth (~> 1.6)
omniauth-facebook (~> 4.0)
omniauth-google-oauth2 (~> 0.5.0)
@@ -210,12 +218,13 @@ GEM
pg (>= 0.18, < 2)
pg_search (~> 2.1, >= 2.1.0)
premailer-rails (~> 1.9)
+ rack (>= 2.0.6)
rack-attack (~> 5.2)
rails (>= 5.2, < 6.0.x)
rails-i18n (~> 5.0)
- rectify (~> 0.11.0)
+ rectify (~> 0.13.0)
redis (~> 4.0)
- rubyzip (~> 1.2)
+ rubyzip (~> 1.2, >= 1.2.2)
sassc (~> 1.12, >= 1.12.1)
sassc-rails (~> 1.3)
spreadsheet (~> 1.1)
@@ -224,16 +233,16 @@ GEM
uglifier (~> 4.0)
valid_email2 (~> 2.1)
wisper (~> 2.0)
- decidim-debates (0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-debates (0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-dev (0.14.4)
+ decidim-dev (0.18.0)
byebug (~> 10.0)
capybara (~> 3.0)
db-query-matchers (~> 0.9.0)
- decidim (= 0.14.4)
+ decidim (= 0.18.0)
erb_lint (~> 0.0.22)
factory_bot_rails (~> 4.8)
i18n-tasks (~> 0.9.18)
@@ -252,71 +261,85 @@ GEM
system_test_html_screenshots (~> 0.1.1)
webmock (~> 3.0)
wisper-rspec (~> 1.0)
- decidim-generators (0.14.4)
- decidim-core (= 0.14.4)
- decidim-meetings (0.14.4)
+ decidim-forms (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-generators (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-meetings (0.18.0)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
- decidim-core (= 0.14.4)
+ decidim-core (= 0.18.0)
+ decidim-forms (= 0.18.0)
httparty (~> 0.16.0)
icalendar (~> 2.4)
jquery-tmpl-rails (~> 1.1)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-pages (0.14.4)
- decidim-core (= 0.14.4)
- decidim-participatory_processes (0.14.4)
- decidim-core (= 0.14.4)
- decidim-proposals (0.14.4)
+ decidim-pages (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-participatory_processes (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-proposals (0.18.0)
+ acts_as_list (>= 0.9)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
+ diffy (>= 3.3)
+ doc2text (>= 0.4.0)
kaminari (~> 1.0)
ransack (~> 2.0)
+ redcarpet (>= 3.4)
social-share-button (~> 1.0)
- decidim-sortitions (0.14.4)
- decidim-admin (= 0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
- decidim-proposals (= 0.14.4)
+ decidim-sortitions (0.18.0)
+ decidim-admin (= 0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-proposals (= 0.18.0)
social-share-button (~> 1.0)
- decidim-surveys (0.14.4)
- decidim-core (= 0.14.4)
- decidim-system (0.14.4)
+ decidim-surveys (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-forms (= 0.18.0)
+ decidim-system (0.18.0)
active_link_to (~> 1.0)
- decidim-core (= 0.14.4)
- devise (~> 4.2)
+ decidim-core (= 0.18.0)
+ devise (~> 4.6)
devise-i18n (~> 1.2)
devise_invitable (~> 1.7)
jquery-rails (~> 4.3)
sassc (~> 1.12, >= 1.12.1)
sassc-rails (~> 1.3)
- decidim-verifications (0.14.4)
- decidim-core (= 0.14.4)
+ decidim-verifications (0.18.0)
+ decidim-core (= 0.18.0)
declarative-builder (0.1.0)
declarative-option (< 0.2.0)
declarative-option (0.1.0)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
- devise (4.5.0)
+ devise (4.7.1)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
- railties (>= 4.1.0, < 6.0)
+ railties (>= 4.1.0)
responders
warden (~> 1.2.3)
- devise-i18n (1.7.0)
- devise (>= 4.5)
+ devise-i18n (1.8.2)
+ devise (>= 4.6)
devise_invitable (1.7.5)
actionmailer (>= 4.1.0)
devise (>= 4.0.0)
diff-lcs (1.3)
- docile (1.3.1)
+ diffy (3.3.0)
+ doc2text (0.4.1)
+ nokogiri (~> 1.8, >= 1.8.2)
+ rubyzip (~> 1.2, >= 1.2.2)
+ docile (1.3.2)
+ domain_name (0.5.20190701)
+ unf (>= 0.0.5, < 1.0.0)
doorkeeper (4.4.3)
railties (>= 4.2)
- doorkeeper-i18n (4.0.0)
+ doorkeeper-i18n (4.0.1)
equalizer (0.0.11)
- erb_lint (0.0.28)
+ erb_lint (0.0.30)
activesupport
better_html (~> 1.0.7)
html_tokenizer
@@ -325,7 +348,9 @@ GEM
smart_properties
erbse (0.1.3)
temple
- erubi (1.7.1)
+ erubi (1.9.0)
+ etherpad-lite (0.3.0)
+ rest-client (>= 1.6)
execjs (2.7.0)
factory_bot (4.11.1)
activesupport (>= 3.0.0)
@@ -334,7 +359,7 @@ GEM
railties (>= 3.0.0)
faker (1.9.1)
i18n (>= 0.7)
- faraday (0.15.3)
+ faraday (0.17.0)
multipart-post (>= 1.2, < 3)
ffi (1.9.25)
file_validators (2.3.0)
@@ -350,24 +375,27 @@ GEM
activesupport (>= 4.1, < 6.0)
railties (>= 4.1, < 6.0)
tzinfo (~> 1.2, >= 1.2.2)
- geocoder (1.5.0)
- globalid (0.4.1)
+ geocoder (1.5.2)
+ globalid (0.4.2)
activesupport (>= 4.2.0)
- graphiql-rails (1.5.0)
+ graphiql-rails (1.4.11)
railties
sprockets-rails
- graphql (1.8.11)
- hashdiff (0.3.7)
- hashie (3.5.7)
- highline (2.0.0)
+ graphql (1.8.10)
+ hashdiff (0.3.9)
+ hashie (3.6.0)
+ highline (2.0.2)
html_tokenizer (0.0.7)
htmlentities (4.3.4)
- httparty (0.16.3)
+ http-accept (1.7.0)
+ http-cookie (1.0.3)
+ domain_name (~> 0.5)
+ httparty (0.16.4)
mime-types (~> 3.0)
multi_xml (>= 0.5.2)
i18n (1.1.1)
concurrent-ruby (~> 1.0)
- i18n-tasks (0.9.28)
+ i18n-tasks (0.9.29)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
erubi
@@ -377,21 +405,21 @@ GEM
rails-i18n
rainbow (>= 2.2.2, < 4.0)
terminal-table (>= 1.5.1)
- icalendar (2.5.1)
+ icalendar (2.5.3)
ice_cube (~> 0.16)
ice_cube (0.16.3)
ice_nine (0.11.2)
invisible_captcha (0.10.0)
rails (>= 3.2.0)
- jaro_winkler (1.5.1)
- jquery-rails (4.3.3)
+ jaro_winkler (1.5.3)
+ jquery-rails (4.3.5)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-tmpl-rails (1.1.0)
rails (>= 3.1.0)
- json (2.1.0)
- jwt (2.1.0)
+ json (2.2.0)
+ jwt (2.2.1)
kaminari (1.1.1)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.1.1)
@@ -407,7 +435,7 @@ GEM
kramdown (1.17.0)
ladle (1.0.1)
open4 (~> 1.0)
- loofah (2.2.3)
+ loofah (2.3.0)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
@@ -419,47 +447,49 @@ GEM
mixlib-cli (~> 1.7, >= 1.7.0)
mixlib-config (~> 2.2, >= 2.2.1)
method_source (0.9.2)
- mime-types (3.2.2)
+ mime-types (3.3)
mime-types-data (~> 3.2015)
- mime-types-data (3.2018.0812)
- mimemagic (0.3.2)
- mini_magick (4.9.2)
- mini_mime (1.0.1)
- mini_portile2 (2.3.0)
- minitest (5.11.3)
+ mime-types-data (3.2019.0904)
+ mimemagic (0.3.3)
+ mini_magick (4.9.5)
+ mini_mime (1.0.2)
+ mini_portile2 (2.4.0)
+ minitest (5.12.2)
mixlib-cli (1.7.0)
- mixlib-config (2.2.13)
+ mixlib-config (2.2.18)
tomlrb
multi_json (1.13.1)
multi_xml (0.6.0)
- multipart-post (2.0.0)
+ multipart-post (2.1.1)
+ mustache (1.1.0)
net-ldap (0.16.1)
- nio4r (2.3.1)
- nobspw (0.4.0)
- nokogiri (1.8.5)
- mini_portile2 (~> 2.3.0)
+ netrc (0.11.0)
+ nio4r (2.5.2)
+ nobspw (0.6.1)
+ nokogiri (1.10.4)
+ mini_portile2 (~> 2.4.0)
oauth (0.5.4)
- oauth2 (1.4.1)
- faraday (>= 0.8, < 0.16.0)
+ oauth2 (1.4.2)
+ faraday (>= 0.8, < 2.0)
jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
- omniauth (1.8.1)
- hashie (>= 3.4.6, < 3.6.0)
+ omniauth (1.9.0)
+ hashie (>= 3.4.6, < 3.7.0)
rack (>= 1.6.2, < 3)
omniauth-facebook (4.0.0)
omniauth-oauth2 (~> 1.2)
- omniauth-google-oauth2 (0.5.3)
+ omniauth-google-oauth2 (0.5.4)
jwt (>= 1.5)
omniauth (>= 1.1.1)
omniauth-oauth2 (>= 1.5)
omniauth-oauth (1.1.0)
oauth
omniauth (~> 1.0)
- omniauth-oauth2 (1.5.0)
+ omniauth-oauth2 (1.6.0)
oauth2 (~> 1.1)
- omniauth (~> 1.2)
+ omniauth (~> 1.9)
omniauth-twitter (1.4.0)
omniauth-oauth (~> 1.1)
rack
@@ -469,109 +499,117 @@ GEM
activerecord (>= 4.2, < 5.3)
paper_trail-association_tracking (< 2)
request_store (~> 1.1)
- paper_trail-association_tracking (1.0.0)
- parallel (1.12.1)
- parser (2.5.3.0)
+ paper_trail-association_tracking (1.1.1)
+ parallel (1.18.0)
+ parser (2.6.5.0)
ast (~> 2.4.0)
- pg (1.1.3)
- pg_search (2.1.2)
+ pg (1.1.4)
+ pg_search (2.3.0)
activerecord (>= 4.2)
activesupport (>= 4.2)
- arel (>= 6)
+ polyamorous (2.3.0)
+ activerecord (>= 5.0)
powerpack (0.1.2)
premailer (1.11.1)
addressable
css_parser (>= 1.6.0)
htmlentities (>= 4.0.0)
- premailer-rails (1.10.2)
- actionmailer (>= 3, < 6)
+ premailer-rails (1.10.3)
+ actionmailer (>= 3)
premailer (~> 1.7, >= 1.7.9)
- public_suffix (3.0.3)
- puma (3.12.0)
- rack (2.0.6)
+ public_suffix (4.0.1)
+ puma (3.12.1)
+ rack (2.0.7)
rack-attack (5.4.2)
rack (>= 1.0, < 3)
- rack-cors (1.0.2)
+ rack-cors (1.0.3)
rack-test (1.1.0)
rack (>= 1.0, < 3)
- rails (5.2.1)
- actioncable (= 5.2.1)
- actionmailer (= 5.2.1)
- actionpack (= 5.2.1)
- actionview (= 5.2.1)
- activejob (= 5.2.1)
- activemodel (= 5.2.1)
- activerecord (= 5.2.1)
- activestorage (= 5.2.1)
- activesupport (= 5.2.1)
+ rails (5.2.3)
+ actioncable (= 5.2.3)
+ actionmailer (= 5.2.3)
+ actionpack (= 5.2.3)
+ actionview (= 5.2.3)
+ activejob (= 5.2.3)
+ activemodel (= 5.2.3)
+ activerecord (= 5.2.3)
+ activestorage (= 5.2.3)
+ activesupport (= 5.2.3)
bundler (>= 1.3.0)
- railties (= 5.2.1)
+ railties (= 5.2.3)
sprockets-rails (>= 2.0.0)
- rails-controller-testing (1.0.2)
- actionpack (~> 5.x, >= 5.0.1)
- actionview (~> 5.x, >= 5.0.1)
- activesupport (~> 5.x)
+ rails-controller-testing (1.0.4)
+ actionpack (>= 5.0.1.x)
+ actionview (>= 5.0.1.x)
+ activesupport (>= 5.0.1.x)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
- rails-html-sanitizer (1.0.4)
+ rails-html-sanitizer (1.2.0)
loofah (~> 2.2, >= 2.2.2)
- rails-i18n (5.1.2)
+ rails-i18n (5.1.3)
i18n (>= 0.7, < 2)
railties (>= 5.0, < 6)
- railties (5.2.1)
- actionpack (= 5.2.1)
- activesupport (= 5.2.1)
+ railties (5.2.3)
+ actionpack (= 5.2.3)
+ activesupport (= 5.2.3)
method_source
rake (>= 0.8.7)
thor (>= 0.19.0, < 2.0)
rainbow (3.0.0)
- rake (12.3.1)
- ransack (2.1.0)
+ rake (13.0.0)
+ ransack (2.3.0)
actionpack (>= 5.0)
activerecord (>= 5.0)
activesupport (>= 5.0)
i18n
- rectify (0.11.0)
+ polyamorous (= 2.3.0)
+ rectify (0.13.0)
activemodel (>= 4.1.0)
activerecord (>= 4.1.0)
activesupport (>= 4.1.0)
virtus (~> 1.0.5)
wisper (>= 1.6.1)
- redis (4.0.3)
- regexp_parser (1.3.0)
+ redcarpet (3.5.0)
+ redis (4.1.3)
+ regexp_parser (1.6.0)
request_store (1.4.1)
rack (>= 1.4)
- responders (2.4.0)
- actionpack (>= 4.2.0, < 5.3)
- railties (>= 4.2.0, < 5.3)
- rspec (3.8.0)
- rspec-core (~> 3.8.0)
- rspec-expectations (~> 3.8.0)
- rspec-mocks (~> 3.8.0)
+ responders (3.0.0)
+ actionpack (>= 5.0)
+ railties (>= 5.0)
+ rest-client (2.1.0)
+ http-accept (>= 1.7.0, < 2.0)
+ http-cookie (>= 1.0.2, < 2.0)
+ mime-types (>= 1.16, < 4.0)
+ netrc (~> 0.8)
+ rspec (3.9.0)
+ rspec-core (~> 3.9.0)
+ rspec-expectations (~> 3.9.0)
+ rspec-mocks (~> 3.9.0)
rspec-cells (0.3.4)
cells (>= 4.0.0, < 6.0.0)
rspec-rails (~> 3.2)
- rspec-core (3.8.0)
- rspec-support (~> 3.8.0)
- rspec-expectations (3.8.2)
+ rspec-core (3.9.0)
+ rspec-support (~> 3.9.0)
+ rspec-expectations (3.9.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.8.0)
+ rspec-support (~> 3.9.0)
rspec-html-matchers (0.9.1)
nokogiri (~> 1)
rspec (>= 3.0.0.a, < 4)
- rspec-mocks (3.8.0)
+ rspec-mocks (3.9.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.8.0)
- rspec-rails (3.8.1)
+ rspec-support (~> 3.9.0)
+ rspec-rails (3.9.0)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
- rspec-core (~> 3.8.0)
- rspec-expectations (~> 3.8.0)
- rspec-mocks (~> 3.8.0)
- rspec-support (~> 3.8.0)
- rspec-support (3.8.0)
+ rspec-core (~> 3.9.0)
+ rspec-expectations (~> 3.9.0)
+ rspec-mocks (~> 3.9.0)
+ rspec-support (~> 3.9.0)
+ rspec-support (3.9.0)
rspec_junit_formatter (0.3.0)
rspec-core (>= 2, < 4, != 2.12.0)
rubocop (0.58.2)
@@ -584,10 +622,10 @@ GEM
unicode-display_width (~> 1.0, >= 1.0.1)
rubocop-rspec (1.30.0)
rubocop (>= 0.58.0)
- ruby-ole (1.2.12.1)
- ruby-progressbar (1.10.0)
- rubyzip (1.2.2)
- safe_yaml (1.0.4)
+ ruby-ole (1.2.12.2)
+ ruby-progressbar (1.10.1)
+ rubyzip (1.3.0)
+ safe_yaml (1.0.5)
sass (3.4.25)
sassc (1.12.1)
ffi (~> 1.9.6)
@@ -600,18 +638,18 @@ GEM
sprockets-rails
tilt
searchlight (4.1.0)
- selenium-webdriver (3.141.0)
- childprocess (~> 0.5)
- rubyzip (~> 1.2, >= 1.2.2)
- simplecov (0.16.1)
+ selenium-webdriver (3.142.6)
+ childprocess (>= 0.5, < 4.0)
+ rubyzip (>= 1.2.2)
+ simplecov (0.17.1)
docile (~> 1.1)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
- smart_properties (1.13.1)
- social-share-button (1.1.0)
+ smart_properties (1.15.0)
+ social-share-button (1.2.1)
coffee-rails
- spreadsheet (1.1.8)
+ spreadsheet (1.2.4)
ruby-ole (>= 1.0)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
@@ -624,24 +662,27 @@ GEM
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
- system_test_html_screenshots (0.1.1)
- actionpack (>= 5.2, < 6.0.x)
- temple (0.8.0)
+ system_test_html_screenshots (0.1.2)
+ actionpack (>= 5.2, < 6.0.a)
+ temple (0.8.2)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thor (0.20.3)
thread_safe (0.3.6)
- tilt (2.0.8)
- tomlrb (1.2.7)
- truncato (0.7.10)
+ tilt (2.0.10)
+ tomlrb (1.2.8)
+ truncato (0.7.11)
htmlentities (~> 4.3.1)
- nokogiri (~> 1.8.0, >= 1.7.0)
+ nokogiri (>= 1.7.0, <= 2.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
uber (0.1.0)
- uglifier (4.1.19)
+ uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
- unicode-display_width (1.4.0)
+ unf (0.1.4)
+ unf_ext
+ unf_ext (0.0.7.6)
+ unicode-display_width (1.6.0)
valid_email2 (2.3.1)
activemodel (>= 3.2)
mail (~> 2.5)
@@ -652,13 +693,13 @@ GEM
equalizer (~> 0.0, >= 0.0.9)
warden (1.2.8)
rack (>= 2.0.6)
- webmock (3.4.2)
+ webmock (3.5.1)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
- websocket-driver (0.7.0)
+ websocket-driver (0.7.1)
websocket-extensions (>= 0.1.0)
- websocket-extensions (0.1.3)
+ websocket-extensions (0.1.4)
wisper (2.0.0)
wisper-rspec (1.1.0)
xpath (3.2.0)
@@ -668,9 +709,9 @@ PLATFORMS
ruby
DEPENDENCIES
- decidim-dev (= 0.14.4)
+ decidim-dev (= 0.18.0)
decidim-ldap!
faker
BUNDLED WITH
- 1.16.4
+ 1.17.3
diff --git a/docs/overrides.md b/docs/overrides.md
index c24a8709..ea21df20 100644
--- a/docs/overrides.md
+++ b/docs/overrides.md
@@ -50,6 +50,18 @@ It includes the same changes found in the previous file (devise/sessions/new.htm
It modifies the lines 76 to 78 to remove the signup link for ldap enabled organizations.
+**app/views/decidim/authorization_modals/_content.html.erb**
+
+Starting at line 26, a new behaviour has been included to show custom error messages to the custom action authorizer created for
+the project.
+
+### Helpers
+
+**app/helpers/application_helper.rb**
+
+This file is not overriding any Decidim behaviour, but it's using Decidim internal instance variables to be able to show custom error messages
+for the decidim age action authorizer. Whenever a new upgrade is applied, it's recommended to check if the code still works as expected.
+
### Locales
This Decidim installation replaces the Assemblies text for Participatory committees. These
@@ -78,3 +90,13 @@ Permissions system. If the Decidim permissions engine changes the following file
- [decidim-ldap/lib/decidim/ldap/extensions/controller_with_ldap_permissions.rb](/decidim-ldap/lib/decidim/ldap/extensions/controller_with_ldap_permissions.rb)
- [decidim-ldap/app/models/decidim/ldap/permissions/extra_account_permissions.rb](/decidim-ldap/app/models/decidim/ldap/permissions/extra_account_permissions.rb)
+
+
+**config/initializers/subcensus_authorizer.rb**
+
+SubcensusAuthorizer is overriding the Decidim Age Action Authorizer created for this project. As only one action authorizer can be assigned to an
+AuthorizationHandler and we wanted to keep the Decidim Age Action Authorizer as an independent engine, we decided that overriding the current behaviour
+was the best way to implement this feature.
+
+It is using the Decidim internal API to be able to perform the required authorization. Whenever the project is updated this file needs to be
+checked for incompatibilities.
diff --git a/spec/decidim_dummy_app/Gemfile b/spec/decidim_dummy_app/Gemfile
index d9673e1b..73b5755c 100644
--- a/spec/decidim_dummy_app/Gemfile
+++ b/spec/decidim_dummy_app/Gemfile
@@ -6,8 +6,8 @@ ruby RUBY_VERSION
# This is the original line, but it doesn't work
# gem "decidim", path: "../.."
-gem 'decidim', '~> 0.14.4'
-gem 'decidim-admin', '~> 0.14.4'
+gem 'decidim', '~> 0.18.0'
+gem 'decidim-admin', '0.18.0'
gem 'decidim-ldap', path: '../../decidim-ldap'
# Uncomment the following line if you want to use decidim-assemblies plugin
@@ -24,7 +24,7 @@ group :development, :test do
gem 'byebug', platform: :mri
# gem "decidim-dev", path: "../.."
- gem 'decidim-dev', '~> 0.14.4'
+ gem 'decidim-dev', '0.18.0'
end
group :development do
diff --git a/spec/decidim_dummy_app/Gemfile.lock b/spec/decidim_dummy_app/Gemfile.lock
index 36e55367..10fa3748 100644
--- a/spec/decidim_dummy_app/Gemfile.lock
+++ b/spec/decidim_dummy_app/Gemfile.lock
@@ -1,8 +1,8 @@
PATH
remote: ../../decidim-ldap
specs:
- decidim-ldap (0.14.4)
- decidim-core (= 0.14.4)
+ decidim-ldap (0.18.0)
+ decidim-core (= 0.18.0)
ladle
net-ldap
@@ -53,6 +53,8 @@ GEM
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
+ acts_as_list (1.0.0)
+ activerecord (>= 4.2)
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
arel (9.0.0)
@@ -67,8 +69,9 @@ GEM
babel-transpiler (0.7.0)
babel-source (>= 4.0, < 6)
execjs (~> 2.0)
- bcrypt (3.1.12)
- better_html (1.0.11)
+ batch-loader (1.4.1)
+ bcrypt (3.1.13)
+ better_html (1.0.14)
actionview (>= 4.0)
activesupport (>= 4.0)
ast (~> 2.0)
@@ -81,15 +84,15 @@ GEM
msgpack (~> 1.0)
builder (3.2.3)
byebug (10.0.2)
- capybara (3.11.0)
+ capybara (3.29.0)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
- regexp_parser (~> 1.2)
+ regexp_parser (~> 1.5)
xpath (~> 3.2)
- carrierwave (1.2.3)
+ carrierwave (1.3.1)
activemodel (>= 4.0.0)
activesupport (>= 4.0.0)
mime-types (>= 1.16)
@@ -104,13 +107,13 @@ GEM
cells-rails (0.0.9)
actionpack (>= 3.0)
cells (>= 4.1.6, < 5.0.0)
- childprocess (0.9.0)
- ffi (~> 1.0, >= 1.0.11)
+ charlock_holmes (0.7.6)
+ childprocess (3.0.0)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
- coffee-rails (4.2.2)
+ coffee-rails (5.0.0)
coffee-script (>= 2.2.0)
- railties (>= 4.0.0)
+ railties (>= 5.2.0)
coffee-script (2.4.1)
coffee-script-source
execjs
@@ -119,7 +122,7 @@ GEM
crack (0.4.3)
safe_yaml (~> 1.0.0)
crass (1.0.4)
- css_parser (1.6.0)
+ css_parser (1.7.0)
addressable
date_validator (0.9.0)
activemodel
@@ -127,73 +130,77 @@ GEM
db-query-matchers (0.9.0)
activesupport (>= 4.0, <= 6.0)
rspec (~> 3.0)
- decidim (0.14.4)
- decidim-accountability (= 0.14.4)
- decidim-admin (= 0.14.4)
- decidim-api (= 0.14.4)
- decidim-assemblies (= 0.14.4)
- decidim-blogs (= 0.14.4)
- decidim-budgets (= 0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
- decidim-debates (= 0.14.4)
- decidim-generators (= 0.14.4)
- decidim-meetings (= 0.14.4)
- decidim-pages (= 0.14.4)
- decidim-participatory_processes (= 0.14.4)
- decidim-proposals (= 0.14.4)
- decidim-sortitions (= 0.14.4)
- decidim-surveys (= 0.14.4)
- decidim-system (= 0.14.4)
- decidim-verifications (= 0.14.4)
- decidim-accountability (0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim (0.18.0)
+ decidim-accountability (= 0.18.0)
+ decidim-admin (= 0.18.0)
+ decidim-api (= 0.18.0)
+ decidim-assemblies (= 0.18.0)
+ decidim-blogs (= 0.18.0)
+ decidim-budgets (= 0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-debates (= 0.18.0)
+ decidim-forms (= 0.18.0)
+ decidim-generators (= 0.18.0)
+ decidim-meetings (= 0.18.0)
+ decidim-pages (= 0.18.0)
+ decidim-participatory_processes (= 0.18.0)
+ decidim-proposals (= 0.18.0)
+ decidim-sortitions (= 0.18.0)
+ decidim-surveys (= 0.18.0)
+ decidim-system (= 0.18.0)
+ decidim-verifications (= 0.18.0)
+ decidim-accountability (0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-admin (0.14.4)
+ decidim-admin (0.18.0)
active_link_to (~> 1.0)
- decidim-core (= 0.14.4)
- devise (~> 4.2)
+ decidim-core (= 0.18.0)
+ devise (~> 4.6)
devise-i18n (~> 1.2)
devise_invitable (~> 1.7)
jquery-rails (~> 4.3)
sassc (~> 1.12, >= 1.12.1)
sassc-rails (~> 1.3)
- decidim-api (0.14.4)
- graphiql-rails (~> 1.4)
- graphql (~> 1.6)
+ decidim-api (0.18.0)
+ graphiql-rails (~> 1.4, < 1.5)
+ graphql (~> 1.6, < 1.8.11)
rack-cors (~> 1.0)
sprockets-es6 (~> 0.9.2)
- decidim-assemblies (0.14.4)
- decidim-core (= 0.14.4)
- decidim-blogs (0.14.4)
- decidim-admin (= 0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-assemblies (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-blogs (0.18.0)
+ decidim-admin (= 0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
httparty (~> 0.16.0)
jquery-tmpl-rails (~> 1.1)
kaminari (~> 1.0)
- decidim-budgets (0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-budgets (0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-comments (0.14.4)
- decidim-core (= 0.14.4)
+ decidim-comments (0.18.0)
+ decidim-core (= 0.18.0)
jquery-rails (~> 4.0)
- decidim-core (0.14.4)
+ decidim-core (0.18.0)
active_link_to (~> 1.0)
autoprefixer-rails (~> 8.0)
+ batch-loader (~> 1.2)
carrierwave (~> 1.1)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
+ charlock_holmes (>= 0.7.6)
date_validator (~> 0.9.0)
- decidim-api (= 0.14.4)
- devise (~> 4.3)
+ decidim-api (= 0.18.0)
+ devise (~> 4.6)
devise-i18n (~> 1.2)
doorkeeper (~> 4.4)
doorkeeper-i18n (~> 4.0)
+ etherpad-lite (~> 0.3)
file_validators (~> 2.1)
foundation-rails (~> 6.4, < 6.5)
foundation_rails_helper (~> 3.0)
@@ -204,7 +211,8 @@ GEM
kaminari (~> 1.0)
loofah (~> 2.0, >= 2.2.1)
mini_magick (~> 4.8)
- nobspw (~> 0.4.0)
+ mustache (~> 1.1.0)
+ nobspw (~> 0.6.0)
omniauth (~> 1.6)
omniauth-facebook (~> 4.0)
omniauth-google-oauth2 (~> 0.5.0)
@@ -213,12 +221,13 @@ GEM
pg (>= 0.18, < 2)
pg_search (~> 2.1, >= 2.1.0)
premailer-rails (~> 1.9)
+ rack (>= 2.0.6)
rack-attack (~> 5.2)
rails (>= 5.2, < 6.0.x)
rails-i18n (~> 5.0)
- rectify (~> 0.11.0)
+ rectify (~> 0.13.0)
redis (~> 4.0)
- rubyzip (~> 1.2)
+ rubyzip (~> 1.2, >= 1.2.2)
sassc (~> 1.12, >= 1.12.1)
sassc-rails (~> 1.3)
spreadsheet (~> 1.1)
@@ -227,16 +236,16 @@ GEM
uglifier (~> 4.0)
valid_email2 (~> 2.1)
wisper (~> 2.0)
- decidim-debates (0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-debates (0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-dev (0.14.4)
+ decidim-dev (0.18.0)
byebug (~> 10.0)
capybara (~> 3.0)
db-query-matchers (~> 0.9.0)
- decidim (= 0.14.4)
+ decidim (= 0.18.0)
erb_lint (~> 0.0.22)
factory_bot_rails (~> 4.8)
i18n-tasks (~> 0.9.18)
@@ -255,71 +264,85 @@ GEM
system_test_html_screenshots (~> 0.1.1)
webmock (~> 3.0)
wisper-rspec (~> 1.0)
- decidim-generators (0.14.4)
- decidim-core (= 0.14.4)
- decidim-meetings (0.14.4)
+ decidim-forms (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-generators (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-meetings (0.18.0)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
- decidim-core (= 0.14.4)
+ decidim-core (= 0.18.0)
+ decidim-forms (= 0.18.0)
httparty (~> 0.16.0)
icalendar (~> 2.4)
jquery-tmpl-rails (~> 1.1)
kaminari (~> 1.0)
searchlight (~> 4.1)
- decidim-pages (0.14.4)
- decidim-core (= 0.14.4)
- decidim-participatory_processes (0.14.4)
- decidim-core (= 0.14.4)
- decidim-proposals (0.14.4)
+ decidim-pages (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-participatory_processes (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-proposals (0.18.0)
+ acts_as_list (>= 0.9)
cells-erb (~> 0.1.0)
cells-rails (~> 0.0.9)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
+ diffy (>= 3.3)
+ doc2text (>= 0.4.0)
kaminari (~> 1.0)
ransack (~> 2.0)
+ redcarpet (>= 3.4)
social-share-button (~> 1.0)
- decidim-sortitions (0.14.4)
- decidim-admin (= 0.14.4)
- decidim-comments (= 0.14.4)
- decidim-core (= 0.14.4)
- decidim-proposals (= 0.14.4)
+ decidim-sortitions (0.18.0)
+ decidim-admin (= 0.18.0)
+ decidim-comments (= 0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-proposals (= 0.18.0)
social-share-button (~> 1.0)
- decidim-surveys (0.14.4)
- decidim-core (= 0.14.4)
- decidim-system (0.14.4)
+ decidim-surveys (0.18.0)
+ decidim-core (= 0.18.0)
+ decidim-forms (= 0.18.0)
+ decidim-system (0.18.0)
active_link_to (~> 1.0)
- decidim-core (= 0.14.4)
- devise (~> 4.2)
+ decidim-core (= 0.18.0)
+ devise (~> 4.6)
devise-i18n (~> 1.2)
devise_invitable (~> 1.7)
jquery-rails (~> 4.3)
sassc (~> 1.12, >= 1.12.1)
sassc-rails (~> 1.3)
- decidim-verifications (0.14.4)
- decidim-core (= 0.14.4)
+ decidim-verifications (0.18.0)
+ decidim-core (= 0.18.0)
declarative-builder (0.1.0)
declarative-option (< 0.2.0)
declarative-option (0.1.0)
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
- devise (4.5.0)
+ devise (4.7.1)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
- railties (>= 4.1.0, < 6.0)
+ railties (>= 4.1.0)
responders
warden (~> 1.2.3)
- devise-i18n (1.7.0)
- devise (>= 4.5)
+ devise-i18n (1.8.2)
+ devise (>= 4.6)
devise_invitable (1.7.5)
actionmailer (>= 4.1.0)
devise (>= 4.0.0)
diff-lcs (1.3)
- docile (1.3.1)
+ diffy (3.3.0)
+ doc2text (0.4.1)
+ nokogiri (~> 1.8, >= 1.8.2)
+ rubyzip (~> 1.2, >= 1.2.2)
+ docile (1.3.2)
+ domain_name (0.5.20190701)
+ unf (>= 0.0.5, < 1.0.0)
doorkeeper (4.4.3)
railties (>= 4.2)
- doorkeeper-i18n (4.0.0)
+ doorkeeper-i18n (4.0.1)
equalizer (0.0.11)
- erb_lint (0.0.28)
+ erb_lint (0.0.30)
activesupport
better_html (~> 1.0.7)
html_tokenizer
@@ -329,6 +352,8 @@ GEM
erbse (0.1.3)
temple
erubi (1.7.1)
+ etherpad-lite (0.3.0)
+ rest-client (>= 1.6)
execjs (2.7.0)
factory_bot (4.11.1)
activesupport (>= 3.0.0)
@@ -337,7 +362,7 @@ GEM
railties (>= 3.0.0)
faker (1.9.1)
i18n (>= 0.7)
- faraday (0.15.3)
+ faraday (0.17.0)
multipart-post (>= 1.2, < 3)
ffi (1.9.25)
file_validators (2.3.0)
@@ -353,24 +378,27 @@ GEM
activesupport (>= 4.1, < 6.0)
railties (>= 4.1, < 6.0)
tzinfo (~> 1.2, >= 1.2.2)
- geocoder (1.5.0)
+ geocoder (1.5.2)
globalid (0.4.1)
activesupport (>= 4.2.0)
- graphiql-rails (1.5.0)
+ graphiql-rails (1.4.11)
railties
sprockets-rails
- graphql (1.8.11)
- hashdiff (0.3.7)
- hashie (3.5.7)
- highline (2.0.0)
+ graphql (1.8.10)
+ hashdiff (0.3.9)
+ hashie (3.6.0)
+ highline (2.0.2)
html_tokenizer (0.0.7)
htmlentities (4.3.4)
- httparty (0.16.3)
+ http-accept (1.7.0)
+ http-cookie (1.0.3)
+ domain_name (~> 0.5)
+ httparty (0.16.4)
mime-types (~> 3.0)
multi_xml (>= 0.5.2)
i18n (1.1.1)
concurrent-ruby (~> 1.0)
- i18n-tasks (0.9.28)
+ i18n-tasks (0.9.29)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
erubi
@@ -380,21 +408,21 @@ GEM
rails-i18n
rainbow (>= 2.2.2, < 4.0)
terminal-table (>= 1.5.1)
- icalendar (2.5.1)
+ icalendar (2.5.3)
ice_cube (~> 0.16)
ice_cube (0.16.3)
ice_nine (0.11.2)
invisible_captcha (0.10.0)
rails (>= 3.2.0)
- jaro_winkler (1.5.1)
- jquery-rails (4.3.3)
+ jaro_winkler (1.5.3)
+ jquery-rails (4.3.5)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-tmpl-rails (1.1.0)
rails (>= 3.1.0)
- json (2.1.0)
- jwt (2.1.0)
+ json (2.2.0)
+ jwt (2.2.1)
kaminari (1.1.1)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.1.1)
@@ -434,48 +462,50 @@ GEM
mixlib-cli (~> 1.7, >= 1.7.0)
mixlib-config (~> 2.2, >= 2.2.1)
method_source (0.9.2)
- mime-types (3.2.2)
+ mime-types (3.3)
mime-types-data (~> 3.2015)
- mime-types-data (3.2018.0812)
- mimemagic (0.3.2)
- mini_magick (4.9.2)
+ mime-types-data (3.2019.0904)
+ mimemagic (0.3.3)
+ mini_magick (4.9.5)
mini_mime (1.0.1)
mini_portile2 (2.3.0)
minitest (5.11.3)
mixlib-cli (1.7.0)
- mixlib-config (2.2.13)
+ mixlib-config (2.2.18)
tomlrb
msgpack (1.2.4)
multi_json (1.13.1)
multi_xml (0.6.0)
- multipart-post (2.0.0)
+ multipart-post (2.1.1)
+ mustache (1.1.0)
net-ldap (0.16.1)
- nio4r (2.3.1)
- nobspw (0.4.0)
+ netrc (0.11.0)
+ nio4r (2.5.2)
+ nobspw (0.6.1)
nokogiri (1.8.5)
mini_portile2 (~> 2.3.0)
oauth (0.5.4)
- oauth2 (1.4.1)
- faraday (>= 0.8, < 0.16.0)
+ oauth2 (1.4.2)
+ faraday (>= 0.8, < 2.0)
jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
- omniauth (1.8.1)
- hashie (>= 3.4.6, < 3.6.0)
+ omniauth (1.9.0)
+ hashie (>= 3.4.6, < 3.7.0)
rack (>= 1.6.2, < 3)
omniauth-facebook (4.0.0)
omniauth-oauth2 (~> 1.2)
- omniauth-google-oauth2 (0.5.3)
+ omniauth-google-oauth2 (0.5.4)
jwt (>= 1.5)
omniauth (>= 1.1.1)
omniauth-oauth2 (>= 1.5)
omniauth-oauth (1.1.0)
oauth
omniauth (~> 1.0)
- omniauth-oauth2 (1.5.0)
+ omniauth-oauth2 (1.6.0)
oauth2 (~> 1.1)
- omniauth (~> 1.2)
+ omniauth (~> 1.9)
omniauth-twitter (1.4.0)
omniauth-oauth (~> 1.1)
rack
@@ -485,29 +515,30 @@ GEM
activerecord (>= 4.2, < 5.3)
paper_trail-association_tracking (< 2)
request_store (~> 1.1)
- paper_trail-association_tracking (1.0.0)
- parallel (1.12.1)
- parser (2.5.3.0)
+ paper_trail-association_tracking (1.1.1)
+ parallel (1.18.0)
+ parser (2.6.5.0)
ast (~> 2.4.0)
- pg (1.1.3)
- pg_search (2.1.2)
+ pg (1.1.4)
+ pg_search (2.3.0)
activerecord (>= 4.2)
activesupport (>= 4.2)
- arel (>= 6)
+ polyamorous (2.3.0)
+ activerecord (>= 5.0)
powerpack (0.1.2)
premailer (1.11.1)
addressable
css_parser (>= 1.6.0)
htmlentities (>= 4.0.0)
- premailer-rails (1.10.2)
- actionmailer (>= 3, < 6)
+ premailer-rails (1.10.3)
+ actionmailer (>= 3)
premailer (~> 1.7, >= 1.7.9)
public_suffix (3.0.3)
puma (3.12.0)
rack (2.0.6)
rack-attack (5.4.2)
rack (>= 1.0, < 3)
- rack-cors (1.0.2)
+ rack-cors (1.0.3)
rack-test (1.1.0)
rack (>= 1.0, < 3)
rails (5.2.1)
@@ -523,16 +554,16 @@ GEM
bundler (>= 1.3.0)
railties (= 5.2.1)
sprockets-rails (>= 2.0.0)
- rails-controller-testing (1.0.2)
- actionpack (~> 5.x, >= 5.0.1)
- actionview (~> 5.x, >= 5.0.1)
- activesupport (~> 5.x)
+ rails-controller-testing (1.0.4)
+ actionpack (>= 5.0.1.x)
+ actionview (>= 5.0.1.x)
+ activesupport (>= 5.0.1.x)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.0.4)
loofah (~> 2.2, >= 2.2.2)
- rails-i18n (5.1.2)
+ rails-i18n (5.1.3)
i18n (>= 0.7, < 2)
railties (>= 5.0, < 6)
railties (5.2.1)
@@ -543,54 +574,61 @@ GEM
thor (>= 0.19.0, < 2.0)
rainbow (3.0.0)
rake (12.3.1)
- ransack (2.1.0)
+ ransack (2.3.0)
actionpack (>= 5.0)
activerecord (>= 5.0)
activesupport (>= 5.0)
i18n
+ polyamorous (= 2.3.0)
rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
- rectify (0.11.0)
+ rectify (0.13.0)
activemodel (>= 4.1.0)
activerecord (>= 4.1.0)
activesupport (>= 4.1.0)
virtus (~> 1.0.5)
wisper (>= 1.6.1)
- redis (4.0.3)
- regexp_parser (1.3.0)
+ redcarpet (3.5.0)
+ redis (4.1.3)
+ regexp_parser (1.6.0)
request_store (1.4.1)
rack (>= 1.4)
- responders (2.4.0)
- actionpack (>= 4.2.0, < 5.3)
- railties (>= 4.2.0, < 5.3)
- rspec (3.8.0)
- rspec-core (~> 3.8.0)
- rspec-expectations (~> 3.8.0)
- rspec-mocks (~> 3.8.0)
+ responders (3.0.0)
+ actionpack (>= 5.0)
+ railties (>= 5.0)
+ rest-client (2.1.0)
+ http-accept (>= 1.7.0, < 2.0)
+ http-cookie (>= 1.0.2, < 2.0)
+ mime-types (>= 1.16, < 4.0)
+ netrc (~> 0.8)
+ rspec (3.9.0)
+ rspec-core (~> 3.9.0)
+ rspec-expectations (~> 3.9.0)
+ rspec-mocks (~> 3.9.0)
rspec-cells (0.3.4)
cells (>= 4.0.0, < 6.0.0)
rspec-rails (~> 3.2)
- rspec-core (3.8.0)
- rspec-support (~> 3.8.0)
- rspec-expectations (3.8.2)
+ rspec-core (3.9.0)
+ rspec-support (~> 3.9.0)
+ rspec-expectations (3.9.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.8.0)
+ rspec-support (~> 3.9.0)
rspec-html-matchers (0.9.1)
nokogiri (~> 1)
rspec (>= 3.0.0.a, < 4)
- rspec-mocks (3.8.0)
+ rspec-mocks (3.9.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.8.0)
- rspec-rails (3.8.1)
+ rspec-support (~> 3.9.0)
+ rspec-rails (3.9.0)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
- rspec-core (~> 3.8.0)
- rspec-expectations (~> 3.8.0)
- rspec-mocks (~> 3.8.0)
- rspec-support (~> 3.8.0)
- rspec-support (3.8.0)
+ rspec-core (~> 3.9.0)
+ rspec-expectations (~> 3.9.0)
+ rspec-mocks (~> 3.9.0)
+ rspec-support (~> 3.9.0)
+ rspec-support (3.9.0)
rspec_junit_formatter (0.3.0)
rspec-core (>= 2, < 4, != 2.12.0)
rubocop (0.58.2)
@@ -603,11 +641,11 @@ GEM
unicode-display_width (~> 1.0, >= 1.0.1)
rubocop-rspec (1.30.0)
rubocop (>= 0.58.0)
- ruby-ole (1.2.12.1)
- ruby-progressbar (1.10.0)
+ ruby-ole (1.2.12.2)
+ ruby-progressbar (1.10.1)
ruby_dep (1.5.0)
- rubyzip (1.2.2)
- safe_yaml (1.0.4)
+ rubyzip (1.3.0)
+ safe_yaml (1.0.5)
sass (3.4.25)
sassc (1.12.1)
ffi (~> 1.9.6)
@@ -620,18 +658,18 @@ GEM
sprockets-rails
tilt
searchlight (4.1.0)
- selenium-webdriver (3.141.0)
- childprocess (~> 0.5)
- rubyzip (~> 1.2, >= 1.2.2)
- simplecov (0.16.1)
+ selenium-webdriver (3.142.6)
+ childprocess (>= 0.5, < 4.0)
+ rubyzip (>= 1.2.2)
+ simplecov (0.17.1)
docile (~> 1.1)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
- smart_properties (1.13.1)
- social-share-button (1.1.0)
+ smart_properties (1.15.0)
+ social-share-button (1.2.1)
coffee-rails
- spreadsheet (1.1.8)
+ spreadsheet (1.2.4)
ruby-ole (>= 1.0)
spring (2.0.2)
activesupport (>= 4.2)
@@ -649,24 +687,27 @@ GEM
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
- system_test_html_screenshots (0.1.1)
- actionpack (>= 5.2, < 6.0.x)
- temple (0.8.0)
+ system_test_html_screenshots (0.1.2)
+ actionpack (>= 5.2, < 6.0.a)
+ temple (0.8.2)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thor (0.20.3)
thread_safe (0.3.6)
- tilt (2.0.8)
- tomlrb (1.2.7)
- truncato (0.7.10)
+ tilt (2.0.10)
+ tomlrb (1.2.8)
+ truncato (0.7.11)
htmlentities (~> 4.3.1)
- nokogiri (~> 1.8.0, >= 1.7.0)
+ nokogiri (>= 1.7.0, <= 2.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
uber (0.1.0)
uglifier (4.1.19)
execjs (>= 0.3.0, < 3)
- unicode-display_width (1.4.0)
+ unf (0.1.4)
+ unf_ext
+ unf_ext (0.0.7.6)
+ unicode-display_width (1.6.0)
valid_email2 (2.3.1)
activemodel (>= 3.2)
mail (~> 2.5)
@@ -682,13 +723,13 @@ GEM
activemodel (>= 5.0)
bindex (>= 0.4.0)
railties (>= 5.0)
- webmock (3.4.2)
+ webmock (3.5.1)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
- websocket-driver (0.7.0)
+ websocket-driver (0.7.1)
websocket-extensions (>= 0.1.0)
- websocket-extensions (0.1.3)
+ websocket-extensions (0.1.4)
wisper (2.0.0)
wisper-rspec (1.1.0)
xpath (3.2.0)
@@ -700,9 +741,9 @@ PLATFORMS
DEPENDENCIES
bootsnap
byebug
- decidim (~> 0.14.4)
- decidim-admin (~> 0.14.4)
- decidim-dev (~> 0.14.4)
+ decidim (~> 0.18.0)
+ decidim-admin (= 0.18.0)
+ decidim-dev (= 0.18.0)
decidim-ldap!
faker
letter_opener_web
@@ -717,4 +758,4 @@ RUBY VERSION
ruby 2.5.1p57
BUNDLED WITH
- 1.16.4
+ 1.17.3