decidim-consultations 0.27.5 → 0.27.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 754a75ec236a6ca7b7201965bab583817ed51e14051803d7c57d0bee9a03d989
4
- data.tar.gz: ce51283e54533b84420e5cbd6ae318e00d67b49bb22e0424ce7f6db696e3a1d4
3
+ metadata.gz: 70d308f959b191e49afa7cddadb93a6c1375e4690906f8078c71799d27ba0ea7
4
+ data.tar.gz: c19d420f1e83465d167ee2cbbb35cda7c3db64d3924fb9ab912ea553835fcc64
5
5
  SHA512:
6
- metadata.gz: bf177d46b4c93a1f77916d05fd8fe871ef38d24dcfc1e60ebe16cac5b21554437078488cc2df50c4022ee4a532d97570db79d89d9b27b9347b0ea57e8bc8eb7e
7
- data.tar.gz: 36bc34e3708a45ae2e224710d0c6a0e15412cb88e79e1a84d7f22905838a3da1b97b6504ce49d6d937980bce1a5d9bb8df767c4aebe0b6deb1b55400d7a37089
6
+ metadata.gz: e50752f7ece621a07b4b50164a29b60c6f36c6838936b2a935823dd56d98467e61f488e8e0dfb02d81ab11ff1d1e435859ef7f009c972444dbb810638d4174b9
7
+ data.tar.gz: 29287d203a004965f01674b3212e95760babf8f0bdad446202c3236f802c13911b315242e84cdad57e755cb1f8ad8800f31539bda49c5811ddc2bb99a3e19d09
@@ -4,13 +4,20 @@ module Decidim
4
4
  module Consultations
5
5
  class ConsultationWidgetsController < Decidim::WidgetsController
6
6
  helper Decidim::SanitizeHelper
7
+ helper ConsultationsHelper
7
8
 
8
9
  layout false
9
10
 
11
+ def show
12
+ enforce_permission_to :embed, :participatory_space, current_participatory_space: model if model
13
+
14
+ super
15
+ end
16
+
10
17
  private
11
18
 
12
19
  def model
13
- @model ||= Consultation.find_by(slug: params[:consultation_slug])
20
+ @model ||= Consultation.where(organization: current_organization).published.find_by(slug: params[:consultation_slug])
14
21
  end
15
22
 
16
23
  def current_participatory_space
@@ -20,6 +27,10 @@ module Decidim
20
27
  def iframe_url
21
28
  @iframe_url ||= consultation_consultation_widget_url(model)
22
29
  end
30
+
31
+ def permission_class_chain
32
+ ::Decidim.permissions_registry.chain_for(::Decidim::Consultations::ApplicationController)
33
+ end
23
34
  end
24
35
  end
25
36
  end
@@ -8,10 +8,16 @@ module Decidim
8
8
 
9
9
  helper Decidim::SanitizeHelper
10
10
 
11
+ def show
12
+ enforce_permission_to :embed, :question, question: model if model
13
+
14
+ super
15
+ end
16
+
11
17
  private
12
18
 
13
19
  def model
14
- @model ||= current_question
20
+ @model ||= current_question if current_question.published?
15
21
  end
16
22
 
17
23
  def current_participatory_space
@@ -21,6 +27,10 @@ module Decidim
21
27
  def iframe_url
22
28
  @iframe_url ||= question_question_widget_url(model)
23
29
  end
30
+
31
+ def permission_class_chain
32
+ ::Decidim.permissions_registry.chain_for(::Decidim::Consultations::ApplicationController)
33
+ end
24
34
  end
25
35
  end
26
36
  end
@@ -5,6 +5,8 @@ module Decidim
5
5
  class Permissions < Decidim::DefaultPermissions
6
6
  def permissions
7
7
  allowed_public_anonymous_action?
8
+ allowed_public_embed_consultation_action?
9
+ allowed_public_embed_question_action?
8
10
 
9
11
  return permission_action unless user
10
12
 
@@ -22,7 +24,7 @@ module Decidim
22
24
  end
23
25
 
24
26
  def consultation
25
- @consultation ||= context.fetch(:consultation, nil)
27
+ @consultation ||= context.fetch(:current_participatory_space, nil) || context.fetch(:consultation, nil)
26
28
  end
27
29
 
28
30
  def authorized?(permission_action, resource: nil)
@@ -45,6 +47,24 @@ module Decidim
45
47
  end
46
48
  end
47
49
 
50
+ def allowed_public_embed_consultation_action?
51
+ return unless permission_action.action == :embed &&
52
+ [:consultation, :participatory_space].include?(permission_action.subject) &&
53
+ consultation
54
+
55
+ return disallow! unless consultation.published?
56
+
57
+ allow!
58
+ end
59
+
60
+ def allowed_public_embed_question_action?
61
+ return unless permission_action.action == :embed && permission_action.subject == :question && question
62
+
63
+ return disallow! unless question.published?
64
+
65
+ allow!
66
+ end
67
+
48
68
  def allowed_public_action?
49
69
  return unless permission_action.scope == :public
50
70
  return unless permission_action.subject == :question
@@ -1,3 +1,6 @@
1
+ <p><%= translated_attribute(model.title) %></p>
2
+ <p><%= current_organization.name %></p>
3
+
1
4
  <%= render partial: "decidim/consultations/consultations/consultation_details", locals: { consultation: model } %>
2
5
  <%= render partial: "decidim/consultations/consultations/highlighted_questions", locals: { consultation: model } %>
3
6
  <%= render partial: "decidim/consultations/consultations/regular_questions", locals: { consultation: model } %>
@@ -1 +1,21 @@
1
+ ---
1
2
  bg:
3
+ activerecord:
4
+ errors:
5
+ models:
6
+ decidim/consultations/vote:
7
+ attributes:
8
+ question:
9
+ invalid_num_votes: Броят на гласовете е невалиден
10
+ decidim:
11
+ admin:
12
+ consultations:
13
+ deprecation_warning: Модулът за консултации ще бъде отхвърлен в близко бъдеще. Работим върху следващата криптографски защитена версия, наречена Гласувания.
14
+ question_configuration:
15
+ disable_external_voting: Моля, деактивирайте външното гласуване за разширени конфигурации
16
+ consultations:
17
+ last_activity:
18
+ new_question_at_html: "<span>Нов въпрос в(ъв) %{link}</span>"
19
+ question_votes:
20
+ create:
21
+ error: Възникна проблем с гласуването по въпроса
@@ -24,8 +24,8 @@ de:
24
24
  max_votes: Maximale Anzahl von Stimmen
25
25
  min_votes: Mindestanzahl von Stimmen
26
26
  origin_scope: Umfang
27
- origin_title: Ursprung
28
- origin_url: Ursprungs-URL
27
+ origin_title: Herkunft
28
+ origin_url: Herkunfts--URL
29
29
  participatory_scope: Partizipativer Bereich
30
30
  promoter_group: Promoter-Gruppe
31
31
  question_context: Kontext
@@ -267,7 +267,7 @@ de:
267
267
  title: Konsultationen
268
268
  last_activity:
269
269
  new_consultation: Neue Konsultation
270
- new_question_at_html: "<span>Neue Frage bei %{link}</span>"
270
+ new_question_at_html: "<span>Neue Frage auf %{link}</span>"
271
271
  pages:
272
272
  home:
273
273
  highlighted_consultations:
@@ -0,0 +1 @@
1
+ he:
@@ -95,6 +95,7 @@ hu:
95
95
  create:
96
96
  error: Hiba történt az új konzultáció létrehozása során.
97
97
  success: Konzultáció létrehozása sikeres.
98
+ deprecation_warning: A konzultációk modul a közeljövőben elavulttá válik. Dolgozunk a következő kriptográfiailag biztonságos változaton, a Szavazásokon.
98
99
  edit:
99
100
  update: Frissítés
100
101
  form:
@@ -361,6 +362,10 @@ hu:
361
362
  actions:
362
363
  comment: Megjegyzés
363
364
  vote: Szavazás
365
+ question:
366
+ actions:
367
+ comment: Hozzászólás
368
+ vote: Szavazás
364
369
  statistics:
365
370
  consultations_count: Konzultációk
366
371
  votes_count: Szavazások
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path("lib", __dir__)
4
+
5
+ require "decidim/consultations/version"
6
+
7
+ # Describe your gem and declare its dependencies:
8
+ Gem::Specification.new do |s|
9
+ s.version = Decidim::Consultations.version
10
+ s.authors = ["Juan Salvador Perez Garcia"]
11
+ s.email = ["jsperezg@gmail.com"]
12
+ s.license = "AGPL-3.0"
13
+ s.homepage = "https://github.com/decidim/decidim"
14
+ s.required_ruby_version = "~> 3.0.0"
15
+
16
+ s.name = "decidim-consultations"
17
+ s.summary = "Decidim consultations module"
18
+ s.description = "Extends Decidim adding a first level public consultation component"
19
+
20
+ s.files = Dir.chdir(__dir__) do
21
+ `git ls-files -z`.split("\x0").select do |f|
22
+ (File.expand_path(f) == __FILE__) ||
23
+ f.start_with?(*%w(app/ config/ db/ lib/ Rakefile README.md))
24
+ end
25
+ end
26
+
27
+ s.add_dependency "decidim-admin", Decidim::Consultations.version
28
+ s.add_dependency "decidim-comments", Decidim::Consultations.version
29
+ s.add_dependency "decidim-core", Decidim::Consultations.version
30
+
31
+ s.add_development_dependency "decidim-dev", Decidim::Consultations.version
32
+ end
@@ -157,7 +157,7 @@ module Decidim
157
157
  initializer "decidim_consultations.admin_consultation_components_menu" do
158
158
  Decidim.menu :admin_consultation_components_menu do |menu|
159
159
  current_participatory_space.components.each do |component|
160
- caption = translated_attribute(component.name)
160
+ caption = decidim_escape_translated(component.name)
161
161
  if component.primary_stat.present?
162
162
  caption += content_tag(:span, component.primary_stat, class: component.primary_stat.zero? ? "component-counter component-counter--off" : "component-counter")
163
163
  end
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Consultations
5
5
  def self.version
6
- "0.27.5"
6
+ "0.27.6"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-consultations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.5
4
+ version: 0.27.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Salvador Perez Garcia
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-20 00:00:00.000000000 Z
11
+ date: 2024-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: decidim-admin
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.27.5
19
+ version: 0.27.6
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.27.5
26
+ version: 0.27.6
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: decidim-comments
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 0.27.5
33
+ version: 0.27.6
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 0.27.5
40
+ version: 0.27.6
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: decidim-core
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 0.27.5
47
+ version: 0.27.6
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 0.27.5
54
+ version: 0.27.6
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: decidim-dev
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 0.27.5
61
+ version: 0.27.6
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 0.27.5
68
+ version: 0.27.6
69
69
  description: Extends Decidim adding a first level public consultation component
70
70
  email:
71
71
  - jsperezg@gmail.com
@@ -275,6 +275,7 @@ files:
275
275
  - config/locales/ga-IE.yml
276
276
  - config/locales/gl.yml
277
277
  - config/locales/gn-PY.yml
278
+ - config/locales/he-IL.yml
278
279
  - config/locales/hr-HR.yml
279
280
  - config/locales/hr.yml
280
281
  - config/locales/hu.yml
@@ -362,6 +363,7 @@ files:
362
363
  - db/seeds/city.jpeg
363
364
  - db/seeds/city2.jpeg
364
365
  - db/seeds/homepage_image.jpg
366
+ - decidim-consultations.gemspec
365
367
  - lib/decidim/api/consultation_question_type.rb
366
368
  - lib/decidim/api/consultation_type.rb
367
369
  - lib/decidim/consultations.rb
@@ -377,23 +379,23 @@ homepage: https://github.com/decidim/decidim
377
379
  licenses:
378
380
  - AGPL-3.0
379
381
  metadata: {}
380
- post_install_message:
382
+ post_install_message:
381
383
  rdoc_options: []
382
384
  require_paths:
383
385
  - lib
384
386
  required_ruby_version: !ruby/object:Gem::Requirement
385
387
  requirements:
386
- - - ">="
388
+ - - "~>"
387
389
  - !ruby/object:Gem::Version
388
- version: '3.0'
390
+ version: 3.0.0
389
391
  required_rubygems_version: !ruby/object:Gem::Requirement
390
392
  requirements:
391
393
  - - ">="
392
394
  - !ruby/object:Gem::Version
393
395
  version: '0'
394
396
  requirements: []
395
- rubygems_version: 3.4.22
396
- signing_key:
397
+ rubygems_version: 3.2.22
398
+ signing_key:
397
399
  specification_version: 4
398
400
  summary: Decidim consultations module
399
401
  test_files: []