decidim-assemblies 0.17.2 → 0.18.0
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 +4 -4
- data/app/cells/decidim/assemblies/assembly_m/footer.erb +1 -1
- data/app/cells/decidim/assemblies/assembly_m_cell.rb +24 -1
- data/app/commands/decidim/assemblies/admin/copy_assembly.rb +1 -0
- data/app/controllers/decidim/assemblies/admin/application_controller.rb +5 -4
- data/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +20 -10
- data/app/controllers/decidim/assemblies/admin/concerns/assembly_admin.rb +6 -4
- data/app/controllers/decidim/assemblies/application_controller.rb +6 -5
- data/app/controllers/decidim/assemblies/assemblies_controller.rb +18 -22
- data/app/forms/decidim/assemblies/admin/assembly_member_form.rb +1 -1
- data/app/helpers/decidim/assemblies/assemblies_helper.rb +6 -0
- data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +18 -7
- data/app/models/decidim/assembly.rb +36 -10
- data/app/permissions/decidim/assemblies/permissions.rb +1 -1
- data/app/queries/decidim/assemblies/admin/admin_users.rb +8 -1
- data/app/queries/decidim/assemblies/organization_published_assemblies.rb +2 -2
- data/app/queries/decidim/assemblies/visible_assemblies.rb +1 -8
- data/app/services/decidim/assemblies/assembly_search.rb +18 -0
- data/app/views/decidim/assemblies/_filter_by_type.html.erb +13 -12
- data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +133 -73
- data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +29 -10
- data/app/views/decidim/assemblies/assemblies/_count.html.erb +1 -1
- data/app/views/decidim/assemblies/assemblies/_parent_assemblies.html.erb +2 -1
- data/app/views/decidim/assemblies/assemblies/_promoted_assembly.html.erb +1 -1
- data/app/views/decidim/assemblies/assemblies/index.html.erb +1 -0
- data/app/views/decidim/assemblies/assemblies/index.js.erb +2 -1
- data/app/views/decidim/assemblies/assemblies/show.html.erb +42 -36
- data/config/locales/ar-SA.yml +9 -2
- data/config/locales/ar.yml +386 -0
- data/config/locales/ca.yml +9 -2
- data/config/locales/cs.yml +8 -2
- data/config/locales/de.yml +8 -2
- data/config/locales/en.yml +9 -2
- data/config/locales/es-MX.yml +9 -2
- data/config/locales/es-PY.yml +9 -2
- data/config/locales/es.yml +9 -2
- data/config/locales/eu.yml +8 -2
- data/config/locales/fi-plain.yml +9 -2
- data/config/locales/fi.yml +9 -2
- data/config/locales/fr.yml +8 -2
- data/config/locales/gl.yml +8 -2
- data/config/locales/hu.yml +9 -2
- data/config/locales/id-ID.yml +8 -2
- data/config/locales/it.yml +9 -2
- data/config/locales/nl.yml +8 -2
- data/config/locales/pl.yml +8 -2
- data/config/locales/pt-BR.yml +8 -2
- data/config/locales/pt.yml +8 -2
- data/config/locales/ru.yml +1 -2
- data/config/locales/sv.yml +8 -2
- data/config/locales/tr-TR.yml +9 -2
- data/config/locales/uk.yml +1 -2
- data/lib/decidim/assemblies/version.rb +1 -1
- metadata +9 -7
@@ -9,14 +9,7 @@ module Decidim
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def query
|
12
|
-
|
13
|
-
|
14
|
-
if @user
|
15
|
-
return assemblies if @user.admin
|
16
|
-
assemblies.visible_for(@user.id)
|
17
|
-
else
|
18
|
-
assemblies.public_spaces
|
19
|
-
end
|
12
|
+
Decidim::Assembly.visible_for(@user)
|
20
13
|
end
|
21
14
|
end
|
22
15
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Assemblies
|
5
|
+
# Service that encapsulates all logic related to filtering assemblies.
|
6
|
+
class AssemblySearch < ParticipatorySpaceSearch
|
7
|
+
def initialize(options = {})
|
8
|
+
super(Assembly.all, options)
|
9
|
+
end
|
10
|
+
|
11
|
+
def search_assembly_type
|
12
|
+
return query if assembly_type == "all"
|
13
|
+
|
14
|
+
query.where(assembly_type: assembly_type)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -1,14 +1,15 @@
|
|
1
1
|
<div id="assemblies-filter" class="inline-filters">
|
2
|
-
<label>
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
</
|
13
|
-
|
2
|
+
<label>
|
3
|
+
<span><%= help_text %></span>
|
4
|
+
<button id="button-text" data-toggle="inline-filter-sort"><%= current_filter_name %></button>
|
5
|
+
<div id="inline-filter-sort" class="dropdown-pane" data-position="bottom" data-alignment="right" data-dropdown data-auto-focus="true">
|
6
|
+
<ul class="list-reset">
|
7
|
+
<% available_filters.each do |filter| %>
|
8
|
+
<%= link_to filter_link(filter), remote: true do %>
|
9
|
+
<li><%= filter_name(filter) %></li>
|
10
|
+
<% end %>
|
11
|
+
<% end %>
|
12
|
+
</ul>
|
13
|
+
</div>
|
14
|
+
</label>
|
14
15
|
</div>
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
<div class="card">
|
4
4
|
<div class="card-divider">
|
5
|
-
<h2 class="card-title"><%= t
|
5
|
+
<h2 class="card-title"><%= t(".title") %></h2>
|
6
6
|
</div>
|
7
7
|
|
8
8
|
<div class="card-section">
|
@@ -14,18 +14,12 @@
|
|
14
14
|
<%= form.translated :text_field, :subtitle %>
|
15
15
|
</div>
|
16
16
|
|
17
|
-
<% if params[:parent_id].present? %>
|
18
|
-
<%= form.hidden_field :parent_id, value: @form.parent_id %>
|
19
|
-
<% else %>
|
20
|
-
<div class="row column">
|
21
|
-
<%= form.select :parent_id, options_from_collection_for_select(@all_assemblies, :id, :translated_title, selected: current_assembly.try(:parent_id)), include_blank: t(".select_parent_assembly") %>
|
22
|
-
</div>
|
23
|
-
<% end %>
|
24
|
-
|
25
17
|
<div class="row">
|
26
18
|
<div class="columns xlarge-6 slug">
|
27
19
|
<%= form.text_field :slug %>
|
28
|
-
<p class="help-text"
|
20
|
+
<p class="help-text">
|
21
|
+
<%== t(".slug_help", url: decidim_form_slug_url(:assemblies, form.object.slug)) %>
|
22
|
+
</p>
|
29
23
|
</div>
|
30
24
|
|
31
25
|
<div class="columns xlarge-6">
|
@@ -34,47 +28,75 @@
|
|
34
28
|
</div>
|
35
29
|
|
36
30
|
<div class="row column">
|
37
|
-
<%= form.
|
31
|
+
<%= form.translated :editor, :short_description %>
|
38
32
|
</div>
|
39
33
|
|
40
34
|
<div class="row column">
|
41
|
-
<%= form.translated :editor, :
|
35
|
+
<%= form.translated :editor, :description, toolbar: :full, lines: 25 %>
|
42
36
|
</div>
|
43
37
|
|
44
38
|
<div class="row column">
|
45
|
-
<%= form.translated :editor, :
|
39
|
+
<%= form.translated :editor, :purpose_of_action %>
|
46
40
|
</div>
|
47
41
|
|
48
|
-
<div class="row">
|
49
|
-
|
50
|
-
|
51
|
-
</div>
|
42
|
+
<div class="row column">
|
43
|
+
<%= form.translated :editor, :composition %>
|
44
|
+
</div>
|
52
45
|
|
53
|
-
|
54
|
-
|
55
|
-
</div>
|
46
|
+
<div class="row column">
|
47
|
+
<%= form.translated :editor, :internal_organisation %>
|
56
48
|
</div>
|
49
|
+
</div>
|
57
50
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
51
|
+
<div class="card-divider">
|
52
|
+
<h2 class="card-title"><%= t(".duration") %></h2>
|
53
|
+
</div>
|
54
|
+
|
55
|
+
<div class="card-section">
|
56
|
+
<div class="row column">
|
57
|
+
<%= form.date_field :creation_date %>
|
58
|
+
</div>
|
59
|
+
|
60
|
+
<div class="row column">
|
61
|
+
<%= form.date_field :included_at %>
|
62
|
+
<p class="help-text"><%== t(".included_at_help") %></p>
|
63
|
+
</div>
|
64
|
+
|
65
|
+
<div class="row column">
|
66
|
+
<%= form.date_field :duration %>
|
67
|
+
<p class="help-text"><%== t(".duration_help") %></p>
|
68
|
+
</div>
|
69
|
+
|
70
|
+
<div class="row column" id="closing_date_div">
|
71
|
+
<%= form.date_field :closing_date %>
|
62
72
|
</div>
|
63
73
|
|
74
|
+
<div class="row column" id="closing_date_reason_div">
|
75
|
+
<%= form.translated :editor, :closing_date_reason %>
|
76
|
+
</div>
|
77
|
+
</div>
|
78
|
+
|
79
|
+
<div class="card-divider">
|
80
|
+
<h2 class="card-title"><%= t(".images") %></h2>
|
81
|
+
</div>
|
82
|
+
|
83
|
+
<div class="card-section">
|
64
84
|
<div class="row">
|
65
85
|
<div class="columns xlarge-6">
|
66
|
-
<%= form.
|
86
|
+
<%= form.upload :hero_image %>
|
67
87
|
</div>
|
68
88
|
|
69
89
|
<div class="columns xlarge-6">
|
70
|
-
<%= form.
|
90
|
+
<%= form.upload :banner_image %>
|
71
91
|
</div>
|
72
92
|
</div>
|
73
|
-
|
74
|
-
<div class="row column">
|
75
|
-
<%= form.translated :text_field, :target %>
|
76
93
|
</div>
|
77
94
|
|
95
|
+
<div class="card-divider">
|
96
|
+
<h2 class="card-title"><%= t(".filters") %></h2>
|
97
|
+
</div>
|
98
|
+
|
99
|
+
<div class="card-section">
|
78
100
|
<div class="row column">
|
79
101
|
<%= form.check_box :scopes_enabled %>
|
80
102
|
</div>
|
@@ -84,9 +106,18 @@
|
|
84
106
|
</div>
|
85
107
|
|
86
108
|
<div class="row column">
|
87
|
-
<%= form.
|
109
|
+
<%= form.areas_select :area_id,
|
110
|
+
areas_for_select(current_organization),
|
111
|
+
selected: current_assembly.try(:decidim_area_id),
|
112
|
+
include_blank: t(".select_an_area") %>
|
88
113
|
</div>
|
114
|
+
</div>
|
89
115
|
|
116
|
+
<div class="card-divider">
|
117
|
+
<h2 class="card-title"><%= t(".metadata") %></h2>
|
118
|
+
</div>
|
119
|
+
|
120
|
+
<div class="card-section">
|
90
121
|
<div class="row column">
|
91
122
|
<%= form.translated :text_field, :participatory_scope %>
|
92
123
|
</div>
|
@@ -94,76 +125,97 @@
|
|
94
125
|
<div class="row column">
|
95
126
|
<%= form.translated :text_field, :participatory_structure %>
|
96
127
|
</div>
|
97
|
-
|
98
|
-
|
99
|
-
|
128
|
+
<div class="row">
|
129
|
+
<div class="columns xlarge-6">
|
130
|
+
<%= form.translated :text_field, :meta_scope %>
|
131
|
+
</div>
|
100
132
|
</div>
|
101
133
|
|
102
|
-
<div class="row
|
103
|
-
|
104
|
-
<%= form.
|
105
|
-
|
106
|
-
{ include_blank: false },
|
107
|
-
{ multiple: true, class: "chosen-select" } %>
|
108
|
-
<% end %>
|
109
|
-
</div>
|
134
|
+
<div class="row">
|
135
|
+
<div class="columns xlarge-6">
|
136
|
+
<%= form.translated :text_field, :developer_group %>
|
137
|
+
</div>
|
110
138
|
|
111
|
-
|
112
|
-
|
139
|
+
<div class="columns xlarge-6">
|
140
|
+
<%= form.translated :text_field, :local_area %>
|
141
|
+
</div>
|
113
142
|
</div>
|
114
143
|
|
115
144
|
<div class="row column">
|
116
|
-
<%= form.translated :
|
145
|
+
<%= form.translated :text_field, :target %>
|
117
146
|
</div>
|
147
|
+
</div>
|
118
148
|
|
119
|
-
|
120
|
-
|
121
|
-
|
149
|
+
<div class="card-divider">
|
150
|
+
<h2 class="card-title"><%= t(".visbility") %></h2>
|
151
|
+
</div>
|
122
152
|
|
123
|
-
|
124
|
-
|
125
|
-
|
153
|
+
<div class="card-section">
|
154
|
+
<% if params[:parent_id].present? %>
|
155
|
+
<%= form.hidden_field :parent_id, value: @form.parent_id %>
|
156
|
+
<% else %>
|
157
|
+
<div class="row column">
|
158
|
+
<%= form.select :parent_id,
|
159
|
+
options_from_collection_for_select(
|
160
|
+
@all_assemblies,
|
161
|
+
:id,
|
162
|
+
:translated_title,
|
163
|
+
selected: current_assembly.try(:parent_id)
|
164
|
+
),
|
165
|
+
include_blank: t(".select_parent_assembly") %>
|
166
|
+
</div>
|
167
|
+
<% end %>
|
126
168
|
|
127
169
|
<div class="row column">
|
128
|
-
<%= form.
|
170
|
+
<%= form.check_box :promoted %>
|
129
171
|
</div>
|
130
172
|
|
131
|
-
<div class="row column">
|
132
|
-
<%= form.
|
173
|
+
<div class="row column" id="private_space">
|
174
|
+
<%= form.check_box :private_space %>
|
133
175
|
</div>
|
134
176
|
|
135
|
-
<div class="row column" id="
|
136
|
-
<%= form.
|
177
|
+
<div class="row column" id="is_transparent">
|
178
|
+
<%= form.check_box :is_transparent %>
|
137
179
|
</div>
|
180
|
+
</div>
|
138
181
|
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
</div>
|
182
|
+
<div class="card-divider">
|
183
|
+
<h2 class="card-title"><%= t(".other") %></h2>
|
184
|
+
</div>
|
143
185
|
|
186
|
+
<div class="card-section">
|
144
187
|
<div class="row column">
|
145
|
-
<%= form.
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
<div class="row column" id="closing_date_div">
|
150
|
-
<%= form.date_field :closing_date %>
|
188
|
+
<%= form.select :created_by,
|
189
|
+
@form.created_by_for_select,
|
190
|
+
{ include_blank: t(".select_a_created_by") },
|
191
|
+
{ multiple: false } %>
|
151
192
|
</div>
|
152
193
|
|
153
|
-
<div class="row column" id="
|
154
|
-
<%= form.translated :
|
194
|
+
<div class="row column" id="created_by_other">
|
195
|
+
<%= form.translated :text_field, :created_by_other %>
|
155
196
|
</div>
|
156
197
|
|
157
198
|
<div class="row column">
|
158
|
-
<%= form.
|
199
|
+
<%= form.select :assembly_type,
|
200
|
+
@form.assembly_types_for_select,
|
201
|
+
{ include_blank: t(".select_an_assembly_type") },
|
202
|
+
{ multiple: false } %>
|
159
203
|
</div>
|
160
204
|
|
161
|
-
<div class="row column" id="
|
162
|
-
<%= form.
|
205
|
+
<div class="row column" id="assembly_type_other">
|
206
|
+
<%= form.translated :text_field, :assembly_type_other %>
|
163
207
|
</div>
|
164
208
|
|
165
|
-
<div class="row column"
|
166
|
-
|
209
|
+
<div class="row column">
|
210
|
+
<% if @form.processes_for_select %>
|
211
|
+
<%= form.select :participatory_processes_ids,
|
212
|
+
options_for_select(
|
213
|
+
@form.processes_for_select,
|
214
|
+
selected: processes_selected
|
215
|
+
),
|
216
|
+
{ include_blank: false },
|
217
|
+
{ multiple: true, class: "chosen-select" } %>
|
218
|
+
<% end %>
|
167
219
|
</div>
|
168
220
|
|
169
221
|
<div class="row column" id="special_features">
|
@@ -171,7 +223,15 @@
|
|
171
223
|
</div>
|
172
224
|
|
173
225
|
<div class="columns xlarge-6">
|
174
|
-
<%= form.social_field :text_field,
|
226
|
+
<%= form.social_field :text_field,
|
227
|
+
:social_handlers,
|
228
|
+
Decidim::Assembly::SOCIAL_HANDLERS,
|
229
|
+
label: t("social_handlers",
|
230
|
+
scope: "decidim.assemblies.admin.assemblies.form") %>
|
231
|
+
</div>
|
232
|
+
|
233
|
+
<div class="row column">
|
234
|
+
<%= form.check_box :show_statistics %>
|
175
235
|
</div>
|
176
236
|
</div>
|
177
237
|
</div>
|
@@ -2,10 +2,17 @@
|
|
2
2
|
<div class="card-divider">
|
3
3
|
<h2 class="card-title">
|
4
4
|
<% parent_assembly.self_and_ancestors.each do |assembly| %>
|
5
|
-
<%= link_to
|
5
|
+
<%= link_to translated_attribute(assembly.title), edit_assembly_path(assembly) %>
|
6
|
+
<span>></span>
|
6
7
|
<% end if parent_assembly %>
|
7
|
-
|
8
|
-
<%=
|
8
|
+
|
9
|
+
<%= t("assemblies", scope: "decidim.admin.titles") %>
|
10
|
+
|
11
|
+
<% if allowed_to? :create, :assembly %>
|
12
|
+
<%= link_to t("actions.new_assembly", scope: "decidim.admin"),
|
13
|
+
new_assembly_path(parent_id: parent_assembly&.id),
|
14
|
+
class: "button tiny button--title" %>
|
15
|
+
<% end %>
|
9
16
|
</h2>
|
10
17
|
</div>
|
11
18
|
<div class="card-section">
|
@@ -13,10 +20,18 @@
|
|
13
20
|
<table class="table-list">
|
14
21
|
<thead>
|
15
22
|
<tr>
|
16
|
-
<th
|
17
|
-
|
18
|
-
|
19
|
-
<th
|
23
|
+
<th>
|
24
|
+
<%= sort_link(query, :title, t("models.assembly.fields.title", scope: "decidim.admin")) %>
|
25
|
+
</th>
|
26
|
+
<th>
|
27
|
+
<%= sort_link(query, :created_at, t("models.assembly.fields.created_at", scope: "decidim.admin"), default_order: :desc) %>
|
28
|
+
</th>
|
29
|
+
<th>
|
30
|
+
<%= sort_link(query, :private_space, t("models.assembly.fields.private", scope: "decidim.admin")) %>
|
31
|
+
</th>
|
32
|
+
<th class="table-list__actions">
|
33
|
+
<%= sort_link(query, :published_at, t("models.assembly.fields.published", scope: "decidim.admin")) %>
|
34
|
+
</th>
|
20
35
|
<th></th>
|
21
36
|
</tr>
|
22
37
|
</thead>
|
@@ -40,7 +55,7 @@
|
|
40
55
|
<% end %>
|
41
56
|
</td>
|
42
57
|
<td>
|
43
|
-
<%= l
|
58
|
+
<%= l(assembly.created_at, format: :short) %>
|
44
59
|
</td>
|
45
60
|
<td class="table-list__state">
|
46
61
|
<% if assembly.private_space? %>
|
@@ -65,8 +80,11 @@
|
|
65
80
|
<%= icon_link_to "pencil", edit_assembly_path(assembly), t("actions.configure", scope: "decidim.admin"), class: "action-icon--new" %>
|
66
81
|
<% end %>
|
67
82
|
|
68
|
-
<% if assembly.
|
69
|
-
<%= icon_link_to "dial",
|
83
|
+
<% if assembly.parent.blank? && (assembly.children.count.positive? || allowed_to?(:create, :assembly)) %>
|
84
|
+
<%= icon_link_to "dial",
|
85
|
+
decidim_admin_assemblies.assemblies_path(parent_id: assembly.id),
|
86
|
+
t("decidim.admin.titles.assemblies"),
|
87
|
+
class: "action-icon--dial #{'highlighted' if assembly.children.count.positive?}" %>
|
70
88
|
<% end %>
|
71
89
|
|
72
90
|
<% if allowed_to? :preview, :assembly, assembly: assembly %>
|
@@ -77,6 +95,7 @@
|
|
77
95
|
<% end %>
|
78
96
|
</tbody>
|
79
97
|
</table>
|
98
|
+
<%= paginate @assemblies, theme: "decidim" %>
|
80
99
|
</div>
|
81
100
|
</div>
|
82
101
|
</div>
|
@@ -1 +1 @@
|
|
1
|
-
<%= t("assemblies.order_by_assemblies.assemblies", scope: "layouts.decidim", count:
|
1
|
+
<%= t("assemblies.order_by_assemblies.assemblies", scope: "layouts.decidim", count: parent_assemblies.count) %>
|