decidim-sortitions 0.27.4 → 0.28.0.rc5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/sortitions/sortition_cell.rb +1 -1
  3. data/app/cells/decidim/sortitions/sortition_l_cell.rb +26 -0
  4. data/app/cells/decidim/sortitions/sortition_metadata_cell.rb +66 -0
  5. data/app/commands/decidim/sortitions/admin/create_sortition.rb +2 -2
  6. data/app/commands/decidim/sortitions/admin/destroy_sortition.rb +1 -1
  7. data/app/commands/decidim/sortitions/admin/update_sortition.rb +1 -1
  8. data/app/controllers/decidim/sortitions/admin/sortitions_controller.rb +11 -11
  9. data/app/controllers/decidim/sortitions/sortitions_controller.rb +0 -1
  10. data/app/helpers/decidim/sortitions/admin/sortitions_helper.rb +1 -0
  11. data/app/helpers/decidim/sortitions/sortitions_helper.rb +25 -1
  12. data/app/models/decidim/sortitions/sortition.rb +3 -3
  13. data/app/packs/entrypoints/decidim_sortitions.js +3 -0
  14. data/app/packs/stylesheets/sortitions.scss +31 -0
  15. data/app/presenters/decidim/sortitions/admin_log/sortition_presenter.rb +2 -2
  16. data/app/queries/decidim/sortitions/admin/participatory_space_proposal_components.rb +1 -1
  17. data/app/views/decidim/sortitions/admin/sortitions/_form.html.erb +29 -31
  18. data/app/views/decidim/sortitions/admin/sortitions/confirm_destroy.html.erb +24 -15
  19. data/app/views/decidim/sortitions/admin/sortitions/edit.html.erb +26 -22
  20. data/app/views/decidim/sortitions/admin/sortitions/index.html.erb +47 -54
  21. data/app/views/decidim/sortitions/admin/sortitions/new.html.erb +16 -10
  22. data/app/views/decidim/sortitions/admin/sortitions/show.html.erb +42 -46
  23. data/app/views/decidim/sortitions/sortitions/_proposal.html.erb +1 -1
  24. data/app/views/decidim/sortitions/sortitions/_results_count.html.erb +3 -3
  25. data/app/views/decidim/sortitions/sortitions/_sortitions.html.erb +10 -11
  26. data/app/views/decidim/sortitions/sortitions/_tags.html.erb +0 -1
  27. data/app/views/decidim/sortitions/sortitions/index.html.erb +14 -17
  28. data/app/views/decidim/sortitions/sortitions/index.js.erb +0 -5
  29. data/app/views/decidim/sortitions/sortitions/show.html.erb +123 -118
  30. data/config/environment.rb +3 -0
  31. data/config/locales/ar.yml +2 -24
  32. data/config/locales/ca.yml +9 -20
  33. data/config/locales/cs.yml +8 -23
  34. data/config/locales/de.yml +10 -21
  35. data/config/locales/el.yml +6 -19
  36. data/config/locales/en.yml +14 -25
  37. data/config/locales/es-MX.yml +9 -20
  38. data/config/locales/es-PY.yml +9 -20
  39. data/config/locales/es.yml +9 -20
  40. data/config/locales/eu.yml +27 -34
  41. data/config/locales/fi-plain.yml +7 -20
  42. data/config/locales/fi.yml +10 -23
  43. data/config/locales/fr-CA.yml +7 -20
  44. data/config/locales/fr.yml +10 -21
  45. data/config/locales/ga-IE.yml +0 -6
  46. data/config/locales/gl.yml +2 -22
  47. data/config/locales/hu.yml +2 -22
  48. data/config/locales/id-ID.yml +2 -19
  49. data/config/locales/is-IS.yml +2 -18
  50. data/config/locales/it.yml +2 -21
  51. data/config/locales/ja.yml +7 -19
  52. data/config/locales/lt.yml +6 -22
  53. data/config/locales/lv.yml +2 -22
  54. data/config/locales/nl.yml +2 -21
  55. data/config/locales/no.yml +2 -21
  56. data/config/locales/pl.yml +2 -23
  57. data/config/locales/pt-BR.yml +2 -22
  58. data/config/locales/pt.yml +2 -21
  59. data/config/locales/ro-RO.yml +5 -21
  60. data/config/locales/ru.yml +2 -22
  61. data/config/locales/sk.yml +2 -23
  62. data/config/locales/sq-AL.yml +1 -0
  63. data/config/locales/sr-CS.yml +0 -6
  64. data/config/locales/sv.yml +2 -21
  65. data/config/locales/th-TH.yml +1 -0
  66. data/config/locales/tr-TR.yml +3 -21
  67. data/config/locales/uk.yml +2 -22
  68. data/config/locales/zh-CN.yml +2 -20
  69. data/config/locales/zh-TW.yml +5 -18
  70. data/lib/decidim/sortitions/component.rb +6 -8
  71. data/lib/decidim/sortitions/engine.rb +8 -3
  72. data/lib/decidim/sortitions/seeds.rb +24 -0
  73. data/lib/decidim/sortitions/test/factories.rb +2 -1
  74. data/lib/decidim/sortitions/version.rb +1 -1
  75. metadata +29 -27
  76. data/app/cells/decidim/sortitions/sortition_m/data.erb +0 -15
  77. data/app/cells/decidim/sortitions/sortition_m/footer.erb +0 -13
  78. data/app/cells/decidim/sortitions/sortition_m_cell.rb +0 -55
  79. data/app/controllers/decidim/sortitions/widgets_controller.rb +0 -20
  80. data/app/packs/stylesheets/decidim/sortitions/_sortitions.scss +0 -49
  81. data/app/views/decidim/sortitions/sortition_widgets/show.html.erb +0 -4
  82. data/app/views/decidim/sortitions/sortitions/_filters.html.erb +0 -39
  83. data/app/views/decidim/sortitions/sortitions/_filters_small_view.html.erb +0 -18
  84. data/app/views/decidim/sortitions/sortitions/_sortitions_count.html.erb +0 -1
@@ -38,7 +38,6 @@ zh-TW:
38
38
  actions:
39
39
  destroy: 取消選民隨機抽籤
40
40
  edit: 編輯
41
- new: 新的抽籤
42
41
  show: 抽籤詳細資料
43
42
  models:
44
43
  sortition:
@@ -52,8 +51,6 @@ zh-TW:
52
51
  seed: 種子碼
53
52
  target_items: 選擇項目
54
53
  title: 標題
55
- name:
56
- other: 抽籤
57
54
  sortitions:
58
55
  confirm_destroy:
59
56
  confirm_destroy: 您確定要取消此選項嗎?
@@ -61,17 +58,16 @@ zh-TW:
61
58
  title: 取消抽籤
62
59
  create:
63
60
  error: 建立新抽籤時出現問題。
64
- success: 排序成功建立
61
+ success: 抽籤已成功建立。
65
62
  destroy:
66
63
  error: 無法取消抽籤。
67
- success: 隨機抽籤已成功取消
64
+ success: 抽籤取消成功。
68
65
  edit:
69
66
  title: 更新抽籤資訊
70
67
  update: 更新
71
68
  form:
72
69
  all_categories: 所有類別
73
70
  select_proposal_component: 選擇提案集
74
- title: 提案新抽籤
75
71
  index:
76
72
  title: 抽籤
77
73
  new:
@@ -82,7 +78,7 @@ zh-TW:
82
78
  selected_proposals: 已選擇的提案以進行抽籤
83
79
  update:
84
80
  error: 更新抽籤時發生問題。
85
- success: 抽籤成功更新
81
+ success: 抽籤成功更新.
86
82
  admin_log:
87
83
  sortition:
88
84
  create: "%{user_name} 在 %{space_name} 中創建了 %{resource_name} 抽籤"
@@ -97,14 +93,7 @@ zh-TW:
97
93
  all: 全部
98
94
  cancelled: 已取消
99
95
  category: 類別
100
- category_prompt: 選擇一個類別
101
- search: 搜尋
102
96
  state: 狀態
103
- filters_small_view:
104
- close_modal: 關閉視窗
105
- filter: 篩選
106
- filter_by: 篩選條件
107
- unfold: 展開
108
97
  linked_sortitions:
109
98
  selected_proposals: 選擇的提案
110
99
  orders:
@@ -117,23 +106,21 @@ zh-TW:
117
106
  show:
118
107
  algorithm: 抽籤排序算法
119
108
  any_category: 從所有類別中
120
- back: 返回列表
121
109
  cancelled: 取消的抽籤
122
110
  candidate_proposal_ids: 隨機抽籤提案的順序和 ID
123
111
  candidate_proposals_info: '該抽籤是在以下提案中進行的 (%{category_label}),以下是這些提案的 ID (選中的提案以粗體標出) '
124
112
  category: 來自 %{category} 類別
125
- dice_result: "(1) 骰子結果"
113
+ dice_result: (1) 骰子結果
126
114
  introduction: '本頁面包含了抽籤 %{reference} 的結果。透過這個抽籤,從下面顯示的提案集合中隨機且以等機率隨機選出了 %{target_items} 個結果。除了顯示的結果外,此頁面的資訊提供了最大化保證並重現結果所需的所有資訊。此抽籤質量的關鍵在於雙重隨機性,一方面是由證人驗證的擲骰子結果,另一方面是精確的抽籤時間提供的算法輸入以產生隨機選擇。抽籤的時間種子如此精確(秒級),以至於人類無法控制,從而提供雙重「不可控制」輸入,以保證公平結果。 '
127
115
  mathematical_result: 結果 (1) x (2)
128
116
  proposals_selected_by_sortition: 通過抽籤選中的提案
129
117
  sortition_reproducibility_details: 抽籤可重複性詳情
130
- time_seed: "(2) 時間種子"
118
+ time_seed: (2) 時間種子
131
119
  witnesses: 見證人
132
120
  sortition:
133
121
  random_seed: 隨機種子
134
122
  selected_proposals:
135
123
  other: 選中的提案
136
- view: 檢視
137
124
  sortition_author:
138
125
  deleted: 已刪除的參與者
139
126
  sortition_cancel_author:
@@ -4,12 +4,13 @@ Decidim.register_component(:sortitions) do |component|
4
4
  component.engine = Decidim::Sortitions::Engine
5
5
  component.admin_engine = Decidim::Sortitions::AdminEngine
6
6
  component.icon = "media/images/decidim_sortitions.svg"
7
+ component.icon_key = "billiards-line"
7
8
  # component.stylesheet = "decidim/sortitions/sortitions"
8
9
  component.permissions_class_name = "Decidim::Sortitions::Permissions"
9
10
  component.query_type = "Decidim::Sortitions::SortitionsType"
10
11
 
11
12
  component.on(:before_destroy) do |instance|
12
- raise StandardError, "Can't remove this component" if Decidim::Sortitions::Sortition.where(component: instance).any?
13
+ raise StandardError, "Cannot remove this component" if Decidim::Sortitions::Sortition.where(component: instance).any?
13
14
  end
14
15
 
15
16
  # These actions permissions can be configured in the admin panel
@@ -17,7 +18,7 @@ Decidim.register_component(:sortitions) do |component|
17
18
 
18
19
  component.settings(:global) do |settings|
19
20
  settings.attribute :comments_enabled, type: :boolean, default: true
20
- settings.attribute :comments_max_length, type: :integer, required: false
21
+ settings.attribute :comments_max_length, type: :integer, required: true
21
22
  end
22
23
 
23
24
  # Register an optional resource that can be referenced from other resources.
@@ -33,11 +34,8 @@ Decidim.register_component(:sortitions) do |component|
33
34
  end
34
35
 
35
36
  component.seeds do |participatory_space|
36
- component = Decidim::Component.create!(
37
- name: Decidim::Components::Namer.new(participatory_space.organization.available_locales, :sortitions).i18n_name,
38
- manifest_name: :sortitions,
39
- published_at: Time.current,
40
- participatory_space: participatory_space
41
- )
37
+ require "decidim/sortitions/seeds"
38
+
39
+ Decidim::Sortitions::Seeds.new(participatory_space:).call
42
40
  end
43
41
  end
@@ -12,10 +12,15 @@ module Decidim
12
12
  isolate_namespace Decidim::Sortitions
13
13
 
14
14
  routes do
15
- resources :sortitions, only: [:index, :show] do
16
- resource :widget, only: :show, path: "embed"
15
+ resources :sortitions, only: [:index, :show]
16
+ scope "/sortitions" do
17
+ root to: "sortitions#index"
17
18
  end
18
- root to: "sortitions#index"
19
+ get "/", to: redirect("sortitions", status: 301)
20
+ end
21
+
22
+ initializer "decidim_sortitions.register_icons" do
23
+ Decidim.icons.register(name: "seedling-line", icon: "seedling-line", category: "system", description: "", engine: :sortitions)
19
24
  end
20
25
 
21
26
  initializer "decidim_sortitions.add_cells_view_paths" do
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "decidim/components/namer"
4
+
5
+ module Decidim
6
+ module Sortitions
7
+ class Seeds
8
+ attr_reader :participatory_space
9
+
10
+ def initialize(participatory_space:)
11
+ @participatory_space = participatory_space
12
+ end
13
+
14
+ def call
15
+ Decidim::Component.create!(
16
+ name: Decidim::Components::Namer.new(participatory_space.organization.available_locales, :sortitions).i18n_name,
17
+ manifest_name: :sortitions,
18
+ published_at: Time.current,
19
+ participatory_space:
20
+ )
21
+ end
22
+ end
23
+ end
24
+ end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "decidim/components/namer"
3
4
  require "decidim/faker/localized"
4
5
  require "decidim/core/test/factories"
5
6
  require "decidim/participatory_processes/test/factories"
@@ -8,7 +9,7 @@ FactoryBot.define do
8
9
  factory :sortition_component, parent: :component do
9
10
  name { Decidim::Components::Namer.new(participatory_space.organization.available_locales, :sortitions).i18n_name }
10
11
  manifest_name { :sortitions }
11
- participatory_space { create(:participatory_process, :with_steps, organization: organization) }
12
+ participatory_space { create(:participatory_process, :with_steps, organization:) }
12
13
  end
13
14
 
14
15
  factory :sortition, class: "Decidim::Sortitions::Sortition" do
@@ -3,7 +3,7 @@
3
3
  module Decidim
4
4
  module Sortitions
5
5
  def self.version
6
- "0.27.4"
6
+ "0.28.0.rc5"
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-sortitions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.4
4
+ version: 0.28.0.rc5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Salvador Perez Garcia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-27 00:00:00.000000000 Z
11
+ date: 2023-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: decidim-admin
@@ -16,70 +16,70 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.27.4
19
+ version: 0.28.0.rc5
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.4
26
+ version: 0.28.0.rc5
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.4
33
+ version: 0.28.0.rc5
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.4
40
+ version: 0.28.0.rc5
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.4
47
+ version: 0.28.0.rc5
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.4
54
+ version: 0.28.0.rc5
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: decidim-proposals
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 0.27.4
61
+ version: 0.28.0.rc5
62
62
  type: :runtime
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.4
68
+ version: 0.28.0.rc5
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: decidim-dev
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 0.27.4
75
+ version: 0.28.0.rc5
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 0.27.4
82
+ version: 0.28.0.rc5
83
83
  description: This module makes possible to select amont a set of proposal by sortition
84
84
  email:
85
85
  - jsperezg@gmail.com
@@ -90,9 +90,8 @@ files:
90
90
  - README.md
91
91
  - Rakefile
92
92
  - app/cells/decidim/sortitions/sortition_cell.rb
93
- - app/cells/decidim/sortitions/sortition_m/data.erb
94
- - app/cells/decidim/sortitions/sortition_m/footer.erb
95
- - app/cells/decidim/sortitions/sortition_m_cell.rb
93
+ - app/cells/decidim/sortitions/sortition_l_cell.rb
94
+ - app/cells/decidim/sortitions/sortition_metadata_cell.rb
96
95
  - app/commands/decidim/sortitions/admin/create_sortition.rb
97
96
  - app/commands/decidim/sortitions/admin/destroy_sortition.rb
98
97
  - app/commands/decidim/sortitions/admin/update_sortition.rb
@@ -101,7 +100,6 @@ files:
101
100
  - app/controllers/decidim/sortitions/admin/sortitions_controller.rb
102
101
  - app/controllers/decidim/sortitions/application_controller.rb
103
102
  - app/controllers/decidim/sortitions/sortitions_controller.rb
104
- - app/controllers/decidim/sortitions/widgets_controller.rb
105
103
  - app/events/decidim/sortitions/create_sortition_event.rb
106
104
  - app/forms/decidim/sortitions/admin/destroy_sortition_form.rb
107
105
  - app/forms/decidim/sortitions/admin/edit_sortition_form.rb
@@ -112,7 +110,7 @@ files:
112
110
  - app/models/decidim/sortitions/sortition.rb
113
111
  - app/packs/entrypoints/decidim_sortitions.js
114
112
  - app/packs/images/decidim/sortitions/icon.svg
115
- - app/packs/stylesheets/decidim/sortitions/_sortitions.scss
113
+ - app/packs/stylesheets/sortitions.scss
116
114
  - app/permissions/decidim/sortitions/admin/permissions.rb
117
115
  - app/permissions/decidim/sortitions/permissions.rb
118
116
  - app/presenters/decidim/sortitions/admin_log/sortition_presenter.rb
@@ -126,10 +124,7 @@ files:
126
124
  - app/views/decidim/sortitions/admin/sortitions/index.html.erb
127
125
  - app/views/decidim/sortitions/admin/sortitions/new.html.erb
128
126
  - app/views/decidim/sortitions/admin/sortitions/show.html.erb
129
- - app/views/decidim/sortitions/sortition_widgets/show.html.erb
130
127
  - app/views/decidim/sortitions/sortitions/_count.html.erb
131
- - app/views/decidim/sortitions/sortitions/_filters.html.erb
132
- - app/views/decidim/sortitions/sortitions/_filters_small_view.html.erb
133
128
  - app/views/decidim/sortitions/sortitions/_linked_sortitions.html.erb
134
129
  - app/views/decidim/sortitions/sortitions/_proposal.html.erb
135
130
  - app/views/decidim/sortitions/sortitions/_proposal_badge.html.erb
@@ -138,7 +133,6 @@ files:
138
133
  - app/views/decidim/sortitions/sortitions/_sortition_author.html.erb
139
134
  - app/views/decidim/sortitions/sortitions/_sortition_cancel_author.html.erb
140
135
  - app/views/decidim/sortitions/sortitions/_sortitions.html.erb
141
- - app/views/decidim/sortitions/sortitions/_sortitions_count.html.erb
142
136
  - app/views/decidim/sortitions/sortitions/_tags.html.erb
143
137
  - app/views/decidim/sortitions/sortitions/index.html.erb
144
138
  - app/views/decidim/sortitions/sortitions/index.js.erb
@@ -211,9 +205,11 @@ files:
211
205
  - config/locales/sk.yml
212
206
  - config/locales/sl.yml
213
207
  - config/locales/so-SO.yml
208
+ - config/locales/sq-AL.yml
214
209
  - config/locales/sr-CS.yml
215
210
  - config/locales/sv.yml
216
211
  - config/locales/sw-KE.yml
212
+ - config/locales/th-TH.yml
217
213
  - config/locales/ti-ER.yml
218
214
  - config/locales/tr-TR.yml
219
215
  - config/locales/uk.yml
@@ -246,12 +242,18 @@ files:
246
242
  - lib/decidim/sortitions/api.rb
247
243
  - lib/decidim/sortitions/component.rb
248
244
  - lib/decidim/sortitions/engine.rb
245
+ - lib/decidim/sortitions/seeds.rb
249
246
  - lib/decidim/sortitions/test/factories.rb
250
247
  - lib/decidim/sortitions/version.rb
251
- homepage: https://github.com/decidim/decidim
248
+ homepage: https://decidim.org
252
249
  licenses:
253
250
  - AGPL-3.0
254
- metadata: {}
251
+ metadata:
252
+ bug_tracker_uri: https://github.com/decidim/decidim/issues
253
+ documentation_uri: https://docs.decidim.org/
254
+ funding_uri: https://opencollective.com/decidim
255
+ homepage_uri: https://decidim.org
256
+ source_code_uri: https://github.com/decidim/decidim
255
257
  post_install_message:
256
258
  rdoc_options: []
257
259
  require_paths:
@@ -260,14 +262,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
260
262
  requirements:
261
263
  - - ">="
262
264
  - !ruby/object:Gem::Version
263
- version: '3.0'
265
+ version: '3.1'
264
266
  required_rubygems_version: !ruby/object:Gem::Requirement
265
267
  requirements:
266
- - - ">="
268
+ - - ">"
267
269
  - !ruby/object:Gem::Version
268
- version: '0'
270
+ version: 1.3.1
269
271
  requirements: []
270
- rubygems_version: 3.2.22
272
+ rubygems_version: 3.4.22
271
273
  signing_key:
272
274
  specification_version: 4
273
275
  summary: Decidim sortitions module
@@ -1,15 +0,0 @@
1
- <div class="card__icondata">
2
- <ul class="card-data">
3
- <li class="card-data__item">
4
- <%= icon "random-seed", class: "icon--big", aria_label: t("decidim.sortitions.sortitions.sortition.random_seed"), role: "img" %>
5
- </li>
6
- <li class="card-data__item">
7
- <div class="text-left">
8
- <strong class="heading4">
9
- <%= model.seed %>
10
- </strong>
11
- &nbsp;<small aria-hidden="true"><%= t("decidim.sortitions.sortitions.sortition.random_seed") %></small>
12
- </div>
13
- </li>
14
- </ul>
15
- </div>
@@ -1,13 +0,0 @@
1
- <div class="card__footer">
2
- <div class="card__support">
3
- <div>
4
- <strong class="text-large">
5
- <%= proposals_count %>
6
- </strong>
7
- <small class="text-medium">
8
- <%= t("decidim.sortitions.sortitions.sortition.selected_proposals", count: proposals_count) %>
9
- </small>
10
- </div>
11
- <%= link_to t("decidim.sortitions.sortitions.sortition.view"), resource_path, class: "card__button button--sc button small secondary light" %>
12
- </div>
13
- </div>
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "cell/partial"
4
-
5
- module Decidim
6
- module Sortitions
7
- # This cell renders a sortition with its M-size card.
8
- class SortitionMCell < Decidim::CardMCell
9
- include Decidim::Sortitions::Engine.routes.url_helpers
10
-
11
- private
12
-
13
- def has_author?
14
- false
15
- end
16
-
17
- def has_state?
18
- true
19
- end
20
-
21
- # Even though we need to render the badge, we can't do it in the normal
22
- # way, because the paragraph comes from a user input and contains HTML.
23
- # This causes the badge and the paragraph to appear in different lines.
24
- # In order to fix it, check the `description` method.
25
- def has_badge?
26
- false
27
- end
28
-
29
- def badge_name
30
- return t("filters.cancelled", scope: "decidim.sortitions.sortitions") if model.cancelled?
31
-
32
- t("filters.active", scope: "decidim.sortitions.sortitions")
33
- end
34
-
35
- def state_classes
36
- return ["muted"] if model.cancelled?
37
-
38
- ["success"]
39
- end
40
-
41
- def proposals_count
42
- @proposals_count = model.proposals.count
43
- end
44
-
45
- # In order to render the badge inline with the paragraph text we need to
46
- # find the opening `<p>` tag and include the badge right after it. This
47
- # makes the layout look good.
48
- def description
49
- text = decidim_sanitize_editor(translated_attribute(model.additional_info), strip_tags: true)
50
- text.sub!(/<p>/, "<p>#{render :badge}")
51
- html_truncate(text, length: 100)
52
- end
53
- end
54
- end
55
- end
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Decidim
4
- module Sortitions
5
- class WidgetsController < Decidim::WidgetsController
6
- helper Decidim::SanitizeHelper
7
- helper Sortitions::SortitionsHelper
8
-
9
- private
10
-
11
- def model
12
- @model ||= Sortition.where(component: params[:component_id]).find(params[:sortition_id])
13
- end
14
-
15
- def iframe_url
16
- @iframe_url ||= sortition_widget_url(model)
17
- end
18
- end
19
- end
20
- end
@@ -1,49 +0,0 @@
1
- #sortition-details{
2
- margin-bottom: 1.5rem;
3
- }
4
-
5
- .sortition-details{
6
- padding: 0;
7
- display: flex;
8
- flex-flow: row wrap;
9
- justify-content: flex-start;
10
- align-items: stretch;
11
- align-content: stretch;
12
-
13
- .sortition-details-item{
14
- width: 33.3%;
15
-
16
- @include breakpoint(large down){
17
- width: 33.3%;
18
- }
19
-
20
- @include breakpoint(medium down){
21
- width: 49.9%;
22
- }
23
-
24
- @include breakpoint(smallmedium down){
25
- width: 100%;
26
- }
27
-
28
- display: inline-block;
29
- padding: 1em;
30
- border: $border;
31
- background: $white;
32
-
33
- .sortition-details-title{
34
- margin-right: .5rem;
35
- font-weight: bolder;
36
- }
37
-
38
- .sortition-details-text{
39
- letter-spacing: .03em;
40
- font-size: 90%;
41
- text-transform: uppercase;
42
- color: #3d393c;
43
- font-weight: 600;
44
- line-height: 1;
45
- vertical-align: middle;
46
- height: 1.5em;
47
- }
48
- }
49
- }
@@ -1,4 +0,0 @@
1
- <% content_for(:title, decidim_html_escape(translated_attribute(model.title))) %>
2
- <p>
3
- <%= decidim_sanitize_editor html_truncate(translated_attribute(model.additional_info), length: 100, separator: "...") %>
4
- </p>
@@ -1,39 +0,0 @@
1
- <%= render partial: "decidim/shared/filter_form_help", locals: { skip_to_id: "sortitions" } %>
2
-
3
- <%= filter_form_for filter do |form| %>
4
- <div class="filters__section">
5
- <div class="filters__search">
6
- <div class="input-group">
7
- <%= form.search_field :search_text_cont, label: false, class: "input-group-field", placeholder: t(".search"), title: t(".search"), "aria-label": t(".search"), data: { disable_dynamic_change: true } %>
8
- <div class="input-group-button">
9
- <button type="submit" class="button" aria-controls="sortitions">
10
- <%= icon "magnifying-glass", aria_label: t(".search"), role: "img" %>
11
- </button>
12
- </div>
13
- </div>
14
- </div>
15
- </div>
16
-
17
- <% if current_participatory_space.categories.any? %>
18
- <%= form.categories_select :with_category,
19
- current_participatory_space.categories,
20
- {
21
- legend_title: t(".category"),
22
- disable_parents: false,
23
- label: "",
24
- include_blank: t(".category_prompt"),
25
- aria_label: t(".category")
26
- },
27
- "aria-label": t(".category"),
28
- "aria-controls": "sortitions" %>
29
- <% end %>
30
-
31
- <%= form.collection_radio_buttons :with_any_state,
32
- [["all", t(".all")], ["active", t(".active")], ["cancelled", t(".cancelled")]],
33
- :first,
34
- :last,
35
- { legend_title: t(".state") },
36
- "aria-controls": "sortitions" %>
37
-
38
- <%= hidden_field_tag :order, order, id: nil, class: "order_filter" %>
39
- <% end %>
@@ -1,18 +0,0 @@
1
- <div class="filters-controls hide-for-mediumlarge">
2
- <button data-open="filter-box" class="filters-controls__trigger" aria-controls="filter-box" aria-haspopup="dialog">
3
- <%= t ".filter" %>
4
- <%= icon "caret-bottom", class: "icon--small float-right", aria_label: t(".unfold"), role: "img" %>
5
- </button>
6
- </div>
7
-
8
- <div class="reveal" id="filter-box" data-reveal role="dialog" aria-modal="true" aria-labelledby="filter-box-label">
9
- <div class="reveal__header">
10
- <h3 id="filter-box-label" class="reveal__title"><%= t ".filter_by" %>:</h3>
11
- <button class="close-button" data-close aria-label="<%= t(".close_modal") %>" type="button">
12
- <span aria-hidden="true">&times;</span>
13
- </button>
14
- </div>
15
- <div class="filters">
16
- <%= render partial: "filters", locals: { type: :small } %>
17
- </div>
18
- </div>
@@ -1 +0,0 @@
1
- <%= t(".count", count: @sortitions.total_count) %>