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
@@ -158,23 +158,8 @@ uk:
158
158
  autocomplete:
159
159
  no_results: Нічого не знайдено
160
160
  categories:
161
- create:
162
- error: При спробі створити цю категорію сталася помилка.
163
- success: Категорію успішно створено.
164
- destroy:
165
- error: При спробі видалити цю категорію сталася помилка. Спочатку видаліть всі підкатегорії, а потім переконайтеся, що ніщо не належить до цієї категорії, і повторіть спробу.
166
- success: Категорію успішно видалено.
167
- edit:
168
- title: Редагувати категорію
169
- update: Оновити
170
161
  index:
171
162
  categories_title: Категорії
172
- new:
173
- create: Створити категорію
174
- title: Додати категорію
175
- update:
176
- error: При спробі оновити цю категорію сталася помилка.
177
- success: Категорію успішно оновлено.
178
163
  component_permissions:
179
164
  update:
180
165
  success: Права доступу успішно оновлено.
@@ -182,9 +167,6 @@ uk:
182
167
  create:
183
168
  error: При спробі створити цю складову сталася помилка.
184
169
  success: Складову успішно створено.
185
- destroy:
186
- error: При спробі видалити цю складову сталася помилка.
187
- success: Складову успішно видалено.
188
170
  edit:
189
171
  title: Редагувати складову
190
172
  update: Оновити
@@ -215,8 +197,6 @@ uk:
215
197
  exports:
216
198
  export_as: "%{name} як %{export_format}"
217
199
  filters:
218
- category_id_eq:
219
- label: Категорія
220
200
  officialized_at_null:
221
201
  label: Стан
222
202
  values:
@@ -326,9 +306,6 @@ uk:
326
306
  fields:
327
307
  name: Ім'я
328
308
  plural: Множина
329
- share_token:
330
- fields:
331
- created_at: 'Створено:'
332
309
  static_page:
333
310
  fields:
334
311
  created_at: 'Створено:'
@@ -348,8 +325,7 @@ uk:
348
325
  actions: Дії
349
326
  created_at: 'Створено:'
350
327
  document_number: Номер документа
351
- name: Назва
352
- nickname: Псевдонім
328
+ name: Ім'я
353
329
  phone: Телефон
354
330
  state: Стан
355
331
  users_count: Кількість учасників
@@ -428,7 +404,6 @@ uk:
428
404
  homepage_highlighted_content_banner_title: Банер висвітленого вмісту
429
405
  images:
430
406
  layout_appearance_title: Редагувати зовнішній вигляд шаблону
431
- preview: Попередній перегляд
432
407
  omnipresent_banner_appearance_title: Редагувати всюдисущий банер
433
408
  participatory_space_private_users:
434
409
  create:
@@ -504,6 +479,12 @@ uk:
504
479
  invalid: При відхиленні цього гурту учасників сталася помилка.
505
480
  verify:
506
481
  invalid: При підтвердженні цього гурту учасників сталася помилка.
482
+ user_groups:
483
+ index:
484
+ state:
485
+ pending: Очікує на розгляд
486
+ rejected: Відхилено
487
+ verified: Перевірено
507
488
  users:
508
489
  create:
509
490
  error: Під час запрошення цього учасника сталася помилка.
@@ -193,23 +193,8 @@ zh-CN:
193
193
  autocomplete:
194
194
  no_results: 未找到结果
195
195
  categories:
196
- create:
197
- error: 创建此类别时出现问题。
198
- success: 分类创建成功。
199
- destroy:
200
- error: 删除此类别时出错。请先删除任何子类别,请确保没有其他实体属于此类别,然后重试。
201
- success: 类别删除成功。
202
- edit:
203
- title: 编辑类别
204
- update: 更新
205
196
  index:
206
197
  categories_title: 类别管理
207
- new:
208
- create: 创建类别
209
- title: 新类别
210
- update:
211
- error: 更新此类别时出现问题。
212
- success: 类别更新成功。
213
198
  component_permissions:
214
199
  update:
215
200
  error: 更新此组件的权限时出现问题。
@@ -218,9 +203,6 @@ zh-CN:
218
203
  create:
219
204
  error: 创建此组件时出现问题。
220
205
  success: 组件创建成功。
221
- destroy:
222
- error: 销毁此组件时出现问题。
223
- success: 组件删除成功。
224
206
  edit:
225
207
  title: 编辑组件
226
208
  update: 更新
@@ -233,7 +215,6 @@ zh-CN:
233
215
  headers:
234
216
  actions: 行动
235
217
  name: 组件名称
236
- scope: 组件范围
237
218
  type: 组件类型
238
219
  new:
239
220
  add: 添加组件
@@ -257,8 +238,6 @@ zh-CN:
257
238
  FormPDF: PDF
258
239
  JSON: JSON
259
240
  filters:
260
- category_id_eq:
261
- label: 类别
262
241
  filter_label: 筛选器
263
242
  officialized_at_null:
264
243
  label: 状态
@@ -395,12 +374,8 @@ zh-CN:
395
374
  plural: 复数
396
375
  share_token:
397
376
  fields:
398
- created_at: 创建于
399
377
  expires_at: 过期时间
400
- last_used_at: 上次使用时间
401
378
  times_used: 使用的时间
402
- token: 令牌
403
- user: 创建者
404
379
  static_page:
405
380
  fields:
406
381
  created_at: 创建于
@@ -421,7 +396,6 @@ zh-CN:
421
396
  created_at: 创建于
422
397
  document_number: 文档编号
423
398
  name: 名称
424
- nickname: 昵称
425
399
  phone: 电话
426
400
  state: 状态
427
401
  users_count: 参与者数量
@@ -458,7 +432,6 @@ zh-CN:
458
432
  confirm_delete: 您确定要删除这个通讯吗?
459
433
  followers: '关注者 '
460
434
  has_been_sent_to: '已发送到: '
461
- no_scopes: 无范围
462
435
  not_sent: 未发送
463
436
  participants: '参与者 '
464
437
  segmented_to: '分段到 %{subject}: '
@@ -473,13 +446,9 @@ zh-CN:
473
446
  confirm_deliver: 您确定要发送这个通讯吗?此操作不能撤消。
474
447
  deliver: 发送通讯
475
448
  followers_help: 发送通讯给所有已确认的用户,它们跟随列表中任何选定的参与空间。
476
- none: 无
477
449
  participants_help: 向参与名单中任何选定参与空间的所有经确认的用户发送通讯。
478
450
  recipients_count: 这份通讯将发送给 <strong id='recipients_count'>%{count}</strong> 用户。
479
- scopes_help: 发送通讯给在其帐户的“我的兴趣”设置中激活任何选定范围的用户。
480
- select_scopes: 筛选已激活其账户中任何选定范围的用户。
481
451
  select_spaces: 选择要断开通讯的空格
482
- select_users: 选择您想要发送消息的用户
483
452
  title: 选择要交付的收件人
484
453
  warning: "<strong>注意:</strong> 这份通讯将只发送给已激活 <em>我想在其通知设置中接收新闻简讯</em>。"
485
454
  show:
@@ -530,6 +499,8 @@ zh-CN:
530
499
  edit:
531
500
  update: 更新
532
501
  form:
502
+ colors:
503
+ colors_title: 组织颜色
533
504
  cta_button_text_help: 您可以在主页中为您的组织中的每种可用语言覆盖“通话动作”按钮文本。 如果未设置,将使用默认值。 “通话动作”按钮显示在欢迎文本和描述之间的主页。
534
505
  homepage_appearance_title: 编辑主页外观
535
506
  homepage_highlighted_content_banner_title: 高亮的内容素材
@@ -551,8 +522,6 @@ zh-CN:
551
522
  title: 新的参与性空间活动私人参与者。
552
523
  participatory_space_private_users_csv_imports:
553
524
  new:
554
- csv_upload:
555
- title: 上传您的 CSV 文件
556
525
  upload: 上传
557
526
  resource_permissions:
558
527
  edit:
@@ -591,15 +560,7 @@ zh-CN:
591
560
  success: 范围已成功更新
592
561
  share_tokens:
593
562
  actions:
594
- confirm_destroy: 您确定要删除此令牌吗?
595
563
  destroy: 删除
596
- share: 分享
597
- destroy:
598
- error: 摧毁令牌时出现问题。
599
- success: 令牌已成功销毁。
600
- share_tokens:
601
- help: 这些代币用于公开分享此未发布的资源给任何用户。 当资源发布时,它们将被隐藏。点击令牌的共享图标访问可共享的 URL。
602
- title: 分享令牌
603
564
  shared:
604
565
  gallery:
605
566
  add_images: 添加图像
@@ -662,6 +623,10 @@ zh-CN:
662
623
  invalid: 验证此组时出现问题。
663
624
  user_groups:
664
625
  index:
626
+ state:
627
+ pending: 待定
628
+ rejected: 已拒绝
629
+ verified: 已验证
665
630
  verify_via_csv: 通过CSV验证
666
631
  user_groups_csv_verifications:
667
632
  new:
@@ -177,8 +177,6 @@ zh-TW:
177
177
  attachment_collection:
178
178
  new: 新增附件資料夾
179
179
  browse: 瀏覽
180
- category:
181
- new: 新分類
182
180
  export: 全部匯出
183
181
  export-selection: 匯出選擇
184
182
  import: 匯入
@@ -196,7 +194,6 @@ zh-TW:
196
194
  verify: 驗證
197
195
  admin_terms_of_service:
198
196
  accept:
199
- error: 點選同意管理員服務條款時發生錯誤
200
197
  success: 太好了,已經同意管理員服務條款!
201
198
  actions:
202
199
  accept: 我同意這些條款
@@ -286,23 +283,8 @@ zh-TW:
286
283
  justification: 理由
287
284
  title: 封鎖使用者 %{name}
288
285
  categories:
289
- create:
290
- error: 建立這個分類時發生錯誤
291
- success: 分類建立成功
292
- destroy:
293
- error: 刪除這個分類時發生錯誤,請先將子類別刪除,確認這個分類沒有其他關聯後重試
294
- success: 分類刪除成功
295
- edit:
296
- title: 編輯分類
297
- update: 更新
298
286
  index:
299
287
  categories_title: 分類
300
- new:
301
- create: 建立類別
302
- title: 新分類
303
- update:
304
- error: 更新這個分類時發生錯誤
305
- success: 更新類別成功。
306
288
  component_permissions:
307
289
  update:
308
290
  error: 更新這個元件的權限時發生錯誤
@@ -311,9 +293,6 @@ zh-TW:
311
293
  create:
312
294
  error: 這個元件創建時出了問題
313
295
  success: 新增元件成功。
314
- destroy:
315
- error: 刪除這個元件時發生錯誤
316
- success: 成功刪除元件
317
296
  edit:
318
297
  title: 編輯組件
319
298
  update: 更新
@@ -326,7 +305,6 @@ zh-TW:
326
305
  headers:
327
306
  actions: 操作
328
307
  name: 組件名稱
329
- scope: 組件作用域
330
308
  type: 組件類型
331
309
  new:
332
310
  add: 新增元件
@@ -368,8 +346,6 @@ zh-TW:
368
346
  JSON: JSON
369
347
  notice: 匯出處理中,完成後會發出通知
370
348
  filters:
371
- category_id_eq:
372
- label: 類別
373
349
  filter_label: 篩選
374
350
  invitation_accepted_at_present:
375
351
  label: 邀請已接受
@@ -417,8 +393,6 @@ zh-TW:
417
393
  values:
418
394
  'false': 已發佈
419
395
  'true': 取消發佈
420
- scope_id_eq:
421
- label: 範圍
422
396
  search_label: 搜尋
423
397
  search_placeholder:
424
398
  name_or_nickname_or_email_cont: 按電子郵件、姓名或暱稱搜索%{collection}。
@@ -601,12 +575,8 @@ zh-TW:
601
575
  plural: 複數
602
576
  share_token:
603
577
  fields:
604
- created_at: 建立於
605
578
  expires_at: 到期日
606
- last_used_at: 上次使用時間
607
579
  times_used: 使用次數
608
- token: 代幣
609
- user: 創建者
610
580
  static_page:
611
581
  fields:
612
582
  created_at: 建立於
@@ -703,7 +673,6 @@ zh-TW:
703
673
  confirm_delete: 您確定要刪除這份通訊嗎?
704
674
  followers: '追隨者'
705
675
  has_been_sent_to: '已發送至: '
706
- no_scopes: 無範圍
707
676
  not_sent: 未發送
708
677
  participants: '參與者 '
709
678
  segmented_to: '分段至 %{subject}: '
@@ -718,13 +687,10 @@ zh-TW:
718
687
  confirm_deliver: 您確定要發送這封通訊嗎?此操作無法撤銷。
719
688
  deliver: 發送通訊
720
689
  followers_help: 將通訊發送給清單中所有已確認且關注任何選定參與空間的使用者。
721
- none: 無
722
690
  participants_help: 發送通訊給所有在列表中任何選定的參與空間中參與過的已確認使用者。
723
691
  recipients_count: 此通訊將發送給<strong id='recipients_count'>%{count}</strong>位使用者。
724
- scopes_help: 向在其帳戶的「我的興趣」設置中啟用任何選定範圍的使用者發送通訊。
725
- select_scopes: 篩選條件為在其帳戶的「我的興趣」設置中啟用任何選定範圍的使用者。
726
692
  select_spaces: 選擇要將通訊進行分割的空間
727
- select_users: 選擇您想要發送通訊的使用者
693
+ send_to_all_users: 傳送給所有使用者
728
694
  title: 選擇要傳送的收件人
729
695
  warning: "<strong>注意:</strong>此通訊將僅傳送給已在其通知設定中啟用<em>我想收到通訊</em>的使用者。"
730
696
  send:
@@ -738,7 +704,6 @@ zh-TW:
738
704
  success: 通訊更新成功。請在發送前檢查一下。
739
705
  officializations:
740
706
  block:
741
- error: 封鎖參與者時發生錯誤.
742
707
  success: 參與者已成功封鎖.
743
708
  create:
744
709
  success: 參與者已成功成為正式成員.
@@ -772,7 +737,6 @@ zh-TW:
772
737
  show: 顯示
773
738
  title: 顯示參與者的電子郵件地址
774
739
  unblock:
775
- error: 解除參與者封鎖時出現錯誤.
776
740
  success: 參與者已成功解除封鎖.
777
741
  organization:
778
742
  edit:
@@ -793,6 +757,9 @@ zh-TW:
793
757
  edit:
794
758
  update: 更新
795
759
  form:
760
+ colors:
761
+ colors_title: 組織顏色
762
+ colors_warning_html: 警告!更改這些顏色可能會破壞可達性對比度。您可以使用<a href="%{link}">WebAIM對比度檢查器</a>或其他類似工具檢查您選擇的對比度。
796
763
  cta_button_text_help: 您可以覆蓋主頁上每種語言對應的"呼籲行動"按鈕文本。如果未設置,將使用默認值。"呼籲行動"按鈕顯示在主頁的歡迎文本和描述之間。
797
764
  homepage_appearance_title: 編輯主頁外觀
798
765
  homepage_highlighted_content_banner_title: 重點顯示的內容橫幅
@@ -818,8 +785,6 @@ zh-TW:
818
785
  invalid: 讀取 CSV 檔案時發生問題。請確保您已按照指示進行操作。
819
786
  success: CSV檔案上傳成功,我們正在發送邀請電子郵件給參與者。這可能需要一些時間。
820
787
  new:
821
- csv_upload:
822
- title: 請上傳您的 CSV 檔案。
823
788
  destroy:
824
789
  button: 刪除所有私人參與者
825
790
  confirm: 您確定要刪除所有私人參與者嗎?此操作無法撤銷,您將無法恢復它們。
@@ -845,10 +810,6 @@ zh-TW:
845
810
  title: 編輯權限
846
811
  update:
847
812
  success: 權限更新成功
848
- resources:
849
- index:
850
- headers:
851
- scope: 範圍
852
813
  scope_types:
853
814
  create:
854
815
  error: 建立新範圍類型時發生問題。
@@ -882,16 +843,7 @@ zh-TW:
882
843
  success: 範圍更新成功。
883
844
  share_tokens:
884
845
  actions:
885
- confirm_destroy: 您確定要刪除此標記嗎?
886
846
  destroy: 刪除
887
- share: 分享
888
- destroy:
889
- error: 刪除代幣時出現問題。
890
- success: 代幣成功刪除。
891
- share_tokens:
892
- empty: 沒有有效的代幣.
893
- help: 這些代幣用於向任何使用者公開分享此未發佈的資源。當資源被發佈時,它們將被隱藏。點擊代幣的分享圖標,以訪問可分享的URL。
894
- title: 分享代幣
895
847
  shared:
896
848
  gallery:
897
849
  add_images: 添加圖案
data/config/routes.rb CHANGED
@@ -15,10 +15,6 @@ Decidim::Admin::Engine.routes.draw do
15
15
  end
16
16
  end
17
17
 
18
- Decidim.participatory_space_manifests.each do |manifest|
19
- mount manifest.context(:admin).engine, at: "/", as: "decidim_admin_#{manifest.name}"
20
- end
21
-
22
18
  resources :static_pages do
23
19
  put :update_content_blocks, on: :member
24
20
  resources :content_blocks, only: [:edit, :update, :destroy, :create], controller: "static_page_content_blocks"
@@ -35,12 +31,6 @@ Decidim::Admin::Engine.routes.draw do
35
31
 
36
32
  resources :authorization_workflows, only: :index
37
33
 
38
- Decidim.authorization_admin_engines.each do |manifest|
39
- mount manifest.admin_engine, at: "/#{manifest.name}", as: "decidim_admin_#{manifest.name}"
40
- end
41
-
42
- mount Decidim::Templates::AdminEngine, at: "/templates", as: "decidim_admin_templates" if Decidim.module_installed?(:templates)
43
-
44
34
  resources :users, except: [:edit, :update], controller: "users" do
45
35
  member do
46
36
  post :resend_invitation, to: "users#resend_invitation"
@@ -61,6 +51,10 @@ Decidim::Admin::Engine.routes.draw do
61
51
  scope "/:user_id" do
62
52
  resource :user_block, only: [:new, :create, :destroy], controller: :block_user
63
53
  end
54
+ post :bulk_new, controller: :block_user
55
+ post :bulk_create, controller: :block_user
56
+ delete :bulk_destroy, controller: :block_user
57
+ patch :bulk_unreport, controller: :moderated_users
64
58
  end
65
59
  end
66
60
 
@@ -89,6 +83,7 @@ Decidim::Admin::Engine.routes.draw do
89
83
  get :preview
90
84
  get :select_recipients_to_deliver
91
85
  post :deliver
86
+ get :confirm_recipients
92
87
  end
93
88
  end
94
89
 
@@ -109,19 +104,25 @@ Decidim::Admin::Engine.routes.draw do
109
104
  put :accept
110
105
  end
111
106
 
112
- resources :share_tokens, only: :destroy
113
-
114
107
  resources :moderations, controller: "global_moderations" do
115
108
  member do
116
109
  put :unreport
117
110
  put :hide
118
111
  put :unhide
119
112
  end
113
+ patch :bulk_action, on: :collection
120
114
  resources :reports, controller: "global_moderations/reports", only: [:index, :show]
121
115
  end
122
116
 
123
117
  resources :conflicts, only: [:index, :edit, :update], controller: "conflicts"
124
118
 
119
+ resources :taxonomies, except: [:show] do
120
+ patch :reorder, on: :collection
121
+ resources :items, only: [:new, :create, :edit, :update], controller: "taxonomy_items"
122
+ resources :filters, except: [:show], controller: "taxonomy_filters"
123
+ end
124
+ resources :taxonomy_filters_selector, param: :taxonomy_filter_id, except: [:edit, :update]
125
+
125
126
  root to: "dashboard#show"
126
127
  end
127
128
  end
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  "homepage_uri" => "https://decidim.org",
20
20
  "source_code_uri" => "https://github.com/decidim/decidim"
21
21
  }
22
- s.required_ruby_version = "~> 3.2.0"
22
+ s.required_ruby_version = "~> 3.3.0"
23
23
 
24
24
  s.name = "decidim-admin"
25
25
  s.summary = "Decidim organization administration"
@@ -6,7 +6,6 @@ require "active_support/all"
6
6
  require "devise"
7
7
  require "devise-i18n"
8
8
  require "decidim/core"
9
- require "foundation_rails_helper"
10
9
  require "doorkeeper"
11
10
  require "doorkeeper-i18n"
12
11
  require "hashdiff"
@@ -51,6 +50,8 @@ module Decidim
51
50
 
52
51
  Decidim.icons.register(name: "folder-line", icon: "folder-line", category: "system", description: "", engine: :admin)
53
52
  Decidim.icons.register(name: "attachment-line", icon: "attachment-line", category: "system", description: "", engine: :admin)
53
+ Decidim.icons.register(name: "delete-bin-2-line", icon: "delete-bin-2-line", category: "system", description: "", engine: :admin)
54
+ Decidim.icons.register(name: "filter-line", icon: "filter-line", category: "system", description: "", engine: :admin)
54
55
  end
55
56
 
56
57
  initializer "decidim_admin.mime_types" do |_app|
@@ -28,12 +28,8 @@ module Decidim
28
28
  end
29
29
 
30
30
  def localize_headers(header, locales)
31
- @localize_headers ||= begin
32
- localize_headers = []
33
- locales.each do |locale|
34
- localize_headers << "#{header}/#{locale}".to_sym
35
- end
36
- localize_headers
31
+ @localize_headers ||= locales.map do |locale|
32
+ :"#{header}/#{locale}"
37
33
  end
38
34
  end
39
35
  end
@@ -58,7 +58,7 @@ module Decidim
58
58
  data.each do |key, value|
59
59
  if value.is_a?(Hash)
60
60
  flat_hash(value).each do |subkey, subvalue|
61
- final["#{key}/#{subkey}".to_sym] = subvalue
61
+ final[:"#{key}/#{subkey}"] = subvalue
62
62
  end
63
63
  else
64
64
  final[key.to_sym] = value
@@ -163,11 +163,17 @@ module Decidim
163
163
  icon_name: "home-gear-line",
164
164
  if: allowed_to?(:update, :organization, organization: current_organization)
165
165
 
166
+ menu.add_item :taxonomies,
167
+ I18n.t("menu.taxonomies", scope: "decidim.admin"),
168
+ decidim_admin.taxonomies_path,
169
+ icon_name: "price-tag-3-line",
170
+ position: 1.3
171
+
166
172
  menu.add_item :scopes,
167
173
  I18n.t("menu.scopes", scope: "decidim.admin"),
168
174
  decidim_admin.scopes_path,
169
175
  icon_name: "price-tag-3-line",
170
- position: 1.3,
176
+ position: 1.4,
171
177
  if: allowed_to?(:read, :scope),
172
178
  active: [%w(
173
179
  decidim/admin/scopes
@@ -266,6 +272,8 @@ module Decidim
266
272
  decidim/admin/organization_appearance
267
273
  decidim/admin/organization_homepage
268
274
  decidim/admin/organization_homepage_content_blocks
275
+ decidim/admin/taxonomies
276
+ decidim/admin/taxonomy_filters
269
277
  decidim/admin/scopes
270
278
  decidim/admin/scope_types
271
279
  decidim/admin/areas decidim/admin/area_types
@@ -32,7 +32,7 @@ module Decidim
32
32
  # @see FoundationRailsHelper::FormBuilder#custom_label
33
33
  def custom_label(attribute, text, options)
34
34
  text = default_label_text(object, attribute, options.delete(:i18n) || {}) if text.nil? || text == true
35
- super(attribute, text, options)
35
+ super
36
36
  end
37
37
  end
38
38
  end
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  shared_examples "destroys participatory space role" do
4
- let!(:current_user) { create :user, email: "some_email@example.org", organization: my_process.organization }
5
- let!(:user) { create :user, :confirmed, organization: my_process.organization }
4
+ let!(:current_user) { create(:user, email: "some_email@example.org", organization: my_process.organization) }
5
+ let!(:user) { create(:user, :confirmed, organization: my_process.organization) }
6
6
 
7
7
  let(:log_info) do
8
8
  {