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.
- checksums.yaml +4 -4
- data/app/cells/decidim/sortitions/sortition_cell.rb +1 -1
- data/app/cells/decidim/sortitions/sortition_l_cell.rb +26 -0
- data/app/cells/decidim/sortitions/sortition_metadata_cell.rb +66 -0
- data/app/commands/decidim/sortitions/admin/create_sortition.rb +2 -2
- data/app/commands/decidim/sortitions/admin/destroy_sortition.rb +1 -1
- data/app/commands/decidim/sortitions/admin/update_sortition.rb +1 -1
- data/app/controllers/decidim/sortitions/admin/sortitions_controller.rb +11 -11
- data/app/controllers/decidim/sortitions/sortitions_controller.rb +0 -1
- data/app/helpers/decidim/sortitions/admin/sortitions_helper.rb +1 -0
- data/app/helpers/decidim/sortitions/sortitions_helper.rb +25 -1
- data/app/models/decidim/sortitions/sortition.rb +3 -3
- data/app/packs/entrypoints/decidim_sortitions.js +3 -0
- data/app/packs/stylesheets/sortitions.scss +31 -0
- data/app/presenters/decidim/sortitions/admin_log/sortition_presenter.rb +2 -2
- data/app/queries/decidim/sortitions/admin/participatory_space_proposal_components.rb +1 -1
- data/app/views/decidim/sortitions/admin/sortitions/_form.html.erb +29 -31
- data/app/views/decidim/sortitions/admin/sortitions/confirm_destroy.html.erb +24 -15
- data/app/views/decidim/sortitions/admin/sortitions/edit.html.erb +26 -22
- data/app/views/decidim/sortitions/admin/sortitions/index.html.erb +47 -54
- data/app/views/decidim/sortitions/admin/sortitions/new.html.erb +16 -10
- data/app/views/decidim/sortitions/admin/sortitions/show.html.erb +42 -46
- data/app/views/decidim/sortitions/sortitions/_proposal.html.erb +1 -1
- data/app/views/decidim/sortitions/sortitions/_results_count.html.erb +3 -3
- data/app/views/decidim/sortitions/sortitions/_sortitions.html.erb +10 -11
- data/app/views/decidim/sortitions/sortitions/_tags.html.erb +0 -1
- data/app/views/decidim/sortitions/sortitions/index.html.erb +14 -17
- data/app/views/decidim/sortitions/sortitions/index.js.erb +0 -5
- data/app/views/decidim/sortitions/sortitions/show.html.erb +123 -118
- data/config/environment.rb +3 -0
- data/config/locales/ar.yml +2 -24
- data/config/locales/ca.yml +9 -20
- data/config/locales/cs.yml +8 -23
- data/config/locales/de.yml +10 -21
- data/config/locales/el.yml +6 -19
- data/config/locales/en.yml +14 -25
- data/config/locales/es-MX.yml +9 -20
- data/config/locales/es-PY.yml +9 -20
- data/config/locales/es.yml +9 -20
- data/config/locales/eu.yml +27 -34
- data/config/locales/fi-plain.yml +7 -20
- data/config/locales/fi.yml +10 -23
- data/config/locales/fr-CA.yml +7 -20
- data/config/locales/fr.yml +10 -21
- data/config/locales/ga-IE.yml +0 -6
- data/config/locales/gl.yml +2 -22
- data/config/locales/hu.yml +2 -22
- data/config/locales/id-ID.yml +2 -19
- data/config/locales/is-IS.yml +2 -18
- data/config/locales/it.yml +2 -21
- data/config/locales/ja.yml +7 -19
- data/config/locales/lt.yml +6 -22
- data/config/locales/lv.yml +2 -22
- data/config/locales/nl.yml +2 -21
- data/config/locales/no.yml +2 -21
- data/config/locales/pl.yml +2 -23
- data/config/locales/pt-BR.yml +2 -22
- data/config/locales/pt.yml +2 -21
- data/config/locales/ro-RO.yml +5 -21
- data/config/locales/ru.yml +2 -22
- data/config/locales/sk.yml +2 -23
- data/config/locales/sq-AL.yml +1 -0
- data/config/locales/sr-CS.yml +0 -6
- data/config/locales/sv.yml +2 -21
- data/config/locales/th-TH.yml +1 -0
- data/config/locales/tr-TR.yml +3 -21
- data/config/locales/uk.yml +2 -22
- data/config/locales/zh-CN.yml +2 -20
- data/config/locales/zh-TW.yml +5 -18
- data/lib/decidim/sortitions/component.rb +6 -8
- data/lib/decidim/sortitions/engine.rb +8 -3
- data/lib/decidim/sortitions/seeds.rb +24 -0
- data/lib/decidim/sortitions/test/factories.rb +2 -1
- data/lib/decidim/sortitions/version.rb +1 -1
- metadata +29 -27
- data/app/cells/decidim/sortitions/sortition_m/data.erb +0 -15
- data/app/cells/decidim/sortitions/sortition_m/footer.erb +0 -13
- data/app/cells/decidim/sortitions/sortition_m_cell.rb +0 -55
- data/app/controllers/decidim/sortitions/widgets_controller.rb +0 -20
- data/app/packs/stylesheets/decidim/sortitions/_sortitions.scss +0 -49
- data/app/views/decidim/sortitions/sortition_widgets/show.html.erb +0 -4
- data/app/views/decidim/sortitions/sortitions/_filters.html.erb +0 -39
- data/app/views/decidim/sortitions/sortitions/_filters_small_view.html.erb +0 -18
- data/app/views/decidim/sortitions/sortitions/_sortitions_count.html.erb +0 -1
data/config/locales/zh-TW.yml
CHANGED
@@ -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:
|
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:
|
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, "
|
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:
|
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
|
-
|
37
|
-
|
38
|
-
|
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]
|
16
|
-
|
15
|
+
resources :sortitions, only: [:index, :show]
|
16
|
+
scope "/sortitions" do
|
17
|
+
root to: "sortitions#index"
|
17
18
|
end
|
18
|
-
|
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:
|
12
|
+
participatory_space { create(:participatory_process, :with_steps, organization:) }
|
12
13
|
end
|
13
14
|
|
14
15
|
factory :sortition, class: "Decidim::Sortitions::Sortition" do
|
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.
|
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-
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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/
|
94
|
-
- app/cells/decidim/sortitions/
|
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/
|
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://
|
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.
|
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:
|
270
|
+
version: 1.3.1
|
269
271
|
requirements: []
|
270
|
-
rubygems_version: 3.
|
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
|
-
<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,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">×</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) %>
|