decidim-core 0.32.0 → 0.32.1

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/comments_button_cell.rb +9 -1
  3. data/app/cells/decidim/data_consent/category.erb +20 -33
  4. data/app/cells/decidim/footer_topics/show.erb +5 -8
  5. data/app/cells/decidim/share_widget/qr_code_modal.erb +1 -1
  6. data/app/helpers/decidim/menu_helper.rb +0 -2
  7. data/app/models/decidim/user.rb +2 -2
  8. data/app/packs/src/decidim/controllers/accordion/accordion.test.js +196 -42
  9. data/app/packs/src/decidim/controllers/accordion/controller.js +93 -17
  10. data/app/packs/src/decidim/controllers/dropdown/controller.js +6 -0
  11. data/app/packs/src/decidim/controllers/dropdown/dropdown.test.js +28 -0
  12. data/app/packs/src/decidim/controllers/main_menu/controller.js +4 -0
  13. data/app/packs/src/decidim/controllers/main_menu/main_menu.test.js +23 -0
  14. data/app/packs/src/decidim/controllers/password_toggler/controller.js +22 -1
  15. data/app/packs/src/decidim/controllers/password_toggler/password_toggler.test.js +11 -20
  16. data/app/packs/src/decidim/direct_uploads/upload_modal.js +2 -1
  17. data/app/packs/src/decidim/map/controller.js +10 -1
  18. data/app/packs/src/decidim/refactor/moved/focus_guard.js +12 -12
  19. data/app/packs/src/decidim/refactor/moved/focus_guard.test.js +136 -0
  20. data/app/packs/stylesheets/decidim/_cards.scss +1 -1
  21. data/app/packs/stylesheets/decidim/_cookies.scss +13 -5
  22. data/app/packs/stylesheets/decidim/_documents.scss +1 -1
  23. data/app/packs/stylesheets/decidim/_footer.scss +33 -1
  24. data/app/packs/stylesheets/decidim/_participatory_spaces.scss +1 -1
  25. data/app/presenters/decidim/footer_menu_presenter.rb +2 -4
  26. data/app/resolvers/decidim/meta_image_url_resolver.rb +7 -0
  27. data/app/views/decidim/searches/_filters.html.erb +1 -1
  28. data/app/views/layouts/decidim/footer/_main.html.erb +1 -1
  29. data/app/views/layouts/decidim/footer/_main_links.html.erb +56 -28
  30. data/config/locales/ca-IT.yml +6 -0
  31. data/config/locales/ca.yml +6 -0
  32. data/config/locales/cs.yml +16 -0
  33. data/config/locales/en.yml +6 -0
  34. data/config/locales/es-MX.yml +6 -0
  35. data/config/locales/es-PY.yml +6 -0
  36. data/config/locales/es.yml +6 -0
  37. data/config/locales/eu.yml +5 -1
  38. data/config/locales/fi-plain.yml +6 -0
  39. data/config/locales/fi.yml +6 -0
  40. data/config/locales/fr-CA.yml +7 -0
  41. data/config/locales/fr.yml +7 -0
  42. data/config/locales/ja.yml +25 -0
  43. data/config/locales/pl.yml +2 -0
  44. data/db/migrate/20250217192438_convert_user_groups_into_users.rb +3 -2
  45. data/decidim-core.gemspec +4 -1
  46. data/lib/decidim/core/test/shared_examples/access_mode_restricted_participatory_spaces.rb +8 -5
  47. data/lib/decidim/core/test/shared_examples/access_mode_transparent_participatory_spaces.rb +14 -11
  48. data/lib/decidim/core/test/shared_examples/comments_examples.rb +26 -0
  49. data/lib/decidim/core/version.rb +1 -1
  50. data/lib/decidim/core.rb +1 -1
  51. data/lib/decidim/map/dynamic_map.rb +3 -1
  52. metadata +26 -5
@@ -446,6 +446,10 @@ cs:
446
446
  withdraw:
447
447
  error: Při stahování pozměňovacího návrhu došlo k chybě.
448
448
  success: Pozměňovací návrh byl úspěšně stažen.
449
+ wizard_step_form:
450
+ steps:
451
+ '1': Vytvořit svůj pozměňovací návrh
452
+ '2': Publikovat svůj pozměňovací návrh
449
453
  anonymous_user: Anonymní
450
454
  application:
451
455
  document:
@@ -690,6 +694,13 @@ cs:
690
694
  all: Vše
691
695
  filter_taxonomy_values:
692
696
  all: Vše
697
+ delete_user_mailer:
698
+ delete:
699
+ body_1: Váš účet byl deaktivován a již není dostupný. Vaše osobní údaje jsou naplánovány na trvalé smazání v souladu s našimi pravidly pro uchovávání údajů.
700
+ body_2: Z bezpečnostních důvodů budou uchovávány některé údaje týkající se autorizace; pokud vytvoříte nový účet a znovu jej autorizujete, může být propojen s vaším novým účtem.
701
+ greetings_html: S pozdravem,<br/><a href="%{organization_url}">%{organization_name}</a>
702
+ hello: Dobrý den %{username},
703
+ subject: Váš účet byl smazán
693
704
  devise:
694
705
  omniauth_registrations:
695
706
  create:
@@ -973,6 +984,10 @@ cs:
973
984
  notification_body: Opravili jsme způsob, jakým jsou přezdívky používány, aby nedocházelo k duplicitám, a proto jsme odstranili pravidlo rozlišení velkých a malých písmen. <br/> Vaše přezdívka byla vytvořena po jiné, se stejným jménem, takže jsme ji automaticky přejmenovali. Můžete to změnit z <a href="%{link_to_account_settings}">vašeho nastavení účtu</a>.
974
985
  notification_event:
975
986
  notification_title: Objevila se událost na <a href="%{resource_path}">%{resource_title}</a>.
987
+ participatory_space:
988
+ member_added:
989
+ published:
990
+ email_intro: Byli jste přidáni jako člen do participačního prostoru.
976
991
  reports:
977
992
  parent_hidden:
978
993
  email_outro: Obdrželi jste toto oznámení, protože jste autorem ovlivněného %{resource_type}.
@@ -1344,6 +1359,7 @@ cs:
1344
1359
  own_activity: Moje vlastní činnost, jako kdyby někdo komentoval ve svém návrhu nebo mě zmínil
1345
1360
  push_notifications: Push oznámení
1346
1361
  push_notifications_reminder: Chcete-li dostávat oznámení z platformy, musíte je nejdříve povolit v nastavení prohlížeče.
1362
+ push_notifications_unsupported_browser: Váš prohlížeč není podporován.
1347
1363
  receive_notifications_about: Chci dostávat oznámení
1348
1364
  update_notifications_settings: Uložit změny
1349
1365
  update:
@@ -1212,6 +1212,8 @@ en:
1212
1212
  dynamic:
1213
1213
  screen_reader_explanation: The following element is a map which presents the items on this page as map points. The element can be used with a screen reader but it may be hard to understand.
1214
1214
  skip_button: Skip map
1215
+ zoom_in: Zoom in
1216
+ zoom_out: Zoom out
1215
1217
  static:
1216
1218
  latlng_text: 'latitude: %{latitude}, longitude: %{longitude}'
1217
1219
  map_service_brand: OpenStreetMap
@@ -1553,6 +1555,10 @@ en:
1553
1555
  never_logged_in: never logged in
1554
1556
  subject: Inactive account warning
1555
1557
  participatory_space:
1558
+ labels:
1559
+ reference: Reference of the space
1560
+ restricted: Restricted space
1561
+ transparent: Transparent space
1556
1562
  pages:
1557
1563
  user_profile:
1558
1564
  member_of:
@@ -1208,6 +1208,8 @@ es-MX:
1208
1208
  dynamic:
1209
1209
  screen_reader_explanation: El siguiente elemento es un mapa que presenta los componentes de esta página como puntos en el mapa. El elemento se puede utilizar con un lector de pantalla pero puede ser difícil de entender.
1210
1210
  skip_button: Saltar el mapa
1211
+ zoom_in: Ampliar
1212
+ zoom_out: Alejar
1211
1213
  static:
1212
1214
  latlng_text: 'latitud: %{latitude}, longitud: %{longitude}'
1213
1215
  map_service_brand: OpenStreetMap
@@ -1549,6 +1551,10 @@ es-MX:
1549
1551
  never_logged_in: nunca ha iniciado sesión
1550
1552
  subject: Aviso de cuenta inactiva
1551
1553
  participatory_space:
1554
+ labels:
1555
+ reference: Referencia del espacio de participación
1556
+ restricted: Espacio de participación restringido
1557
+ transparent: Espacio de participación transparente
1552
1558
  pages:
1553
1559
  user_profile:
1554
1560
  member_of:
@@ -1208,6 +1208,8 @@ es-PY:
1208
1208
  dynamic:
1209
1209
  screen_reader_explanation: El siguiente elemento es un mapa que presenta los componentes de esta página como puntos en el mapa. El elemento se puede utilizar con un lector de pantalla pero puede ser difícil de entender.
1210
1210
  skip_button: Saltar el mapa
1211
+ zoom_in: Ampliar
1212
+ zoom_out: Alejar
1211
1213
  static:
1212
1214
  latlng_text: 'latitud: %{latitude}, longitud: %{longitude}'
1213
1215
  map_service_brand: OpenStreetMap
@@ -1549,6 +1551,10 @@ es-PY:
1549
1551
  never_logged_in: nunca ha iniciado sesión
1550
1552
  subject: Aviso de cuenta inactiva
1551
1553
  participatory_space:
1554
+ labels:
1555
+ reference: Referencia del espacio de participación
1556
+ restricted: Espacio de participación restringido
1557
+ transparent: Espacio de participación transparente
1552
1558
  pages:
1553
1559
  user_profile:
1554
1560
  member_of:
@@ -1205,6 +1205,8 @@ es:
1205
1205
  dynamic:
1206
1206
  screen_reader_explanation: El siguiente elemento es un mapa que presenta los componentes de esta página como puntos en el mapa. El elemento se puede utilizar con un lector de pantalla pero puede ser difícil de entender.
1207
1207
  skip_button: Saltar el mapa
1208
+ zoom_in: Ampliar
1209
+ zoom_out: Alejar
1208
1210
  static:
1209
1211
  latlng_text: 'latitud: %{latitude}, longitud: %{longitude}'
1210
1212
  map_service_brand: OpenStreetMap
@@ -1546,6 +1548,10 @@ es:
1546
1548
  never_logged_in: nunca ha iniciado sesión
1547
1549
  subject: Aviso de cuenta inactiva
1548
1550
  participatory_space:
1551
+ labels:
1552
+ reference: Referencia del espacio de participación
1553
+ restricted: Espacio de participación restringido
1554
+ transparent: Espacio de participación transparente
1549
1555
  pages:
1550
1556
  user_profile:
1551
1557
  member_of:
@@ -208,7 +208,7 @@ eu:
208
208
  cancel_error: Ezin izan da ezeztatu helbide elektronikoaren aldaketa.
209
209
  cancel_successfully: Posta elektronikoaren aldaketa zuzen ezeztatua.
210
210
  resend_error: Ezin izan da birbidali berresteko helbide elektronikoa.
211
- resend_successfully: Correo de confirmación reenviado con éxito a %{unconfirmed_email}.
211
+ resend_successfully: 'Berresteko posta elektronikoa zuzen birbidalia hona: %{unconfirmed_email}.'
212
212
  send_again: Bidali berriro
213
213
  title: Posta elektronikoaren aldaketak egiaztatzea
214
214
  show:
@@ -1546,6 +1546,10 @@ eu:
1546
1546
  never_logged_in: inoiz ez konektatua
1547
1547
  subject: Kontu inaktiboaren abisua
1548
1548
  participatory_space:
1549
+ labels:
1550
+ reference: Espazioaren erreferentzia
1551
+ restricted: Espazio mugatua
1552
+ transparent: Espazio gardena
1549
1553
  pages:
1550
1554
  user_profile:
1551
1555
  member_of:
@@ -1207,6 +1207,8 @@ fi-pl:
1207
1207
  dynamic:
1208
1208
  screen_reader_explanation: Seuraavassa elementissä on kartta, joka esittää tämän sivun tietueet karttapisteinä. Elementtiä voi käyttää ruudunlukijalla, mutta se voi olla vaikeaselkoinen.
1209
1209
  skip_button: Ohita kartta
1210
+ zoom_in: Lähennä
1211
+ zoom_out: Loitonna
1210
1212
  static:
1211
1213
  latlng_text: 'leveysaste: %{latitude}, pituusaste: %{longitude}'
1212
1214
  map_service_brand: OpenStreetMap
@@ -1548,6 +1550,10 @@ fi-pl:
1548
1550
  never_logged_in: et ole koskaan kirjautunut palveluun
1549
1551
  subject: Varoitus passiivisesta käyttäjätilistä
1550
1552
  participatory_space:
1553
+ labels:
1554
+ reference: Tilan viite
1555
+ restricted: Rajoitettu tila
1556
+ transparent: Läpinäkyvä tila
1551
1557
  pages:
1552
1558
  user_profile:
1553
1559
  member_of:
@@ -1207,6 +1207,8 @@ fi:
1207
1207
  dynamic:
1208
1208
  screen_reader_explanation: Seuraavassa elementissä on kartta, joka esittää tämän sivun tietueet karttapisteinä. Elementtiä voi käyttää ruudunlukijalla, mutta se voi olla vaikeaselkoinen.
1209
1209
  skip_button: Ohita kartta
1210
+ zoom_in: Lähennä
1211
+ zoom_out: Loitonna
1210
1212
  static:
1211
1213
  latlng_text: 'leveysaste: %{latitude}, pituusaste: %{longitude}'
1212
1214
  map_service_brand: OpenStreetMap
@@ -1548,6 +1550,10 @@ fi:
1548
1550
  never_logged_in: et ole koskaan kirjautunut palveluun
1549
1551
  subject: Varoitus passiivisesta käyttäjätilistä
1550
1552
  participatory_space:
1553
+ labels:
1554
+ reference: Tilan viite
1555
+ restricted: Rajoitettu tila
1556
+ transparent: Läpinäkyvä tila
1551
1557
  pages:
1552
1558
  user_profile:
1553
1559
  member_of:
@@ -1066,6 +1066,8 @@ fr-CA:
1066
1066
  dynamic:
1067
1067
  screen_reader_explanation: L'élément suivant est une carte qui présente les éléments de cette page comme des points de carte. L'élément peut être utilisé avec un lecteur d'écran, mais il peut être difficile à comprendre.
1068
1068
  skip_button: Passer la carte
1069
+ zoom_in: Zoomer
1070
+ zoom_out: Dézoomer
1069
1071
  static:
1070
1072
  latlng_text: 'latitude : %{latitude}, longitude : %{longitude}'
1071
1073
  map_service_brand: OpenStreetMap
@@ -1273,6 +1275,7 @@ fr-CA:
1273
1275
  badge: Le badge de l'utilisateur
1274
1276
  groups: L'identifiant et le nom du groupe d'utilisateurs
1275
1277
  id: L'identifiant unique de l'utilisateur
1278
+ name: Le nom d'affichage de l'utilisateur
1276
1279
  nickname: Le pseudonyme de l'utilisateur
1277
1280
  profile_url: L'url du profil
1278
1281
  index:
@@ -1382,6 +1385,10 @@ fr-CA:
1382
1385
  never_logged_in: jamais connecté
1383
1386
  subject: Avertissement de compte inactif
1384
1387
  participatory_space:
1388
+ labels:
1389
+ reference: Référence de l'espace
1390
+ restricted: Espace restreint
1391
+ transparent: Espace transparent
1385
1392
  pages:
1386
1393
  user_profile:
1387
1394
  member_of:
@@ -1066,6 +1066,8 @@ fr:
1066
1066
  dynamic:
1067
1067
  screen_reader_explanation: L'élément suivant est une carte qui présente les éléments de cette page comme des points de carte. L'élément peut être utilisé avec un lecteur d'écran, mais il peut être difficile à comprendre.
1068
1068
  skip_button: Passer la carte
1069
+ zoom_in: Zoomer
1070
+ zoom_out: Dézoomer
1069
1071
  static:
1070
1072
  latlng_text: 'latitude : %{latitude}, longitude : %{longitude}'
1071
1073
  map_service_brand: OpenStreetMap
@@ -1273,6 +1275,7 @@ fr:
1273
1275
  badge: Le badge de l'utilisateur
1274
1276
  groups: L'identifiant et le nom du groupe d'utilisateurs
1275
1277
  id: L'identifiant unique de l'utilisateur
1278
+ name: Le nom d'affichage de l'utilisateur
1276
1279
  nickname: Le pseudonyme de l'utilisateur
1277
1280
  profile_url: L'url du profil
1278
1281
  index:
@@ -1382,6 +1385,10 @@ fr:
1382
1385
  never_logged_in: jamais connecté
1383
1386
  subject: Avertissement de compte inactif
1384
1387
  participatory_space:
1388
+ labels:
1389
+ reference: Référence de l'espace
1390
+ restricted: Espace restreint
1391
+ transparent: Espace transparent
1385
1392
  pages:
1386
1393
  user_profile:
1387
1394
  member_of:
@@ -645,6 +645,13 @@ ja:
645
645
  all: すべて
646
646
  filter_taxonomy_values:
647
647
  all: すべて
648
+ delete_user_mailer:
649
+ delete:
650
+ body_1: アカウントは無効化されており、現在アクセスできません。あなたの個人データは、本サービスのデータ保持ポリシーに従い、永久削除される予定です。
651
+ body_2: セキュリティ上の理由から、一部の認証関連データは保持されます。新たにアカウントを作成し、再度認証を行った場合、これらのデータが新規アカウントに紐付けられる可能性があります。
652
+ greetings_html: よろしくお願いいたします。<br/><a href="%{organization_url}">%{organization_name}</a>
653
+ hello: こんにちは %{username} さん、
654
+ subject: アカウントは削除されました
648
655
  devise:
649
656
  omniauth_registrations:
650
657
  create:
@@ -934,6 +941,18 @@ ja:
934
941
  notification_body: ニックネームの使用方法を修正し、重複をなくすために大文字小文字を区別しないようにしました。<br/> あなたのニックネームは他の同じ名前の方の後に登録されたため、自動的にリネームされました。<a href="%{link_to_account_settings}">アカウント設定</a>から変更することができます。
935
942
  notification_event:
936
943
  notification_title: <a href="%{resource_path}">%{resource_title}</a> にイベントが発生しました。
944
+ participatory_space:
945
+ member_added:
946
+ published:
947
+ email_intro: あなたは参加型スペースにメンバーとして追加されました。
948
+ email_outro: 管理者によって <a href="%{resource_url}">%{resource_title}</a> にあなたが追加されたため、この通知が届きました。このスペースへのアクセスがメンバー限定でも、あなたのアカウントでアクセスできます。<br> あなたのプロフィールは、スペースの <a href="%{members_page}">メンバー一覧</a> に表示されます。
949
+ email_subject: これで %{resource_title} にアクセスできます。
950
+ notification_title: <a href="%{resource_url}">%{resource_title}</a>にアクセスできるようになりました。
951
+ unpublished:
952
+ email_intro: あなたは参加型スペースにメンバーとして追加されました。
953
+ email_outro: 管理者によって <a href="%{resource_url}">%{resource_title}</a> にあなたが追加されたため、この通知が届きました。このスペースへのアクセスがメンバー限定でも、あなたのアカウントでアクセスできます。
954
+ email_subject: これで %{resource_title} にアクセスできます。
955
+ notification_title: <a href="%{resource_url}">%{resource_title}</a>にアクセスできるようになりました。
937
956
  reports:
938
957
  parent_hidden:
939
958
  email_intro: |-
@@ -1170,6 +1189,8 @@ ja:
1170
1189
  dynamic:
1171
1190
  screen_reader_explanation: 以下の要素は、このページ上のアイテムを地図上のポイントとして表示するマップです。 この要素はスクリーンリーダーで使用することができますが、理解しにくいかもしれません。
1172
1191
  skip_button: 地図をスキップ
1192
+ zoom_in: 拡大
1193
+ zoom_out: 縮小
1173
1194
  static:
1174
1195
  latlng_text: '緯度: %{latitude}, 経度: %{longitude}'
1175
1196
  map_service_brand: OpenStreetMap
@@ -1509,6 +1530,10 @@ ja:
1509
1530
  never_logged_in: ログインしたことがない
1510
1531
  subject: 非アクティブなアカウントの警告
1511
1532
  participatory_space:
1533
+ labels:
1534
+ reference: スペースの参照
1535
+ restricted: メンバー限定スペース
1536
+ transparent: 閲覧可能スペース
1512
1537
  pages:
1513
1538
  user_profile:
1514
1539
  member_of:
@@ -874,6 +874,8 @@ pl:
874
874
  dynamic:
875
875
  screen_reader_explanation: Poniższy element to mapa, która przedstawia elementy na tej stronie jako punkty mapy. Element może być użyty z czytnikiem ekranu, ale może być trudny do zrozumienia.
876
876
  skip_button: Pomiń mapę
877
+ zoom_in: Przybliż
878
+ zoom_out: Oddal
877
879
  static:
878
880
  latlng_text: 'szerokość geograficzna: %{latitude}, długość geograficzna: %{longitude}'
879
881
  map_service_brand: OpenStreetMap
@@ -33,8 +33,8 @@ class ConvertUserGroupsIntoUsers < ActiveRecord::Migration[7.0]
33
33
  def up
34
34
  User.old_group.find_each do |group|
35
35
  if group.email.blank? || another_user_with_same_email_in_organization?(group)
36
- group.update_attribute(:email, "user_group_#{group.id}@#{group.organization.host}.invalid")
37
36
  group.update_attribute(:extended_data, (group.extended_data || {}).merge("patched" => true, "previous_email" => group.email))
37
+ group.update_attribute(:email, "user_group_#{group.id}@#{group.organization.host}.invalid")
38
38
 
39
39
  group.reload
40
40
  end
@@ -49,7 +49,8 @@ class ConvertUserGroupsIntoUsers < ActiveRecord::Migration[7.0]
49
49
  User.new_group.find_each do |group|
50
50
  group.update_attribute(:officialized_at, nil)
51
51
  group.update_attribute(:type, "Decidim::UserGroup")
52
- group.update_attribute(:extended_data, (group.extended_data || {}).except("group"))
52
+ group.update_attribute(:email, group.extended_data["previous_email"]) if group.extended_data["previous_email"].present?
53
+ group.update_attribute(:extended_data, (group.extended_data || {}).except("group", "patched", "previous_email"))
53
54
  end
54
55
  end
55
56
  # rubocop:enable Rails/SkipsModelValidations
data/decidim-core.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.push File.expand_path("lib", __dir__)
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "decidim-core"
7
- version = "0.32.0"
7
+ version = "0.32.1"
8
8
  s.version = version
9
9
  s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
10
10
  s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
@@ -70,6 +70,9 @@ Gem::Specification.new do |s|
70
70
  s.add_dependency "premailer-rails", "~> 1.10"
71
71
  s.add_dependency "rack", ">= 3.2.4", "< 4.0"
72
72
  s.add_dependency "rack-attack", ">= 6.7", "< 6.9"
73
+ # Workaround until shakapacker releases a new version compatible with rack-proxy v1.0
74
+ # @see https://github.com/shakacode/shakapacker/issues/1220
75
+ s.add_dependency "rack-proxy", "~> 0.8.3", "< 1.0"
73
76
  s.add_dependency "rails", "~> 8.1.0"
74
77
  s.add_dependency "rails-i18n", "~> 8.1.0", "< 8.2"
75
78
  s.add_dependency "ransack", ">= 4.2", "< 4.5"
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- shared_examples "access mode restricted participatory spaces" do
3
+ shared_examples "access mode restricted participatory spaces" do |with_attachments: true|
4
4
  let!(:organization) { create(:organization) }
5
5
  let!(:admin) { create(:user, :admin, :confirmed, organization:) }
6
6
  let!(:user) { create(:user, :confirmed, organization:) }
@@ -73,10 +73,13 @@ shared_examples "access mode restricted participatory spaces" do
73
73
  expect(page).to have_content "This is a restricted space"
74
74
  end
75
75
 
76
- it "shows the privacy warning in attachments admin" do
77
- visit restricted_participatory_space_attachment_path
78
- within "#attachments" do
79
- expect(page).to have_content(I18n.t("decidim.admin.attachments_privacy_warning.message"))
76
+ # Evaluators and Moderators do not have permissions to see the admin attachments page
77
+ if with_attachments
78
+ it "shows the privacy warning in attachments admin" do
79
+ visit restricted_participatory_space_attachment_path
80
+ within "#attachments" do
81
+ expect(page).to have_content(I18n.t("decidim.admin.attachments_privacy_warning.message"))
82
+ end
80
83
  end
81
84
  end
82
85
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- shared_examples "access mode transparent participatory spaces" do
3
+ shared_examples "access mode transparent participatory spaces" do |with_attachments: true|
4
4
  let!(:admin) { create(:user, :admin, :confirmed, organization:) }
5
5
  let!(:user) { create(:user, :confirmed, organization:) }
6
6
  let!(:other_user) { create(:user, :confirmed, organization:) }
@@ -55,17 +55,20 @@ shared_examples "access mode transparent participatory spaces" do
55
55
  end
56
56
  end
57
57
 
58
- context "when the user is admin" do
59
- before do
60
- switch_to_host(organization.host)
61
- login_as admin, scope: :user
62
- visit participatory_space_index_path
63
- end
58
+ # Evaluators and Moderators do not have permissions to see the admin attachments page
59
+ if with_attachments
60
+ context "when the user is admin" do
61
+ before do
62
+ switch_to_host(organization.host)
63
+ login_as admin, scope: :user
64
+ visit participatory_space_index_path
65
+ end
64
66
 
65
- it "does not show the privacy warning in attachments admin" do
66
- visit transparent_participatory_space_attachment_path
67
- within "#attachments" do
68
- expect(page).to have_no_content("Any participant could share this document to others")
67
+ it "does not show the privacy warning in attachments admin" do
68
+ visit transparent_participatory_space_attachment_path
69
+ within "#attachments" do
70
+ expect(page).to have_no_content("Any participant could share this document to others")
71
+ end
69
72
  end
70
73
  end
71
74
  end
@@ -173,6 +173,16 @@ shared_examples "comments" do
173
173
  expect(page).to have_css(".comment-thread")
174
174
  end
175
175
 
176
+ it "opens the login modal when clicking the comment button" do
177
+ visit resource_path
178
+
179
+ expect(page).to have_no_css("#loginModal-content", visible: :visible)
180
+
181
+ find(".add-comment-mobile").click
182
+
183
+ expect(page).to have_css("#loginModal-content", visible: :visible)
184
+ end
185
+
176
186
  context "when user visit a mobile browser" do
177
187
  before do
178
188
  driven_by(:iphone)
@@ -202,6 +212,22 @@ shared_examples "comments" do
202
212
  expect(page).to have_css(".add-comment form")
203
213
  end
204
214
 
215
+ it "does not show login modal when clicking the comment button" do
216
+ visit resource_path
217
+
218
+ find("a.add-comment-mobile").click
219
+
220
+ expect(page).to have_no_css("#loginModal-content", visible: :visible)
221
+ end
222
+
223
+ it "guides the user to the comment form when clicking the comment button" do
224
+ visit resource_path
225
+
226
+ find("a.add-comment-mobile").click
227
+
228
+ expect(page).to have_css("#add-comment-anchor")
229
+ end
230
+
205
231
  context "when user visit a computer browser" do
206
232
  before do
207
233
  switch_to_host(organization.host)
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-core version.
5
5
  module Core
6
6
  def self.version
7
- "0.32.0"
7
+ "0.32.1"
8
8
  end
9
9
  end
10
10
  end
data/lib/decidim/core.rb CHANGED
@@ -288,7 +288,7 @@ module Decidim
288
288
  mattr_accessor :default_locale, default: (Decidim::Env.new("DECIDIM_DEFAULT_LOCALE", "en").presence || :en).to_s
289
289
 
290
290
  # Users that have not logged in for this period of time will be deleted
291
- mattr_accessor :delete_inactive_users_after_days, default: Decidim::Env.new("DELETE_INACTIVE_USERS_AFTER_DAYS", 365).to_i
291
+ mattr_accessor :delete_inactive_users_after_days, default: Decidim::Env.new("DECIDIM_DELETE_INACTIVE_USERS_AFTER_DAYS", 365).to_i
292
292
 
293
293
  # The minimum allowed inactivity period for deleting participants.
294
294
  mattr_accessor :minimum_inactivity_period, default: Decidim::Env.new("DECIDIM_MINIMUM_INACTIVITY_PERIOD_IN_DAYS", 30).to_i
@@ -30,7 +30,9 @@ module Decidim
30
30
  def builder_options
31
31
  {
32
32
  marker_color: organization.colors.fetch("primary", "#e02d2d"),
33
- tile_layer: tile_layer_configuration
33
+ tile_layer: tile_layer_configuration,
34
+ zoom_in_text: I18n.t("zoom_in", scope: "decidim.map.dynamic"),
35
+ zoom_out_text: I18n.t("zoom_out", scope: "decidim.map.dynamic")
34
36
  }
35
37
  end
36
38
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.32.0
4
+ version: 0.32.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -681,6 +681,26 @@ dependencies:
681
681
  - - "<"
682
682
  - !ruby/object:Gem::Version
683
683
  version: '6.9'
684
+ - !ruby/object:Gem::Dependency
685
+ name: rack-proxy
686
+ requirement: !ruby/object:Gem::Requirement
687
+ requirements:
688
+ - - "~>"
689
+ - !ruby/object:Gem::Version
690
+ version: 0.8.3
691
+ - - "<"
692
+ - !ruby/object:Gem::Version
693
+ version: '1.0'
694
+ type: :runtime
695
+ prerelease: false
696
+ version_requirements: !ruby/object:Gem::Requirement
697
+ requirements:
698
+ - - "~>"
699
+ - !ruby/object:Gem::Version
700
+ version: 0.8.3
701
+ - - "<"
702
+ - !ruby/object:Gem::Version
703
+ version: '1.0'
684
704
  - !ruby/object:Gem::Dependency
685
705
  name: rails
686
706
  requirement: !ruby/object:Gem::Requirement
@@ -893,28 +913,28 @@ dependencies:
893
913
  requirements:
894
914
  - - '='
895
915
  - !ruby/object:Gem::Version
896
- version: 0.32.0
916
+ version: 0.32.1
897
917
  type: :development
898
918
  prerelease: false
899
919
  version_requirements: !ruby/object:Gem::Requirement
900
920
  requirements:
901
921
  - - '='
902
922
  - !ruby/object:Gem::Version
903
- version: 0.32.0
923
+ version: 0.32.1
904
924
  - !ruby/object:Gem::Dependency
905
925
  name: decidim-dev
906
926
  requirement: !ruby/object:Gem::Requirement
907
927
  requirements:
908
928
  - - '='
909
929
  - !ruby/object:Gem::Version
910
- version: 0.32.0
930
+ version: 0.32.1
911
931
  type: :development
912
932
  prerelease: false
913
933
  version_requirements: !ruby/object:Gem::Requirement
914
934
  requirements:
915
935
  - - '='
916
936
  - !ruby/object:Gem::Version
917
- version: 0.32.0
937
+ version: 0.32.1
918
938
  description: Adds core features so other engines can hook into the framework.
919
939
  email:
920
940
  - josepjaume@gmail.com
@@ -1796,6 +1816,7 @@ files:
1796
1816
  - app/packs/src/decidim/refactor/moved/check_boxes_tree.js
1797
1817
  - app/packs/src/decidim/refactor/moved/delayed.js
1798
1818
  - app/packs/src/decidim/refactor/moved/focus_guard.js
1819
+ - app/packs/src/decidim/refactor/moved/focus_guard.test.js
1799
1820
  - app/packs/src/decidim/refactor/moved/history.js
1800
1821
  - app/packs/src/decidim/refactor/moved/i18n.js
1801
1822
  - app/packs/src/decidim/refactor/moved/i18n.test.js