decidim-admin 0.31.1 → 0.31.2

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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/admin/content_blocks/update_content_block.rb +12 -3
  3. data/app/commands/decidim/admin/unreport_user.rb +1 -1
  4. data/app/packs/entrypoints/decidim_admin.js +3 -3
  5. data/app/views/decidim/admin/exports/_dropdown.html.erb +2 -2
  6. data/app/views/decidim/admin/taxonomies/_taxonomy_actions.html.erb +1 -1
  7. data/config/locales/ar.yml +1 -1
  8. data/config/locales/bg.yml +1 -1
  9. data/config/locales/ca-IT.yml +2 -1
  10. data/config/locales/ca.yml +2 -1
  11. data/config/locales/cs.yml +9 -1
  12. data/config/locales/de.yml +1 -1
  13. data/config/locales/el.yml +1 -1
  14. data/config/locales/en.yml +2 -1
  15. data/config/locales/es-MX.yml +2 -1
  16. data/config/locales/es-PY.yml +2 -1
  17. data/config/locales/es.yml +2 -1
  18. data/config/locales/eu.yml +2 -1
  19. data/config/locales/fi-plain.yml +1 -1
  20. data/config/locales/fi.yml +1 -1
  21. data/config/locales/fr-CA.yml +28 -1
  22. data/config/locales/fr.yml +28 -1
  23. data/config/locales/gl.yml +1 -1
  24. data/config/locales/hu.yml +1 -1
  25. data/config/locales/it.yml +1 -1
  26. data/config/locales/ja.yml +2 -1
  27. data/config/locales/ko.yml +1 -1
  28. data/config/locales/lb.yml +1 -1
  29. data/config/locales/lt.yml +1 -1
  30. data/config/locales/nl.yml +1 -1
  31. data/config/locales/no.yml +1 -1
  32. data/config/locales/pl.yml +1 -1
  33. data/config/locales/pt-BR.yml +8 -7
  34. data/config/locales/pt.yml +1 -1
  35. data/config/locales/ro-RO.yml +1 -1
  36. data/config/locales/sq-AL.yml +1 -0
  37. data/config/locales/sr-CS.yml +7 -6
  38. data/config/locales/sv.yml +27 -10
  39. data/config/locales/tr-TR.yml +1 -1
  40. data/config/locales/zh-TW.yml +1 -1
  41. data/lib/decidim/admin/test/manage_attachments_examples.rb +12 -0
  42. data/lib/decidim/admin/version.rb +1 -1
  43. metadata +8 -9
  44. data/app/packs/src/decidim/admin/choose_language.js +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d110ef43c233b77200f138b72584896463dee1813b906685e4637c88637b3a54
4
- data.tar.gz: 641c6aef13e321e1a02366baa60b066487dfd13fe4211a31bc9e587dc3fa2c02
3
+ metadata.gz: 1cdef5faecff8834b8b31d6b012959467e0509f95c5074d0e3bb78b0a648af13
4
+ data.tar.gz: 48dc354a6c886ac9884cb8eeed2d15282a0193bb56e0d4928520677df4d5bdec
5
5
  SHA512:
6
- metadata.gz: 3faf5780e1e72ca596c93b0fb90d234505bdb2fe5bb8f676d6ba4c6b024099a6acd7bc93f02e8f961a26c096447c57d57f405c3acb2001c03beaef2373fb1a21
7
- data.tar.gz: 4ca230542c3add54929384084bf0201f24b155820f323110178b291edc729d6afe9689b081fe398ec4cf5951c26617c8c2b37cf36bcf7e762b54a9f4c7a5e7fd
6
+ metadata.gz: 4f0f1603f5a633b0476f7653f7dc74102f6323905f7d3efdfeca948aa98f5010cdc4bc527928515113636f1d02eb535813736cf30e495adf3e4a72087bc33d11
7
+ data.tar.gz: '08f525a0c04ac8e17ec492fe5565d540ef9dc49f7d67dea40895e3929b9f7e2c848269338f107efe3c9ba51874e1881f174815d07b7cfed9d1e32c5b9dc1f0f7'
@@ -6,7 +6,7 @@ module Decidim
6
6
  # This command gets called when a content block is updated from the admin
7
7
  # panel.
8
8
  class UpdateContentBlock < Decidim::Command
9
- attr_reader :form, :content_block, :scope
9
+ attr_reader :form, :content_block, :scope, :attachments_to_purge
10
10
 
11
11
  # Public: Initializes the command.
12
12
  #
@@ -17,6 +17,7 @@ module Decidim
17
17
  @form = form
18
18
  @content_block = content_block
19
19
  @scope = scope
20
+ @attachments_to_purge = []
20
21
  end
21
22
 
22
23
  # Public: Updates the content block settings and its attachments.
@@ -55,6 +56,8 @@ module Decidim
55
56
 
56
57
  return broadcast(:invalid) unless images_valid
57
58
 
59
+ purge_attachment
60
+
58
61
  broadcast(:ok, content_block)
59
62
  end
60
63
 
@@ -67,14 +70,20 @@ module Decidim
67
70
  def update_content_block_images
68
71
  content_block.manifest.images.each do |image_config|
69
72
  image_name = image_config[:name]
70
-
71
73
  if form.images[image_name]
72
74
  content_block.images_container.send("#{image_name}=", form.images[image_name])
73
- elsif form.images[:"remove_#{image_name}"] == "1"
75
+ elsif form.images[:"remove_#{image_name}"]
76
+ @attachments_to_purge << content_block.images_container.send(image_name.to_s)
74
77
  content_block.images_container.send("#{image_name}=", nil)
75
78
  end
76
79
  end
77
80
  end
81
+
82
+ def purge_attachment
83
+ attachments_to_purge.each do |attachment_to_purge|
84
+ attachment_to_purge.purge if attachment_to_purge.respond_to?(:purge)
85
+ end
86
+ end
78
87
  end
79
88
  end
80
89
  end
@@ -19,7 +19,7 @@ module Decidim
19
19
  #
20
20
  # Returns nothing.
21
21
  def call
22
- return broadcast(:invalid) unless @reportable.reported?
22
+ return broadcast(:invalid) unless @reportable.reported? || @reportable.user_moderation
23
23
 
24
24
  unreport!
25
25
  broadcast(:ok, @reportable)
@@ -2,7 +2,6 @@
2
2
  /* eslint id-length: ["error", { "exceptions": ["$"] }] */
3
3
 
4
4
  import "src/decidim/admin/tab_focus"
5
- import initLanguageChangeSelect from "src/decidim/admin/choose_language"
6
5
  import "src/decidim/admin/application"
7
6
  import "src/decidim/admin/resources_permissions"
8
7
  import "src/decidim/admin/newsletters"
@@ -27,6 +26,7 @@ import "src/decidim/admin/taxonomy_filters"
27
26
  import "entrypoints/decidim_admin.scss";
28
27
 
29
28
  document.addEventListener("turbo:load", () => {
30
- initLanguageChangeSelect(document.querySelectorAll("select.language-change"));
29
+ document.querySelectorAll("select.language-change").forEach((container) => {
30
+ window.deprecate(container, "language-change", "select.language-change")
31
+ })
31
32
  });
32
-
@@ -1,9 +1,9 @@
1
1
  <div class="relative">
2
2
  <button class="button button__sm button__transparent-secondary" data-controller="dropdown" data-target="<%= dropdown_id(filters) %>">
3
3
  <% if filters.present? %>
4
- <%= t("actions.export-selection", scope: "decidim.admin") %>
4
+ <%= t("actions.export_selection", scope: "decidim.admin") %>
5
5
  <% else %>
6
- <%= t("actions.export", scope: "decidim.admin") %>
6
+ <%= t("actions.export_all", scope: "decidim.admin") %>
7
7
  <% end %>
8
8
  <%= icon "arrow-down-s-line" %>
9
9
  <%= icon "arrow-down-s-line" %>
@@ -1,4 +1,4 @@
1
- <button type="button" data-controller="dropdown" data-target="actions-taxonomy-<%= taxonomy.id %>" aria-label="<%= t("decidim.admin.actions.actions_label", resource: taxonomy.name) %>">
1
+ <button type="button" data-controller="dropdown" data-target="actions-taxonomy-<%= taxonomy.id %>" aria-label="<%= t("decidim.admin.actions.actions_label", resource: translated_attribute(taxonomy.name)) %>">
2
2
  <%= icon "more-fill", class: "text-secondary" %>
3
3
  </button>
4
4
 
@@ -179,7 +179,7 @@ ar:
179
179
  <li class="font-bold">%{resources_count} مصادر</li>
180
180
  </ul>
181
181
  يمكنك استعادة العنصر إذا غيرت رأيك لاحقاً.
182
- export-selection: تصدير الإختيار
182
+ export_all: تصدير الكل
183
183
  import: استيراد
184
184
  newsletter:
185
185
  new: رسالة إخبارية جديدة
@@ -173,7 +173,7 @@ bg:
173
173
  new: Нова прикачена папка
174
174
  browse: Разглеждане
175
175
  configure: Конфигуриране
176
- export-selection: Експорт на селекцията
176
+ export_all: Експорт на всички
177
177
  import: Импортиране
178
178
  newsletter:
179
179
  new: Нов бюлетин
@@ -190,7 +190,8 @@ ca-IT:
190
190
  </ul>
191
191
  Si canvies d'opinió, el pots restaurar més endavant.
192
192
  export: Exporta
193
- export-selection: Exportar selecció
193
+ export_all: Exportar tot
194
+ export_selection: Exportar selecció
194
195
  import: Importar
195
196
  menu_hidden: Amaga del menú
196
197
  moderate: Gestionar les moderacions
@@ -190,7 +190,8 @@ ca:
190
190
  </ul>
191
191
  Si canvies d'opinió, el pots restaurar més endavant.
192
192
  export: Exporta
193
- export-selection: Exportar selecció
193
+ export_all: Exportar tot
194
+ export_selection: Exportar selecció
194
195
  import: Importar
195
196
  menu_hidden: Amaga del menú
196
197
  moderate: Gestionar les moderacions
@@ -190,7 +190,8 @@ cs:
190
190
  </ul>
191
191
  Pokud změníte názor, můžete ji obnovit později.
192
192
  export: Exportovat
193
- export-selection: Exportovat výběr
193
+ export_all: Exportovat vše
194
+ export_selection: Exportovat výběr
194
195
  import: Importovat
195
196
  menu_hidden: Skrýt v menu
196
197
  moderate: Spravovat moderace
@@ -957,6 +958,9 @@ cs:
957
958
  error: U tohoto participativního prostoru se vyskytl problém s aktualizací soukromého účastníka.
958
959
  success: Soukromý účastník participativního prostoru úspěšně aktualizován
959
960
  participatory_space_private_users_csv_imports:
961
+ create:
962
+ invalid: Při čtení souboru CSV se vyskytl problém. Ujistěte se, že jste dodrželi pokyny.
963
+ success: CSV soubor byl úspěšně nahrán, posíláme účastníkům e-mail s pozvánkou. To může chvíli trvat.
960
964
  new:
961
965
  csv_upload:
962
966
  title: Nahrát soubor CSV
@@ -967,6 +971,10 @@ cs:
967
971
  explanation: Máte %{count} soukromých účastníků.
968
972
  title: Odstranit soukromé účastníky
969
973
  example_file: 'Příklad souboru:'
974
+ explanation: 'Nahrajte soubor CSV. Musí mít dva sloupce s e-mailem v prvním sloupci souboru a jméno v posledním sloupci souboru uživatelů, které chcete přidat do participačního prostoru, bez hlaviček. Vyhněte se používání neplatných znaků jako `<>?%&^*#@()[]=+:;"{}\|` v uživatelském jméně.'
975
+ explanation_example: |
976
+ john.doe@example.org%{csv_col_sep}John Doe
977
+ jane.doe@example.org%{csv_col_sep}Jane Doe
970
978
  title: Importovat soukromé účastníky přes CSV
971
979
  upload: Nahrát
972
980
  reminders:
@@ -190,7 +190,7 @@ de:
190
190
  </ul>
191
191
  Wenn Sie Ihre Meinung ändern, können Sie es später wiederherstellen.
192
192
  export: Exportieren
193
- export-selection: Auswahl exportieren
193
+ export_all: Alles exportieren
194
194
  import: Importieren
195
195
  menu_hidden: Im Menü ausblenden
196
196
  moderate: Moderationen verwalten
@@ -170,7 +170,7 @@ el:
170
170
  browse: Αναζήτηση
171
171
  configure: Διαμόρφωση
172
172
  export: Εξαγωγή
173
- export-selection: Εξαγωγή επιλογής
173
+ export_all: Εξαγωγή όλων
174
174
  import: Εισαγωγή
175
175
  newsletter:
176
176
  new: Νέο ενημερωτικό δελτίο
@@ -190,7 +190,8 @@ en:
190
190
  </ul>
191
191
  If you change your mind, you can restore it later.
192
192
  export: Export
193
- export-selection: Export selection
193
+ export_all: Export all
194
+ export_selection: Export selection
194
195
  import: Import
195
196
  menu_hidden: Hide from menu
196
197
  moderate: Manage moderations
@@ -190,7 +190,8 @@ es-MX:
190
190
  </ul>
191
191
  Si cambias de opinión, puedes restaurarlo más tarde.
192
192
  export: Exportar
193
- export-selection: Exportar selección
193
+ export_all: Exportar todo
194
+ export_selection: Exportar selección
194
195
  import: Importar
195
196
  menu_hidden: Ocultar del menú
196
197
  moderate: Gestionar las moderaciones
@@ -190,7 +190,8 @@ es-PY:
190
190
  </ul>
191
191
  Si cambias de opinión, puedes restaurarlo más tarde.
192
192
  export: Exportar
193
- export-selection: Exportar selección
193
+ export_all: Exportar todo
194
+ export_selection: Exportar selección
194
195
  import: Importar
195
196
  menu_hidden: Ocultar del menú
196
197
  moderate: Gestionar las moderaciones
@@ -190,7 +190,8 @@ es:
190
190
  </ul>
191
191
  Si cambias de opinión, puedes restaurarlo más tarde.
192
192
  export: Exportar
193
- export-selection: Exportar selección
193
+ export_all: Exportar todo
194
+ export_selection: Exportar selección
194
195
  import: Importar
195
196
  menu_hidden: Ocultar del menú
196
197
  moderate: Gestionar las moderaciones
@@ -190,7 +190,8 @@ eu:
190
190
  </ul>
191
191
  Iritziz aldatzen baduzu, geroago berreskuratu ahal izango duzu.na
192
192
  export: Esportatu
193
- export-selection: Esportatu hautaketa
193
+ export_all: Esportatu dena
194
+ export_selection: Hautapena esportatu
194
195
  import: Inportatu
195
196
  menu_hidden: Ezkutatu menutik
196
197
  moderate: Kudeatu moderazioak
@@ -190,7 +190,7 @@ fi-pl:
190
190
  </ul>
191
191
  Mikäli muutat mieltäsi, voit palauttaa tuloksen myöhemmin.
192
192
  export: Vie
193
- export-selection: Vie valitut
193
+ export_all: Vie kaikki
194
194
  import: Tuo
195
195
  menu_hidden: Piilota valikosta
196
196
  moderate: Moderointien hallinta
@@ -190,7 +190,7 @@ fi:
190
190
  </ul>
191
191
  Mikäli muutat mieltäsi, voit palauttaa tuloksen myöhemmin.
192
192
  export: Vie
193
- export-selection: Vie valitut
193
+ export_all: Vie kaikki
194
194
  import: Tuo
195
195
  menu_hidden: Piilota valikosta
196
196
  moderate: Moderointien hallinta
@@ -49,6 +49,7 @@ fr-CA:
49
49
  customize_welcome_notification: Personnaliser le mail de bienvenue
50
50
  default_locale: Langue par défaut
51
51
  description: Description
52
+ enable_machine_translations: Activer la traduction automatique
52
53
  enable_omnipresent_banner: Montrer une bannière d'actualités
53
54
  enable_participatory_space_filters: Activer les filtres d'espace participatif
54
55
  facebook_handler: Gestionnaire Facebook
@@ -189,7 +190,8 @@ fr-CA:
189
190
  </ul>
190
191
  Si vous changez d'avis, vous pourrez annuler cette action plus tard.
191
192
  export: Exporter
192
- export-selection: Exporter la sélection
193
+ export_all: Tout exporter
194
+ export_selection: Exporter la sélection
193
195
  import: Importer
194
196
  menu_hidden: Masquer dans le menu
195
197
  moderate: Gérer les modérations
@@ -240,6 +242,7 @@ fr-CA:
240
242
  create:
241
243
  error: Une erreur s'est produite lors de la création d'une nouvelle zone d'application.
242
244
  success: Zone d'application créée avec succès.
245
+ deprecated: Notez que les zones sont dépréciées et seront retirées dans les versions futures. Merci de leur préférer les taxonomies. Le seul module qui utilise les zones actuellement est le module initiatives.
243
246
  destroy:
244
247
  has_spaces: Cette zone a des espaces dépendants. Veuillez vous assurer qu'aucun espace participatif ne référence cette zone avant de la supprimer.
245
248
  success: Le périmètre d'assemblée a été supprimé avec succès.
@@ -1120,12 +1123,25 @@ fr-CA:
1120
1123
  edit: Modifier la taxonomie
1121
1124
  new: Nouvelle taxonomie
1122
1125
  count: Ressources associées
1126
+ create:
1127
+ invalid: Un problème a été rencontré lors de la création de cette taxonomie.
1128
+ success: La taxonomie a été créée avec succès.
1129
+ destroy:
1130
+ invalid: Un problème a été rencontré lors de la suppression de cette taxonomie.
1131
+ success: La taxonomie a été supprimée avec succès.
1123
1132
  edit:
1133
+ back: Retour
1134
+ description: Les éléments dans cette taxonomie seront utilisés pour classer ou filtrer des ressources telles que des espaces participatifs ou des composants. Utilisez le glisser-déposes pour réorganiser la liste.
1135
+ new_item: Nouvel élément
1136
+ no_items: Il n'y a pas d'élément dans cette taxonomie actuellement. Créez une liste d'éléments ici pour classer ou filtrer des ressources telles que des espaces participatifs ou des composants. Les éléments peuvent être hiérarchisés jusqu'à trois niveaux.
1137
+ subtitle: Éléments dans "%{taxonomy_name}"
1138
+ title: Éditer la taxonomie "%{taxonomy_name}"
1124
1139
  update: Mettre à jour
1125
1140
  filters:
1126
1141
  search_placeholder: Rechercher
1127
1142
  index:
1128
1143
  new_taxonomy: Nouvelle taxonomie
1144
+ name: Nom
1129
1145
  total_filters: Filtres
1130
1146
  taxonomy_filters:
1131
1147
  breadcrumb:
@@ -1163,6 +1179,7 @@ fr-CA:
1163
1179
  remove: Supprimer
1164
1180
  taxonomies_select:
1165
1181
  filters: Filtres
1182
+ select_filter: Sélectionnez un filtre
1166
1183
  titles:
1167
1184
  admin_log: Journal d'administration
1168
1185
  area_types: Types de périmètre d'assemblée
@@ -1231,6 +1248,16 @@ fr-CA:
1231
1248
  unreport: Annuler le rapport
1232
1249
  admin:
1233
1250
  reportable:
1251
+ bulk_action:
1252
+ hide:
1253
+ invalid: Aucune modération sélectionnée.
1254
+ success: Ressources cachées avec succès.
1255
+ ignore:
1256
+ invalid: Aucune modération d'utilisateur sélectionnée.
1257
+ unhide:
1258
+ invalid: Aucune modération sélectionnée.
1259
+ unreport:
1260
+ invalid: Aucune modération sélectionnée.
1234
1261
  hide:
1235
1262
  invalid: Il y a eu un problème au moment de masquer le contenu.
1236
1263
  success: Contenu masqué avec succès.
@@ -49,6 +49,7 @@ fr:
49
49
  customize_welcome_notification: Personnaliser le mail de bienvenue
50
50
  default_locale: Langue par défaut
51
51
  description: Description
52
+ enable_machine_translations: Activer la traduction automatique
52
53
  enable_omnipresent_banner: Activer la bannière permanente
53
54
  enable_participatory_space_filters: Activer les filtres d'espace participatif
54
55
  facebook_handler: Gestionnaire Facebook
@@ -189,7 +190,8 @@ fr:
189
190
  </ul>
190
191
  Si vous changez d'avis, vous pourrez annuler cette action plus tard.
191
192
  export: Exporter
192
- export-selection: Exporter la sélection
193
+ export_all: Tout exporter
194
+ export_selection: Exporter la sélection
193
195
  import: Importer
194
196
  menu_hidden: Masquer dans le menu
195
197
  moderate: Gérer les modérations
@@ -240,6 +242,7 @@ fr:
240
242
  create:
241
243
  error: Une erreur s'est produite lors de la création d'un nouveau périmètre d'assemblée.
242
244
  success: Périmètre d'assemblée créé avec succès.
245
+ deprecated: Notez que les zones sont dépréciées et seront retirées dans les versions futures. Merci de leur préférer les taxonomies. Le seul module qui utilise les zones actuellement est le module initiatives.
243
246
  destroy:
244
247
  has_spaces: Des espaces dépendent de ce périmètre d'assemblée. Veuillez vous assurer qu'aucun espace participatif n'est lié à périmètre avant de la supprimer.
245
248
  success: Le périmètre d'assemblée a été supprimé avec succès.
@@ -1120,12 +1123,25 @@ fr:
1120
1123
  edit: Modifier la taxonomie
1121
1124
  new: Nouvelle taxonomie
1122
1125
  count: Ressources associées
1126
+ create:
1127
+ invalid: Un problème a été rencontré lors de la création de cette taxonomie.
1128
+ success: La taxonomie a été créée avec succès.
1129
+ destroy:
1130
+ invalid: Un problème a été rencontré lors de la suppression de cette taxonomie.
1131
+ success: La taxonomie a été supprimée avec succès.
1123
1132
  edit:
1133
+ back: Retour
1134
+ description: Les éléments dans cette taxonomie seront utilisés pour classer ou filtrer des ressources telles que des espaces participatifs ou des composants. Utilisez le glisser-déposes pour réorganiser la liste.
1135
+ new_item: Nouvel élément
1136
+ no_items: Il n'y a pas d'élément dans cette taxonomie actuellement. Créez une liste d'éléments ici pour classer ou filtrer des ressources telles que des espaces participatifs ou des composants. Les éléments peuvent être hiérarchisés jusqu'à trois niveaux.
1137
+ subtitle: Éléments dans "%{taxonomy_name}"
1138
+ title: Éditer la taxonomie "%{taxonomy_name}"
1124
1139
  update: Mettre à jour
1125
1140
  filters:
1126
1141
  search_placeholder: Rechercher
1127
1142
  index:
1128
1143
  new_taxonomy: Nouvelle taxonomie
1144
+ name: Nom
1129
1145
  total_filters: Filtres
1130
1146
  taxonomy_filters:
1131
1147
  breadcrumb:
@@ -1163,6 +1179,7 @@ fr:
1163
1179
  remove: Supprimer
1164
1180
  taxonomies_select:
1165
1181
  filters: Filtres
1182
+ select_filter: Sélectionnez un filtre
1166
1183
  titles:
1167
1184
  admin_log: Journal d'administration
1168
1185
  area_types: Types de périmètre d'assemblée
@@ -1231,6 +1248,16 @@ fr:
1231
1248
  unreport: Annuler le rapport
1232
1249
  admin:
1233
1250
  reportable:
1251
+ bulk_action:
1252
+ hide:
1253
+ invalid: Aucune modération sélectionnée.
1254
+ success: Ressources cachées avec succès.
1255
+ ignore:
1256
+ invalid: Aucune modération d'utilisateur sélectionnée.
1257
+ unhide:
1258
+ invalid: Aucune modération sélectionnée.
1259
+ unreport:
1260
+ invalid: Aucune modération sélectionnée.
1234
1261
  hide:
1235
1262
  invalid: Il y a eu un problème au moment de masquer le contenu.
1236
1263
  success: Contenu masqué avec succès.
@@ -138,7 +138,7 @@ gl:
138
138
  attachment:
139
139
  new: Novo anexo
140
140
  browse: Buscar
141
- export-selection: Exportar selección
141
+ export_all: Exportar todo
142
142
  import: Importar
143
143
  newsletter:
144
144
  new: Novo boletín
@@ -174,7 +174,7 @@ hu:
174
174
  browse: Böngészés
175
175
  configure: Beállítások
176
176
  export: Exportálás
177
- export-selection: Kiválasztottak exportálása
177
+ export_all: Összes exportálása
178
178
  import: Import
179
179
  newsletter:
180
180
  new: Új hírlevél
@@ -183,7 +183,7 @@ it:
183
183
  </ul>
184
184
  Se cambi idea, puoi ripristinarlo più tardi.
185
185
  export: Esporta
186
- export-selection: Esporta selezione
186
+ export_all: Esporta tutto
187
187
  import: Importazione
188
188
  newsletter:
189
189
  new: Nuova newsletter
@@ -190,7 +190,8 @@ ja:
190
190
  </ul>
191
191
  気が変わった場合は、後で元に戻せます。
192
192
  export: エクスポート
193
- export-selection: 選択したものをエクスポート
193
+ export_all: 全てエクスポート
194
+ export_selection: 選択したものをエクスポート
194
195
  import: インポート
195
196
  menu_hidden: メニューから隠す
196
197
  moderate: モデレーションの管理
@@ -144,7 +144,7 @@ ko:
144
144
  attachment_collection:
145
145
  new: 새 첨부 폴더
146
146
  browse: 찾아보기
147
- export-selection: 선택한 항목 내보내기
147
+ export_all: 모두 내보내기
148
148
  import: 가져오기
149
149
  newsletter:
150
150
  new: 새 뉴스레터
@@ -141,7 +141,7 @@ lb:
141
141
  browse: Durchsuchen
142
142
  configure: Konfigurieren
143
143
  export: Exportéieren
144
- export-selection: Export Auswiel
144
+ export_all: Alles exportéieren
145
145
  import: Importieren
146
146
  newsletter:
147
147
  new: Neuer Newsletter
@@ -169,7 +169,7 @@ lt:
169
169
  new: Naujas priedų aplankas
170
170
  browse: Naršyti
171
171
  configure: Konfigūruoti
172
- export-selection: Eksportuoti pasirinktą
172
+ export_all: Eksportuoti viską
173
173
  import: Importuoti
174
174
  newsletter:
175
175
  new: Naujas naujienlaiškis
@@ -141,7 +141,7 @@ nl:
141
141
  browse: Browsen
142
142
  configure: Configureren
143
143
  export: Exporteren
144
- export-selection: Selectie exporteren
144
+ export_all: Alles exporteren
145
145
  import: Importeren
146
146
  newsletter:
147
147
  new: Nieuwe nieuwsbrief
@@ -141,7 +141,7 @@
141
141
  browse: Bla gjennom
142
142
  configure: Konfigurer
143
143
  export: Eksport
144
- export-selection: Eksporter valg
144
+ export_all: Eksporter alt
145
145
  import: Importer
146
146
  newsletter:
147
147
  new: Nytt nyhetsbrev
@@ -175,7 +175,7 @@ pl:
175
175
  browse: Przeglądaj
176
176
  configure: Skonfiguruj
177
177
  export: Eksport
178
- export-selection: Eksportuj wybrane
178
+ export_all: Eksportuj wszystko
179
179
  import: Importuj
180
180
  newsletter:
181
181
  new: Nowy newsletter
@@ -24,11 +24,11 @@ pt-BR:
24
24
  description: Descrição
25
25
  name: Nome
26
26
  parent_id: Superior
27
- weight: Posição do pedido
27
+ weight: Ordem de posição
28
28
  component:
29
29
  name: Nome
30
30
  published_at: Publicado em
31
- weight: Posição do pedido
31
+ weight: Ordem de posição
32
32
  external_domain:
33
33
  value: Valor
34
34
  help_section:
@@ -190,12 +190,13 @@ pt-BR:
190
190
  </ul>
191
191
  Se você trocar de ideia, pode restaurar-lá mais tarde.
192
192
  export: Exportar
193
- export-selection: Exportar selecionado
193
+ export_all: Exportar tudo
194
+ export_selection: Exportar seleção
194
195
  import: Importar
195
196
  menu_hidden: Ocultar do menu
196
197
  moderate: Gerenciar moderações
197
198
  newsletter:
198
- new: Novo Boletim Informativo
199
+ new: Novo boletim informativo
199
200
  participatory_space_private_user:
200
201
  new: Novo espaço participativo de usuário privado
201
202
  per_page: Por página
@@ -204,10 +205,10 @@ pt-BR:
204
205
  send_me_a_test_email: Enviar um e-mail de teste
205
206
  share: Compartilhar
206
207
  share_tokens: Compartilhar link
207
- soft_delete: Mover para a lixeira
208
+ soft_delete: Mover para lixeira
208
209
  user:
209
210
  new: Novo administrador
210
- view_deleted_components: Ver componentes excluídos
211
+ view_deleted_components: Visualizar componentes excluídos
211
212
  admin_terms_of_service:
212
213
  accept:
213
214
  error: Houve um erro ao aceitar os termos de serviço de administrador.
@@ -299,7 +300,7 @@ pt-BR:
299
300
  action: Bloquear conta e enviar justificativa
300
301
  already_reported_html: Ao continuar com esta ação, você também ocultará o conteúdo de todos os participantes.
301
302
  description: Bloquear um usuário irá tornar sua conta inutilizável. Você pode fornecer em sua justificação quaisquer diretrizes sobre como você poderia considerar desbloquear o usuário.
302
- justification: Justificativa
303
+ justification: Justificativas
303
304
  title: Bloquear usuários
304
305
  new:
305
306
  action: Bloquear conta e enviar justificativa
@@ -141,7 +141,7 @@ pt:
141
141
  browse: Explorar
142
142
  configure: Configurar
143
143
  export: Exportar
144
- export-selection: Exportar selecção
144
+ export_all: Exportar tudo
145
145
  import: Importar
146
146
  newsletter:
147
147
  new: Novo boletim informativo
@@ -171,7 +171,7 @@ ro:
171
171
  new: Foldere pentru atașamente
172
172
  browse: Caută
173
173
  configure: Configurează
174
- export-selection: Exportă selecția
174
+ export_all: Exportaţi tot
175
175
  import: Importă
176
176
  newsletter:
177
177
  new: Buletin informativ nou
@@ -138,6 +138,7 @@ sq:
138
138
  attachment:
139
139
  new: Shtojcë e re
140
140
  browse: Shfleto
141
+ export_all: Eksporto të gjitha
141
142
  import: Importo
142
143
  newsletter:
143
144
  new: Newsletter i ri
@@ -45,7 +45,7 @@ sr:
45
45
  official_img_footer: Zvanično podnožje logoa
46
46
  official_url: Zvaničan link organizacije
47
47
  omnipresent_banner_short_description: Kratak opis
48
- omnipresent_banner_title: Naslov
48
+ omnipresent_banner_title: Naziv
49
49
  omnipresent_banner_url: Adrеsa
50
50
  primary_color: Primarni
51
51
  reference_prefix: Prefiks reference
@@ -81,11 +81,11 @@ sr:
81
81
  organization: Organizacija
82
82
  show_in_footer: Prikaži u podnožju
83
83
  slug: Zadnji deo URL-a
84
- title: Naslov
84
+ title: Naziv
85
85
  static_page_topic:
86
86
  description: Opis
87
87
  show_in_footer: Prikaži u podnožju
88
- title: Naslov
88
+ title: Naziv
89
89
  user_group_csv_verification:
90
90
  file: Fajl
91
91
  errors:
@@ -99,7 +99,7 @@ sr:
99
99
  decidim/static_page:
100
100
  content: Sadržaj
101
101
  slug: Zadnji deo URL-a
102
- title: Naslov
102
+ title: Naziv
103
103
  doorkeeper/application:
104
104
  authorize_url: Autorizuj URL
105
105
  client_id: Identitet klijenta
@@ -114,6 +114,7 @@ sr:
114
114
  add: Dodaj
115
115
  browse: Prеglеdaj
116
116
  export: Izvezi
117
+ export_selection: Izvezi izabrano
117
118
  per_page: Po stranici
118
119
  area_types:
119
120
  create:
@@ -313,7 +314,7 @@ sr:
313
314
  collection: Fascikla
314
315
  content_type: Tip
315
316
  file_size: Veličina
316
- title: Naslov
317
+ title: Naziv
317
318
  name: Prilog
318
319
  attachment_collection:
319
320
  name: Fascikla
@@ -348,7 +349,7 @@ sr:
348
349
  static_page:
349
350
  fields:
350
351
  created_at: Kreirano na
351
- title: Naslov
352
+ title: Naziv
352
353
  user:
353
354
  fields:
354
355
  created_at: Datum kreiranja
@@ -49,6 +49,7 @@ sv:
49
49
  customize_welcome_notification: Anpassa välkomstmeddelande
50
50
  default_locale: Förvalt språk och region
51
51
  description: Beskrivning
52
+ enable_machine_translations: Aktivera maskinöversättningar
52
53
  enable_omnipresent_banner: Visa banner på alla sidor
53
54
  enable_participatory_space_filters: Aktivera filter för processer
54
55
  facebook_handler: Facebook-namn
@@ -126,7 +127,7 @@ sv:
126
127
  title: Titel
127
128
  weight: Position i listan
128
129
  taxonomy:
129
- item_name: Objektnamn
130
+ item_name: Namn
130
131
  parent_id: Överordnad
131
132
  user_group_csv_verification:
132
133
  file: Fil
@@ -189,7 +190,8 @@ sv:
189
190
  </ul>
190
191
  Om du ändrar dig, du kan återställa det senare.
191
192
  export: Exportera
192
- export-selection: Exportera markerade
193
+ export_all: Exportera allt
194
+ export_selection: Exportera markerade
193
195
  import: Importera
194
196
  menu_hidden: Dölj från menyn
195
197
  moderate: Hantera modereringar
@@ -420,7 +422,7 @@ sv:
420
422
  'true': 'Ja'
421
423
  moderated_users:
422
424
  reports_reason_eq:
423
- label: Anledning till anmälan
425
+ label: Anledning till rapportering
424
426
  values:
425
427
  does_not_belong: Opassande
426
428
  offensive: Stötande
@@ -459,7 +461,7 @@ sv:
459
461
  search_placeholder:
460
462
  name_or_nickname_or_email_cont: Sök i %{collection} efter e-post, namn eller användarnamn
461
463
  report_count_eq: Antal rapporteringar
462
- reported_id_string_or_reported_content_cont: Sök %{collection} efter anmälnings-id eller innehåll
464
+ reported_id_string_or_reported_content_cont: Sök %{collection} efter rapporterings-id eller innehåll
463
465
  title_cont: Sök i %{collection} efter titel
464
466
  user_name_or_user_nickname_or_user_email_cont: Sök i %{collection} efter e-post, namn eller användarnamn
465
467
  state_eq:
@@ -587,6 +589,7 @@ sv:
587
589
  content: Rapporterat innehåll
588
590
  external_domain_allowlist: Tillåtna externa domäner
589
591
  help_sections: Hjälpavsnitt
592
+ homepage: Startsida
590
593
  impersonations: Uppträd som
591
594
  insights: Insikter
592
595
  manage: Hantera
@@ -691,7 +694,7 @@ sv:
691
694
  update_moderated_user_button: Avrapportera användare
692
695
  title: Åtgärder
693
696
  unblock: Avblockera användare
694
- unreport: Ångra rapporten
697
+ unreport: Dra tillbaka rapportering
695
698
  cancel: Avbryt
696
699
  name: Namn
697
700
  nickname: Användarnamn
@@ -715,11 +718,11 @@ sv:
715
718
  title: Dölj
716
719
  update_moderation_button: Dölj valda resurser
717
720
  unhide:
718
- title: Ångra döljande
721
+ title: Dra tillbaka döljande
719
722
  update_moderation_button: Sluta dölja valda resurser
720
723
  unreport:
721
- title: Ångra rapporten
722
- update_moderation_button: Avrapportera valda resurser
724
+ title: Dra tillbaka rapportering
725
+ update_moderation_button: Avrapportera valt innehåll
723
726
  cancel: Avbryt
724
727
  selected: valda
725
728
  title: Rapporterat innehåll
@@ -928,7 +931,10 @@ sv:
928
931
  title: Redigera privat deltagare i deltagarutrymme.
929
932
  update: Uppdatera
930
933
  index:
934
+ import_via_csv: Importera via CSV
935
+ publish_all: Publicera alla
931
936
  title: Privat deltagare i deltagarutrymme
937
+ unpublish_all: Avpublicera alla
932
938
  new:
933
939
  create: Skapa
934
940
  title: Ny privat deltagare i deltagarutrymme.
@@ -942,6 +948,9 @@ sv:
942
948
  error: Det gick inte att uppdatera den privata deltagaren i deltagarutrymmet.
943
949
  success: Privat deltagare i deltagarutrymmet har uppdaterats
944
950
  participatory_space_private_users_csv_imports:
951
+ create:
952
+ invalid: Det gick inte att läsa CSV-filen. Kontrollera att du har följt instruktionerna.
953
+ success: CSV-filen har laddats upp och vi skickar en inbjudan med e-post till deltagarna. Det kan ta en stund.
945
954
  new:
946
955
  csv_upload:
947
956
  title: Skicka CSV-fil
@@ -951,7 +960,13 @@ sv:
951
960
  empty: Det finns inga privata deltagare.
952
961
  explanation: Det finns %{count} privata deltagare.
953
962
  title: Radera privata deltagare
963
+ example_file: 'Exempelfil:'
964
+ explanation: 'Skicka din CSV-fil. Den behöver ha två kolumner för användare som du vill lägga till, utan rubriker, med e-postadressen i den första kolumnen och namnet i den sista kolumnen. Undvik specialtecken som `<>?%&^*#@()[]=+:;"{}\|` i användarnamn.'
965
+ explanation_example: |
966
+ john.doe@example.org%{csv_col_sep}John Doe
967
+ jane.doe@example.org%{csv_col_sep}Jane Doe
954
968
  title: Importera privata deltagare från en CSV-fil
969
+ upload: Ladda upp
955
970
  reminders:
956
971
  create:
957
972
  error: Det gick inte att skapa påminnelser.
@@ -1229,6 +1244,8 @@ sv:
1229
1244
  taxonomy_filters: Kategorifilter för "%{taxonomy}"
1230
1245
  users: Administratörer
1231
1246
  tooltips:
1247
+ cannot_destroy_taxonomy_filter: Det går inte att ta bort kategorifiltret
1248
+ cannot_edit_taxonomy_filter: Det går inte att redigera kategorifiltret
1232
1249
  deleted_attachment_collections_info: Kan inte ta bort denna mapp eftersom den har bilagor.
1233
1250
  deleted_component_info: Komponenten kan endast tas bort om statusen är 'avpublicerad'.
1234
1251
  trash_management:
@@ -1272,8 +1289,8 @@ sv:
1272
1289
  not_hidden: Inte dold
1273
1290
  parent_hidden: Du kan inte visa innehållet eftersom dess överordnade innehåll fortfarande är dolt.
1274
1291
  title: Åtgärder
1275
- unhide: Ångra döljande
1276
- unreport: Ångra rapporten
1292
+ unhide: Dra tillbaka döljande
1293
+ unreport: Dra tillbaka rapportering
1277
1294
  admin:
1278
1295
  reportable:
1279
1296
  bulk_action:
@@ -182,7 +182,7 @@ tr:
182
182
  <li class="font-bold"> %{resources_count} kaynakları </li>
183
183
  </ul>
184
184
  Fikrinizi değiştirirseniz daha sonra yeniden yükleyebilirsiniz.
185
- export-selection: Seçimi dışa aktar
185
+ export_all: Tümünü dışa aktar
186
186
  import: İçe aktar
187
187
  menu_hidden: Menüden gizle
188
188
  newsletter:
@@ -168,7 +168,7 @@ zh-TW:
168
168
  new: 新增附件資料夾
169
169
  browse: 瀏覽
170
170
  configure: 配置
171
- export-selection: 匯出選擇
171
+ export_all: 全部匯出
172
172
  import: 匯入
173
173
  newsletter:
174
174
  new: 新電子報
@@ -3,6 +3,7 @@
3
3
  shared_examples "manage attachments examples" do
4
4
  context "when processing attachments" do
5
5
  let!(:attachment) { create(:attachment, attached_to:, attachment_collection:) }
6
+ let!(:attachment_with_link) { create(:attachment, :with_link, attached_to:, attachment_collection:) }
6
7
 
7
8
  before do
8
9
  visit current_path
@@ -182,6 +183,17 @@ shared_examples "manage attachments examples" do
182
183
  expect(page).to have_no_content(translated(attachment.title, locale: :en))
183
184
  end
184
185
 
186
+ it "can delete an attachment with a link" do
187
+ within "tr", text: translated(attachment_with_link.title) do
188
+ find("button[data-controller='dropdown']").click
189
+ accept_confirm { click_on "Delete" }
190
+ end
191
+
192
+ expect(page).to have_admin_callout("Attachment destroyed successfully")
193
+
194
+ expect(page).to have_no_content(translated(attachment_with_link.title, locale: :en))
195
+ end
196
+
185
197
  it "can update an attachment" do
186
198
  within "#attachments" do
187
199
  within "tr", text: translated(attachment.title) do
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-admin version.
5
5
  module Admin
6
6
  def self.version
7
- "0.31.1"
7
+ "0.31.2"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.1
4
+ version: 0.31.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2026-01-28 00:00:00.000000000 Z
13
+ date: 2026-02-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: active_link_to
@@ -32,14 +32,14 @@ dependencies:
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.31.1
35
+ version: 0.31.2
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.31.1
42
+ version: 0.31.2
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: devise
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -94,28 +94,28 @@ dependencies:
94
94
  requirements:
95
95
  - - '='
96
96
  - !ruby/object:Gem::Version
97
- version: 0.31.1
97
+ version: 0.31.2
98
98
  type: :development
99
99
  prerelease: false
100
100
  version_requirements: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - '='
103
103
  - !ruby/object:Gem::Version
104
- version: 0.31.1
104
+ version: 0.31.2
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: decidim-participatory_processes
107
107
  requirement: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - '='
110
110
  - !ruby/object:Gem::Version
111
- version: 0.31.1
111
+ version: 0.31.2
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - '='
117
117
  - !ruby/object:Gem::Version
118
- version: 0.31.1
118
+ version: 0.31.2
119
119
  description: Organization administration to manage a single organization.
120
120
  email:
121
121
  - josepjaume@gmail.com
@@ -370,7 +370,6 @@ files:
370
370
  - app/packs/src/decidim/admin/auto_buttons_by_position.component.js
371
371
  - app/packs/src/decidim/admin/auto_label_by_position.component.js
372
372
  - app/packs/src/decidim/admin/budget_rule_toggler.component.js
373
- - app/packs/src/decidim/admin/choose_language.js
374
373
  - app/packs/src/decidim/admin/controllers/slug/controller.js
375
374
  - app/packs/src/decidim/admin/controllers/slug/slug.test.js
376
375
  - app/packs/src/decidim/admin/css_preview.js
@@ -1,16 +0,0 @@
1
- /* eslint-disable no-invalid-this */
2
- /* eslint-disable require-jsdoc */
3
-
4
- export default function initLanguageChangeSelect(elements) {
5
- elements.forEach((select) => {
6
- select.addEventListener("change", () => {
7
- let targetTabPaneSelector = select.value;
8
- let tabsContent = select.parentElement.parentElement.nextElementSibling;
9
-
10
- tabsContent.querySelector(".is-active").ariaHidden = "true";
11
- tabsContent.querySelector(".is-active").classList.remove("is-active");
12
- tabsContent.querySelector(targetTabPaneSelector).ariaHidden = "false";
13
- tabsContent.querySelector(targetTabPaneSelector).classList.add("is-active");
14
- })
15
- });
16
- }