decidim-assemblies 0.29.5 → 0.30.0.rc1

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 (140) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/assemblies/assembly_metadata_g_cell.rb +1 -14
  3. data/app/cells/decidim/assemblies/content_blocks/extra_data_cell.rb +2 -12
  4. data/app/cells/decidim/assemblies/content_blocks/highlighted_assemblies_settings_form/show.erb +1 -1
  5. data/app/commands/decidim/assemblies/admin/copy_assembly.rb +2 -47
  6. data/app/commands/decidim/assemblies/admin/create_assembly.rb +2 -2
  7. data/app/commands/decidim/assemblies/admin/import_assembly.rb +0 -2
  8. data/app/commands/decidim/assemblies/admin/update_assembly.rb +2 -2
  9. data/app/controllers/concerns/decidim/assemblies/admin/filterable.rb +2 -11
  10. data/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +19 -4
  11. data/app/controllers/decidim/assemblies/admin/assembly_copies_controller.rb +1 -1
  12. data/app/controllers/decidim/assemblies/admin/assembly_share_tokens_controller.rb +18 -0
  13. data/app/controllers/decidim/assemblies/admin/component_share_tokens_controller.rb +18 -0
  14. data/app/controllers/decidim/assemblies/assemblies_controller.rb +2 -4
  15. data/app/controllers/decidim/assemblies/{assembly_members_controller.rb → participatory_space_private_users_controller.rb} +3 -11
  16. data/app/forms/decidim/assemblies/admin/assembly_copy_form.rb +0 -2
  17. data/app/forms/decidim/assemblies/admin/assembly_form.rb +5 -40
  18. data/app/forms/decidim/assemblies/admin/assembly_import_form.rb +0 -1
  19. data/app/helpers/decidim/assemblies/admin/assemblies_helper.rb +26 -4
  20. data/app/helpers/decidim/assemblies/assemblies_helper.rb +4 -4
  21. data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +11 -15
  22. data/app/models/decidim/assembly.rb +21 -11
  23. data/app/packs/entrypoints/decidim_assemblies_admin.js +0 -1
  24. data/app/packs/entrypoints/decidim_assemblies_admin_list.js +1 -0
  25. data/app/packs/src/decidim/assemblies/admin/assemblies_list.js +72 -0
  26. data/app/permissions/decidim/assemblies/permissions.rb +9 -26
  27. data/app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb +1 -1
  28. data/app/presenters/decidim/assemblies/assembly_presenter.rb +0 -6
  29. data/app/queries/decidim/assemblies/metrics/assemblies_metric_manage.rb +2 -2
  30. data/app/serializers/decidim/assemblies/assembly_importer.rb +3 -40
  31. data/app/serializers/decidim/assemblies/assembly_serializer.rb +11 -135
  32. data/app/serializers/decidim/assemblies/open_data_assembly_serializer.rb +59 -0
  33. data/app/views/decidim/assemblies/admin/assemblies/_assemblies_thead.html.erb +19 -0
  34. data/app/views/decidim/assemblies/admin/assemblies/_assembly_row.html.erb +101 -0
  35. data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +29 -41
  36. data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +18 -92
  37. data/app/views/decidim/assemblies/admin/assemblies/index.js.erb +10 -0
  38. data/app/views/decidim/assemblies/admin/assemblies/manage_trash.html.erb +20 -0
  39. data/app/views/decidim/assemblies/admin/assembly_copies/_form.html.erb +0 -7
  40. data/app/views/decidim/assemblies/admin/assembly_imports/_form.html.erb +0 -3
  41. data/app/views/decidim/assemblies/assemblies/index.html.erb +3 -1
  42. data/app/views/decidim/assemblies/assemblies/show.html.erb +5 -6
  43. data/app/views/decidim/assemblies/{assembly_members → participatory_space_private_users}/index.html.erb +6 -5
  44. data/config/assets.rb +2 -1
  45. data/config/locales/ar.yml +5 -71
  46. data/config/locales/bg.yml +5 -73
  47. data/config/locales/bs-BA.yml +0 -15
  48. data/config/locales/ca.yml +70 -74
  49. data/config/locales/cs.yml +71 -75
  50. data/config/locales/de.yml +72 -76
  51. data/config/locales/el.yml +5 -71
  52. data/config/locales/en.yml +71 -75
  53. data/config/locales/es-MX.yml +73 -77
  54. data/config/locales/es-PY.yml +73 -77
  55. data/config/locales/es.yml +71 -75
  56. data/config/locales/eu.yml +77 -81
  57. data/config/locales/fi-plain.yml +73 -77
  58. data/config/locales/fi.yml +73 -77
  59. data/config/locales/fr-CA.yml +23 -75
  60. data/config/locales/fr.yml +23 -75
  61. data/config/locales/ga-IE.yml +0 -25
  62. data/config/locales/gl.yml +6 -72
  63. data/config/locales/he-IL.yml +12 -59
  64. data/config/locales/hu.yml +5 -73
  65. data/config/locales/id-ID.yml +6 -63
  66. data/config/locales/is-IS.yml +2 -48
  67. data/config/locales/it.yml +6 -150
  68. data/config/locales/ja.yml +70 -74
  69. data/config/locales/kaa.yml +0 -9
  70. data/config/locales/ko.yml +0 -6
  71. data/config/locales/lb.yml +5 -69
  72. data/config/locales/lt.yml +5 -71
  73. data/config/locales/lv.yml +5 -73
  74. data/config/locales/nl.yml +5 -71
  75. data/config/locales/no.yml +5 -71
  76. data/config/locales/pl.yml +5 -74
  77. data/config/locales/pt-BR.yml +5 -73
  78. data/config/locales/pt.yml +5 -151
  79. data/config/locales/ro-RO.yml +19 -84
  80. data/config/locales/ru.yml +6 -60
  81. data/config/locales/sk.yml +0 -46
  82. data/config/locales/sl.yml +5 -53
  83. data/config/locales/sq-AL.yml +5 -76
  84. data/config/locales/sr-CS.yml +0 -15
  85. data/config/locales/sv.yml +78 -82
  86. data/config/locales/tr-TR.yml +5 -74
  87. data/config/locales/uk.yml +6 -60
  88. data/config/locales/zh-CN.yml +5 -73
  89. data/config/locales/zh-TW.yml +5 -71
  90. data/db/migrate/20190215093700_reset_negative_children_count_counters.rb +2 -2
  91. data/db/migrate/20210310120444_add_followable_counter_cache_to_assemblies.rb +1 -1
  92. data/db/migrate/20240822161222_add_deleted_at_to_decidim_assemblies.rb +8 -0
  93. data/db/migrate/20241016101151_migrate_assembly_members_to_private_users.rb +53 -0
  94. data/db/migrate/20241108141651_remove_column_show_statistics_from_assemblies.rb +7 -0
  95. data/decidim-assemblies.gemspec +1 -1
  96. data/lib/decidim/api/assemblies_type_type.rb +2 -2
  97. data/lib/decidim/api/assembly_type.rb +32 -34
  98. data/lib/decidim/assemblies/admin_engine.rb +77 -54
  99. data/lib/decidim/assemblies/api.rb +0 -1
  100. data/lib/decidim/assemblies/content_blocks/registry_manager.rb +11 -0
  101. data/lib/decidim/assemblies/engine.rb +9 -3
  102. data/lib/decidim/assemblies/menu.rb +9 -22
  103. data/lib/decidim/assemblies/participatory_space.rb +7 -3
  104. data/lib/decidim/assemblies/seeds.rb +9 -33
  105. data/lib/decidim/assemblies/test/factories.rb +15 -36
  106. data/lib/decidim/assemblies/version.rb +1 -1
  107. metadata +28 -49
  108. data/app/cells/decidim/assemblies/assembly_member/data.erb +0 -19
  109. data/app/cells/decidim/assemblies/assembly_member/name_and_position.erb +0 -11
  110. data/app/cells/decidim/assemblies/assembly_member/show.erb +0 -9
  111. data/app/cells/decidim/assemblies/assembly_member_cell.rb +0 -21
  112. data/app/commands/decidim/assemblies/admin/create_assembly_member.rb +0 -55
  113. data/app/commands/decidim/assemblies/admin/destroy_assembly_member.rb +0 -24
  114. data/app/commands/decidim/assemblies/admin/update_assembly_member.rb +0 -29
  115. data/app/controllers/concerns/decidim/assemblies/admin/assembly_members/filterable.rb +0 -39
  116. data/app/controllers/decidim/assemblies/admin/assemblies_types_controller.rb +0 -107
  117. data/app/controllers/decidim/assemblies/admin/assembly_members_controller.rb +0 -83
  118. data/app/controllers/decidim/assemblies/admin/categories_controller.rb +0 -13
  119. data/app/events/decidim/assemblies/create_assembly_member_event.rb +0 -17
  120. data/app/forms/decidim/assemblies/admin/assembly_member_form.rb +0 -64
  121. data/app/helpers/decidim/assemblies/admin/assembly_members_helper.rb +0 -11
  122. data/app/models/decidim/assembly_member.rb +0 -34
  123. data/app/packs/src/decidim/assemblies/admin/assembly_members.js +0 -47
  124. data/app/packs/src/decidim/assemblies/orgchart.js +0 -0
  125. data/app/presenters/decidim/admin/assembly_member_presenter.rb +0 -24
  126. data/app/presenters/decidim/assemblies/admin_log/assembly_member_presenter.rb +0 -51
  127. data/app/presenters/decidim/assemblies/admin_log/value_types/member_position_presenter.rb +0 -22
  128. data/app/presenters/decidim/assembly_member_presenter.rb +0 -68
  129. data/app/views/decidim/assemblies/admin/assemblies_types/_form.html.erb +0 -9
  130. data/app/views/decidim/assemblies/admin/assemblies_types/edit.html.erb +0 -13
  131. data/app/views/decidim/assemblies/admin/assemblies_types/index.html.erb +0 -44
  132. data/app/views/decidim/assemblies/admin/assemblies_types/new.html.erb +0 -18
  133. data/app/views/decidim/assemblies/admin/assembly_members/_form.html.erb +0 -62
  134. data/app/views/decidim/assemblies/admin/assembly_members/edit.html.erb +0 -18
  135. data/app/views/decidim/assemblies/admin/assembly_members/index.html.erb +0 -55
  136. data/app/views/decidim/assemblies/admin/assembly_members/new.html.erb +0 -18
  137. data/app/views/decidim/assembly_members/_assembly_member.html.erb +0 -1
  138. data/app/views/layouts/decidim/admin/assemblies_types.html.erb +0 -17
  139. data/config/locales/ca-IT.yml +0 -460
  140. data/lib/decidim/api/assembly_member_type.rb +0 -27
@@ -0,0 +1,101 @@
1
+ <tr data-assembly-id="<%= assembly.id %>" data-parent-id="<%= assembly.parent_id %>" data-level="<%= assembly.ancestors.count %>">
2
+ <td class="whitespace-nowrap">
3
+ <% if parent_assembly_id %>
4
+ <% [assembly.ancestors.count - 1, 0].max.times do |index| %>
5
+ <span class="px-3"></span>
6
+ <% end %>
7
+ <span class="px-3 text-xl text-secondary opacity-10">|</span>
8
+ <% end %>
9
+
10
+ <% if assembly.promoted? %>
11
+ <%= icon_with_tooltip "star-s-fill", t("models.assembly.fields.promoted", scope: "decidim.admin") %>
12
+ <% end %>
13
+
14
+ <span class="table-list__title-ellipsis">
15
+ <% if allowed_to? :update, :assembly, assembly: assembly %>
16
+ <%= link_to translated_attribute(assembly.title), edit_assembly_path(assembly) %>
17
+ <% elsif allowed_to? :read, :component, assembly: assembly %>
18
+ <%= link_to translated_attribute(assembly.title), components_path(assembly) %><br>
19
+ <% else %>
20
+ <%= translated_attribute(assembly.title) %>
21
+ <% end %>
22
+ </span>
23
+
24
+ <% if assembly.children.count.positive? %>
25
+ <%= link_to url_for(query_params_with(parent_id_eq: assembly.id)), remote: true, data: { arrow_down: true } do %>
26
+ <%= icon "arrow-down-s-line", class: "w-4 h-4 ml-2" %>
27
+ <% end %>
28
+ <%= link_to "#", class: "hidden", data: { arrow_up: true } do %>
29
+ <%= icon "arrow-up-s-line", class: "w-4 h-4 ml-2" %>
30
+ <% end %>
31
+ <% end %>
32
+ </td>
33
+ <td class="table-list__date">
34
+ <%= l(assembly.created_at, format: :short) %>
35
+ </td>
36
+ <td class="table-list__state">
37
+ <% if assembly.private_space? %>
38
+ <span><%= t("assemblies.index.private", scope: "decidim.admin") %></span>
39
+ <% else %>
40
+ <span><%= t("assemblies.index.public", scope: "decidim.admin") %></span>
41
+ <% end %>
42
+ </td>
43
+ <td class="table-list__state">
44
+ <% if assembly.published? %>
45
+ <span class="label success !text-sm"><%= t("assemblies.index.published", scope: "decidim.admin") %></span>
46
+ <% else %>
47
+ <span class="label alert !text-sm"><%= t("assemblies.index.unpublished", scope: "decidim.admin") %></span>
48
+ <% end %>
49
+ </td>
50
+ <td class="table-list__actions">
51
+ <% if view == :deleted %>
52
+ <% if allowed_to? :restore, :assembly, trashable_deleted_resource: assembly %>
53
+ <%= icon_link_to "refresh-line", restore_assembly_path(assembly), t("actions.restore", scope: "decidim.admin"), method: :patch, class: "action-icon--restore" %>
54
+ <% else %>
55
+ <span class="action-space icon"></span>
56
+ <% end %>
57
+ <% else %>
58
+ <% if allowed_to? :read, :share_tokens, current_participatory_space: assembly %>
59
+ <%= icon_link_to "share-line", decidim_admin_assemblies.assembly_share_tokens_path(assembly), t("actions.share_tokens", scope: "decidim.admin"), class: "action-icon--new" %>
60
+ <% else %>
61
+ <span class="action-space icon"></span>
62
+ <% end %>
63
+ <% if allowed_to? :update, :assembly, assembly: assembly %>
64
+ <%= icon_link_to "pencil-line", edit_assembly_path(assembly), t("actions.configure", scope: "decidim.admin"), class: "action-icon--new" %>
65
+ <% else %>
66
+ <span class="action-space icon"></span>
67
+ <% end %>
68
+ <% if allowed_to? :copy, :assembly, assembly: assembly, assembly: parent_assembly %>
69
+ <%= icon_link_to "file-copy-line", new_assembly_copy_path(assembly), t("actions.duplicate", scope: "decidim.admin"), class: "action-icon--copy" %>
70
+ <% else %>
71
+ <span class="action-space icon"></span>
72
+ <% end %>
73
+
74
+ <% if allowed_to? :export, :assembly, assembly: assembly %>
75
+ <%= icon_link_to "download-line", assembly_export_path(assembly), t("actions.export", scope: "decidim.admin"), method: :post, class: "action-icon--export" %>
76
+ <% else %>
77
+ <span class="action-space icon"></span>
78
+ <% end %>
79
+
80
+ <% if allowed_to? :preview, :assembly, assembly: assembly %>
81
+ <%= icon_link_to "eye-line", decidim_assemblies.assembly_path(assembly), t("actions.preview", scope: "decidim.admin"), class: "action-icon--preview", target: "_blank", data: { "external-link": false } %>
82
+ <% else %>
83
+ <span class="action-space icon"></span>
84
+ <% end %>
85
+
86
+ <% if allowed_to? :read, :moderation, assembly: assembly %>
87
+ <%= icon_link_to "flag-line", moderations_path(assembly), t("actions.moderate", scope: "decidim.admin"), class: "action-icon--moderate" %>
88
+ <% else %>
89
+ <span class="action-space icon"></span>
90
+ <% end %>
91
+
92
+ <% if allowed_to? :soft_delete, :assembly, trashable_deleted_resource: assembly %>
93
+ <% if assembly.published? %>
94
+ <%= icon "delete-bin-line", class: "action-icon action-icon--disabled", role: "img", aria_label: t("actions.soft_delete", scope: "decidim.admin") %>
95
+ <% else %>
96
+ <%= icon_link_to "delete-bin-line", soft_delete_assembly_path(assembly), t("actions.soft_delete", scope: "decidim.admin"), method: :patch, class: "action-icon--delete", data: { confirm: t("actions.confirm_delete_assembly", scope: "decidim.admin") } %>
97
+ <% end %>
98
+ <% end %>
99
+ <% end %>
100
+ </td>
101
+ </tr>
@@ -113,34 +113,6 @@
113
113
  </div>
114
114
  </div>
115
115
 
116
- <div class="card" data-component="accordion" id="accordion-filters">
117
- <div class="card-divider">
118
- <button class="card-divider-button" data-open="true" data-controls="panel-filters" type="button">
119
- <%= icon "arrow-right-s-line" %>
120
- <h2 class="card-title" id="filters">
121
- <%= t("filters", scope: "decidim.assemblies.admin.assemblies.form") %>
122
- </h2>
123
- </button>
124
- </div>
125
-
126
- <div id="panel-filters" class="card-section">
127
- <div class="row column">
128
- <%= form.check_box :scopes_enabled %>
129
- </div>
130
-
131
- <div class="row column">
132
- <%= scopes_select_field form, :scope_id, root: nil %>
133
- </div>
134
-
135
- <div class="row column">
136
- <%= form.areas_select :area_id,
137
- areas_for_select(current_organization),
138
- selected: current_assembly.try(:decidim_area_id),
139
- include_blank: t(".select_an_area") %>
140
- </div>
141
- </div>
142
- </div>
143
-
144
116
  <div class="card" data-component="accordion" id="accordion-metadata">
145
117
  <div class="card-divider">
146
118
  <button class="card-divider-button" data-open="true" data-controls="panel-metadata" type="button">
@@ -181,6 +153,33 @@
181
153
  </div>
182
154
  </div>
183
155
 
156
+ <div class="card" data-component="accordion" id="accordion-taxonomies">
157
+ <div class="card-divider">
158
+ <button class="card-divider-button" data-open="true" data-controls="panel-taxonomies" type="button">
159
+ <%= icon "arrow-right-s-line" %>
160
+ <h2 class="card-title" id="taxonomies">
161
+ <%= t("taxonomies", scope: "decidim.assemblies.admin.assemblies.form") %>
162
+ </h2>
163
+ </button>
164
+ </div>
165
+ <div id="panel-taxonomies" class="card-section">
166
+ <% if @form.taxonomy_filters.blank? %>
167
+ <div class="row column">
168
+ <p class="text-gray mr-2 mt-4">
169
+ <%= t("no_taxonomy_filters_found", scope: "decidim.assemblies.admin.assemblies.form") %>
170
+ <%= link_to(t("define_taxonomy_filters", scope: "decidim.assemblies.admin.assemblies.form"), decidim_admin.taxonomies_path, class: "button button__text-secondary") %>
171
+ </p>
172
+ </div>
173
+ <% else %>
174
+ <% @form.taxonomy_filters.each do |filter| %>
175
+ <div class="row column">
176
+ <%= filter_taxonomy_items_select_field form, :taxonomies, filter %>
177
+ </div>
178
+ <% end %>
179
+ <% end %>
180
+ </div>
181
+ </div>
182
+
184
183
  <div class="card" data-component="accordion" id="accordion-visibility">
185
184
  <div class="card-divider">
186
185
  <button class="card-divider-button" data-open="true" data-controls="panel-visibility" type="button">
@@ -197,12 +196,7 @@
197
196
  <% else %>
198
197
  <div class="row column">
199
198
  <%= form.select :parent_id,
200
- options_from_collection_for_select(
201
- parent_assemblies_for_select,
202
- :id,
203
- :translated_title,
204
- selected: current_assembly.try(:parent_id)
205
- ),
199
+ parent_assemblies_options,
206
200
  include_blank: t(".select_parent_assembly") %>
207
201
  </div>
208
202
  <% end %>
@@ -213,6 +207,7 @@
213
207
 
214
208
  <div class="row column" id="private_space">
215
209
  <%= form.check_box :private_space %>
210
+ <p class="help-text"><%= t(".private_notice") %></p>
216
211
  </div>
217
212
 
218
213
  <div class="row column" id="is_transparent">
@@ -243,13 +238,6 @@
243
238
  <%= form.translated :text_field, :created_by_other, aria: { label: :created_by_other } %>
244
239
  </div>
245
240
 
246
- <div class="row column">
247
- <%= form.select :decidim_assemblies_type_id,
248
- @form.assembly_types_for_select,
249
- { include_blank: t(".select_an_assembly_type") },
250
- { multiple: false } %>
251
- </div>
252
-
253
241
  <div class="row column">
254
242
  <% if @form.processes_for_select %>
255
243
  <%= form.select :participatory_processes_ids,
@@ -18,101 +18,27 @@
18
18
 
19
19
  <div class="table-scroll">
20
20
  <table class="table-list">
21
- <thead>
22
- <tr>
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>
35
- <th>
36
- <%= t("models.assembly.fields.actions", scope: "decidim.admin") %>
37
- </th>
38
- </tr>
39
- </thead>
21
+ <%= render partial: "assemblies_thead" %>
40
22
  <tbody>
41
- <% @assemblies.each do |assembly| %>
42
- <% next unless allowed_to? :list, :assembly, assembly: assembly %>
43
- <tr>
44
- <td>
45
- <% if assembly.promoted? %>
46
- <%= icon_with_tooltip "star-s-fill", t("models.assembly.fields.promoted", scope: "decidim.admin") %>
47
- <% end %>
48
-
49
- <% if allowed_to? :update, :assembly, assembly: assembly %>
50
- <%= link_to translated_attribute(assembly.title), edit_assembly_path(assembly) %>
51
- <% elsif allowed_to? :read, :component, assembly: assembly %>
52
- <%= link_to translated_attribute(assembly.title), components_path(assembly) %><br>
53
- <% else %>
54
- <%= translated_attribute(assembly.title) %>
55
- <% end %>
56
- </td>
57
- <td class="table-list__date">
58
- <%= l(assembly.created_at, format: :short) %>
59
- </td>
60
- <td class="table-list__state">
61
- <% if assembly.private_space? %>
62
- <span><%= t("assemblies.index.private", scope: "decidim.admin") %></span>
63
- <% else %>
64
- <span><%= t("assemblies.index.public", scope: "decidim.admin") %></span>
65
- <% end %>
66
- </td>
67
- <td class="table-list__state">
68
- <% if assembly.published? %>
69
- <span class="label success !text-sm"><%= t("assemblies.index.published", scope: "decidim.admin") %></span>
70
- <% else %>
71
- <span class="label alert !text-sm"><%= t("assemblies.index.unpublished", scope: "decidim.admin") %></span>
72
- <% end %>
73
- </td>
74
- <td class="table-list__actions">
75
- <% if allowed_to? :update, :assembly, assembly: assembly %>
76
- <%= icon_link_to "pencil-line", edit_assembly_path(assembly), t("actions.configure", scope: "decidim.admin"), class: "action-icon--new" %>
77
- <% else %>
78
- <span class="action-space icon"></span>
79
- <% end %>
80
- <% if assembly.children.count.positive? || allowed_to?(:read, :assembly, assembly:) %>
81
- <%= icon_link_to "government-line",
82
- url_for(query_params_with(parent_id_eq: assembly.id)),
83
- t("decidim.admin.titles.assemblies"),
84
- class: "action-icon--dial #{"highlighted" if assembly.children.count.positive?}" %>
85
- <% else %>
86
- <span class="action-space icon"></span>
87
- <% end %>
88
- <% if allowed_to? :copy, :assembly, assembly: assembly, assembly: parent_assembly %>
89
- <%= icon_link_to "file-copy-line", new_assembly_copy_path(assembly), t("actions.duplicate", scope: "decidim.admin"), class: "action-icon--copy" %>
90
- <% else %>
91
- <span class="action-space icon"></span>
92
- <% end %>
93
-
94
- <% if allowed_to? :export, :assembly, assembly: assembly %>
95
- <%= icon_link_to "download-line", assembly_export_path(assembly), t("actions.export", scope: "decidim.admin"), method: :post, class: "action-icon--export" %>
96
- <% else %>
97
- <span class="action-space icon"></span>
98
- <% end %>
99
-
100
- <% if allowed_to? :preview, :assembly, assembly: assembly %>
101
- <%= icon_link_to "eye-line", decidim_assemblies.assembly_path(assembly), t("actions.preview", scope: "decidim.admin"), class: "action-icon--preview", target: "_blank", data: { "external-link": false } %>
102
- <% else %>
103
- <span class="action-space icon"></span>
104
- <% end %>
105
-
106
- <% if allowed_to? :read, :moderation, assembly: assembly %>
107
- <%= icon_link_to "flag-line", moderations_path(assembly), t("actions.moderate", scope: "decidim.admin"), class: "action-icon--moderate" %>
108
- <% else %>
109
- <span class="action-space icon"></span>
110
- <% end %>
111
- </td>
112
- </tr>
113
- <% end %>
23
+ <%= render partial: "decidim/assemblies/admin/assemblies/assembly_row",
24
+ collection: @assemblies,
25
+ as: :assembly,
26
+ locals: { view: :index } %>
114
27
  </tbody>
115
28
  </table>
116
29
  </div>
30
+
31
+ <div class="mt-4">
32
+ <%= link_to manage_trash_assemblies_path, class: "flex items-center underline text-secondary" do %>
33
+ <%= icon "delete-bin-2-line", class: "mr-2 fill-current text-secondary", role: "img" %>
34
+ <%= t("actions.view_deleted_assemblies", scope: "decidim.admin") %>
35
+ <span class="ml-2">
36
+ <%= icon_with_tooltip("information-line", t("tooltips.deleted_assemblies_info", scope: "decidim.admin")) %>
37
+ </span>
38
+ <% end %>
39
+ </div>
40
+
117
41
  <%= decidim_paginate @assemblies %>
118
42
  </div>
43
+
44
+ <%= append_javascript_pack_tag "decidim_assemblies_admin_list" %>
@@ -0,0 +1,10 @@
1
+ $('[data-assembly-id="<%= parent_assembly_id %>"]').after(
2
+ '<%= j(render partial: "decidim/assemblies/admin/assemblies/assembly_row",
3
+ collection: @assemblies,
4
+ as: :assembly,
5
+ locals: { view: :index }).strip.html_safe %>'
6
+ );
7
+
8
+ var component = new window.Decidim.AdminAssembliesListComponent();
9
+
10
+ component.run();
@@ -0,0 +1,20 @@
1
+ <% add_decidim_page_title(t("assemblies_deleted", scope: "decidim.admin.titles")) %>
2
+ <div class="item_show__header">
3
+ <h1 class="item_show__header-title">
4
+ <%= t "assemblies.manage_trash.title", scope: "decidim.admin" %>
5
+ </h1>
6
+ </div>
7
+ <div class="card" id="assemblies">
8
+ <%= admin_filter_selector %>
9
+ </div>
10
+ <div class="table-scroll">
11
+ <table class="table-list">
12
+ <%= render partial: "assemblies_thead" %>
13
+ <tbody>
14
+ <%= render partial: "decidim/assemblies/admin/assemblies/assembly_row",
15
+ collection: trashable_deleted_collection,
16
+ as: :assembly,
17
+ locals: { view: :deleted } %>
18
+ </tbody>
19
+ </table>
20
+ </div>
@@ -14,16 +14,9 @@
14
14
  </div>
15
15
  <div class="card-section">
16
16
  <div class="row">
17
- <div class="columns">
18
- <%= form.check_box :copy_categories %>
19
- </div>
20
-
21
17
  <div class="columns">
22
18
  <%= form.check_box :copy_components %>
23
19
  </div>
24
- <div class="columns">
25
- <%= form.check_box :copy_landing_page_blocks %>
26
- </div>
27
20
  </div>
28
21
  </div>
29
22
  </div>
@@ -19,9 +19,6 @@
19
19
  </div>
20
20
  <div class="card-section">
21
21
  <div class="row">
22
- <div class="columns">
23
- <%= form.check_box :import_categories %>
24
- </div>
25
22
  <div class="columns">
26
23
  <%= form.check_box :import_attachments %>
27
24
  </div>
@@ -1,4 +1,6 @@
1
- <% add_decidim_meta_tags(title: t("assemblies.index.title", scope: "decidim")) %>
1
+ <% add_decidim_meta_tags(
2
+ title: t("assemblies.index.title", scope: "decidim"),
3
+ resource: current_participatory_space) %>
2
4
 
3
5
  <%
4
6
  edit_link(
@@ -1,9 +1,8 @@
1
- <% add_decidim_meta_tags({
2
- title: translated_attribute(current_participatory_space.title),
3
- image_url: current_participatory_space.attached_uploader(:hero_image).url,
4
- description: translated_attribute(current_participatory_space.short_description),
5
- url: assembly_url(current_participatory_space)
6
- }) %>
1
+ <% add_decidim_meta_tags(
2
+ title: translated_attribute(current_participatory_space.title),
3
+ description: translated_attribute(current_participatory_space.short_description),
4
+ url: assembly_url(current_participatory_space),
5
+ resource: current_participatory_space) %>
7
6
 
8
7
  <%
9
8
  edit_link(
@@ -1,9 +1,10 @@
1
1
  <% add_decidim_page_title(t("assembly_members.index.title", scope: "decidim")) %>
2
- <% add_decidim_page_title(translated_attribute(current_participatory_space.title)) %>
3
-
2
+ <% add_decidim_meta_tags(
3
+ title: translated_attribute(current_participatory_space.title),
4
+ resource: current_participatory_space) %>
4
5
  <%
5
6
  edit_link(
6
- decidim_admin_assemblies.assembly_members_path(current_participatory_space.slug),
7
+ decidim_admin_assemblies.participatory_space_private_users_path(current_participatory_space.slug),
7
8
  :update,
8
9
  :assembly,
9
10
  assembly: current_participatory_space
@@ -12,9 +13,9 @@ edit_link(
12
13
 
13
14
  <%= cell "decidim/content_blocks/participatory_space_hero", nil, resource: current_participatory_space %>
14
15
  <div class="container py-8">
15
- <h3 class="h3 decorator mb-8">
16
+ <h3 class="h3 decorator mb-10">
16
17
  <%= t("members", scope: "decidim.assemblies.assembly_members.index") %>
17
- <span class="label text-md"><%= collection.size %></span>
18
+ <span class="label text-md ml-2"><%= collection.size %></span>
18
19
  </h3>
19
20
  <div id="assembly_members-grid" class="grid grid-cols-1 md:grid-cols-3 gap-4 md:gap-12">
20
21
  <%= render(collection) %>
data/config/assets.rb CHANGED
@@ -5,5 +5,6 @@ base_path = File.expand_path("..", __dir__)
5
5
  Decidim::Webpacker.register_path("#{base_path}/app/packs")
6
6
  Decidim::Webpacker.register_entrypoints(
7
7
  decidim_assemblies: "#{base_path}/app/packs/entrypoints/decidim_assemblies.js",
8
- decidim_assemblies_admin: "#{base_path}/app/packs/entrypoints/decidim_assemblies_admin.js"
8
+ decidim_assemblies_admin: "#{base_path}/app/packs/entrypoints/decidim_assemblies_admin.js",
9
+ decidim_assemblies_admin_list: "#{base_path}/app/packs/entrypoints/decidim_assemblies_admin_list.js"
9
10
  )
@@ -2,8 +2,6 @@
2
2
  ar:
3
3
  activemodel:
4
4
  attributes:
5
- assemblies_type:
6
- title: العنوان
7
5
  assembly:
8
6
  announcement: إعلان
9
7
  area_id: المنطقة
@@ -20,7 +18,6 @@ ar:
20
18
  created_by_other: التي أنشأتها الآخرون
21
19
  creation_date: تاريخ الإنشاء
22
20
  decidim_area_id: المنطقة
23
- decidim_assemblies_type_id: نوع التجمع
24
21
  decidim_scope_id: النطاق
25
22
  description: الوصف
26
23
  developer_group: مجموعة المروجين
@@ -36,7 +33,6 @@ ar:
36
33
  import_components: استيراد المكونات
37
34
  included_at: المدرجة في
38
35
  instagram: انستجرام
39
- internal_organisation: التنظيم الداخلي
40
36
  is_transparent: شفافة
41
37
  local_area: منطقة التنظيم
42
38
  meta_scope: نطاق البيانات الوصفية
@@ -48,8 +44,6 @@ ar:
48
44
  promoted: سلط الضوء
49
45
  published_at: نشرت في
50
46
  purpose_of_action: الغرض من العمل
51
- scope_id: النطاق
52
- scopes_enabled: النطاقات المُفعّلَة
53
47
  short_description: وصف قصير
54
48
  slug: سبيكة العنوان الشبكي
55
49
  special_features: مميزات خاصة
@@ -102,11 +96,9 @@ ar:
102
96
  actions:
103
97
  import_assembly: استيراد
104
98
  new_assembly: جمعية جديدة
105
- new_assembly_type: نوع جديد للجمعية
106
99
  assemblies:
107
100
  create:
108
101
  error: حدثت مشكلة أثناء إنشاء جمعية جديدة.
109
- success: تم إنشاء الجمعية بنجاح.
110
102
  edit:
111
103
  update: تحديث
112
104
  index:
@@ -119,21 +111,15 @@ ar:
119
111
  update:
120
112
  error: حدثت مشكلة أثناء تحديث هذه الجمعية.
121
113
  success: تم تحديث الجمعية بنجاح.
122
- assemblies_types:
114
+ assemblies_copies:
123
115
  create:
124
- error: حدثت مشكلة أثناء إنشاء جمعية جديدة.
125
- success: تم إنشاء نوع الجمعية بنجاح.
126
- destroy:
127
- success: تم حذف نوع الجمعية بنجاح.
128
- new:
129
- create: إنشاء
130
- title: نوع جديد للجمعية
131
- update:
132
- error: حدثت مشكلة أثناء تحديث نوع هذه الجمعية.
133
- success: تم تحديث نوع الجمعية بنجاح.
116
+ error: حدثت مشكلة في تكرار هذا التجميع.
117
+ success: الجمعية مكررة بنجاح.
134
118
  assembly_copies:
135
119
  new:
136
120
  copy: نسخ
121
+ select: حدد البيانات التي ترغب في تكرارها
122
+ title: نسخ الجمعية
137
123
  assembly_imports:
138
124
  create:
139
125
  error: حدثت مشكلة أثناء استيراد هذه الجمعية.
@@ -142,21 +128,6 @@ ar:
142
128
  import: استيراد
143
129
  select: اختر البيانات التي ترغب في استيرادها
144
130
  title: استيراد الجمعية
145
- assembly_members:
146
- create:
147
- error: حدثت مشكلة أثناء إضافة عضو لهذا التجميع.
148
- success: تم إنشاء العضو بنجاح لهذا التجميع.
149
- destroy:
150
- success: تم حذف العضو بنجاح لهذا التجميع.
151
- edit:
152
- update: تحديث
153
- index:
154
- assembly_members_title: أعضاء الجمعية
155
- new:
156
- create: إنشاء
157
- update:
158
- error: حدثت مشكلة أثناء تحديث العضو لهذا التجميع.
159
- success: تم تحديث العضو بنجاح لهذا التجميع.
160
131
  assembly_publications:
161
132
  create:
162
133
  error: حدثت مشكلة في نشر هذا التجميع.
@@ -179,26 +150,16 @@ ar:
179
150
  update:
180
151
  error: حدثت مشكلة أثناء تحديث مشرفٍ على هذه الجمعية.
181
152
  success: تم تحديث المشرف على هذه الجمعية بنجاح.
182
- filters:
183
- decidim_assemblies_type_id_eq:
184
- label: نوع التجمع
185
153
  menu:
186
154
  assemblies: الجمعيات
187
155
  assemblies_submenu:
188
156
  assembly_admins: مدراء الجمعية
189
- assembly_members: الأعضاء
190
157
  attachment_collections: المجلدات
191
158
  attachment_files: الملفات
192
159
  attachments: المرفقات
193
- categories: الفئات
194
160
  components: المكونات
195
161
  moderations: الإعتدال
196
- assemblies_types: أنواع التجمّعات
197
162
  models:
198
- assemblies_types:
199
- fields:
200
- created_at: تاريخ الإنشاء
201
- title: العنوان
202
163
  assembly:
203
164
  fields:
204
165
  actions: الإجراءات
@@ -209,11 +170,6 @@ ar:
209
170
  title: العنوان
210
171
  name: الجمعية
211
172
  assembly_member:
212
- fields:
213
- ceased_date: تاريخ التوقف
214
- designation_date: تاريخ التعيين
215
- full_name: الاسم
216
- position: الموقع
217
173
  name: عضو
218
174
  positions:
219
175
  other: آخر
@@ -266,29 +222,18 @@ ar:
266
222
  announcement_help: سيظهر النص الذي أدخلته هنا للمستخدم مباشرة تحت معلومات الجمعية.
267
223
  duration: المدة الزمنية
268
224
  duration_help: إذا كانت مدة هذه الجمعية محدودة ، فحدد تاريخ الانتهاء. خلاف ذلك ، سوف يظهر على أنه غير مسمى.
269
- filters: مرشحات
270
225
  images: الصور
271
226
  included_at_help: حدد التاريخ الذي تمت فيه إضافة هذه الجمعية إلى المنصة. ليس بالضرورة أن يكون هو نفسه تاريخ الإنشاء.
272
227
  metadata: البيانات الوصفية
273
228
  other: آخر
274
229
  select_a_created_by: حدد تم إنشاؤها بواسطة
275
- select_an_area: اختر منطقة
276
- select_an_assembly_type: حدد نوع الجمعية
277
230
  select_parent_assembly: حدد الجمعية الأصلية
278
231
  social_handlers: التواصل الاجتماعي
279
232
  title: معلومات عامة
280
- assemblies_types:
281
- form:
282
- title: العنوان
283
233
  assembly_members:
284
234
  form:
285
- existing_user: المشارك الحالي
286
235
  explanation: 'إرشادات للصورة:'
287
- non_user: غير مشارك
288
236
  non_user_avatar_help: يجب أن تحصل على موافقة الأشخاص قبل نشرهم كأعضاء.
289
- select_a_position: اختر المنصب
290
- select_user: اختيار مشارك
291
- user_type: نوع المشارك
292
237
  content_blocks:
293
238
  highlighted_assemblies:
294
239
  max_results: أقصى قدر من العناصر لإظهارها
@@ -304,14 +249,6 @@ ar:
304
249
  assembly_members:
305
250
  index:
306
251
  members: الأعضاء
307
- assembly_types:
308
- commission: اللجنة
309
- consultative_advisory: استشاري / الاستشارية
310
- executive: تنفيذية
311
- government: الحكومية
312
- others: أخرى
313
- participatory: التشاركية
314
- working_group: فريق العمل
315
252
  content_blocks:
316
253
  children_assemblies:
317
254
  name: جمعيات
@@ -340,13 +277,10 @@ ar:
340
277
  member_of:
341
278
  member_of: عضو في
342
279
  show:
343
- assembly_type: نوع التجمع
344
280
  duration: المدة الزمنية
345
281
  private_space: هذه جمعية خاصة
346
282
  social_networks_title: زيارة التجمع على
347
283
  assembly_members:
348
- assembly_member:
349
- designated_on: المعينة على
350
284
  index:
351
285
  title: الأعضاء
352
286
  events: