decidim-core 0.27.0 → 0.27.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim-core might be problematic. Click here for more details.

Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/amendable/announcement_cell.rb +1 -1
  3. data/app/cells/decidim/card_m_cell.rb +1 -1
  4. data/app/controllers/decidim/devise/invitations_controller.rb +9 -2
  5. data/app/controllers/decidim/last_activities_controller.rb +5 -2
  6. data/app/forms/decidim/account_form.rb +2 -2
  7. data/app/forms/decidim/amendable/form.rb +2 -1
  8. data/app/forms/decidim/registration_form.rb +2 -2
  9. data/app/forms/decidim/upload_validation_form.rb +51 -7
  10. data/app/helpers/decidim/layout_helper.rb +12 -4
  11. data/app/helpers/decidim/sanitize_helper.rb +1 -1
  12. data/app/mailers/decidim/notification_mailer.rb +1 -0
  13. data/app/mailers/decidim/notifications_digest_mailer.rb +1 -0
  14. data/app/packs/src/decidim/editor/clipboard_override.js +143 -0
  15. data/app/packs/src/decidim/editor/clipboard_utilities.js +119 -0
  16. data/app/packs/src/decidim/editor/linebreak_module.js +0 -8
  17. data/app/packs/src/decidim/editor.js +9 -2
  18. data/app/packs/stylesheets/decidim/_editor.scss +129 -0
  19. data/app/packs/stylesheets/decidim/extras/_quill.scss +0 -6
  20. data/app/presenters/decidim/home_stats_presenter.rb +11 -4
  21. data/app/presenters/decidim/stats_presenter.rb +7 -8
  22. data/app/presenters/decidim/user_presenter.rb +9 -4
  23. data/app/queries/decidim/public_activities.rb +1 -0
  24. data/app/validators/etiquette_validator.rb +7 -3
  25. data/app/validators/file_content_type_validator.rb +103 -0
  26. data/app/validators/passthru_validator.rb +11 -0
  27. data/app/validators/uploader_content_type_validator.rb +22 -0
  28. data/app/views/decidim/notification_mailer/event_received.html.erb +1 -1
  29. data/app/views/decidim/notifications_digest_mailer/_email_content.html.erb +1 -1
  30. data/config/locales/ar.yml +0 -13
  31. data/config/locales/bg.yml +0 -13
  32. data/config/locales/ca.yml +5 -13
  33. data/config/locales/cs.yml +6 -14
  34. data/config/locales/de.yml +0 -13
  35. data/config/locales/el.yml +0 -13
  36. data/config/locales/en.yml +5 -13
  37. data/config/locales/es-MX.yml +5 -13
  38. data/config/locales/es-PY.yml +5 -13
  39. data/config/locales/es.yml +9 -17
  40. data/config/locales/eu.yml +4 -13
  41. data/config/locales/fi-plain.yml +5 -13
  42. data/config/locales/fi.yml +5 -13
  43. data/config/locales/fr-CA.yml +5 -13
  44. data/config/locales/fr.yml +5 -13
  45. data/config/locales/ga-IE.yml +0 -2
  46. data/config/locales/gl.yml +0 -13
  47. data/config/locales/gn-PY.yml +1 -0
  48. data/config/locales/hu.yml +0 -13
  49. data/config/locales/id-ID.yml +0 -13
  50. data/config/locales/it.yml +0 -13
  51. data/config/locales/ja.yml +5 -13
  52. data/config/locales/lb.yml +0 -13
  53. data/config/locales/lo-LA.yml +1 -0
  54. data/config/locales/lt.yml +0 -13
  55. data/config/locales/lv.yml +0 -13
  56. data/config/locales/nl.yml +0 -13
  57. data/config/locales/no.yml +0 -13
  58. data/config/locales/pl.yml +0 -13
  59. data/config/locales/pt-BR.yml +0 -13
  60. data/config/locales/pt.yml +0 -13
  61. data/config/locales/ro-RO.yml +0 -13
  62. data/config/locales/ru.yml +0 -2
  63. data/config/locales/sk.yml +0 -13
  64. data/config/locales/sv.yml +0 -13
  65. data/config/locales/tr-TR.yml +0 -13
  66. data/config/locales/zh-CN.yml +0 -13
  67. data/lib/decidim/attributes/localized_date.rb +1 -1
  68. data/lib/decidim/attributes/time_with_zone.rb +5 -2
  69. data/lib/decidim/core/engine.rb +7 -5
  70. data/lib/decidim/core/test/shared_examples/comments_examples.rb +1 -1
  71. data/lib/decidim/core/test/shared_examples/editor_shared_examples.rb +30 -0
  72. data/lib/decidim/core/test/shared_examples/mcell_examples.rb +17 -0
  73. data/lib/decidim/core/test.rb +2 -0
  74. data/lib/decidim/core/version.rb +1 -1
  75. data/lib/decidim/file_validator_humanizer.rb +1 -1
  76. data/lib/decidim/form_builder.rb +10 -3
  77. data/lib/decidim/resourceable.rb +5 -4
  78. data/lib/decidim/settings_manifest.rb +1 -1
  79. metadata +13 -7
  80. data/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_invitations.svg +0 -1
@@ -745,18 +745,6 @@ it:
745
745
  how: Come puoi guadagnarlo
746
746
  page_description: I badge sono riconoscimenti delle azioni dei partecipanti e dei progressi nella piattaforma. Quando inizi a scoprire, partecipare e interagire nella piattaforma, guadagnerai badge diversi. Ecco la lista dei badge e alcuni modi per guadagnarli.
747
747
  title: Badge
748
- invitations:
749
- conditions:
750
- - Usa il link "invita amici" nella tua pagina utente per invitare i tuoi amici
751
- - Personalizza, se vuoi, il messaggio che stai inviando
752
- - Aumenterai di livello inviando inviti e registrandoli.
753
- description: Questo badge è concesso quando hai invitato alcune persone e hanno trascorso un po 'di tempo per registrarsi in %{organization_name} e diventare partecipanti. Grazie per aver reso %{organization_name} conoscere agli altri e contribuendo ad ampliare la comunità!
754
- description_another: Questo utente ha invitato %{score} utenti.
755
- description_own: Hai invitato %{score} utenti.
756
- name: inviti
757
- next_level_in: Invita altri %{score} utenti a raggiungere il livello successivo!
758
- unearned_another: Questo utente non ha ancora invitato alcun utente.
759
- unearned_own: Non hai ancora invitato nessun utente.
760
748
  description: I badge sono riconoscimenti delle azioni dei partecipanti e dei progressi nella piattaforma. Quando inizi a scoprire, partecipare e interagire nella piattaforma, guadagnerai badge diversi.
761
749
  level: Livello %{level}
762
750
  reached_top: Hai raggiunto il livello più alto per questo badge.
@@ -1546,7 +1534,6 @@ it:
1546
1534
  other: 'Ci sono stati molteplici errori durante l''elaborazione della tua richiesta:'
1547
1535
  too_many_marks: sta usando troppi segni di punteggiatura consecutivi (ad esempio! e?)
1548
1536
  too_much_caps: usa troppe lettere maiuscole (oltre il 25% del testo)
1549
- too_short: è troppo corto (meno di 15 caratteri)
1550
1537
  forms:
1551
1538
  correct_errors: Ci sono errori nel modulo, correggerli per continuare.
1552
1539
  length_validator:
@@ -30,6 +30,7 @@ ja:
30
30
  password_confirmation: パスワードの確認
31
31
  personal_url: 個人用URL
32
32
  remove_avatar: アバターを削除
33
+ tos_agreement: ユーザー利用規約
33
34
  models:
34
35
  decidim/attachment_created_event: 添付ファイル
35
36
  decidim/component_published_event: アクティブなコンポーネント
@@ -806,6 +807,8 @@ ja:
806
807
  allowed_file_extensions: 'アップロード可能なファイル形式: %{extensions}'
807
808
  max_file_dimension: '最大ファイルサイズ: %{resolution} ピクセル'
808
809
  max_file_size: '最大ファイルサイズ: %{megabytes}MB'
810
+ files:
811
+ extension_allowlist: '対応しているフォーマット: %{extensions}'
809
812
  upload:
810
813
  labels:
811
814
  add_attachment: 添付ファイルを追加
@@ -844,18 +847,6 @@ ja:
844
847
  how: どうやって稼ぐことができますか?
845
848
  page_description: バッジは、プラットフォームの参加者の行動と進行状況を認識します。 プラットフォームで発見し、参加し、交流し始めると、異なるバッジを獲得できます。 ここにバッジのリストといくつかの方法があります。
846
849
  title: バッジ
847
- invitations:
848
- conditions:
849
- - 友達を招待するには、ユーザーページの「友達招待」リンクを使用してください
850
- - 必要に応じて、送信するメッセージをカスタマイズします
851
- - 招待状を送信して登録することでレベルアップします。
852
- description: このバッジは、あなたが何人かの人を招待し、その人たちが少し時間をかけて%{organization_name} に登録し、参加者になったときに与えられます。%{organization_name} を他の人に知らしめ、コミュニティの拡大に貢献してくれたことに感謝します!
853
- description_another: この参加者は %{score} 人を招待しました。
854
- description_own: '%{score} 人を招待しました。'
855
- name: 招待
856
- next_level_in: '%{score} 人を招待して次のレベルに到達しましょう!'
857
- unearned_another: この参加者はまだ誰も招待していません。
858
- unearned_own: まだ誰も招待していません。
859
850
  description: バッジは、プラットフォームの参加者の行動と進行状況を認識します。 プラットフォームで発見し、参加し、交流し始めると、異なるバッジを獲得できます。
860
851
  level: レベル %{level}
861
852
  reached_top: このバッジの最高レベルに達しました。
@@ -1670,6 +1661,7 @@ ja:
1670
1661
  public: 公開情報
1671
1662
  errors:
1672
1663
  messages:
1664
+ allowed_file_content_types: '次の拡張子を持つファイルのみが許可されています: %{types}'
1673
1665
  already_confirmed: が確認されました。ログインしてみてください
1674
1666
  confirmation_period_expired: '%{period}以内に確認する必要があります。新しいものをリクエストしてください'
1675
1667
  content_type_allowlist_error: ファイルの種類が無効です
@@ -1686,7 +1678,7 @@ ja:
1686
1678
  other: 'リクエストの処理中に複数のエラーが発生しました:'
1687
1679
  too_many_marks: '連続する句読点が多すぎます (例: !, ?)'
1688
1680
  too_much_caps: 大文字が多すぎます(テキストの25%以上)
1689
- too_short: 短すぎます(15文字未満)
1681
+ too_short: は短すぎます( %{count} 文字以下)
1690
1682
  forms:
1691
1683
  correct_errors: 下記のフォームにエラーがありました。修正して継続してください。
1692
1684
  length_validator:
@@ -736,18 +736,6 @@ lb:
736
736
  how: Wéi kanns de der et verdéngen
737
737
  page_description: Ofzeechen sinn Unerkennungen fir d'Aktiounen an d'Fortschrëtter vun Teilnehmer op der Plattform. Wann se op der Plattform entdecken, matmaachen an interagéieren, verdéngen se verschidden Ofzeechen. Hei ass eng Lëscht vun den Ofzeechen an e puer Méiglechkeeten, wéi een sech déi verdéngen kann.
738
738
  title: Ofzeechen
739
- invitations:
740
- conditions:
741
- - Benotz den "Frënn alueden" -Link op denger Profil-Säit, fir Frënn anzelueden
742
- - Du kanns, wann s'de dat wëlls, d'Noriicht déi s'de schécke wëlls upassen
743
- - Du verbessers dech andeem s'de Aluedungen erausschécks an registréieren léiss.
744
- description: Dëst Ofzeechen kritt een, wann een e puer Persounen agelueden huet déi sech d'Zäit geholl hunn sech bei %{organization_name} ze registréieren. Merci, dass du hëllefs d'%{organization_name} bekannt ze maachen an dozou bäidréis d'Communautéit ze vergréisseren!
745
- description_another: Dësen Teilnehmer huet %{score} Teilnehmer agelueden.
746
- description_own: Du hues %{score} Teilnehmer agelueden.
747
- name: Aluedungen
748
- next_level_in: Lued %{score} méi Teilnehmer an, fir op den nächsten Level ze kommen!
749
- unearned_another: Dësen Teilnehmer huet nach keen agelueden.
750
- unearned_own: Du hues nach keen Teilnehmer agelueden.
751
739
  description: Ofzeechen sinn Unerkennungen fir d'Aktiounen an d'Fortschrëtter vun Teilnehmer op der Plattform. Wann se op der Plattform entdecken, matmaachen an interagéieren, verdéngen se verschidden Ofzeechen.
752
740
  level: Level %{level}
753
741
  reached_top: Du hues den héchsten Level bei dësem Ofzeechen erreecht.
@@ -1529,7 +1517,6 @@ lb:
1529
1517
  other: 'Bei denger Ufro sin e puer Feeler opgetrueden:'
1530
1518
  too_many_marks: benotzt ze vill Sazzeechen (zB! und?)
1531
1519
  too_much_caps: benotzt ze vill Groussbuschtawen (über 25% des Textes)
1532
- too_short: ze kuerz (ënner 15 Zeechen)
1533
1520
  forms:
1534
1521
  correct_errors: Et sinn Feeler um Formular, w. e. g. virum weiderfueren verbesseren.
1535
1522
  length_validator:
@@ -0,0 +1 @@
1
+ lo:
@@ -891,18 +891,6 @@ lt:
891
891
  how: Kaip jį užsitarnauti
892
892
  page_description: Ženkleliai – tai dalyvių veiklumo platformoje pripažinimas. Susipažindami su platforma, joje dalyvaudami ir bendraudami, pelnysite įvairių ženklelių. Štai ženklelių sąrašas ir keletas būdų, kaip juos pelnyti.
893
893
  title: Ženkleliai
894
- invitations:
895
- conditions:
896
- - Norėdami pakviesti savo draugus prisijugti pasinaudokite "pakviesti draugus" nuoroda savo naudotojo puslapyje
897
- - Jeigu norite, siunčiamą žinutę galite patinkinti
898
- - Savo lygį pakelsite siųsdami kvietimus ir juos registruodami.
899
- description: Šis ženklelis suteikiamas, kai pakviečiate žmonių, jie užsiregistruoja %{organization_name} ir tampa dalyviais. Dėkojame, kad supažindinate kitus su %{organization_name} ir padedate plėsti bendruomenę!
900
- description_another: Šis dalyvis pakvietė %{score} žmones (-ių).
901
- description_own: Jūs pakvietėte %{score} žmones (-ių).
902
- name: Pakvietimai
903
- next_level_in: Pakvieskite dar %{score} sekėjų ir pasieksite kitą lygį!
904
- unearned_another: Šis dalyvis dar nieko nepakvietė.
905
- unearned_own: Jūs dar nieko nepakvietėte.
906
894
  description: Ženkleliai – tai dalyvių veiksmų ir veiklos platformoje pripažinimas. Susipažindami su platforma, joje dalyvaudami ir bendraudami, pelnysite įvairių ženklelių.
907
895
  level: '%{level} lygis'
908
896
  reached_top: Pasiekėte aukščiausią šio ženklelio lygį.
@@ -1742,7 +1730,6 @@ lt:
1742
1730
  other: 'Vykdant jūsų prašymus įvyko klaida:'
1743
1731
  too_many_marks: naudojama per daug skyrybos ženklų iš eilės (pvz., ! ir ?)
1744
1732
  too_much_caps: naudojama per daug didžiųjų raidžių (daugiau kaip 25 proc. teksto)
1745
- too_short: per trumpas (mažiau nei 15 ženklų)
1746
1733
  forms:
1747
1734
  correct_errors: Formoje yra klaidų, ištaisykite jas ir tęskite.
1748
1735
  length_validator:
@@ -645,18 +645,6 @@ lv:
645
645
  how: Kā jūs to varat nopelnīt
646
646
  page_description: Žetoni ir atzinība par dalībnieku darbībām un progresu platformā. Sākot atklāt platformu, piedaloties un mijiedarbojoties ar to, jūs nopelnīsiet dažādus žetonus. Šeit ir žetonu saraksts un daži veidi, kā tos nopelnīt.
647
647
  title: Žetoni
648
- invitations:
649
- conditions:
650
- - Lai uzaicinātu draugus, izmantojiet saiti Uzaicināt draugus savā lietotāja lapā
651
- - Pielāgojiet sūtāmo ziņojumu, ja vēlaties
652
- - Jūs sasniegsiet augstāku līmeni, sūtot ielūgumus un piesaistot jaunus reģistrētus lietotājus.
653
- description: Šis žetons tiek piešķirts, kad esat uzaicinājis dažus cilvēkus un viņi ir veltījuši nedaudz laika, lai reģistrētos %{organization_name} un kļūtu par dalībniekiem. Paldies, ka darījāt %{organization_name} zināmu citiem un palīdzējāt paplašināt mūsu kopienu.
654
- description_another: Šis dalībnieks ir uzaicinājis %{score} cilvēkus.
655
- description_own: Jūs esat uzaicinājis %{score} cilvēkus.
656
- name: Ielūgumi
657
- next_level_in: Piesaistiet vēl %{score} cilvēkus, lai sasniegtu nākamo līmeni!
658
- unearned_another: Šis dalībnieks vēl nav uzaicinājis nevienu.
659
- unearned_own: Jūs vēl nevienu neesat uzaicinājis.
660
648
  description: Žetoni ir atzinība par dalībnieku darbībām un progresu platformā. Sākot atklāt platformu, piedaloties un mijiedarbojoties ar to, jūs nopelnīsiet dažādus žetonus.
661
649
  level: Līmenis %{level}
662
650
  reached_top: Jūs esat sasniedzis šim žetona nepieciešamo augstāko līmeni.
@@ -1334,7 +1322,6 @@ lv:
1334
1322
  other: 'Apstrādājot jūsu pieprasījumu, radās vairākas kļūdas:'
1335
1323
  too_many_marks: izmanto pārāk daudz secīgu pieturzīmju (piemēram,! un ?)
1336
1324
  too_much_caps: izmanto pārāk daudz lielo burtu (vairāk nekā 25 % no teksta)
1337
- too_short: ir pārāk īsa (līdz 15 rakstzīmēm)
1338
1325
  invisible_captcha:
1339
1326
  sentence_for_humans: Ja esat cilvēks, ignorējiet šo lauku
1340
1327
  timestamp_error_message: Diemžēl tas bija par ātru! Lūdzu, iesniedziet atkārtoti.
@@ -751,18 +751,6 @@ nl:
751
751
  how: Hoe kun je het verdienen?
752
752
  page_description: Badges zijn erkenningen voor acties van deelnemers en voortgang op het platform. Naarmate je begint met ontdekken, deelnemen en communiceren op het platform, verdien je verschillende badges. Hier is de lijst met badges en enkele manieren waarop u ze kunt verdienen.
753
753
  title: Badges
754
- invitations:
755
- conditions:
756
- - Gebruik de link "Vrienden uitnodigen" op uw gebruikerspagina om uw vrienden uit te nodigen
757
- - Pas het bericht aan dat u stuurt, als u wilt
758
- - Je komt op een niveau door uitnodigingen te versturen en ze te laten registreren.
759
- description: Deze badge wordt toegekend als je enkele mensen hebt uitgenodigd en ze hebben een beetje tijd besteed om in %{organization_name} te registreren en deelnemers te worden. Dank u om %{organization_name} bekend te maken bij anderen en om de community te helpen uit te breiden!
760
- description_another: Deze deelnemer heeft %{score} personen uitgenodigd.
761
- description_own: Je hebt %{score} mensen uitgenodigd.
762
- name: Uitnodigingen
763
- next_level_in: Nodig nog %{score} mensen uit om het volgende niveau te bereiken!
764
- unearned_another: Deze deelnemer heeft nog niemand uitgenodigd.
765
- unearned_own: Je hebt nog niemand uitgenodigd.
766
754
  description: Badges zijn erkenningen voor acties van deelnemers en voortgang op het platform. Naarmate je begint met ontdekken, deelnemen en communiceren op het platform, verdien je verschillende badges.
767
755
  level: Niveau %{level}
768
756
  reached_top: U hebt het hoogste niveau bereikt voor deze badge.
@@ -1534,7 +1522,6 @@ nl:
1534
1522
  other: 'Er zijn fouten opgetreden bij de verwerking van je aanvraag:'
1535
1523
  too_many_marks: gebruikt te veel opeenvolgende leestekens (bijvoorbeeld ! en?)
1536
1524
  too_much_caps: gebruikt te veel hoofdletters (meer dan 25% van de tekst)
1537
- too_short: is te kort (minder dan 15 tekens)
1538
1525
  forms:
1539
1526
  correct_errors: Er zijn fouten in het formulier, corrigeer ze om door te gaan.
1540
1527
  length_validator:
@@ -774,18 +774,6 @@
774
774
  how: Hvordan kan du tjene det
775
775
  page_description: Merker er anerkjennelser for deltaker handlinger og fremdrift i plattformen. Når du begynner å oppdage, delta og samhandle i plattformen, vil du tjene forskjellige merker. Her er listen over merker og noen måter du kan tjene dem på.
776
776
  title: Merker
777
- invitations:
778
- conditions:
779
- - Bruk "invitere venner" lenken på din bruker side for å invitere vennene dine
780
- - Tilpass, hvis du vil, meldingen du sender
781
- - Du vil gå opp i nivå ved å sende invitasjoner og få dem registrert.
782
- description: Dette merket blir gitt når du har invitert noen og de har brukt lite tid på å registrere seg i %{organization_name} og bli deltakere. Takk for at du gjør %{organization_name} kjent til andre og hjelper med å utvide samfunnet!
783
- description_another: Denne deltakeren har invitert %{score} folk.
784
- description_own: Du har invitert %{score} folk.
785
- name: Invitasjoner
786
- next_level_in: Inviter %{score} flere folk for å nå neste nivå!
787
- unearned_another: Denne deltakeren har ikke invitert noen ennå.
788
- unearned_own: Du har ikke invitert noen ennå.
789
777
  description: Merker er anerkjennelser for deltaker handlinger og fremdrift i plattformen. Når du begynner å oppdage, delta og samhandle i plattformen, vil du tjene forskjellige merker.
790
778
  level: Nivå %{level}
791
779
  reached_top: Du har nådd det høyeste nivået for dette merket.
@@ -1580,7 +1568,6 @@
1580
1568
  other: 'Det oppsto flere feil med å behandle forespørselen din:'
1581
1569
  too_many_marks: bruker for mange påfølgende skilletegn (f.eks. ! og ?)
1582
1570
  too_much_caps: bruker for mange store bokstaver (over 25% av teksten)
1583
- too_short: er for kort (under 15 tegn)
1584
1571
  forms:
1585
1572
  correct_errors: Det er feil i skjemaet, korriger dem for å fortsette.
1586
1573
  length_validator:
@@ -846,18 +846,6 @@ pl:
846
846
  how: Jak ją zdobyć
847
847
  page_description: Odznaki są wyrazem uznania dla działań użytkowników i ich rozwoju na platformie. Gdy zaczniesz odkrywać, uczestniczyć i wchodzić w interakcje na platformie, otrzymasz różne odznaki. Oto lista odznak i kilka sposobów na ich zdobycie.
848
848
  title: Odznaki
849
- invitations:
850
- conditions:
851
- - Użyj linku "zaproś znajomych" na swojej stronie użytkownika, aby zaprosić znajomych
852
- - Dostosuj, jeśli chcesz, wiadomość, którą wysyłasz
853
- - Możesz awansować na wyższy poziom, wysyłając zaproszenia i gdy zostaną one przyjęte.
854
- description: Ta odznaka jest przyznawana, gdy zapraszasz ludzi i gdy oni poświęcą trochę czasu, aby zarejestrować się w %{organization_name} i zostać użytkownikami. Dziękujemy za udostępnienie %{organization_name} innym osobom i pomoc w rozbudowywaniu społeczności!
855
- description_another: Ten użytkownik zaprosił %{score} osób.
856
- description_own: Zaprosiłeś %{score} osób.
857
- name: Zaproszenia
858
- next_level_in: Zaproś %{score} kolejnych użytkowników, aby przejść do następnego poziomu!
859
- unearned_another: Ten użytkownik jeszcze nikogo nie zaprosił.
860
- unearned_own: Jeszcze nikogo nie zaproszono.
861
849
  description: Odznaki są wyrazem uznania dla działań użytkowników i ich rozwoju na platformie. Gdy zaczniesz odkrywać, uczestniczyć i wchodzić w interakcje na platformie, otrzymasz różne odznaki.
862
850
  level: Poziom %{level}
863
851
  reached_top: Osiągnąłeś najwyższy poziom tej odznaki.
@@ -1641,7 +1629,6 @@ pl:
1641
1629
  other: 'Podczas przetwarzania Twojego żądania wystąpiły błędy:'
1642
1630
  too_many_marks: używa zbyt wielu kolejnych znaków interpunkcyjnych (np.! i?)
1643
1631
  too_much_caps: używa zbyt dużej liczby wielkich liter (ponad 25% tekstu)
1644
- too_short: jest za krótkie
1645
1632
  forms:
1646
1633
  correct_errors: Wystąpiły błędy w formularzu, popraw je, aby kontynuować.
1647
1634
  length_validator:
@@ -740,18 +740,6 @@ pt-BR:
740
740
  how: Como você pode ganhar
741
741
  page_description: Crachás são reconhecimentos para ações dos participantes e progresso na plataforma. Ao começar a descobrir, participar e interagir na plataforma, você ganhará distintivos diferentes. Aqui está a lista de crachás e algumas maneiras de ganhá-los.
742
742
  title: Distintivos
743
- invitations:
744
- conditions:
745
- - Use o link "convidar amigos" na sua página de usuário para convidar seus amigos
746
- - Personalize, se quiser, a mensagem que você está enviando
747
- - Você vai subir de nível enviando convites e recebendo-os registrados.
748
- description: Esse selo é concedido quando você convidou algumas pessoas e elas gastaram um pouco de tempo para se inscrever em %{organization_name} e se tornarem participantes. Obrigado por fazer %{organization_name} a conhecer aos outros e ajudando a expandir a comunidade!
749
- description_another: Este usuário convidou %{score} usuários.
750
- description_own: Você convidou %{score} usuários.
751
- name: Convites
752
- next_level_in: Convide mais %{score} usuários para alcançar o próximo nível!
753
- unearned_another: Este usuário ainda não convidou nenhum usuário.
754
- unearned_own: Você não convidou nenhum usuário ainda.
755
743
  description: Crachás são reconhecimentos para ações dos participantes e progresso na plataforma. Ao começar a descobrir, participar e interagir na plataforma, você ganhará distintivos diferentes.
756
744
  level: Nível %{level}
757
745
  reached_top: Você atingiu o nível superior para este selo.
@@ -1533,7 +1521,6 @@ pt-BR:
1533
1521
  other: 'Houve erros múltiplos ao processar sua solicitação:'
1534
1522
  too_many_marks: está usando muitos sinais de pontuação consecutivos (por exemplo,! e?)
1535
1523
  too_much_caps: está usando muitas letras maiúsculas (mais de 25% do texto)
1536
- too_short: é muito curto (menos de 15 caracteres)
1537
1524
  forms:
1538
1525
  correct_errors: Há erros no formulário, por favor corrija-os para continuar.
1539
1526
  length_validator:
@@ -739,18 +739,6 @@ pt:
739
739
  how: Como pode ganhar
740
740
  page_description: Distintivos são reconhecimentos para ações dos participantes e progresso na plataforma. Ao começar a descobrir, participar e interagir na plataforma, ganhará distintivos diferentes. Aqui está a lista de distintivos e algumas maneiras de ganhá-los.
741
741
  title: Distintivos
742
- invitations:
743
- conditions:
744
- - Use a hiperligação "convidar amigos" na sua página de utilizador para convidar os seus amigos
745
- - Personalize, se quiser, a mensagem que está a enviar
746
- - Subirá de nível ao enviar convites e obtendo registos.
747
- description: Este distintivo é concedido quando convidou algumas pessoas e elas despenderam um pouco de tempo para se inscrever em %{organization_name} e se tornarem participantes. Obrigado por dar a conhecer %{organization_name} aos outros e ajudar a expandir a comunidade!
748
- description_another: Este participante convidou %{score} utilizadores.
749
- description_own: Convidou %{score} utilizadores.
750
- name: Convites
751
- next_level_in: Convide mais %{score} utilizadores para alcançar o próximo nível!
752
- unearned_another: Este participante ainda não convidou alguém.
753
- unearned_own: Ainda não convidou alguém.
754
742
  description: Distintivos são reconhecimentos para ações dos participantes e progresso na plataforma. Ao começar a descobrir, participar e interagir na plataforma, ganhará distintivos diferentes.
755
743
  level: Nível %{level}
756
744
  reached_top: Atingiu o nível superior para este distintivo.
@@ -1532,7 +1520,6 @@ pt:
1532
1520
  other: 'Ocorreram diversos erros ao processar o seu pedido:'
1533
1521
  too_many_marks: está a usar muitos sinais de pontuação consecutivos (por exemplo, ! e ?)
1534
1522
  too_much_caps: está a usar muitas letras maiúsculas (acima de 25% do texto)
1535
- too_short: é muito curto (abaixo de 15 caracteres)
1536
1523
  forms:
1537
1524
  correct_errors: Existem erros no formulário, por favor corrija-os para continuar.
1538
1525
  length_validator:
@@ -761,18 +761,6 @@ ro:
761
761
  how: Cum poți să o câștigi
762
762
  page_description: Insignele sunt recunoașterea acțiunilor participanților și progresele înregistrate în cadrul platformei. Pe măsură ce începi să descoperi, să participi și să interacționezi în platformă, vei câștiga diferite insigne. Aici este lista de insigne și câteva modalități prin care le poți câștiga.
763
763
  title: Insigne
764
- invitations:
765
- conditions:
766
- - Folosește link-ul "invită prieteni" de pe pagina ta de utilizator pentru a-ți invita prietenii
767
- - Personalizează, dacă dorești, mesajul pe care îl trimiți
768
- - Vei crește în nivel trimițând invitații și primindu-le înregistrate.
769
- description: Această insignă este acordată atunci când ai invitat câțiva oameni și aceștia au petrecut puțin timp să se înregistreze în %{organization_name} și să devină participanți. Îți mulțumim că ai făcut %{organization_name} cunoscută și altora existența comunității și ai ajutat la extinderea ei!
770
- description_another: Acest participant a invitat %{score} persoane.
771
- description_own: Ai invitat %{score} persoane.
772
- name: Invitații
773
- next_level_in: Invită încă %{score} persoane să ajungă la următorul nivel!
774
- unearned_another: Acest participant nu a invitat încă pe nimeni.
775
- unearned_own: Nu ai invitat încă pe nimeni.
776
764
  description: Insignele sunt recunoașterea acțiunilor participanților și progresele înregistrate în cadrul platformei. Pe măsură ce începi să descoperi, să participi și să interacționezi în platformă, vei câștiga diferite insigne.
777
765
  level: Nivelul %{level}
778
766
  reached_top: Ai atins nivelul maxim pentru această insignă.
@@ -1570,7 +1558,6 @@ ro:
1570
1558
  other: 'Au existat mai multe erori la procesarea cererii dvs.:'
1571
1559
  too_many_marks: folosește prea multe semne consecutive de punctuație (de ex. ! și ?)
1572
1560
  too_much_caps: utilizează prea multe majuscule (peste 25% din text)
1573
- too_short: este prea scurt (sub 15 caractere)
1574
1561
  forms:
1575
1562
  correct_errors: Există erori în formular, vă rugăm să le corectaţi pentru a continua.
1576
1563
  length_validator:
@@ -427,8 +427,6 @@ ru:
427
427
  index:
428
428
  how: Как вы можете его получить
429
429
  title: Значки
430
- invitations:
431
- name: Приглашения
432
430
  level: Уровень %{level}
433
431
  group_admins:
434
432
  actions:
@@ -649,18 +649,6 @@ sk:
649
649
  how: Ako ho môžete získať
650
650
  page_description: Odznaky sú uznaním aktivity účastníkov a ich pokroku na platforme. Keď začnete objavovať platformu, zúčastňovať sa na nej a pracovať na nej, získate rôzne odznaky. Tu je zoznam odznakov a spôsoby, ako ich môžete získať.
651
651
  title: Odznaky
652
- invitations:
653
- conditions:
654
- - Použite odkaz "pozvať priateľov" na Vašej osobnej stránke pre pozvanie priateľov.
655
- - Upravte, ak chcete, správu, ktorú posielate.
656
- - Na ďalšiu úroveň sa dostanete rozosielaním a prijatím pozvánok.
657
- description: Tento odznak obdržíte, ak ste pozvali pár ľudí, ktorí strávili čas registráciou v %{organization_name} a stali sa účastníkmi. Ďakujeme, že ste ostatným ukázali %{organization_name} a pomohli rozšíriť komunitu!
658
- description_another: Tento účastník pozval %{score} ľudí.
659
- description_own: Pozvali ste %{score} ľudí.
660
- name: Pozvánky
661
- next_level_in: Pozvite o %{score} ľudí viac pre dosiahnutie ďalšej úrovne!
662
- unearned_another: Tento účastník zatiaľ nikoho nepozval.
663
- unearned_own: Zatial ste nikoho nepozvali.
664
652
  description: Odznaky sú uznanie akciou účastníkov a pokrok v platforme. Akonáhle začnete objavovať, zúčastniť sa a spolupracovať v platforme, získate rôzne odznaky.
665
653
  level: Úroveň%{level}
666
654
  reached_top: Dosiahli ste najvyššej úrovne tohto odznaku.
@@ -1263,7 +1251,6 @@ sk:
1263
1251
  other: 'Pri spracovaní vašej požiadavky došlo k nejakým chybám:'
1264
1252
  too_many_marks: používa príliš veľa po sebe idúcich interpunkčných znamienok (napr.! a?)
1265
1253
  too_much_caps: používa príliš veľa veľkých písmen (viac ako 25% textu)
1266
- too_short: je príliš krátka (pod 15 znakov)
1267
1254
  forms:
1268
1255
  required: Povinný
1269
1256
  invisible_captcha:
@@ -805,18 +805,6 @@ sv:
805
805
  how: Hur kan du få det
806
806
  page_description: Märken visar att du varit aktiv som deltagare på plattformen och deltagit i behandlingen. Medan du upptäcker, deltar och samverkar på plattformen får du olika märken. Här är listan med märken och hur du kan få dem.
807
807
  title: Märken
808
- invitations:
809
- conditions:
810
- - Bjud in dina vänner med länken "bjud in vänner" på din användarsida
811
- - Om du vill kan du anpassa meddelandet som du skickar
812
- - Nå nästa nivå genom att skicka inbjudningar till andra och få dem att registrera sig.
813
- description: Du får detta märke när när du har bjudit in några personer, de har registrerat sig i %{organization_name} och blivit deltagare. Tack för att du gör %{organization_name} mer välkänt och gör vår gemenskap större!
814
- description_another: Den här deltagaren har bjudit in %{score} personer.
815
- description_own: Du har bjudit in %{score} personer.
816
- name: Inbjudningar
817
- next_level_in: Nå nästa nivå genom att bjuda in %{score} personer till!
818
- unearned_another: Denna deltagare har inte bjudit in någon användare än.
819
- unearned_own: Du har inte ännu bjudit in någon annan.
820
808
  description: Märken visar att du varit aktiv som deltagare på plattformen och deltagit i behandlingen. Medan du upptäcker, deltar och samverkar på plattformen får du olika märken.
821
809
  level: Nivå %{level}
822
810
  reached_top: Du har nått den högsta nivån för detta märke.
@@ -1619,7 +1607,6 @@ sv:
1619
1607
  other: 'Det finns flera fel i din begäran:'
1620
1608
  too_many_marks: använder för många på varandra följande skiljetecken (t.ex. ! och ?)
1621
1609
  too_much_caps: använder för många stora bokstäver (över 25% av texten)
1622
- too_short: är för kort (under 15 tecken)
1623
1610
  forms:
1624
1611
  correct_errors: Det finns fel på formuläret, vänligen korrigera dem för att fortsätta.
1625
1612
  length_validator:
@@ -725,18 +725,6 @@ tr:
725
725
  how: Nasıl kazanabilirsin
726
726
  page_description: Rozetler, katılımcı eylemleri ve platformdaki ilerlemeleri tanımaktadır. Platformda keşfetmeye, katılmaya ve etkileşim kurmaya başladığınızda farklı rozetler kazanacaksınız. İşte rozetlerin listesi ve bunları kazanmanın bazı yolları.
727
727
  title: Rozetler
728
- invitations:
729
- conditions:
730
- - Arkadaşlarınızı davet etmek için kullanıcı sayfanızdaki “arkadaşlarını davet et” bağlantısını kullanın.
731
- - İsterseniz, göndermek istediğiniz mesajı özelleştirin
732
- - Davetiyeler göndererek ve onları kayıt altına alarak seviye atlayacaksınız.
733
- description: Bu rozeti, bazı kişileri davet ettiğinizde ve %{organization_name} kaydolmak ve katılımcı olmak için biraz zaman ayırdıklarında verilir. Yaptığınız için teşekkür ederiz %{organization_name} başkalarına bilinen ve topluluğu genişletmek için yardımcı!
734
- description_another: Bu kullanıcı %{score} kullanıcı davet etti.
735
- description_own: '%{score} kullanıcıyı davet ettiniz.'
736
- name: Davetiyeler
737
- next_level_in: Bir sonraki seviyeye ulaşmak için %{score} kullanıcı daha davet edin!
738
- unearned_another: Bu kullanıcı henüz bir kullanıcıyı davet etmedi.
739
- unearned_own: Henüz hiç kullanıcı davet etmediniz.
740
728
  description: Rozetler, katılımcı eylemleri ve platformdaki ilerlemeleri tanımaktadır. Platformda keşfetmeye, katılmaya ve etkileşim kurmaya başladığınızda farklı rozetler kazanacaksınız.
741
729
  level: Seviye %{level}
742
730
  reached_top: Bu rozetin en üst seviyesine ulaştınız.
@@ -1490,7 +1478,6 @@ tr:
1490
1478
  other: 'İsteğinizi işlerken birden çok hata oluştu:'
1491
1479
  too_many_marks: çok fazla ardışık noktalama işareti kullanıyor (örneğin! ve?)
1492
1480
  too_much_caps: çok fazla büyük harf kullanıyor (metnin% 25'inden fazlası)
1493
- too_short: çok kısa (15 karakterin altında)
1494
1481
  forms:
1495
1482
  correct_errors: Aşağıdaki formda hatalar oluştu, Devam etmek için lütfen bunları düzeltin.
1496
1483
  required: gereklidir
@@ -653,18 +653,6 @@ zh-CN:
653
653
  how: 你如何赚钱
654
654
  page_description: 徽章是对参与者行动和平台进展的承认。 当您开始发现、参与和互动平台时,您将获得不同的徽章。 这里是徽章列表和您可以赚取它们的某些方式。
655
655
  title: 徽章
656
- invitations:
657
- conditions:
658
- - 使用您用户页面上的“邀请好友”链接来邀请您的朋友
659
- - 自定义,如果您想要,您正在发送的消息
660
- - 您将通过发送邀请和注册来提高等级。
661
- description: 当您已经邀请了一些人并且他们花了一些时间在 %{organization_name} 注册并成为参与者时,这个徽章将被授予。 感谢您向其他人宣传了 %{organization_name} 并帮助扩展社区!
662
- description_another: 此参与者已邀请了 %{score} 人。
663
- description_own: 您已邀请了 %{score} 人。
664
- name: 邀请
665
- next_level_in: 邀请更多 %{score} 人到达下一个关卡!
666
- unearned_another: 此参与者尚未邀请任何人。
667
- unearned_own: 你还没有邀请任何人。
668
656
  description: 徽章是对参与者行动和平台进展的承认。 当您开始发现、参与和互动平台时,您将获得不同的徽章。
669
657
  level: 等级 %{level}
670
658
  reached_top: 你已经达到了这个徽章的顶级了。
@@ -1393,7 +1381,6 @@ zh-CN:
1393
1381
  other: '处理您的请求时发生多个错误:'
1394
1382
  too_many_marks: 正在使用太多连续标点符号(例如! 和 ?)
1395
1383
  too_much_caps: 正在使用太多大写字母(超过25%文本)
1396
- too_short: 太短(低于15个字符)
1397
1384
  forms:
1398
1385
  correct_errors: 表单上有错误,请更正以继续。
1399
1386
  required: 必填字段
@@ -16,7 +16,7 @@ module Decidim
16
16
 
17
17
  Date.strptime(value, I18n.t("date.formats.decidim_short"))
18
18
  rescue ArgumentError
19
- nil
19
+ super
20
20
  end
21
21
  end
22
22
  end
@@ -4,7 +4,7 @@ module Decidim
4
4
  module Attributes
5
5
  # Custom attributes value to parse a String representing a Time using
6
6
  # the app TimeZone.
7
- class TimeWithZone < ActiveModel::Type::Time
7
+ class TimeWithZone < ActiveModel::Type::DateTime
8
8
  def type
9
9
  :"decidim/attributes/time_with_zone"
10
10
  end
@@ -16,7 +16,10 @@ module Decidim
16
16
 
17
17
  Time.zone.strptime(value, I18n.t("time.formats.decidim_short"))
18
18
  rescue ArgumentError
19
- nil
19
+ fallback = super
20
+ return fallback unless fallback.is_a?(Time)
21
+
22
+ ActiveSupport::TimeWithZone.new(fallback, Time.zone)
20
23
  end
21
24
  end
22
25
  end
@@ -253,6 +253,13 @@ module Decidim
253
253
  end
254
254
  end
255
255
 
256
+ initializer "decidim.validators" do
257
+ config.to_prepare do
258
+ # Decidim overrides to the file content type validator
259
+ require "file_content_type_validator"
260
+ end
261
+ end
262
+
256
263
  initializer "decidim.content_processors" do |_app|
257
264
  Decidim.configure do |config|
258
265
  config.content_processors += [:user, :user_group, :hashtag, :link]
@@ -542,11 +549,6 @@ module Decidim
542
549
  end
543
550
 
544
551
  initializer "decidim.core.add_badges" do
545
- Decidim::Gamification.register_badge(:invitations) do |badge|
546
- badge.levels = [1, 5, 10, 30, 50]
547
- badge.reset = ->(user) { Decidim::User.where(invited_by: user.id).count }
548
- end
549
-
550
552
  Decidim::Gamification.register_badge(:followers) do |badge|
551
553
  badge.levels = [1, 15, 30, 60, 100]
552
554
  badge.reset = ->(user) { user.followers.count }
@@ -761,7 +761,7 @@ shared_examples "comments" do
761
761
 
762
762
  it "replaces the mention with a link to the user's profile" do
763
763
  expect(page).to have_comment_from(user, "A valid user mention: @#{mentioned_user.nickname}", wait: 20)
764
- expect(page).to have_link "@#{mentioned_user.nickname}", href: "http://#{mentioned_user.organization.host}/profiles/#{mentioned_user.nickname}"
764
+ expect(page).to have_link "@#{mentioned_user.nickname}", href: "http://#{mentioned_user.organization.host}:#{Capybara.server_port}/profiles/#{mentioned_user.nickname}"
765
765
  end
766
766
  end
767
767
 
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ shared_examples_for "has embedded video in description" do |description_attribute_name|
4
+ let(description_attribute_name) { { en: %(Description <iframe class="ql-video" allowfullscreen="true" src="#{iframe_src}" frameborder="0"></iframe>) } }
5
+ let(:iframe_src) { "http://www.example.org" }
6
+
7
+ context "when cookies are rejected" do
8
+ before do
9
+ click_link "Cookie settings"
10
+ click_button "Accept only essential"
11
+ end
12
+
13
+ it "disables iframe" do
14
+ expect(page).to have_content("You need to enable all cookies in order to see this content")
15
+ expect(page).not_to have_selector("iframe")
16
+ end
17
+ end
18
+
19
+ context "when cookies are accepted" do
20
+ before do
21
+ click_link "Cookie settings"
22
+ click_button "Accept all"
23
+ end
24
+
25
+ it "shows iframe" do
26
+ expect(page).not_to have_content("You need to enable all cookies in order to see this content")
27
+ expect(page).to have_selector("iframe", count: 1)
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "spec_helper"
4
+
5
+ shared_examples_for "m-cell" do |model_name|
6
+ context "with decorated title" do
7
+ let(:cell_model) { send(model_name) }
8
+
9
+ before do
10
+ cell_model.update!(title: { en: "Model <strong>decorated title</strong>" })
11
+ end
12
+
13
+ it "renders the escaped title correctly" do
14
+ expect(cell_html.to_s).to include("Model &lt;strong&gt;decorated title&lt;/strong&gt;")
15
+ end
16
+ end
17
+ end
@@ -4,6 +4,7 @@ require "decidim/core/test/shared_examples/acts_as_author_examples"
4
4
  require "decidim/core/test/shared_examples/admin_log_presenter_examples"
5
5
  require "decidim/core/test/shared_examples/authorable"
6
6
  require "decidim/core/test/shared_examples/coauthorable"
7
+ require "decidim/core/test/shared_examples/editor_shared_examples"
7
8
  require "decidim/core/test/shared_examples/endorsable"
8
9
  require "decidim/core/test/shared_examples/publicable"
9
10
  require "decidim/core/test/shared_examples/localised_email"
@@ -73,3 +74,4 @@ require "decidim/core/test/shared_examples/translated_event_examples"
73
74
  require "decidim/core/test/shared_examples/conversations_examples"
74
75
  require "decidim/core/test/shared_examples/resource_endorsed_event_examples"
75
76
  require "decidim/core/test/shared_examples/versions_controller_examples"
77
+ require "decidim/core/test/shared_examples/mcell_examples"
@@ -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.27.0"
7
+ "0.27.1"
8
8
  end
9
9
  end
10
10
  end
@@ -49,7 +49,7 @@ module Decidim
49
49
  if (extensions = extension_allowlist)
50
50
  messages << I18n.t(
51
51
  "allowed_file_extensions",
52
- extensions: extensions.join(" "),
52
+ extensions: extensions.sort.join(" "),
53
53
  scope: "decidim.forms.file_validation"
54
54
  )
55
55
  end