decidim-assemblies 0.29.1 → 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 (141) 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 -14
  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_landing_page_content_blocks_controller.rb +6 -0
  13. data/app/controllers/decidim/assemblies/admin/assembly_share_tokens_controller.rb +18 -0
  14. data/app/controllers/decidim/assemblies/admin/component_share_tokens_controller.rb +18 -0
  15. data/app/controllers/decidim/assemblies/assemblies_controller.rb +1 -3
  16. data/app/controllers/decidim/assemblies/{assembly_members_controller.rb → participatory_space_private_users_controller.rb} +3 -11
  17. data/app/forms/decidim/assemblies/admin/assembly_copy_form.rb +0 -1
  18. data/app/forms/decidim/assemblies/admin/assembly_form.rb +13 -48
  19. data/app/forms/decidim/assemblies/admin/assembly_import_form.rb +0 -1
  20. data/app/helpers/decidim/assemblies/admin/assemblies_helper.rb +26 -4
  21. data/app/helpers/decidim/assemblies/assemblies_helper.rb +4 -4
  22. data/app/helpers/decidim/assemblies/filter_assemblies_helper.rb +11 -15
  23. data/app/models/decidim/assembly.rb +26 -11
  24. data/app/packs/entrypoints/decidim_assemblies_admin.js +0 -1
  25. data/app/packs/entrypoints/decidim_assemblies_admin_list.js +1 -0
  26. data/app/packs/src/decidim/assemblies/admin/assemblies_list.js +72 -0
  27. data/app/permissions/decidim/assemblies/permissions.rb +9 -20
  28. data/app/presenters/decidim/assemblies/admin_log/assembly_presenter.rb +1 -1
  29. data/app/presenters/decidim/assemblies/assembly_presenter.rb +2 -8
  30. data/app/queries/decidim/assemblies/metrics/assemblies_metric_manage.rb +2 -2
  31. data/app/serializers/decidim/assemblies/assembly_importer.rb +0 -35
  32. data/app/serializers/decidim/assemblies/assembly_serializer.rb +11 -135
  33. data/app/serializers/decidim/assemblies/open_data_assembly_serializer.rb +59 -0
  34. data/app/views/decidim/assemblies/admin/assemblies/_assemblies_thead.html.erb +19 -0
  35. data/app/views/decidim/assemblies/admin/assemblies/_assembly_row.html.erb +101 -0
  36. data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +29 -41
  37. data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +18 -92
  38. data/app/views/decidim/assemblies/admin/assemblies/index.js.erb +10 -0
  39. data/app/views/decidim/assemblies/admin/assemblies/manage_trash.html.erb +20 -0
  40. data/app/views/decidim/assemblies/admin/assembly_copies/_form.html.erb +0 -4
  41. data/app/views/decidim/assemblies/admin/assembly_imports/_form.html.erb +0 -3
  42. data/app/views/decidim/assemblies/assemblies/index.html.erb +3 -1
  43. data/app/views/decidim/assemblies/assemblies/show.html.erb +5 -6
  44. data/app/views/decidim/assemblies/{assembly_members → participatory_space_private_users}/index.html.erb +6 -5
  45. data/config/assets.rb +2 -1
  46. data/config/locales/ar.yml +1 -72
  47. data/config/locales/bg.yml +0 -74
  48. data/config/locales/bn-BD.yml +1 -0
  49. data/config/locales/bs-BA.yml +29 -0
  50. data/config/locales/ca.yml +70 -74
  51. data/config/locales/cs.yml +70 -74
  52. data/config/locales/de.yml +72 -76
  53. data/config/locales/el.yml +0 -72
  54. data/config/locales/en.yml +71 -75
  55. data/config/locales/es-MX.yml +70 -74
  56. data/config/locales/es-PY.yml +70 -74
  57. data/config/locales/es.yml +70 -74
  58. data/config/locales/eu.yml +108 -112
  59. data/config/locales/fi-plain.yml +71 -75
  60. data/config/locales/fi.yml +75 -79
  61. data/config/locales/fr-CA.yml +22 -74
  62. data/config/locales/fr.yml +22 -74
  63. data/config/locales/ga-IE.yml +0 -23
  64. data/config/locales/gl.yml +0 -70
  65. data/config/locales/he-IL.yml +143 -23
  66. data/config/locales/hu.yml +0 -74
  67. data/config/locales/id-ID.yml +0 -58
  68. data/config/locales/is-IS.yml +0 -45
  69. data/config/locales/it.yml +0 -71
  70. data/config/locales/ja.yml +70 -74
  71. data/config/locales/kaa.yml +0 -9
  72. data/config/locales/ko.yml +0 -13
  73. data/config/locales/lb.yml +0 -66
  74. data/config/locales/lt.yml +0 -72
  75. data/config/locales/lv.yml +0 -69
  76. data/config/locales/nl.yml +0 -70
  77. data/config/locales/no.yml +0 -70
  78. data/config/locales/pl.yml +0 -75
  79. data/config/locales/pt-BR.yml +0 -74
  80. data/config/locales/pt.yml +0 -70
  81. data/config/locales/ro-RO.yml +5 -72
  82. data/config/locales/ru.yml +0 -57
  83. data/config/locales/sk.yml +0 -28
  84. data/config/locales/sl.yml +0 -39
  85. data/config/locales/sq-AL.yml +0 -74
  86. data/config/locales/sr-CS.yml +0 -15
  87. data/config/locales/sv.yml +75 -79
  88. data/config/locales/tr-TR.yml +0 -75
  89. data/config/locales/uk.yml +0 -57
  90. data/config/locales/zh-CN.yml +0 -69
  91. data/config/locales/zh-TW.yml +0 -72
  92. data/db/migrate/20190215093700_reset_negative_children_count_counters.rb +2 -2
  93. data/db/migrate/20210310120444_add_followable_counter_cache_to_assemblies.rb +1 -1
  94. data/db/migrate/20240822161222_add_deleted_at_to_decidim_assemblies.rb +8 -0
  95. data/db/migrate/20241016101151_migrate_assembly_members_to_private_users.rb +53 -0
  96. data/db/migrate/20241108141651_remove_column_show_statistics_from_assemblies.rb +7 -0
  97. data/decidim-assemblies.gemspec +2 -2
  98. data/lib/decidim/api/assemblies_type_type.rb +2 -2
  99. data/lib/decidim/api/assembly_type.rb +32 -34
  100. data/lib/decidim/assemblies/admin_engine.rb +77 -54
  101. data/lib/decidim/assemblies/api.rb +0 -1
  102. data/lib/decidim/assemblies/content_blocks/registry_manager.rb +11 -0
  103. data/lib/decidim/assemblies/engine.rb +9 -3
  104. data/lib/decidim/assemblies/menu.rb +9 -22
  105. data/lib/decidim/assemblies/participatory_space.rb +7 -3
  106. data/lib/decidim/assemblies/seeds.rb +9 -33
  107. data/lib/decidim/assemblies/test/factories.rb +15 -36
  108. data/lib/decidim/assemblies/version.rb +1 -1
  109. metadata +31 -49
  110. data/app/cells/decidim/assemblies/assembly_member/data.erb +0 -19
  111. data/app/cells/decidim/assemblies/assembly_member/name_and_position.erb +0 -11
  112. data/app/cells/decidim/assemblies/assembly_member/show.erb +0 -9
  113. data/app/cells/decidim/assemblies/assembly_member_cell.rb +0 -21
  114. data/app/commands/decidim/assemblies/admin/create_assembly_member.rb +0 -55
  115. data/app/commands/decidim/assemblies/admin/destroy_assembly_member.rb +0 -24
  116. data/app/commands/decidim/assemblies/admin/update_assembly_member.rb +0 -29
  117. data/app/controllers/concerns/decidim/assemblies/admin/assembly_members/filterable.rb +0 -39
  118. data/app/controllers/decidim/assemblies/admin/assemblies_types_controller.rb +0 -107
  119. data/app/controllers/decidim/assemblies/admin/assembly_members_controller.rb +0 -83
  120. data/app/controllers/decidim/assemblies/admin/categories_controller.rb +0 -13
  121. data/app/events/decidim/assemblies/create_assembly_member_event.rb +0 -17
  122. data/app/forms/decidim/assemblies/admin/assembly_member_form.rb +0 -64
  123. data/app/helpers/decidim/assemblies/admin/assembly_members_helper.rb +0 -11
  124. data/app/models/decidim/assembly_member.rb +0 -34
  125. data/app/packs/src/decidim/assemblies/admin/assembly_members.js +0 -47
  126. data/app/packs/src/decidim/assemblies/orgchart.js +0 -0
  127. data/app/presenters/decidim/admin/assembly_member_presenter.rb +0 -24
  128. data/app/presenters/decidim/assemblies/admin_log/assembly_member_presenter.rb +0 -51
  129. data/app/presenters/decidim/assemblies/admin_log/value_types/member_position_presenter.rb +0 -22
  130. data/app/presenters/decidim/assembly_member_presenter.rb +0 -68
  131. data/app/views/decidim/assemblies/admin/assemblies_types/_form.html.erb +0 -9
  132. data/app/views/decidim/assemblies/admin/assemblies_types/edit.html.erb +0 -13
  133. data/app/views/decidim/assemblies/admin/assemblies_types/index.html.erb +0 -44
  134. data/app/views/decidim/assemblies/admin/assemblies_types/new.html.erb +0 -18
  135. data/app/views/decidim/assemblies/admin/assembly_members/_form.html.erb +0 -62
  136. data/app/views/decidim/assemblies/admin/assembly_members/edit.html.erb +0 -18
  137. data/app/views/decidim/assemblies/admin/assembly_members/index.html.erb +0 -55
  138. data/app/views/decidim/assemblies/admin/assembly_members/new.html.erb +0 -18
  139. data/app/views/decidim/assembly_members/_assembly_member.html.erb +0 -1
  140. data/app/views/layouts/decidim/admin/assemblies_types.html.erb +0 -17
  141. 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,10 +14,6 @@
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>
@@ -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:
@@ -123,18 +115,6 @@ ar:
123
115
  create:
124
116
  error: حدثت مشكلة في تكرار هذا التجميع.
125
117
  success: الجمعية مكررة بنجاح.
126
- assemblies_types:
127
- create:
128
- error: حدثت مشكلة أثناء إنشاء جمعية جديدة.
129
- success: تم إنشاء نوع الجمعية بنجاح.
130
- destroy:
131
- success: تم حذف نوع الجمعية بنجاح.
132
- new:
133
- create: إنشاء
134
- title: نوع جديد للجمعية
135
- update:
136
- error: حدثت مشكلة أثناء تحديث نوع هذه الجمعية.
137
- success: تم تحديث نوع الجمعية بنجاح.
138
118
  assembly_copies:
139
119
  new:
140
120
  copy: نسخ
@@ -148,21 +128,6 @@ ar:
148
128
  import: استيراد
149
129
  select: اختر البيانات التي ترغب في استيرادها
150
130
  title: استيراد الجمعية
151
- assembly_members:
152
- create:
153
- error: حدثت مشكلة أثناء إضافة عضو لهذا التجميع.
154
- success: تم إنشاء العضو بنجاح لهذا التجميع.
155
- destroy:
156
- success: تم حذف العضو بنجاح لهذا التجميع.
157
- edit:
158
- update: تحديث
159
- index:
160
- assembly_members_title: أعضاء الجمعية
161
- new:
162
- create: إنشاء
163
- update:
164
- error: حدثت مشكلة أثناء تحديث العضو لهذا التجميع.
165
- success: تم تحديث العضو بنجاح لهذا التجميع.
166
131
  assembly_publications:
167
132
  create:
168
133
  error: حدثت مشكلة في نشر هذا التجميع.
@@ -185,28 +150,19 @@ ar:
185
150
  update:
186
151
  error: حدثت مشكلة أثناء تحديث مشرفٍ على هذه الجمعية.
187
152
  success: تم تحديث المشرف على هذه الجمعية بنجاح.
188
- filters:
189
- decidim_assemblies_type_id_eq:
190
- label: نوع الجمعية
191
153
  menu:
192
154
  assemblies: الجمعيات
193
155
  assemblies_submenu:
194
156
  assembly_admins: مدراء الجمعية
195
- assembly_members: الأعضاء
196
157
  attachment_collections: المجلدات
197
158
  attachment_files: الملفات
198
159
  attachments: المرفقات
199
- categories: الفئات
200
160
  components: المكونات
201
161
  moderations: الإعتدال
202
- assemblies_types: نوع التجمّعات
203
162
  models:
204
- assemblies_types:
205
- fields:
206
- created_at: تاريخ الإنشاء
207
- title: العنوان
208
163
  assembly:
209
164
  fields:
165
+ actions: الإجراءات
210
166
  created_at: تاريخ الإنشاء
211
167
  private: خاص
212
168
  promoted: سلط الضوء
@@ -214,11 +170,6 @@ ar:
214
170
  title: العنوان
215
171
  name: الجمعية
216
172
  assembly_member:
217
- fields:
218
- ceased_date: تاريخ التوقف
219
- designation_date: تاريخ التعيين
220
- full_name: الاسم
221
- position: موضع
222
173
  name: عضو
223
174
  positions:
224
175
  other: آخر
@@ -271,29 +222,18 @@ ar:
271
222
  announcement_help: سيظهر النص الذي أدخلته هنا للمستخدم مباشرة تحت معلومات الجمعية.
272
223
  duration: المدة الزمنية
273
224
  duration_help: إذا كانت مدة هذه الجمعية محدودة ، فحدد تاريخ الانتهاء. خلاف ذلك ، سوف يظهر على أنه غير مسمى.
274
- filters: مرشحات
275
225
  images: الصور
276
226
  included_at_help: حدد التاريخ الذي تمت فيه إضافة هذه الجمعية إلى المنصة. ليس بالضرورة أن يكون هو نفسه تاريخ الإنشاء.
277
227
  metadata: البيانات الوصفية
278
228
  other: آخر
279
229
  select_a_created_by: حدد تم إنشاؤها بواسطة
280
- select_an_area: اختر منطقة
281
- select_an_assembly_type: حدد نوع الجمعية
282
230
  select_parent_assembly: حدد الجمعية الأصلية
283
231
  social_handlers: التواصل الاجتماعي
284
232
  title: معلومات عامة
285
- assemblies_types:
286
- form:
287
- title: العنوان
288
233
  assembly_members:
289
234
  form:
290
- existing_user: المشارك الحالي
291
235
  explanation: 'إرشادات للصورة:'
292
- non_user: غير مشارك
293
236
  non_user_avatar_help: يجب أن تحصل على موافقة الأشخاص قبل نشرهم كأعضاء.
294
- select_a_position: اختر المنصب
295
- select_user: اختيار مشارك
296
- user_type: نوع المشارك
297
237
  content_blocks:
298
238
  highlighted_assemblies:
299
239
  max_results: أقصى قدر من العناصر لإظهارها
@@ -309,14 +249,6 @@ ar:
309
249
  assembly_members:
310
250
  index:
311
251
  members: الأعضاء
312
- assembly_types:
313
- commission: اللجنة
314
- consultative_advisory: استشاري / الاستشارية
315
- executive: تنفيذية
316
- government: حكومية
317
- others: أخرى
318
- participatory: تشاركية
319
- working_group: فريق العمل
320
252
  content_blocks:
321
253
  children_assemblies:
322
254
  name: جمعيات
@@ -345,13 +277,10 @@ ar:
345
277
  member_of:
346
278
  member_of: عضو في
347
279
  show:
348
- assembly_type: نوع الجمعية
349
280
  duration: المدة الزمنية
350
281
  private_space: هذه جمعية خاصة
351
282
  social_networks_title: زيارة التجمع على
352
283
  assembly_members:
353
- assembly_member:
354
- designated_on: المعينة على
355
284
  index:
356
285
  title: الأعضاء
357
286
  events: