decidim-consultations 0.27.5 → 0.27.6

Sign up to get free protection for your applications and to get access to all the features.
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: []