decidim-assemblies 0.29.1 → 0.30.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
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: