decidim-assemblies 0.16.0 → 0.16.1

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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/assemblies/admin/update_assembly.rb +11 -0
  3. data/app/controllers/decidim/assemblies/assemblies_controller.rb +5 -1
  4. data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +8 -4
  5. data/app/queries/decidim/assemblies/filtered_assemblies.rb +2 -8
  6. data/app/views/decidim/assemblies/_filter_by_type.html.erb +4 -3
  7. data/app/views/decidim/assemblies/assemblies/_parent_assemblies.html.erb +14 -0
  8. data/app/views/decidim/assemblies/assemblies/index.html.erb +1 -14
  9. data/app/views/decidim/assemblies/assemblies/index.js.erb +3 -1
  10. data/app/views/decidim/assemblies/assemblies/show.html.erb +1 -1
  11. data/config/locales/ar-SA.yml +333 -0
  12. data/config/locales/ca.yml +3 -2
  13. data/config/locales/cs-CZ.yml +381 -0
  14. data/config/locales/de.yml +2 -1
  15. data/config/locales/en.yml +2 -1
  16. data/config/locales/es-MX.yml +373 -0
  17. data/config/locales/es-PY.yml +3 -2
  18. data/config/locales/es.yml +5 -4
  19. data/config/locales/eu.yml +1 -0
  20. data/config/locales/fi-pl.yml +1 -0
  21. data/config/locales/fi.yml +15 -14
  22. data/config/locales/fr.yml +1 -0
  23. data/config/locales/gl.yml +1 -0
  24. data/config/locales/hu.yml +16 -15
  25. data/config/locales/id-ID.yml +4 -0
  26. data/config/locales/it.yml +2 -1
  27. data/config/locales/nl.yml +2 -1
  28. data/config/locales/pl.yml +1 -0
  29. data/config/locales/pt-BR.yml +1 -0
  30. data/config/locales/pt.yml +1 -0
  31. data/config/locales/ru.yml +2 -0
  32. data/config/locales/sv.yml +1 -0
  33. data/config/locales/tr-TR.yml +5 -0
  34. data/config/locales/uk.yml +2 -0
  35. data/db/migrate/20190215093700_reset_negative_children_count_counters.rb +8 -0
  36. data/lib/decidim/assemblies/version.rb +1 -1
  37. metadata +13 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93623b3d750202db5ba682221675d92c5abe68884ad81f3838bb695ae6b1bcf1
4
- data.tar.gz: 22bd1c3b11d93e20a77aded79e1b5258e07af3f301d37d7f2038a8c685318eab
3
+ metadata.gz: e96d90146d0241f01788ff0012a2dcef6f1a66e676ff6fbae92fa24e1073bff4
4
+ data.tar.gz: 02f2e71dbfefbc56d4aeca325c3e35565b1203dc7ccd42e80bd7c87fbc4c405f
5
5
  SHA512:
6
- metadata.gz: da27795b25811e8c8d0e45e69f28071ca169761a08953814908f670bcd41e297b2bc8af431904f9f6a6b504441468589103a2b0b83d7ba6371b969b6a0a4a5f7
7
- data.tar.gz: 64d33448389d1dcc36026959a49b6056b2c19e3581d3dd0316f578eba89d691820afdcfb76b64e13a5eb1c02a738a00fee417e2a3a4fef12d41e4260c40f6b0b
6
+ metadata.gz: 518929a6bbcd32201fe0e2e84ba90547d8d030a737d12ba99b2153b628f37e561414e13966dca6985b1ddd401b26c13dadbd60a913d625a528c0a83b6fefe952
7
+ data.tar.gz: d57befcd5fbbeebb8b74af0380b4c221becf7ae9bbf53ec5203ca73ce0ec4aa854f339b8624c505a75150dbbe67f6c65186553237ef65c0f82ce655e3d930260
@@ -13,6 +13,7 @@ module Decidim
13
13
  def initialize(assembly, form)
14
14
  @assembly = assembly
15
15
  @form = form
16
+ @parent = Assembly.find_by(id: @assembly.parent)
16
17
  end
17
18
 
18
19
  # Executes the command. Broadcasts these events:
@@ -42,6 +43,7 @@ module Decidim
42
43
  def update_assembly
43
44
  @assembly.assign_attributes(attributes)
44
45
  save_assembly if @assembly.valid?
46
+ update_children_count
45
47
  end
46
48
 
47
49
  def save_assembly
@@ -107,6 +109,15 @@ module Decidim
107
109
  def link_participatory_processes(assembly)
108
110
  assembly.link_participatory_spaces_resources(participatory_processes(assembly), "included_participatory_processes")
109
111
  end
112
+
113
+ # Resets the children counter cache to its correct value using an SQL count query.
114
+ # Fixes Rails decrementing twice error when updating the parent to nil.
115
+ #
116
+ # Returns nothing.
117
+ def update_children_count
118
+ return unless @parent
119
+ Assembly.reset_counters(@parent.id, :children_count)
120
+ end
110
121
  end
111
122
  end
112
123
  end
@@ -71,7 +71,7 @@ module Decidim
71
71
  end
72
72
 
73
73
  def parent_assemblies
74
- @parent_assemblies ||= assemblies | ParentAssemblies.new | FilteredAssemblies.new(params[:filter])
74
+ @parent_assemblies ||= assemblies | ParentAssemblies.new | FilteredAssemblies.new(current_filter)
75
75
  end
76
76
 
77
77
  alias collection parent_assemblies
@@ -87,6 +87,10 @@ module Decidim
87
87
  def assembly_participatory_processes
88
88
  @assembly_participatory_processes ||= @current_participatory_space.linked_participatory_space_resources(:participatory_processes, "included_participatory_processes")
89
89
  end
90
+
91
+ def current_filter
92
+ params[:filter] || "all"
93
+ end
90
94
  end
91
95
  end
92
96
  end
@@ -12,12 +12,16 @@ module Decidim
12
12
  link_to t(filter, scope: "decidim.assemblies.filter"), url_for(params.to_unsafe_h.merge(page: nil, filter: filter)), data: { filter: filter }, remote: true
13
13
  end
14
14
 
15
- def label_text
16
- t("label", scope: "decidim.assemblies.filter")
15
+ def help_text
16
+ t("help", scope: "decidim.assemblies.filter")
17
17
  end
18
18
 
19
- def placeholder_text
20
- t("placeholder", scope: "decidim.assemblies.filter")
19
+ def filter
20
+ params[:filter] || "all"
21
+ end
22
+
23
+ def current_filter_text
24
+ t(filter, scope: "decidim.assemblies.filter")
21
25
  end
22
26
  end
23
27
  end
@@ -8,20 +8,14 @@ module Decidim
8
8
  @filter = filter
9
9
  end
10
10
 
11
- def filter
12
- return "all" if @filter.nil?
13
-
14
- @filter
15
- end
16
-
17
11
  def assemblies
18
12
  Decidim::Assembly
19
13
  end
20
14
 
21
15
  def query
22
- return assemblies.all if filter == "all"
16
+ return assemblies.all if @filter == "all"
23
17
 
24
- assemblies.where(assembly_type: filter)
18
+ assemblies.where(assembly_type: @filter)
25
19
  end
26
20
  end
27
21
  end
@@ -1,7 +1,7 @@
1
- <div class="inline-filters">
1
+ <div id="assemblies-filter" class="inline-filters">
2
2
  <label>
3
- <span><%= label_text %></span>
4
- <button data-toggle="inline-filter-sort"><%= placeholder_text %></button>
3
+ <span><%= help_text %></span>
4
+ <button id="button-text" data-toggle="inline-filter-sort"><%= current_filter_text %></button>
5
5
  <div id="inline-filter-sort" class="dropdown-pane" data-position="bottom" data-alignment="right" data-dropdown data-auto-focus="true">
6
6
  <ul class="list-reset">
7
7
  <% available_filters.each do |filter| %>
@@ -10,4 +10,5 @@
10
10
  </ul>
11
11
  </div>
12
12
  </label>
13
+ <script> $(document).foundation(); </script>
13
14
  </div>
@@ -0,0 +1,14 @@
1
+ <section id="parent-assemblies" class="section row collapse">
2
+ <div class="row column">
3
+ <div class="flex--sbe">
4
+ <h2 id="assemblies-count" class="section-heading collapse">
5
+ <%= render partial: "count" %>
6
+ </h2>
7
+ <%= render partial: "decidim/assemblies/filter_by_type" %>
8
+ </div>
9
+ <hr class="reset mt-s mb-s" />
10
+ </div>
11
+ <div class="row small-up-1 medium-up-2 large-up-3 card-grid">
12
+ <%= render(collection) %>
13
+ </div>
14
+ </section>
@@ -16,20 +16,7 @@ edit_link(
16
16
  </section>
17
17
  <% end %>
18
18
 
19
- <section id="assemblies-grid" class="section row collapse">
20
- <div class="row column">
21
- <div class="flex--sbe">
22
- <h2 id="assemblies-count" class="section-heading collapse">
23
- <%= render partial: "count" %>
24
- </h2>
25
- <%= render partial: "decidim/assemblies/filter_by_type" %>
26
- </div>
27
- <hr class="reset mt-s mb-s" />
28
- </div>
29
- <div class="row small-up-1 medium-up-2 large-up-3 card-grid">
30
- <%= render(collection) %>
31
- </div>
32
- </section>
19
+ <%= render partial: "parent_assemblies" %>
33
20
 
34
21
  <section id="assemblies-chart" class="row column section">
35
22
  <div class="row column">
@@ -1,5 +1,7 @@
1
- var $grid = $('#assemblies-grid');
1
+ var $grid = $('#parent-assemblies');
2
2
  var $assembliesCount = $('#assemblies-count');
3
+ var $assembliesFilter = $('#assemblies-filter');
3
4
 
4
5
  $grid.find('.card-grid').html('<%= j(render(collection)).strip.html_safe %>');
5
6
  $assembliesCount.html('<%= j(render partial: "count").strip.html_safe %>');
7
+ $assembliesFilter.html('<%= j(render partial: "decidim/assemblies/filter_by_type") %>');
@@ -80,7 +80,7 @@ edit_link(
80
80
  <%= render_hook(:current_participatory_space_meetings) %>
81
81
 
82
82
  <%= attachments_for current_participatory_space %>
83
- <% if current_participatory_space.children_count > 0 %>
83
+ <% if current_participatory_space.children.count.positive? %>
84
84
  <section id="assemblies-grid" class="section row collapse">
85
85
  <h4 class="section-heading"><%= t("assemblies.show.children", scope: "decidim") %></h4>
86
86
  <div class="row small-up-1 medium-up-2 large-up-2 card-grid">
@@ -0,0 +1,333 @@
1
+ ar:
2
+ activemodel:
3
+ attributes:
4
+ assembly:
5
+ area_id: منطقة
6
+ assembly_type: نوع التجمع
7
+ assembly_type_other: نوع التجمع الآخر
8
+ banner_image: صورة بانر
9
+ closing_date: الموعد النهائي
10
+ closing_date_reason: إغلاق تاريخ السبب
11
+ composition: تكوين
12
+ copy_categories: نسخ الفئات
13
+ copy_components: نسخ المكونات
14
+ copy_features: نسخ الميزات
15
+ created_by: صنع من قبل
16
+ created_by_other: التي أنشأتها الآخر
17
+ creation_date: تاريخ الإنشاء
18
+ decidim_area_id: منطقة
19
+ decidim_scope_id: نطاق
20
+ description: وصف
21
+ developer_group: مجموعة المروجين
22
+ domain: نطاق
23
+ duration: المدة الزمنية
24
+ facebook: فيس بوك
25
+ github: جيثب
26
+ hashtag: رابطة هاشتاق
27
+ hero_image: الصورة الرئيسية
28
+ included_at: المدرجة في
29
+ instagram: إينستاجرام
30
+ internal_organisation: تنظيم داخلي
31
+ is_transparent: شفافة
32
+ local_area: منطقة التنظيم
33
+ meta_scope: نطاق البيانات الوصفية
34
+ parent_id: التجمع الرئيسي
35
+ participatory_scope: ما الذي تقرر
36
+ participatory_structure: كيف تقرر ذلك
37
+ private_space: مساحة خاصة
38
+ promoted: تمت ترقيته
39
+ published_at: نشرت في
40
+ purpose_of_action: الغرض من العمل
41
+ scope_id: نطاق
42
+ scopes_enabled: تم تمكين النطاقات
43
+ short_description: وصف قصير
44
+ show_statistics: عرض إحصائيات
45
+ slug: سبيكة URL
46
+ special_features: مميزات خاصة
47
+ subtitle: عنوان فرعي
48
+ target: من يشارك
49
+ title: عنوان
50
+ twitter: تويتر
51
+ youtube: يوتيوب
52
+ assembly_member:
53
+ birthday: عيد الميلاد
54
+ birthplace: مسقط الرأس
55
+ ceased_date: تاريخ التوقف
56
+ designation_date: تاريخ التعيين
57
+ designation_mode: وضع التعيين
58
+ full_name: الاسم الكامل
59
+ gender: جنس
60
+ position: موضع
61
+ assembly_user_role:
62
+ email: البريد الإلكتروني
63
+ name: اسم
64
+ role: وظيفة
65
+ activerecord:
66
+ models:
67
+ decidim/assembly:
68
+ zero: جمعيات
69
+ one: المجسم
70
+ two: جمعيات
71
+ few: جمعيات
72
+ many: جمعيات
73
+ other: جمعيات
74
+ decidim/assembly_member:
75
+ zero: أعضاء الجمعية
76
+ one: عضو الجمعية
77
+ two: أعضاء الجمعية
78
+ few: أعضاء الجمعية
79
+ many: أعضاء الجمعية
80
+ other: أعضاء الجمعية
81
+ decidim/assembly_user_role:
82
+ zero: أدوار المستخدم التجميع
83
+ one: دور مستخدم التجميع
84
+ two: أدوار المستخدم التجميع
85
+ few: أدوار المستخدم التجميع
86
+ many: أدوار المستخدم التجميع
87
+ other: أدوار المستخدم التجميع
88
+ decidim:
89
+ admin:
90
+ actions:
91
+ new_assembly: التجمع الجديد
92
+ assemblies:
93
+ create:
94
+ success: تم إنشاء التجميع بنجاح.
95
+ edit:
96
+ update: تحديث
97
+ form:
98
+ title: معلومات عامة
99
+ index:
100
+ not_published: غير منشور
101
+ private: نشر
102
+ public: عامة
103
+ published: نشرت
104
+ new:
105
+ create: خلق
106
+ title: التجمع الجديد
107
+ assembly_copies:
108
+ new:
109
+ copy: نسخ
110
+ select: حدد البيانات التي ترغب في تكرارها
111
+ title: تجميع مكرر
112
+ assembly_members:
113
+ edit:
114
+ title: تحديث عضو التجميع.
115
+ update: تحديث
116
+ index:
117
+ assembly_members_title: أعضاء الجمعية
118
+ new:
119
+ create: خلق
120
+ title: عضو الجمعية الجديد.
121
+ assembly_user_roles:
122
+ edit:
123
+ update: تحديث
124
+ new:
125
+ create: خلق
126
+ menu:
127
+ assemblies: جمعيات
128
+ assemblies_submenu:
129
+ assembly_members: أفراد
130
+ attachment_collections: المجلدات
131
+ attachment_files: ملفات
132
+ attachments: مرفقات
133
+ categories: الاقسام
134
+ components: المكونات
135
+ info: معلومات
136
+ moderations: الإعتدال
137
+ private_users: المستخدمين من القطاع الخاص
138
+ models:
139
+ assembly:
140
+ fields:
141
+ created_at: أنشئت في
142
+ private: نشر
143
+ promoted: سلط الضوء
144
+ published: نشرت
145
+ title: عنوان
146
+ name: المجسم
147
+ assembly_member:
148
+ fields:
149
+ ceased_date: تاريخ التوقف
150
+ designation_date: تاريخ التعيين
151
+ full_name: اسم
152
+ position: موضع
153
+ name: عضو
154
+ positions:
155
+ other: آخر
156
+ president: رئيس
157
+ secretary: سكرتير
158
+ vice_president: نائب الرئيس
159
+ assembly_user_role:
160
+ fields:
161
+ email: البريد الإلكتروني
162
+ name: اسم
163
+ role: وظيفة
164
+ roles:
165
+ admin: مدير
166
+ collaborator: متعاون
167
+ moderator: وسيط
168
+ titles:
169
+ assemblies: جمعيات
170
+ admin_log:
171
+ assembly:
172
+ create: "%{user_name} خلق التجمع %{resource_name}"
173
+ publish: "%{user_name} نشرت %{resource_name} التجمع"
174
+ unpublish: "%{user_name} غير منشور التجمع %{resource_name}"
175
+ update: "%{user_name} تحديث التجمع %{resource_name}"
176
+ assembly_member:
177
+ create: "%{user_name} أنشأ العضو %{resource_name} في التجميع %{space_name}"
178
+ delete: "%{user_name} إزالة العضو %{resource_name} من التجميع %{space_name}"
179
+ update: "%{user_name} بتحديث العضو %{resource_name} في التجميع %{space_name}"
180
+ assembly_user_role:
181
+ create: "%{user_name} دعا %{resource_name} إلى %{space_name} التجمع"
182
+ update: "%{user_name} غير دور %{resource_name} في التجميع %{space_name}"
183
+ assemblies:
184
+ admin:
185
+ assemblies:
186
+ form:
187
+ duration_help: إذا كانت مدة هذا التجميع محدودة ، فحدد تاريخ الانتهاء. خلاف ذلك ، سوف يظهر على أنه غير مسمى.
188
+ included_at_help: حدد التاريخ الذي تمت فيه إضافة هذا التجميع إلى Decidim. ليس بالضرورة أن يكون هو نفسه تاريخ الإنشاء.
189
+ select_a_created_by: حدد تم إنشاؤها بواسطة
190
+ select_an_area: اختر منطقة
191
+ select_an_assembly_type: حدد نوع التجميع
192
+ select_parent_assembly: حدد التجميع الأصل
193
+ slug_help: 'يتم استخدام slugs URL لإنشاء عناوين URL التي تشير إلى هذا التجميع. يقبل الحروف والأرقام والشرطات فقط ، ويجب أن يبدأ بحرف. مثال: %{url}'
194
+ social_handlers: اجتماعي
195
+ assembly_copies:
196
+ form:
197
+ slug_help: 'يتم استخدام slugs URL لإنشاء عناوين URL التي تشير إلى هذا التجميع. يقبل الحروف والأرقام والشرطات فقط ، ويجب أن يبدأ بحرف. مثال: %{url}'
198
+ assembly_members:
199
+ form:
200
+ existing_user: مستخدم موجود
201
+ select_a_position: اختر المنصب
202
+ index:
203
+ filter:
204
+ all: الكل
205
+ ceased: توقف
206
+ not_ceased: لم تتوقف
207
+ filter_by: مصنف بواسطة
208
+ search: بحث
209
+ content_blocks:
210
+ highlighted_assemblies:
211
+ max_results: أقصى قدر من العناصر لإظهارها
212
+ assembly_members:
213
+ index:
214
+ members: أفراد
215
+ assembly_types:
216
+ commission: العمولة
217
+ consultative_advisory: استشاري / الاستشارية
218
+ executive: تنفيذي
219
+ government: الحكومي
220
+ others: الآخرين
221
+ participatory: المشاركة
222
+ working_group: فريق العمل
223
+ content_blocks:
224
+ highlighted_assemblies:
225
+ name: المجالس البارزة
226
+ created_by:
227
+ city_council: مجلس المدينة
228
+ others: الآخرين
229
+ public: عامة
230
+ filter:
231
+ all: الكل
232
+ commission: عمولة
233
+ consultative_advisory: استشاري / الاستشارية
234
+ executive: تنفيذي
235
+ government: الحكومي
236
+ others: الآخرين
237
+ participatory: المشاركة
238
+ working_group: فريق العمل
239
+ index:
240
+ title: جمعيات
241
+ last_activity:
242
+ new_assembly: التجمع الجديد
243
+ pages:
244
+ home:
245
+ highlighted_assemblies:
246
+ active_assemblies: جمعيات نشطة
247
+ see_all_assemblies: رؤية جميع الجمعيات
248
+ user_profile:
249
+ member_of:
250
+ member_of: عضو في
251
+ show:
252
+ area: منطقة
253
+ assembly_type: نوع التجمع
254
+ children: جمعيات
255
+ closing_date: الموعد النهائي
256
+ composition: تكوين
257
+ created_by: صنع من قبل
258
+ creation_date: تاريخ الإنشاء
259
+ developer_group: مجموعة المروجين
260
+ duration: المدة الزمنية
261
+ included_at: المدرجة في
262
+ indefinite_duration: غير محدد
263
+ internal_organisation: تنظيم داخلي
264
+ is_transparent:
265
+ 'false': مبهمة
266
+ 'true': شفاف
267
+ local_area: منطقة التنظيم
268
+ participatory_scope: ما الذي تقرر
269
+ participatory_structure: كيف تقرر ذلك
270
+ private_space: هذا هو التجمع الخاص
271
+ purpose_of_action: الغرض من العمل
272
+ read_less: أقرأ أقل
273
+ read_more: قراءة المزيد
274
+ related_participatory_processes: العمليات التشاركية ذات الصلة
275
+ scope: نطاق
276
+ social_networks: شبكات اجتماعية
277
+ target: من يشارك
278
+ statistics:
279
+ answers_count: الأجوبة
280
+ assemblies_count: جمعيات
281
+ comments_count: تعليقات
282
+ debates_count: المناقشات
283
+ endorsements_count: موافقات
284
+ headline: نشاط
285
+ meetings_count: اجتماعات
286
+ orders_count: الأصوات
287
+ pages_count: صفحات
288
+ projects_count: مشاريع
289
+ proposals_count: اقتراحات
290
+ results_count: النتائج
291
+ surveys_count: الدراسات الاستقصائية
292
+ users_count: المشاركين
293
+ assembly_members:
294
+ assembly_member:
295
+ designated_on: المعينة على
296
+ index:
297
+ title: أفراد
298
+ help:
299
+ participatory_spaces:
300
+ assemblies:
301
+ title: ما هي الجمعيات؟
302
+ log:
303
+ value_types:
304
+ assembly_presenter:
305
+ not_found: 'لم يتم العثور على التجميع في قاعدة البيانات (المعرف: %{id})'
306
+ menu:
307
+ assemblies: جمعيات
308
+ metrics:
309
+ assemblies:
310
+ description: عدد التجميعات التي تم إنشاؤها
311
+ object: المجالس
312
+ title: جمعيات
313
+ errors:
314
+ messages:
315
+ cannot_be_blank: لا يمكن أن يكون فارغا
316
+ layouts:
317
+ decidim:
318
+ assemblies:
319
+ assembly:
320
+ take_part: خذ جزء
321
+ index:
322
+ organizational_chart: الهيكل التنظيمي
323
+ promoted_assemblies: المجالس البارزة
324
+ reset_chart: إعادة تعيين
325
+ promoted_assembly:
326
+ more_info: مزيد من المعلومات
327
+ take_part: خذ جزء
328
+ assembly_navigation:
329
+ assembly_member_menu_item: أفراد
330
+ assembly_menu_item: الجمعية
331
+ assembly_widgets:
332
+ show:
333
+ take_part: خذ جزء