decidim-admin 0.29.4 → 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 (241) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/admin/multi_select_picker/show.erb +10 -0
  3. data/app/cells/decidim/admin/multi_select_picker_cell.rb +38 -0
  4. data/app/commands/decidim/admin/bulk_action.rb +92 -0
  5. data/app/commands/decidim/admin/bulk_block_users.rb +75 -0
  6. data/app/commands/decidim/admin/bulk_unblock_users.rb +66 -0
  7. data/app/commands/decidim/admin/bulk_unreport_users.rb +69 -0
  8. data/app/commands/decidim/admin/content_blocks/update_content_block.rb +1 -1
  9. data/app/commands/decidim/admin/create_participatory_space_private_user.rb +3 -1
  10. data/app/commands/decidim/admin/create_share_token.rb +39 -0
  11. data/app/commands/decidim/admin/create_taxonomy.rb +23 -0
  12. data/app/commands/decidim/admin/create_taxonomy_filter.rb +24 -0
  13. data/app/commands/decidim/admin/destroy_share_token.rb +22 -0
  14. data/app/commands/decidim/admin/destroy_taxonomy.rb +18 -0
  15. data/app/commands/decidim/admin/destroy_taxonomy_filter.rb +20 -0
  16. data/app/commands/decidim/admin/hide_menu_component.rb +37 -0
  17. data/app/commands/decidim/admin/hide_resource.rb +4 -2
  18. data/app/commands/decidim/admin/publish_all_participatory_space_private_users.rb +50 -0
  19. data/app/commands/decidim/admin/publish_component.rb +3 -0
  20. data/app/commands/decidim/admin/reorder_components.rb +47 -0
  21. data/app/commands/decidim/admin/reorder_taxonomies.rb +76 -0
  22. data/app/commands/decidim/admin/unhide_resource.rb +11 -4
  23. data/app/commands/decidim/admin/unpublish_all_participatory_space_private_users.rb +50 -0
  24. data/app/commands/decidim/admin/unreport_resource.rb +11 -3
  25. data/app/commands/decidim/admin/update_component_permissions.rb +53 -13
  26. data/app/commands/decidim/admin/update_participatory_space_private_user.rb +11 -0
  27. data/app/commands/decidim/admin/update_share_token.rb +24 -0
  28. data/app/commands/decidim/admin/update_taxonomy.rb +20 -0
  29. data/app/commands/decidim/admin/update_taxonomy_filter.rb +28 -0
  30. data/app/controllers/concerns/decidim/admin/component_taxonomies_helper.rb +19 -0
  31. data/app/controllers/concerns/decidim/admin/filterable.rb +15 -18
  32. data/app/controllers/concerns/decidim/admin/has_trashable_resources.rb +170 -0
  33. data/app/controllers/concerns/decidim/admin/needs_admin_tos_accepted.rb +2 -29
  34. data/app/controllers/concerns/decidim/admin/participatory_space_admin_context.rb +12 -2
  35. data/app/controllers/concerns/decidim/admin/taxonomies/filterable.rb +27 -0
  36. data/app/controllers/decidim/admin/application_controller.rb +1 -2
  37. data/app/controllers/decidim/admin/areas_controller.rb +1 -0
  38. data/app/controllers/decidim/admin/block_user_controller.rb +42 -0
  39. data/app/controllers/decidim/admin/component_permissions_controller.rb +2 -4
  40. data/app/controllers/decidim/admin/components_controller.rb +50 -9
  41. data/app/controllers/decidim/admin/concerns/has_private_users.rb +59 -2
  42. data/app/controllers/decidim/admin/global_moderations_controller.rb +4 -0
  43. data/app/controllers/decidim/admin/impersonations_controller.rb +1 -1
  44. data/app/controllers/decidim/admin/moderated_users_controller.rb +26 -0
  45. data/app/controllers/decidim/admin/moderations_controller.rb +19 -6
  46. data/app/controllers/decidim/admin/newsletters_controller.rb +50 -7
  47. data/app/controllers/decidim/admin/organization_controller.rb +1 -1
  48. data/app/controllers/decidim/admin/resource_permissions_controller.rb +1 -1
  49. data/app/controllers/decidim/admin/scopes_controller.rb +1 -0
  50. data/app/controllers/decidim/admin/share_tokens_controller.rb +109 -7
  51. data/app/controllers/decidim/admin/taxonomies_controller.rb +129 -0
  52. data/app/controllers/decidim/admin/taxonomy_filters_controller.rb +112 -0
  53. data/app/controllers/decidim/admin/taxonomy_filters_selector_controller.rb +81 -0
  54. data/app/controllers/decidim/admin/taxonomy_items_controller.rb +91 -0
  55. data/app/forms/concerns/decidim/has_taxonomy_form_attributes.rb +57 -0
  56. data/app/forms/decidim/admin/block_users_form.rb +21 -0
  57. data/app/forms/decidim/admin/import_example_form.rb +1 -1
  58. data/app/forms/decidim/admin/newsletter_form.rb +1 -1
  59. data/app/forms/decidim/admin/participatory_space_private_user_form.rb +5 -0
  60. data/app/forms/decidim/admin/selective_newsletter_form.rb +46 -11
  61. data/app/forms/decidim/admin/share_token_form.rb +55 -0
  62. data/app/forms/decidim/admin/taxonomy_filter_form.rb +85 -0
  63. data/app/forms/decidim/admin/taxonomy_form.rb +20 -0
  64. data/app/forms/decidim/admin/taxonomy_item_form.rb +54 -0
  65. data/app/helpers/decidim/admin/application_helper.rb +0 -1
  66. data/app/helpers/decidim/admin/bulk_actions_helper.rb +0 -31
  67. data/app/helpers/decidim/admin/moderations/reports_helper.rb +1 -1
  68. data/app/helpers/decidim/admin/moderations_helper.rb +1 -1
  69. data/app/helpers/decidim/admin/newsletters_helper.rb +57 -27
  70. data/app/helpers/decidim/admin/scopes_helper.rb +0 -6
  71. data/app/helpers/decidim/admin/search_form_helper.rb +1 -1
  72. data/app/helpers/decidim/admin/settings_helper.rb +85 -11
  73. data/app/jobs/decidim/admin/newsletter_job.rb +3 -1
  74. data/app/packs/entrypoints/decidim_admin.js +4 -0
  75. data/app/packs/src/decidim/admin/application.js +2 -0
  76. data/app/packs/src/decidim/admin/draggable-table.js +33 -0
  77. data/app/packs/src/decidim/admin/form.js +0 -1
  78. data/app/packs/src/decidim/admin/global_moderations.js +186 -0
  79. data/app/packs/src/decidim/admin/managed_moderated_users.js +186 -0
  80. data/app/packs/src/decidim/admin/newsletters.js +164 -82
  81. data/app/packs/src/decidim/admin/proposal_infinite_edit.js +3 -6
  82. data/app/packs/src/decidim/admin/sortable.js +28 -16
  83. data/app/packs/src/decidim/admin/taxonomy_filters.js +93 -0
  84. data/app/packs/stylesheets/decidim/admin/_component-show.scss +66 -5
  85. data/app/packs/stylesheets/decidim/admin/_legacy_foundation.scss +13 -0
  86. data/app/packs/stylesheets/decidim/admin/_select_picker.scss +20 -0
  87. data/app/packs/stylesheets/decidim/admin/_table-list.scss +22 -0
  88. data/app/packs/stylesheets/decidim/admin/_taxonomies.scss +74 -0
  89. data/app/packs/stylesheets/decidim/admin/application.scss +3 -0
  90. data/app/permissions/decidim/admin/permissions.rb +30 -5
  91. data/app/queries/decidim/admin/newsletter_recipients.rb +50 -14
  92. data/app/views/decidim/admin/areas/index.html.erb +3 -0
  93. data/app/views/decidim/admin/block_user/bulk_new.html.erb +45 -0
  94. data/app/views/decidim/admin/components/_actions.html.erb +50 -33
  95. data/app/views/decidim/admin/components/{_component.html.erb → _component_row.html.erb} +10 -5
  96. data/app/views/decidim/admin/components/_components_table.html.erb +18 -0
  97. data/app/views/decidim/admin/components/_form.html.erb +0 -12
  98. data/app/views/decidim/admin/components/_taxonomy_filters_drawer.html.erb +2 -0
  99. data/app/views/decidim/admin/components/_visibility_label.html.erb +9 -0
  100. data/app/views/decidim/admin/components/index.html.erb +12 -14
  101. data/app/views/decidim/admin/components/manage_trash.html.erb +11 -0
  102. data/app/views/decidim/admin/moderated_users/_bulk-actions.html.erb +6 -0
  103. data/app/views/decidim/admin/moderated_users/bulk_actions/_block.html.erb +20 -0
  104. data/app/views/decidim/admin/moderated_users/bulk_actions/_dropdown.html.erb +40 -0
  105. data/app/views/decidim/admin/moderated_users/bulk_actions/_unblock.html.erb +20 -0
  106. data/app/views/decidim/admin/moderated_users/bulk_actions/_unreport.html.erb +20 -0
  107. data/app/views/decidim/admin/moderated_users/index.html.erb +14 -6
  108. data/app/views/decidim/admin/moderations/_bulk-actions.html.erb +7 -0
  109. data/app/views/decidim/admin/moderations/_moderation-tr.html.erb +50 -0
  110. data/app/views/decidim/admin/moderations/_moderations-thead.html.erb +18 -0
  111. data/app/views/decidim/admin/moderations/bulk_actions/_dropdown.html.erb +43 -0
  112. data/app/views/decidim/admin/moderations/bulk_actions/_hide.html.erb +20 -0
  113. data/app/views/decidim/admin/moderations/bulk_actions/_unhide.html.erb +20 -0
  114. data/app/views/decidim/admin/moderations/bulk_actions/_unreport.html.erb +20 -0
  115. data/app/views/decidim/admin/moderations/index.html.erb +13 -85
  116. data/app/views/decidim/admin/newsletters/confirm_recipients.html.erb +64 -0
  117. data/app/views/decidim/admin/newsletters/select_recipients_to_deliver.html.erb +44 -20
  118. data/app/views/decidim/admin/participatory_space_private_users/_form.html.erb +6 -0
  119. data/app/views/decidim/admin/participatory_space_private_users/edit.html.erb +19 -0
  120. data/app/views/decidim/admin/participatory_space_private_users/index.html.erb +15 -1
  121. data/app/views/decidim/admin/resource_permissions/_options_form.html.erb +5 -0
  122. data/app/views/decidim/admin/resource_permissions/edit.html.erb +2 -2
  123. data/app/views/decidim/admin/scope_types/index.html.erb +3 -0
  124. data/app/views/decidim/admin/scopes/index.html.erb +3 -0
  125. data/app/views/decidim/admin/share_tokens/_form.html.erb +52 -0
  126. data/app/views/decidim/admin/share_tokens/edit.html.erb +33 -0
  127. data/app/views/decidim/admin/share_tokens/index.html.erb +47 -0
  128. data/app/views/decidim/admin/share_tokens/new.html.erb +69 -0
  129. data/app/views/decidim/admin/taxonomies/_filters.html.erb +19 -0
  130. data/app/views/decidim/admin/taxonomies/_form.html.erb +5 -0
  131. data/app/views/decidim/admin/taxonomies/_row.html.erb +40 -0
  132. data/app/views/decidim/admin/taxonomies/_row_children.html.erb +8 -0
  133. data/app/views/decidim/admin/taxonomies/_table.html.erb +86 -0
  134. data/app/views/decidim/admin/taxonomies/_taxonomy_actions.html.erb +15 -0
  135. data/app/views/decidim/admin/taxonomies/edit.html.erb +87 -0
  136. data/app/views/decidim/admin/taxonomies/index.html.erb +28 -0
  137. data/app/views/decidim/admin/taxonomies/new.html.erb +16 -0
  138. data/app/views/decidim/admin/taxonomy_filters/_check_boxes.html.erb +10 -0
  139. data/app/views/decidim/admin/taxonomy_filters/_form.html.erb +96 -0
  140. data/app/views/decidim/admin/taxonomy_filters/_table.html.erb +33 -0
  141. data/app/views/decidim/admin/taxonomy_filters/edit.html.erb +22 -0
  142. data/app/views/decidim/admin/taxonomy_filters/index.html.erb +26 -0
  143. data/app/views/decidim/admin/taxonomy_filters/new.html.erb +32 -0
  144. data/app/views/decidim/admin/taxonomy_filters_selector/_check_boxes.html.erb +7 -0
  145. data/app/views/decidim/admin/taxonomy_filters_selector/_component_table.html.erb +25 -0
  146. data/app/views/decidim/admin/taxonomy_filters_selector/_taxonomies_select.html.erb +16 -0
  147. data/app/views/decidim/admin/taxonomy_filters_selector/index.html.erb +1 -0
  148. data/app/views/decidim/admin/taxonomy_filters_selector/new.html.erb +27 -0
  149. data/app/views/decidim/admin/taxonomy_filters_selector/show.html.erb +18 -0
  150. data/app/views/decidim/admin/taxonomy_items/_form.html.erb +8 -0
  151. data/app/views/decidim/admin/taxonomy_items/edit.html.erb +12 -0
  152. data/app/views/decidim/admin/taxonomy_items/new.html.erb +12 -0
  153. data/app/views/layouts/decidim/admin/taxonomy_filters.html.erb +17 -0
  154. data/app/views/layouts/decidim/admin/taxonomy_filters_selector.html.erb +10 -0
  155. data/config/locales/ar.yml +45 -44
  156. data/config/locales/bg.yml +59 -53
  157. data/config/locales/bs-BA.yml +3 -30
  158. data/config/locales/ca.yml +301 -61
  159. data/config/locales/cs.yml +293 -51
  160. data/config/locales/de.yml +299 -59
  161. data/config/locales/el.yml +12 -54
  162. data/config/locales/en.yml +293 -53
  163. data/config/locales/eo.yml +0 -1
  164. data/config/locales/es-MX.yml +296 -56
  165. data/config/locales/es-PY.yml +296 -56
  166. data/config/locales/es.yml +292 -52
  167. data/config/locales/eu.yml +322 -82
  168. data/config/locales/fi-plain.yml +303 -52
  169. data/config/locales/fi.yml +303 -52
  170. data/config/locales/fr-CA.yml +181 -55
  171. data/config/locales/fr.yml +181 -55
  172. data/config/locales/ga-IE.yml +6 -24
  173. data/config/locales/gl.yml +6 -51
  174. data/config/locales/he-IL.yml +0 -6
  175. data/config/locales/hu.yml +16 -57
  176. data/config/locales/id-ID.yml +7 -30
  177. data/config/locales/is-IS.yml +6 -32
  178. data/config/locales/it.yml +6 -220
  179. data/config/locales/ja.yml +302 -55
  180. data/config/locales/kaa.yml +3 -12
  181. data/config/locales/ko.yml +5 -60
  182. data/config/locales/lb.yml +6 -52
  183. data/config/locales/lt.yml +10 -52
  184. data/config/locales/lv.yml +5 -31
  185. data/config/locales/nl.yml +8 -53
  186. data/config/locales/no.yml +6 -51
  187. data/config/locales/pl.yml +15 -54
  188. data/config/locales/pt-BR.yml +49 -52
  189. data/config/locales/pt.yml +35 -56
  190. data/config/locales/ro-RO.yml +41 -58
  191. data/config/locales/ru.yml +8 -30
  192. data/config/locales/sk.yml +8 -33
  193. data/config/locales/sl.yml +4 -12
  194. data/config/locales/sq-AL.yml +12 -37
  195. data/config/locales/sr-CS.yml +3 -30
  196. data/config/locales/sv.yml +299 -59
  197. data/config/locales/th-TH.yml +0 -14
  198. data/config/locales/tr-TR.yml +7 -289
  199. data/config/locales/uk.yml +7 -26
  200. data/config/locales/zh-CN.yml +6 -41
  201. data/config/locales/zh-TW.yml +4 -52
  202. data/config/routes.rb +13 -12
  203. data/decidim-admin.gemspec +1 -1
  204. data/lib/decidim/admin/engine.rb +2 -1
  205. data/lib/decidim/admin/import/creator.rb +2 -6
  206. data/lib/decidim/admin/import/readers/json.rb +1 -1
  207. data/lib/decidim/admin/menu.rb +9 -1
  208. data/lib/decidim/admin/search_form_builder.rb +1 -1
  209. data/lib/decidim/admin/test/destroy_admin_examples.rb +2 -2
  210. data/lib/decidim/admin/test/filterable_examples.rb +100 -9
  211. data/lib/decidim/admin/test/forms/attachment_collection_form_examples.rb +1 -1
  212. data/lib/decidim/admin/test/forms/attachment_form_examples.rb +1 -1
  213. data/lib/decidim/admin/test/invite_participatory_space_admins_shared_examples.rb +2 -4
  214. data/lib/decidim/admin/test/manage_component_permissions_examples.rb +5 -5
  215. data/lib/decidim/admin/test/manage_hide_content_examples.rb +3 -5
  216. data/lib/decidim/admin/test/manage_moderations_examples.rb +4 -4
  217. data/lib/decidim/admin/test/manage_resource_soft_deletion_examples.rb +113 -0
  218. data/lib/decidim/admin/test/manage_taxonomy_filters_examples.rb +127 -0
  219. data/lib/decidim/admin/test/taxonomy_filters_examples.rb +32 -0
  220. data/lib/decidim/admin/test.rb +3 -1
  221. data/lib/decidim/admin/version.rb +1 -1
  222. metadata +103 -30
  223. data/app/commands/decidim/admin/create_category.rb +0 -15
  224. data/app/commands/decidim/admin/destroy_category.rb +0 -15
  225. data/app/commands/decidim/admin/destroy_component.rb +0 -19
  226. data/app/commands/decidim/admin/update_category.rb +0 -11
  227. data/app/controllers/decidim/admin/categories_controller.rb +0 -98
  228. data/app/forms/decidim/admin/category_form.rb +0 -32
  229. data/app/helpers/decidim/admin/resource_scope_helper.rb +0 -52
  230. data/app/packs/src/decidim/admin/scope_picker_enabler.component.js +0 -12
  231. data/app/views/decidim/admin/categories/_form.html.erb +0 -18
  232. data/app/views/decidim/admin/categories/edit.html.erb +0 -19
  233. data/app/views/decidim/admin/categories/index.html.erb +0 -65
  234. data/app/views/decidim/admin/categories/new.html.erb +0 -19
  235. data/app/views/decidim/admin/share_tokens/_share_tokens.html.erb +0 -45
  236. data/config/locales/ca-IT.yml +0 -1161
  237. data/lib/decidim/admin/test/commands/create_category_examples.rb +0 -74
  238. data/lib/decidim/admin/test/commands/destroy_category_examples.rb +0 -83
  239. data/lib/decidim/admin/test/commands/update_category_examples.rb +0 -76
  240. data/lib/decidim/admin/test/forms/category_form_examples.rb +0 -70
  241. data/lib/decidim/admin/test/manage_categories_examples.rb +0 -128
@@ -0,0 +1,33 @@
1
+ <div class="table-scroll mt-8" role="table" aria-labelledby="taxonomies-title">
2
+ <table class="table-list">
3
+ <thead>
4
+ <tr role="row">
5
+ <th><%= t(".internal_name") %></th>
6
+ <th><%= t(".name") %></th>
7
+ <th><%= t(".components_count") %></th>
8
+ <th class="w-16"><%= t(".actions") %></th>
9
+ </tr>
10
+ </thead>
11
+ <tbody role="rowgroup">
12
+ <% collection.each do |taxonomy_filter| %>
13
+ <tr>
14
+ <td><%= translated_attribute(taxonomy_filter.internal_name) %></td>
15
+ <td><%= translated_attribute(taxonomy_filter.name) %></td>
16
+ <td><%= taxonomy_filter.components_count %></td>
17
+ <td>
18
+ <% if allowed_to? :update, :taxonomy_filter, taxonomy_filter: %>
19
+ <%= icon_link_to "pencil-line", edit_taxonomy_filter_path(root_taxonomy, taxonomy_filter), t(".edit"), class: "action-icon--edit" %>
20
+ <% else %>
21
+ <span class="action-space icon"></span>
22
+ <% end %>
23
+ <% if allowed_to? :destroy, :taxonomy_filter, taxonomy_filter: %>
24
+ <%= icon_link_to "delete-bin-line", taxonomy_filter_path(root_taxonomy, taxonomy_filter), t(".destroy"), class: "action-icon--remove", method: :delete, data: { confirm: t(".confirm_destroy", name: strip_tags(translated_attribute(taxonomy_filter.name))) } %>
25
+ <% else %>
26
+ <span class="action-space icon"></span>
27
+ <% end %>
28
+ </td>
29
+ </tr>
30
+ <% end %>
31
+ </tbody>
32
+ </table>
33
+ </div>
@@ -0,0 +1,22 @@
1
+ <% add_decidim_page_title(t(".title")) %>
2
+
3
+ <div class="item_show__header">
4
+ <h1 class="item_show__header-title">
5
+ <%= t(".title") %>
6
+ <%= link_to :back, class: "button button__transparent-secondary button__sm" do %>
7
+ <%= t(".back") %>
8
+ <% end %>
9
+ </h1>
10
+ </div>
11
+
12
+ <div class="item__edit-form">
13
+ <%= decidim_form_for(@form, url: taxonomy_filter_path(root_taxonomy, id: taxonomy_filter), html: { class: "form form-defaults new_taxonomy_filter_" }) do |f| %>
14
+ <%= render partial: "decidim/admin/taxonomy_filters/form", object: f %>
15
+
16
+ <div class="item__edit-sticky">
17
+ <div class="item__edit-sticky-container">
18
+ <%= f.submit t(".update"), class: "button button__sm button__secondary" %>
19
+ </div>
20
+ </div>
21
+ <% end %>
22
+ </div>
@@ -0,0 +1,26 @@
1
+ <% add_decidim_page_title(t("decidim.admin.titles.taxonomy_filters", taxonomy: translated_attribute(root_taxonomy.name))) %>
2
+
3
+ <div class="card" aria-labelledby="taxonomy_filters-title">
4
+ <div class="item_show__header">
5
+ <div class="w-full">
6
+ <h1 class="item_show__header-title" id="taxonomy_filters-title">
7
+ <%= t("decidim.admin.titles.taxonomy_filters", taxonomy: translated_attribute(root_taxonomy.name)) %>
8
+ <% if allowed_to? :create, :taxonomy %>
9
+ <%= link_to t(".new_filter"), new_taxonomy_filter_path(root_taxonomy), class: "button button__sm button__secondary new" %>
10
+ <% end %>
11
+ </h1>
12
+
13
+ <p class="mt-2 text-gray-600">
14
+ <%= t(".description") %>
15
+ </p>
16
+ </div>
17
+ </div>
18
+
19
+ <div class="card-section p-4">
20
+ <% if collection.any? %>
21
+ <%= render "decidim/admin/taxonomy_filters/table" %>
22
+ <% else %>
23
+ <p><%= t(".empty") %></p>
24
+ <% end %>
25
+ </div>
26
+ </div>
@@ -0,0 +1,32 @@
1
+ <% add_decidim_page_title(t(".title")) %>
2
+
3
+ <div class="item_show__header">
4
+ <h1 class="item_show__header-title">
5
+ <%= t(".title") %>
6
+ <%= link_to :back, class: "button button__transparent-secondary button__sm" do %>
7
+ <%= t(".back") %>
8
+ <% end %>
9
+ </h1>
10
+ </div>
11
+
12
+ <div class="item__edit-form">
13
+ <%= decidim_form_for(@form, url: taxonomy_filters_path(root_taxonomy), html: { class: "form form-defaults new_taxonomy_filter_" }) do |f| %>
14
+ <%= render partial: "decidim/admin/taxonomy_filters/form", object: f %>
15
+
16
+ <div class="item__edit-sticky">
17
+ <div class="item__edit-sticky-container">
18
+ <%= f.submit t(".create"), class: "button button__sm button__secondary" %>
19
+ </div>
20
+ </div>
21
+ <% end %>
22
+ </div>
23
+
24
+ <script>
25
+ document.addEventListener("DOMContentLoaded", function() {
26
+ var selectAll = document.querySelector("[name='selectAll']");
27
+
28
+ // check all checkboxes on load
29
+ selectAll.checked = true;
30
+ selectAll.dispatchEvent(new Event("change"));
31
+ });
32
+ </script>
@@ -0,0 +1,7 @@
1
+ <% taxonomy_items_options_for_filter(taxonomy_filter).each do |text, id| %>
2
+ <div class="ml-4">
3
+ <%= label_tag("checkbox-taxonomy-#{id}", style: "padding-left: #{text.split("&nbsp;").count / 5}em") do
4
+ check_box_tag("checkbox-taxonomy-#{id}", id, true, autocomplete: false, disabled: true) + text.gsub("&nbsp;", "")
5
+ end %>
6
+ </div>
7
+ <% end %>
@@ -0,0 +1,25 @@
1
+ <table class="table-list w-full my-4">
2
+ <thead>
3
+ <tr>
4
+ <th><%= t("decidim.admin.taxonomy_filters.table.name") %></th>
5
+ <th><%= t("decidim.admin.taxonomy_filters.table.internal_name") %></th>
6
+ <th class="w-16"><%= t("decidim.admin.taxonomy_filters.table.actions") %></th>
7
+ </tr>
8
+ </thead>
9
+ <tbody>
10
+ <% component.available_taxonomy_filters.each do |taxonomy_filter| %>
11
+ <%= hidden_field_tag(field_name, taxonomy_filter.id) %>
12
+ <tr>
13
+ <td><%= taxonomy_filter.translated_name %></td>
14
+ <td><%= taxonomy_filter.translated_internal_name %></td>
15
+ <td>
16
+ <%= icon_link_to("pencil-line",
17
+ decidim_admin.taxonomy_filters_selector_path(component_id: component.id, taxonomy_id: taxonomy_filter.root_taxonomy_id, taxonomy_filter_id: taxonomy_filter.id),
18
+ t("decidim.admin.taxonomy_filters.table.edit"),
19
+ class: "js-edit-taxonomy-filter",
20
+ data: { drawer: "taxonomy_filters-dialog" }) %>
21
+ </td>
22
+ </tr>
23
+ <% end %>
24
+ </tbody>
25
+ </table>
@@ -0,0 +1,16 @@
1
+ <%= form_with url: new_taxonomy_filters_selector_path, method: :get, local: false, id: "select-taxonomy-filter-form" do |form| %>
2
+ <div class="form__wrapper">
3
+ <%= hidden_field_tag :component_id, component.id %>
4
+ <div class="item__edit-form js-drawer-taxonomy-select">
5
+ <%= label_tag("available-taxonomies-filter", t(".taxonomies")) %>
6
+ <%= select_tag "taxonomy_id", options_from_collection_for_select(current_organization.taxonomies.roots, "id", "translated_name", root_taxonomy&.id), include_blank: t(".select_taxonomy") %>
7
+ </div>
8
+
9
+ <% if root_taxonomy %>
10
+ <div class="item__edit-form js-drawer-filter-select">
11
+ <%= label_tag("available-filters-filter", t(".filters")) %>
12
+ <%= select_tag "taxonomy_filter_id", options_from_collection_for_select(root_taxonomy.taxonomy_filters, "id", "translated_internal_name", taxonomy_filter&.id), include_blank: t(".select_filter") %>
13
+ </div>
14
+ <% end %>
15
+ </div>
16
+ <% end %>
@@ -0,0 +1 @@
1
+ <%= render "decidim/admin/taxonomy_filters_selector/taxonomies_select" %>
@@ -0,0 +1,27 @@
1
+ <% content_for(:action_buttons) do %>
2
+ <% if taxonomy_filter %>
3
+ <%= button_tag class: "button button__secondary button__sm", id: "save-taxonomy-filter" do %>
4
+ <%= t(".save") %>
5
+ <% end %>
6
+ <% end %>
7
+ <% end %>
8
+
9
+ <%= render "decidim/admin/taxonomy_filters_selector/taxonomies_select" %>
10
+
11
+ <%= form_with url: taxonomy_filters_selector_index_path, method: :post, local: false, id: "save-taxonomy-filter-form" do |form| %>
12
+ <%= hidden_field_tag :component_id, component.id %>
13
+ <%= hidden_field_tag :taxonomy_id, root_taxonomy&.id %>
14
+ <%= hidden_field_tag :taxonomy_filter_id, taxonomy_filter&.id %>
15
+
16
+ <% if taxonomy_filter %>
17
+ <div class="card">
18
+ <h3 class="mb-4">
19
+ <strong><%= taxonomy_filter.translated_name %></strong>
20
+ <span class="float-right"><%= t(".items_count", count: taxonomy_filter.filter_items_count) %></span>
21
+ </h3>
22
+ <%= render "decidim/admin/taxonomy_filters_selector/check_boxes", collection: taxonomy_filter.taxonomies %>
23
+ </div>
24
+
25
+ <%= cell("decidim/announcement", t(".add_new_items_html", url: decidim_admin.taxonomy_filters_path(taxonomy_id: root_taxonomy, taxonomy_filter_id: taxonomy_filter))) %>
26
+ <% end %>
27
+ <% end %>
@@ -0,0 +1,18 @@
1
+ <% content_for(:action_buttons) do %>
2
+ <% if taxonomy_filter %>
3
+ <%= link_to decidim_admin.taxonomy_filters_selector_path(taxonomy_filter_id: taxonomy_filter.id, taxonomy_id: root_taxonomy.id, component_id: component.id), remote: true, method: :delete, class: "button button__transparent-secondary button__sm", id: "remove-taxonomy-filter" do %>
4
+ <%= t(".remove") %>
5
+ <% end %>
6
+ <% end %>
7
+ <% end %>
8
+
9
+ <h3 class="text-lg my-4"><%= root_taxonomy.translated_name %></h3>
10
+ <h4 class="text-xl my-4"><%= taxonomy_filter.translated_internal_name %></h4>
11
+
12
+ <div class="card">
13
+ <h3 class="mb-4">
14
+ <strong><%= taxonomy_filter.translated_name %></strong>
15
+ <span class="float-right"><%= t(".items_count", count: taxonomy_filter.filter_items_count) %></span>
16
+ </h3>
17
+ <%= render "decidim/admin/taxonomy_filters_selector/check_boxes", collection: taxonomy_filter.taxonomies %>
18
+ </div>
@@ -0,0 +1,8 @@
1
+ <%= display_flash_messages %>
2
+
3
+ <div class="row column">
4
+ <%= form.translated :text_field, :item_name, autofocus: true, class: "js-hashtags", hashtaggable: true, aria: { label: :name } %>
5
+ </div>
6
+ <div class="row column">
7
+ <%= form.select :parent_id, options_for_select(parent_options, selected: selected_parent_id), {} %>
8
+ </div>
@@ -0,0 +1,12 @@
1
+ <div class="form__wrapper">
2
+ <div class="item__edit-form">
3
+ <%= decidim_form_for(@form, url: taxonomy_item_path(taxonomy_id: taxonomy.id, id: taxonomy_item.id ), remote: true, html: { id: "taxonomy-item-form", class: "form-defaults form new_taxonomy_" }) do |f| %>
4
+ <h1>
5
+ <%= t ".title", taxonomy: translated_attribute(taxonomy.name) %>
6
+ <%= f.submit t(".update"), class: "button button__sm button__secondary" %>
7
+ </h1>
8
+
9
+ <%= render partial: "form", object: f %>
10
+ <% end %>
11
+ </div>
12
+ </div>
@@ -0,0 +1,12 @@
1
+ <div class="form__wrapper">
2
+ <div class="item__edit-form">
3
+ <%= decidim_form_for(@form, url: taxonomy_items_path(taxonomy), remote: true, html: { id: "taxonomy-item-form", class: "form-defaults form new_taxonomy_" }) do |f| %>
4
+ <h1>
5
+ <%= t ".title", taxonomy: translated_attribute(taxonomy.name) %>
6
+ <%= f.submit t(".create"), class: "button button__sm button__secondary" %>
7
+ </h1>
8
+
9
+ <%= render partial: "form", object: f %>
10
+ <% end %>
11
+ </div>
12
+ </div>
@@ -0,0 +1,17 @@
1
+ <% content_for :breadcrumb_context_menu do %>
2
+ <div class="process-title-content-breadcrumb-container-right">
3
+ <% if allowed_to? :create, :taxonomy_filter %>
4
+ <%= link_to url_for(action: :new, controller: params[:controller]), class: "button button__sm button__transparent process-title-content-breadcrumb-container-right-link" do %>
5
+ <%= icon "add-line", class: "w-4 h-4" %>
6
+ <span>
7
+ <%= t("actions.new_taxonomy_filter", scope: "decidim.admin.taxonomy_filters") %>
8
+ </span>
9
+ <% end %>
10
+ <% end %>
11
+ <%= render partial: breadcrumb_manage_partial if breadcrumb_manage_partial.present? %>
12
+ </div>
13
+ <% end %>
14
+
15
+ <%= render "layouts/decidim/admin/application" do %>
16
+ <%= yield %>
17
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <div class="item_show__header">
2
+ <h1 class="item_show__header-title">
3
+ <%= t(".title") %>
4
+ <%= yield(:action_buttons) %>
5
+ </h1>
6
+ </div>
7
+
8
+ <div class="form-defaults">
9
+ <%= yield %>
10
+ </div>
@@ -185,8 +185,13 @@ ar:
185
185
  attachment_collection:
186
186
  new: مجلد مرفقات جديد
187
187
  browse: تصفح
188
- category:
189
- new: فئة جديدة
188
+ confirm_delete_component: |
189
+ هل أنت متأكد من أنك تريد حذف هذا العنصر؟<br>
190
+ يحتوي هذا المكون على:<br>
191
+ <ul class="list-disc ml-6 my-2">
192
+ <li class="font-bold">%{resources_count} مصادر</li>
193
+ </ul>
194
+ يمكنك استعادة العنصر إذا غيرت رأيك لاحقاً.
190
195
  export: تصدير الكل
191
196
  export-selection: تصدير الإختيار
192
197
  import: استيراد
@@ -269,23 +274,8 @@ ar:
269
274
  justification: المبرر
270
275
  title: حظر المستخدم %{name}
271
276
  categories:
272
- create:
273
- error: كانت هناك مشكلة في إنشاء هذه الفئة.
274
- success: تم إنشاء الفئة بنجاح.
275
- destroy:
276
- error: حدثت مشكلة في حذف هذه الفئة. يرجى حذف أي فئة فرعية أولاً ، تأكد من عدم وجود كيان آخر ينتمي إلى هذه الفئة وحاول مرة أخرى.
277
- success: تم حذف الفئة بنجاح.
278
- edit:
279
- title: تحرير الفئة
280
- update: تحديث
281
277
  index:
282
278
  categories_title: الاقسام
283
- new:
284
- create: إنشاء فئة
285
- title: فئة جديدة
286
- update:
287
- error: حدثت مشكلة أثناء تحديث هذه الفئة.
288
- success: تم تحديث الفئة بنجاح.
289
279
  component_permissions:
290
280
  update:
291
281
  success: تم تحديث الأذونات بنجاح.
@@ -293,9 +283,6 @@ ar:
293
283
  create:
294
284
  error: حدثت مشكلة أثناء إنشاء هذا المكون.
295
285
  success: مكون تم إنشاؤه بنجاح.
296
- destroy:
297
- error: حدثت مشكلة أثناء تدمير هذا المكون.
298
- success: تم حذف المكون بنجاح.
299
286
  edit:
300
287
  title: تحرير المكون
301
288
  update: تحديث
@@ -308,7 +295,6 @@ ar:
308
295
  headers:
309
296
  actions: أفعال
310
297
  name: اسم المكون
311
- scope: مجال المكون
312
298
  type: نوع المكون
313
299
  new:
314
300
  add: إضافة عنصر
@@ -349,8 +335,6 @@ ar:
349
335
  FormPDF: ملف (PDF)
350
336
  JSON: ملفات بصيغة (JSON)
351
337
  filters:
352
- category_id_eq:
353
- label: الفئة
354
338
  filter_label: تصفية
355
339
  invitation_accepted_at_present:
356
340
  label: تم قبول الدعوة
@@ -398,8 +382,6 @@ ar:
398
382
  values:
399
383
  'false': تم نشره
400
384
  'true': لم يُنشَر
401
- scope_id_eq:
402
- label: المجال
403
385
  search_label: بحث
404
386
  search_placeholder:
405
387
  name_or_nickname_or_email_cont: البحث عن %{collection} بحسب عنوان البريد الإكتروني أو الإسم أو الإسم المستعار.
@@ -553,10 +535,8 @@ ar:
553
535
  plural: جمع
554
536
  share_token:
555
537
  fields:
556
- created_at: أنشئت في
538
+ actions: الإجراءات
557
539
  expires_at: تنتهي صلاحيته في
558
- token: رمز التشفير - Token
559
- user: تم الإنشاء بواسطة
560
540
  static_page:
561
541
  fields:
562
542
  created_at: أنشئت في
@@ -576,8 +556,8 @@ ar:
576
556
  actions: أفعال
577
557
  created_at: أنشئت في
578
558
  document_number: رقم المستند
579
- name: الاسم
580
- nickname: كنية
559
+ name: اسم
560
+ nickname: الاسم المستعار
581
561
  phone: هاتف
582
562
  state: حالة
583
563
  users_count: عدد المشاركين
@@ -585,6 +565,8 @@ ar:
585
565
  index:
586
566
  actions:
587
567
  block: حظر مستخدم
568
+ bulk_actions:
569
+ actions_dropdown: الإجراءات
588
570
  title: الإجراءات
589
571
  unblock: إلغاء حظر المستخدم
590
572
  unreport: إلغاء التبليغ
@@ -599,6 +581,11 @@ ar:
599
581
  tabs:
600
582
  blocked: محظور
601
583
  moderations:
584
+ index:
585
+ actions:
586
+ actions_dropdown: الإجراءات
587
+ hide:
588
+ title: إخفاء
602
589
  report:
603
590
  reasons:
604
591
  does_not_belong: لا ينتمي
@@ -621,6 +608,9 @@ ar:
621
608
  preview_template: معاينة
622
609
  title: نماذج النشرة الإخبارية
623
610
  newsletters:
611
+ confirm_recipients:
612
+ email: البريد الإلكتروني
613
+ name: الإسم
624
614
  create:
625
615
  error: كانت هناك مشكلة في إنشاء هذه الرسالة الإخبارية.
626
616
  deliver:
@@ -639,7 +629,6 @@ ar:
639
629
  confirm_delete: هل أنت متأكد من أنك تريد حذف هذه الرسالة الإخبارية؟
640
630
  followers: 'مُتابِعون '
641
631
  has_been_sent_to: 'تم إرسالها إلى: '
642
- no_scopes: لا توجد مجالات
643
632
  not_sent: غير مرسَلة
644
633
  participants: 'مشاركون '
645
634
  segmented_to: 'مقسمه إلى %{subject}: '
@@ -652,9 +641,7 @@ ar:
652
641
  all_spaces: الكل
653
642
  confirm_deliver: هل أنت متأكد من أنك تريد تسليم هذه الرسالة الإخبارية؟ لا يمكن التراجع عن هذا الإجراء.
654
643
  deliver: تسليم النشرة الإخبارية
655
- none: لا شيء
656
- scopes_help: إرسال النشرة الإخبارية للمستخدمين الذين لديهم أي من المجالات المحددة تم تفعيله في إعدادات "اهتماماتي" لحسابهم.
657
- select_scopes: أختر للمستخدمين الذين فعلوا أي مجال محدد في إعدادات أهتماماتي لحساباتهم.
644
+ send_to_all_users: إرسال إلى كافة المستخدمين
658
645
  title: حدد المستلمين للإرسال اليهم
659
646
  warning: "<strong>تنبيه:</strong> سيتم إرسال هذه النشرة الإخبارية فقط للمستخدمين الذين فعلوا <em>أريد تلقي النشرات الإخبارية</em> في إعدادات الإشعارات الخاصة بهم."
660
647
  show:
@@ -711,6 +698,8 @@ ar:
711
698
  edit:
712
699
  update: تحديث
713
700
  form:
701
+ colors:
702
+ colors_title: ألوان المنظمة
714
703
  cta_button_text_help: يمكنك الكتابة فوق نص زر Call To Action في الصفحة الرئيسية لكل لغة متاحة في مؤسستك. إذا لم يتم تعيينها ، سيتم استخدام القيمة الافتراضية. يظهر زر Call To Action في الصفحة الرئيسية بين نص الترحيب والوصف.
715
704
  homepage_appearance_title: تحرير مظهر الصفحة الرئيسية
716
705
  homepage_highlighted_content_banner_title: لافتة المحتوى الراقي
@@ -732,8 +721,6 @@ ar:
732
721
  title: مشارك جديد الفضاء الخاص المشارك.
733
722
  participatory_space_private_users_csv_imports:
734
723
  new:
735
- csv_upload:
736
- title: قم بتحميل ملف CSV الخاص بك
737
724
  destroy:
738
725
  button: حذف جميع المشاركين الخاصين
739
726
  empty: ليس لديك أي مشاركين خاصين.
@@ -749,10 +736,6 @@ ar:
749
736
  title: تعديل الترخيصات
750
737
  update:
751
738
  success: تم تحديث الأذونات بنجاح.
752
- resources:
753
- index:
754
- headers:
755
- scope: المجال
756
739
  scope_types:
757
740
  create:
758
741
  error: حدثت مشكلة أثناء إنشاء نوع مجال جديد.
@@ -784,8 +767,14 @@ ar:
784
767
  success: تم تحديث المجال بنجاح
785
768
  share_tokens:
786
769
  actions:
770
+ copy_link: نسخ الرابط
787
771
  destroy: حذف
788
- share: مشاركة
772
+ edit: تعديل
773
+ preview: معاينة
774
+ form:
775
+ 'true': 'نعم'
776
+ new:
777
+ create: إنشاء
789
778
  shared:
790
779
  gallery:
791
780
  add_images: إضافة صور
@@ -825,6 +814,18 @@ ar:
825
814
  without_topic: صفحات بدون موضوع
826
815
  update:
827
816
  error: حدثت مشكلة أثناء تحديث هذه الصفحة.
817
+ taxonomies:
818
+ actions:
819
+ actions: الإجراءات
820
+ name: الإسم
821
+ taxonomy_filters:
822
+ table:
823
+ actions: الإجراءات
824
+ destroy: حذف
825
+ edit: تعديل
826
+ taxonomy_filters_selector:
827
+ new:
828
+ save: حفظ
828
829
  titles:
829
830
  admin_log: سجل المسؤول
830
831
  area_types: أنواع المناطق
@@ -856,14 +857,14 @@ ar:
856
857
  index:
857
858
  state:
858
859
  pending: قيد الانتظار
859
- rejected: تم رفضه
860
- verified: تم التحقق
860
+ rejected: مرفوض
861
+ verified: التحقق
861
862
  verify_via_csv: تحقق عبر CSV
862
863
  user_groups_csv_verifications:
863
864
  new:
864
865
  explanation: قم بتحميل ملف CSV الخاص بك. يجب أن يحتوي على رسائل البريد الإلكتروني الرسمية للمجموعات في مؤسستك في العمود الأول من الملف ، بدون رؤوس. سيتم التحقق من صحة المجموعات التي أكدت بريدها الإلكتروني والتي تحتوي على بريد إلكتروني ظاهر في ملف CSV.
865
866
  title: قم بتحميل ملف CSV الخاص بك
866
- upload: حمّل
867
+ upload: رفع
867
868
  users:
868
869
  create:
869
870
  error: كانت هناك مشكلة في دعوة هذا المشرف.