decidim-core 0.26.3 → 0.26.4

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 (69) 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/devise/registrations_controller.rb +4 -0
  6. data/app/forms/decidim/account_form.rb +3 -3
  7. data/app/forms/decidim/amendable/form.rb +2 -1
  8. data/app/forms/decidim/registration_form.rb +3 -3
  9. data/app/mailers/decidim/notification_mailer.rb +1 -0
  10. data/app/packs/src/decidim/editor/clipboard_override.js +143 -0
  11. data/app/packs/src/decidim/editor/clipboard_utilities.js +119 -0
  12. data/app/packs/src/decidim/editor/linebreak_module.js +0 -8
  13. data/app/packs/src/decidim/editor.js +9 -2
  14. data/app/presenters/decidim/home_stats_presenter.rb +11 -4
  15. data/app/presenters/decidim/stats_presenter.rb +7 -8
  16. data/app/presenters/decidim/user_presenter.rb +9 -4
  17. data/app/services/decidim/activity_search.rb +1 -0
  18. data/app/validators/etiquette_validator.rb +7 -3
  19. data/app/views/decidim/notification_mailer/event_received.html.erb +1 -1
  20. data/config/locales/ar.yml +0 -22
  21. data/config/locales/bg.yml +0 -22
  22. data/config/locales/ca.yml +2 -22
  23. data/config/locales/cs.yml +3 -23
  24. data/config/locales/de.yml +0 -22
  25. data/config/locales/el.yml +0 -22
  26. data/config/locales/en.yml +2 -22
  27. data/config/locales/es-MX.yml +2 -22
  28. data/config/locales/es-PY.yml +2 -22
  29. data/config/locales/es.yml +6 -26
  30. data/config/locales/eu.yml +1 -22
  31. data/config/locales/fi-plain.yml +2 -22
  32. data/config/locales/fi.yml +2 -22
  33. data/config/locales/fr-CA.yml +2 -22
  34. data/config/locales/fr.yml +2 -22
  35. data/config/locales/ga-IE.yml +0 -4
  36. data/config/locales/gl.yml +0 -22
  37. data/config/locales/gn-PY.yml +1 -0
  38. data/config/locales/hu.yml +0 -22
  39. data/config/locales/id-ID.yml +0 -22
  40. data/config/locales/it.yml +0 -22
  41. data/config/locales/ja.yml +2 -22
  42. data/config/locales/lb.yml +0 -22
  43. data/config/locales/lo-LA.yml +1 -0
  44. data/config/locales/lt.yml +0 -22
  45. data/config/locales/lv.yml +0 -22
  46. data/config/locales/nl.yml +0 -22
  47. data/config/locales/no.yml +0 -22
  48. data/config/locales/pl.yml +0 -22
  49. data/config/locales/pt-BR.yml +0 -22
  50. data/config/locales/pt.yml +0 -22
  51. data/config/locales/ro-RO.yml +0 -22
  52. data/config/locales/ru.yml +0 -4
  53. data/config/locales/sk.yml +0 -22
  54. data/config/locales/sv.yml +0 -22
  55. data/config/locales/tr-TR.yml +0 -22
  56. data/config/locales/zh-CN.yml +0 -22
  57. data/config/routes.rb +20 -2
  58. data/lib/decidim/attributes/localized_date.rb +9 -1
  59. data/lib/decidim/attributes/time_with_zone.rb +13 -1
  60. data/lib/decidim/core/engine.rb +0 -5
  61. data/lib/decidim/core/test/shared_examples/mcell_examples.rb +17 -0
  62. data/lib/decidim/core/test.rb +1 -0
  63. data/lib/decidim/core/version.rb +1 -1
  64. data/lib/decidim/form_builder.rb +8 -1
  65. data/lib/decidim/resourceable.rb +5 -4
  66. data/lib/decidim/settings_manifest.rb +1 -1
  67. metadata +11 -8
  68. data/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_invitations.svg +0 -1
  69. data/app/views/decidim/devise/registrations/edit.html.erb +0 -41
@@ -744,18 +744,6 @@ pt-BR:
744
744
  how: Como você pode ganhar
745
745
  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.
746
746
  title: Distintivos
747
- invitations:
748
- conditions:
749
- - Use o link "convidar amigos" na sua página de usuário para convidar seus amigos
750
- - Personalize, se quiser, a mensagem que você está enviando
751
- - Você vai subir de nível enviando convites e recebendo-os registrados.
752
- 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!
753
- description_another: Este usuário convidou %{score} usuários.
754
- description_own: Você convidou %{score} usuários.
755
- name: Convites
756
- next_level_in: Convide mais %{score} usuários para alcançar o próximo nível!
757
- unearned_another: Este usuário ainda não convidou nenhum usuário.
758
- unearned_own: Você não convidou nenhum usuário ainda.
759
747
  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.
760
748
  level: Nível %{level}
761
749
  reached_top: Você atingiu o nível superior para este selo.
@@ -1490,15 +1478,6 @@ pt-BR:
1490
1478
  updated_not_active: Sua senha foi alterada com sucesso.
1491
1479
  registrations:
1492
1480
  destroyed: Tchau! Sua conta foi cancelada com sucesso. Esperamos te ver novamente em breve.
1493
- edit:
1494
- are_you_sure: Você tem certeza?
1495
- cancel_my_account: Cancelar minha conta
1496
- currently_waiting_confirmation_for_email: 'Atualmente aguardando confirmação para: %{email}'
1497
- leave_blank_if_you_don_t_want_to_change_it: deixe em branco se você não quiser mudá-lo
1498
- title: Editar %{resource}
1499
- unhappy: Infeliz?
1500
- update: Atualizar
1501
- we_need_your_current_password_to_confirm_your_changes: Precisamos da sua senha atual para confirmar suas alterações
1502
1481
  new:
1503
1482
  sign_up: inscrever-se
1504
1483
  signed_up: Bem vinda! Você se inscreveu com sucesso.
@@ -1553,7 +1532,6 @@ pt-BR:
1553
1532
  other: 'Houve erros múltiplos ao processar sua solicitação:'
1554
1533
  too_many_marks: está usando muitos sinais de pontuação consecutivos (por exemplo,! e?)
1555
1534
  too_much_caps: está usando muitas letras maiúsculas (mais de 25% do texto)
1556
- too_short: é muito curto (menos de 15 caracteres)
1557
1535
  forms:
1558
1536
  correct_errors: Há erros no formulário, por favor corrija-os para continuar.
1559
1537
  length_validator:
@@ -744,18 +744,6 @@ pt:
744
744
  how: Como pode ganhar
745
745
  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.
746
746
  title: Distintivos
747
- invitations:
748
- conditions:
749
- - Use a hiperligação "convidar amigos" na sua página de utilizador para convidar os seus amigos
750
- - Personalize, se quiser, a mensagem que está a enviar
751
- - Subirá de nível ao enviar convites e obtendo registos.
752
- 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!
753
- description_another: Este participante convidou %{score} utilizadores.
754
- description_own: Convidou %{score} utilizadores.
755
- name: Convites
756
- next_level_in: Convide mais %{score} utilizadores para alcançar o próximo nível!
757
- unearned_another: Este participante ainda não convidou alguém.
758
- unearned_own: Ainda não convidou alguém.
759
747
  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.
760
748
  level: Nível %{level}
761
749
  reached_top: Atingiu o nível superior para este distintivo.
@@ -1490,15 +1478,6 @@ pt:
1490
1478
  updated_not_active: A sua palavra-passe foi modificada corretamente.
1491
1479
  registrations:
1492
1480
  destroyed: A sua conta foi cancelada corretamente. Esperamos vê-lo(a) novamente em breve.
1493
- edit:
1494
- are_you_sure: Tem a certeza?
1495
- cancel_my_account: Cancelar a minha conta
1496
- currently_waiting_confirmation_for_email: 'Atualmente à espera de confirmação para: %{email}'
1497
- leave_blank_if_you_don_t_want_to_change_it: deixe em branco se não quiser modificá-lo
1498
- title: Editar %{resource}
1499
- unhappy: Infeliz?
1500
- update: Atualizar
1501
- we_need_your_current_password_to_confirm_your_changes: precisamos da sua palavra-passe atual para confirmar as suas alterações
1502
1481
  new:
1503
1482
  sign_up: Inscrever-se
1504
1483
  signed_up: Bem-vindo(a)! Inscreveu-se corretamente.
@@ -1553,7 +1532,6 @@ pt:
1553
1532
  other: 'Ocorreram diversos erros ao processar o seu pedido:'
1554
1533
  too_many_marks: está a usar muitos sinais de pontuação consecutivos (por exemplo, ! e ?)
1555
1534
  too_much_caps: está a usar muitas letras maiúsculas (acima de 25% do texto)
1556
- too_short: é muito curto (abaixo de 15 caracteres)
1557
1535
  forms:
1558
1536
  correct_errors: Existem erros no formulário, por favor corrija-os para continuar.
1559
1537
  length_validator:
@@ -770,18 +770,6 @@ ro:
770
770
  how: Cum poți să o câștigi
771
771
  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.
772
772
  title: Insigne
773
- invitations:
774
- conditions:
775
- - Folosește link-ul "invită prieteni" de pe pagina ta de utilizator pentru a-ți invita prietenii
776
- - Personalizează, dacă dorești, mesajul pe care îl trimiți
777
- - Vei crește în nivel trimițând invitații și primindu-le înregistrate.
778
- 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!
779
- description_another: Acest participant a invitat %{score} persoane.
780
- description_own: Ai invitat %{score} persoane.
781
- name: Invitații
782
- next_level_in: Invită încă %{score} persoane să ajungă la următorul nivel!
783
- unearned_another: Acest participant nu a invitat încă pe nimeni.
784
- unearned_own: Nu ai invitat încă pe nimeni.
785
773
  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.
786
774
  level: Nivelul %{level}
787
775
  reached_top: Ai atins nivelul maxim pentru această insignă.
@@ -1526,15 +1514,6 @@ ro:
1526
1514
  updated_not_active: Parola dvs. a fost schimbată cu succes.
1527
1515
  registrations:
1528
1516
  destroyed: Contul tău a fost anulat cu succes. Sperăm să te revedem în curând.
1529
- edit:
1530
- are_you_sure: Sigur dorești asta?
1531
- cancel_my_account: Anulează contul meu
1532
- currently_waiting_confirmation_for_email: 'În prezent se așteaptă confirmarea pentru: %{email}'
1533
- leave_blank_if_you_don_t_want_to_change_it: lasă necompletat dacă nu vrei să-l schimbi
1534
- title: Editează %{resource}
1535
- unhappy: Nefericit?
1536
- update: Actualizare
1537
- we_need_your_current_password_to_confirm_your_changes: avem nevoie de parola curentă pentru a confirma modificările
1538
1517
  new:
1539
1518
  sign_up: Înscrie-te
1540
1519
  signed_up: Bine ați venit! V-ați înregistrat cu succes.
@@ -1591,7 +1570,6 @@ ro:
1591
1570
  other: 'Au existat mai multe erori la procesarea cererii dvs.:'
1592
1571
  too_many_marks: folosește prea multe semne consecutive de punctuație (de ex. ! și ?)
1593
1572
  too_much_caps: utilizează prea multe majuscule (peste 25% din text)
1594
- too_short: este prea scurt (sub 15 caractere)
1595
1573
  forms:
1596
1574
  correct_errors: Există erori în formular, vă rugăm să le corectaţi pentru a continua.
1597
1575
  length_validator:
@@ -431,8 +431,6 @@ ru:
431
431
  index:
432
432
  how: Как вы можете его получить
433
433
  title: Значки
434
- invitations:
435
- name: Приглашения
436
434
  level: Уровень %{level}
437
435
  group_admins:
438
436
  actions:
@@ -760,8 +758,6 @@ ru:
760
758
  edit:
761
759
  new_password: Пароль
762
760
  registrations:
763
- edit:
764
- are_you_sure: Вы уверены?
765
761
  new:
766
762
  sign_up: Зарегистрироваться
767
763
  signed_up: Добро пожаловать! Вы успешно зарегистрировались.
@@ -654,18 +654,6 @@ sk:
654
654
  how: Ako ho môžete získať
655
655
  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ť.
656
656
  title: Odznaky
657
- invitations:
658
- conditions:
659
- - Použite odkaz "pozvať priateľov" na Vašej osobnej stránke pre pozvanie priateľov.
660
- - Upravte, ak chcete, správu, ktorú posielate.
661
- - Na ďalšiu úroveň sa dostanete rozosielaním a prijatím pozvánok.
662
- 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!
663
- description_another: Tento účastník pozval %{score} ľudí.
664
- description_own: Pozvali ste %{score} ľudí.
665
- name: Pozvánky
666
- next_level_in: Pozvite o %{score} ľudí viac pre dosiahnutie ďalšej úrovne!
667
- unearned_another: Tento účastník zatiaľ nikoho nepozval.
668
- unearned_own: Zatial ste nikoho nepozvali.
669
657
  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.
670
658
  level: Úroveň%{level}
671
659
  reached_top: Dosiahli ste najvyššej úrovne tohto odznaku.
@@ -1216,15 +1204,6 @@ sk:
1216
1204
  updated_not_active: Vaše heslo bolo úspešne zmenené.
1217
1205
  registrations:
1218
1206
  destroyed: Zbohom! Váš účet bol úspešne zrušený. Dúfame, že vás čoskoro uvidíme.
1219
- edit:
1220
- are_you_sure: Ste si istí?
1221
- cancel_my_account: Zrušiť môj účet
1222
- currently_waiting_confirmation_for_email: 'Aktuálne čaká potvrdenie o:%{email}'
1223
- leave_blank_if_you_don_t_want_to_change_it: ponechajte prázdne, ak nechcete zmeniť
1224
- title: Upraviť%{resource}
1225
- unhappy: Nespokojný?
1226
- update: Aktualizácia
1227
- we_need_your_current_password_to_confirm_your_changes: pre potvrdenie zmien potrebujeme vaše aktuálne heslo
1228
1207
  new:
1229
1208
  sign_up: Prihlásiť sa
1230
1209
  signed_up: Vitajte! Úspešne ste sa zaregistrovali.
@@ -1283,7 +1262,6 @@ sk:
1283
1262
  other: 'Pri spracovaní vašej požiadavky došlo k nejakým chybám:'
1284
1263
  too_many_marks: používa príliš veľa po sebe idúcich interpunkčných znamienok (napr.! a?)
1285
1264
  too_much_caps: používa príliš veľa veľkých písmen (viac ako 25% textu)
1286
- too_short: je príliš krátka (pod 15 znakov)
1287
1265
  forms:
1288
1266
  required: Povinný
1289
1267
  invisible_captcha:
@@ -782,18 +782,6 @@ sv:
782
782
  how: Hur kan du få det
783
783
  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.
784
784
  title: Märken
785
- invitations:
786
- conditions:
787
- - Bjud in dina vänner med länken "bjud in vänner" på din användarsida
788
- - Om du vill kan du anpassa meddelandet som du skickar
789
- - Nå nästa nivå genom att skicka inbjudningar till andra och få dem att registrera sig.
790
- 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!
791
- description_another: Den här deltagaren har bjudit in %{score} personer.
792
- description_own: Du har bjudit in %{score} personer.
793
- name: Inbjudningar
794
- next_level_in: Nå nästa nivå genom att bjuda in %{score} personer till!
795
- unearned_another: Denna deltagare har inte bjudit in någon användare än.
796
- unearned_own: Du har inte ännu bjudit in någon annan.
797
785
  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.
798
786
  level: Nivå %{level}
799
787
  reached_top: Du har nått den högsta nivån för detta märke.
@@ -1537,15 +1525,6 @@ sv:
1537
1525
  updated_not_active: Ditt lösenord har ändrats.
1538
1526
  registrations:
1539
1527
  destroyed: Ditt konto har avregistrerats. Vi hoppas att vi ses snart igen.
1540
- edit:
1541
- are_you_sure: Är du säker?
1542
- cancel_my_account: Avregistrera mitt konto
1543
- currently_waiting_confirmation_for_email: 'Väntar för närvarande på bekräftelse från: %{email}'
1544
- leave_blank_if_you_don_t_want_to_change_it: lämna tomt om du inte vill ändra det
1545
- title: Redigera %{resource}
1546
- unhappy: Olycklig?
1547
- update: Uppdatera
1548
- we_need_your_current_password_to_confirm_your_changes: Vi behöver ditt nuvarande lösenord för att bekräfta ändringarna
1549
1528
  new:
1550
1529
  sign_up: Registrera
1551
1530
  signed_up: Välkommen! Din registrering är klar.
@@ -1600,7 +1579,6 @@ sv:
1600
1579
  other: 'Det finns flera fel i din begäran:'
1601
1580
  too_many_marks: använder för många på varandra följande skiljetecken (t.ex. ! och ?)
1602
1581
  too_much_caps: använder för många stora bokstäver (över 25% av texten)
1603
- too_short: är för kort (under 15 tecken)
1604
1582
  forms:
1605
1583
  correct_errors: Det finns fel på formuläret, vänligen korrigera dem för att fortsätta.
1606
1584
  length_validator:
@@ -729,18 +729,6 @@ tr:
729
729
  how: Nasıl kazanabilirsin
730
730
  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ı.
731
731
  title: Rozetler
732
- invitations:
733
- conditions:
734
- - Arkadaşlarınızı davet etmek için kullanıcı sayfanızdaki “arkadaşlarını davet et” bağlantısını kullanın.
735
- - İsterseniz, göndermek istediğiniz mesajı özelleştirin
736
- - Davetiyeler göndererek ve onları kayıt altına alarak seviye atlayacaksınız.
737
- 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ı!
738
- description_another: Bu kullanıcı %{score} kullanıcı davet etti.
739
- description_own: '%{score} kullanıcıyı davet ettiniz.'
740
- name: Davetiyeler
741
- next_level_in: Bir sonraki seviyeye ulaşmak için %{score} kullanıcı daha davet edin!
742
- unearned_another: Bu kullanıcı henüz bir kullanıcıyı davet etmedi.
743
- unearned_own: Henüz hiç kullanıcı davet etmediniz.
744
732
  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.
745
733
  level: Seviye %{level}
746
734
  reached_top: Bu rozetin en üst seviyesine ulaştınız.
@@ -1446,15 +1434,6 @@ tr:
1446
1434
  updated_not_active: Şifreniz başarıyla değiştirildi.
1447
1435
  registrations:
1448
1436
  destroyed: Hoşçakal! Hesabınız başarıyla iptal edildi. Kısa süre sonra tekrar görmeyi umuyoruz.
1449
- edit:
1450
- are_you_sure: Emin misiniz?
1451
- cancel_my_account: Hesabımı iptal et
1452
- currently_waiting_confirmation_for_email: 'Şu an için bekleme onayı: %{email}'
1453
- leave_blank_if_you_don_t_want_to_change_it: değiştirmek istemiyorsanız boş bırakın
1454
- title: '%{resource}düzenle'
1455
- unhappy: Mutsuz?
1456
- update: Güncelleştirme
1457
- we_need_your_current_password_to_confirm_your_changes: değişikliklerinizi onaylamak için mevcut şifrenize ihtiyacımız var
1458
1437
  new:
1459
1438
  sign_up: kaydol
1460
1439
  signed_up: Hoşgeldiniz! Başarıyla kaydoldunuz.
@@ -1509,7 +1488,6 @@ tr:
1509
1488
  other: 'İsteğinizi işlerken birden çok hata oluştu:'
1510
1489
  too_many_marks: çok fazla ardışık noktalama işareti kullanıyor (örneğin! ve?)
1511
1490
  too_much_caps: çok fazla büyük harf kullanıyor (metnin% 25'inden fazlası)
1512
- too_short: çok kısa (15 karakterin altında)
1513
1491
  forms:
1514
1492
  correct_errors: Aşağıdaki formda hatalar oluştu, Devam etmek için lütfen bunları düzeltin.
1515
1493
  required: gereklidir
@@ -656,18 +656,6 @@ zh-CN:
656
656
  how: 你如何赚钱
657
657
  page_description: 徽章是对参与者行动和平台进展的承认。 当您开始发现、参与和互动平台时,您将获得不同的徽章。 这里是徽章列表和您可以赚取它们的某些方式。
658
658
  title: 徽章
659
- invitations:
660
- conditions:
661
- - 使用您用户页面上的“邀请好友”链接来邀请您的朋友
662
- - 自定义,如果您想要,您正在发送的消息
663
- - 您将通过发送邀请和注册来提高等级。
664
- description: 当您已经邀请了一些人并且他们花了一些时间在 %{organization_name} 注册并成为参与者时,这个徽章将被授予。 感谢您向其他人宣传了 %{organization_name} 并帮助扩展社区!
665
- description_another: 此参与者已邀请了 %{score} 人。
666
- description_own: 您已邀请了 %{score} 人。
667
- name: 邀请
668
- next_level_in: 邀请更多 %{score} 人到达下一个关卡!
669
- unearned_another: 此参与者尚未邀请任何人。
670
- unearned_own: 你还没有邀请任何人。
671
659
  description: 徽章是对参与者行动和平台进展的承认。 当您开始发现、参与和互动平台时,您将获得不同的徽章。
672
660
  level: 等级 %{level}
673
661
  reached_top: 你已经达到了这个徽章的顶级了。
@@ -1350,15 +1338,6 @@ zh-CN:
1350
1338
  updated_not_active: 您的密码已成功更改。
1351
1339
  registrations:
1352
1340
  destroyed: 您的帐户已成功取消。我们希望很快再见到您。
1353
- edit:
1354
- are_you_sure: 您确定吗?
1355
- cancel_my_account: 取消我的帐户
1356
- currently_waiting_confirmation_for_email: '正在等待确认: %{email}'
1357
- leave_blank_if_you_don_t_want_to_change_it: 如果您不想更改它,请留空
1358
- title: 编辑 %{resource}
1359
- unhappy: 不愉快?
1360
- update: 更新
1361
- we_need_your_current_password_to_confirm_your_changes: 我们需要您当前的密码来确认您的更改
1362
1341
  new:
1363
1342
  sign_up: 注册
1364
1343
  signed_up: 欢迎!您已成功注册。
@@ -1411,7 +1390,6 @@ zh-CN:
1411
1390
  other: '处理您的请求时发生多个错误:'
1412
1391
  too_many_marks: 正在使用太多连续标点符号(例如! 和 ?)
1413
1392
  too_much_caps: 正在使用太多大写字母(超过25%文本)
1414
- too_short: 太短(低于15个字符)
1415
1393
  forms:
1416
1394
  correct_errors: 表单上有错误,请更正以继续。
1417
1395
  required: 必填字段
data/config/routes.rb CHANGED
@@ -11,11 +11,29 @@ Decidim::Core::Engine.routes.draw do
11
11
  invitations: "decidim/devise/invitations",
12
12
  sessions: "decidim/devise/sessions",
13
13
  confirmations: "decidim/devise/confirmations",
14
- registrations: "decidim/devise/registrations",
15
14
  passwords: "decidim/devise/passwords",
16
15
  unlocks: "decidim/devise/unlocks",
17
16
  omniauth_callbacks: "decidim/devise/omniauth_registrations"
18
- }
17
+ },
18
+ skip: [:registrations]
19
+
20
+ # Manually define the registration routes because otherwise the default "edit"
21
+ # route would be exposed through Devise while we already have the edit and
22
+ # destroy routes available through the account pages.
23
+ resource(
24
+ :registration,
25
+ only: [:new, :create],
26
+ as: :user_registration,
27
+ path: "/users",
28
+ path_names: { new: "sign_up" },
29
+ controller: "devise/registrations"
30
+ ) do
31
+ # The "cancel" route forces the session data which is usually expired after
32
+ # sign in to be expired now. This is useful if the user wants to cancel
33
+ # OAuth signing in/up in the middle of the process, removing all OAuth
34
+ # session data. @see [Devise::RegistrationsController#cancel]
35
+ get :cancel
36
+ end
19
37
 
20
38
  devise_for :user_groups,
21
39
  class_name: "Decidim::UserGroup",
@@ -10,12 +10,20 @@ module Decidim
10
10
 
11
11
  Date.strptime(value, I18n.t("date.formats.decidim_short"))
12
12
  rescue ArgumentError
13
- nil
13
+ coerce_fallback(value)
14
14
  end
15
15
 
16
16
  def type
17
17
  Axiom::Types::Date
18
18
  end
19
+
20
+ private
21
+
22
+ def coerce_fallback(value)
23
+ coercer.coercers[DateTime].public_send(type.coercion_method, value)
24
+ rescue Date::Error
25
+ nil
26
+ end
19
27
  end
20
28
  end
21
29
  end
@@ -10,12 +10,24 @@ module Decidim
10
10
 
11
11
  Time.zone.strptime(value, I18n.t("time.formats.decidim_short"))
12
12
  rescue ArgumentError
13
- nil
13
+ coerce_fallback(value)
14
14
  end
15
15
 
16
16
  def type
17
17
  Axiom::Types::Time
18
18
  end
19
+
20
+ private
21
+
22
+ def coerce_fallback(value)
23
+ fallback = coercer.coercers[Time].public_send(type.coercion_method, value)
24
+ return Time.zone.strptime(fallback.split(".").first, "%FT%R:%S") if fallback.is_a?(String)
25
+ return nil unless fallback.is_a?(Time)
26
+
27
+ ActiveSupport::TimeWithZone.new(fallback, Time.zone)
28
+ rescue ArgumentError, TypeError
29
+ nil
30
+ end
19
31
  end
20
32
  end
21
33
  end
@@ -531,11 +531,6 @@ module Decidim
531
531
  end
532
532
 
533
533
  initializer "decidim.core.add_badges" do
534
- Decidim::Gamification.register_badge(:invitations) do |badge|
535
- badge.levels = [1, 5, 10, 30, 50]
536
- badge.reset = ->(user) { Decidim::User.where(invited_by: user.id).count }
537
- end
538
-
539
534
  Decidim::Gamification.register_badge(:followers) do |badge|
540
535
  badge.levels = [1, 15, 30, 60, 100]
541
536
  badge.reset = ->(user) { user.followers.count }
@@ -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
@@ -73,3 +73,4 @@ require "decidim/core/test/shared_examples/translated_event_examples"
73
73
  require "decidim/core/test/shared_examples/conversations_examples"
74
74
  require "decidim/core/test/shared_examples/versions_controller_examples"
75
75
  require "decidim/core/test/shared_examples/resource_endorsed_event_examples"
76
+ 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.26.3"
7
+ "0.26.4"
8
8
  end
9
9
  end
10
10
  end
@@ -380,7 +380,14 @@ module Decidim
380
380
  def datetime_field(attribute, options = {})
381
381
  value = object.send(attribute)
382
382
  data = { datepicker: "", timepicker: "" }
383
- data[:startdate] = I18n.l(value, format: :decidim_short) if value.present? && value.is_a?(ActiveSupport::TimeWithZone)
383
+ if value.present?
384
+ case value
385
+ when ActiveSupport::TimeWithZone
386
+ data[:startdate] = I18n.l(value, format: :decidim_short)
387
+ when Time, DateTime
388
+ data[:startdate] = I18n.l(value.in_time_zone(Time.zone), format: :decidim_short)
389
+ end
390
+ end
384
391
  datepicker_format = ruby_format_to_datepicker(I18n.t("time.formats.decidim_short"))
385
392
  data[:"date-format"] = datepicker_format
386
393
 
@@ -25,8 +25,8 @@ module Decidim
25
25
  # link_name - The String name of the link between this model and the target resource.
26
26
  #
27
27
  # Returns an ActiveRecord::Relation.
28
- def linked_resources(resource_name, link_name)
29
- scope = sibling_scope(resource_name)
28
+ def linked_resources(resource_name, link_name, component_published: true)
29
+ scope = sibling_scope(resource_name, component_published: component_published)
30
30
 
31
31
  from = scope
32
32
  .joins(:resource_links_from)
@@ -45,14 +45,15 @@ module Decidim
45
45
  # resource_name - The String name of the resource manifest exposed by a component.
46
46
  #
47
47
  # Returns an ActiveRecord::Relation.
48
- def sibling_scope(resource_name)
48
+ def sibling_scope(resource_name, component_published: true)
49
49
  manifest = Decidim.find_resource_manifest(resource_name)
50
50
  return self.class.none unless manifest
51
51
 
52
52
  scope = manifest.resource_scope(component)
53
53
  scope = scope.where("#{self.class.table_name}.id != ?", id) if manifest.model_class == self.class
54
54
  scope = scope.not_hidden if manifest.model_class.respond_to?(:not_hidden)
55
- scope.includes(:component).where.not(decidim_components: { published_at: nil })
55
+ scope = scope.includes(:component).where.not(decidim_components: { published_at: nil }) if component_published
56
+ scope
56
57
  end
57
58
 
58
59
  # Links the given resources to this model, replaces any previous links with the same name.
@@ -97,7 +97,7 @@ module Decidim
97
97
  enum: { klass: String, default: nil },
98
98
  select: { klass: String, default: nil },
99
99
  scope: { klass: Integer, default: nil },
100
- time: { klass: Time, default: nil }
100
+ time: { klass: Decidim::Attributes::TimeWithZone, default: nil }
101
101
  }.freeze
102
102
 
103
103
  attribute :type, Symbol, default: :boolean
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.26.3
4
+ version: 0.26.4
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: 2022-09-29 00:00:00.000000000 Z
13
+ date: 2022-11-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: active_link_to
@@ -754,28 +754,28 @@ dependencies:
754
754
  requirements:
755
755
  - - '='
756
756
  - !ruby/object:Gem::Version
757
- version: 0.26.3
757
+ version: 0.26.4
758
758
  type: :runtime
759
759
  prerelease: false
760
760
  version_requirements: !ruby/object:Gem::Requirement
761
761
  requirements:
762
762
  - - '='
763
763
  - !ruby/object:Gem::Version
764
- version: 0.26.3
764
+ version: 0.26.4
765
765
  - !ruby/object:Gem::Dependency
766
766
  name: decidim-dev
767
767
  requirement: !ruby/object:Gem::Requirement
768
768
  requirements:
769
769
  - - '='
770
770
  - !ruby/object:Gem::Version
771
- version: 0.26.3
771
+ version: 0.26.4
772
772
  type: :development
773
773
  prerelease: false
774
774
  version_requirements: !ruby/object:Gem::Requirement
775
775
  requirements:
776
776
  - - '='
777
777
  - !ruby/object:Gem::Version
778
- version: 0.26.3
778
+ version: 0.26.4
779
779
  description: Adds core features so other engines can hook into the framework.
780
780
  email:
781
781
  - josepjaume@gmail.com
@@ -1350,7 +1350,6 @@ files:
1350
1350
  - app/packs/images/decidim/decidim-logo.svg
1351
1351
  - app/packs/images/decidim/default-avatar.svg
1352
1352
  - app/packs/images/decidim/gamification/badges/decidim_gamification_badges_followers.svg
1353
- - app/packs/images/decidim/gamification/badges/decidim_gamification_badges_invitations.svg
1354
1353
  - app/packs/images/decidim/icons.svg
1355
1354
  - app/packs/images/decidim/pattern.png
1356
1355
  - app/packs/images/decidim/placeholder.jpg
@@ -1400,6 +1399,8 @@ files:
1400
1399
  - app/packs/src/decidim/dropdowns_menus.js
1401
1400
  - app/packs/src/decidim/editor.js
1402
1401
  - app/packs/src/decidim/editor/attribute_diff.js
1402
+ - app/packs/src/decidim/editor/clipboard_override.js
1403
+ - app/packs/src/decidim/editor/clipboard_utilities.js
1403
1404
  - app/packs/src/decidim/editor/history_override.js
1404
1405
  - app/packs/src/decidim/editor/linebreak_module.js
1405
1406
  - app/packs/src/decidim/editor/modified_backspace_offset1.js
@@ -1773,7 +1774,6 @@ files:
1773
1774
  - app/views/decidim/devise/omniauth_registrations/new.html.erb
1774
1775
  - app/views/decidim/devise/passwords/edit.html.erb
1775
1776
  - app/views/decidim/devise/passwords/new.html.erb
1776
- - app/views/decidim/devise/registrations/edit.html.erb
1777
1777
  - app/views/decidim/devise/registrations/new.html.erb
1778
1778
  - app/views/decidim/devise/sessions/new.html.erb
1779
1779
  - app/views/decidim/devise/shared/_links.html.erb
@@ -1975,6 +1975,7 @@ files:
1975
1975
  - config/locales/fr.yml
1976
1976
  - config/locales/ga-IE.yml
1977
1977
  - config/locales/gl.yml
1978
+ - config/locales/gn-PY.yml
1978
1979
  - config/locales/hr-HR.yml
1979
1980
  - config/locales/hr.yml
1980
1981
  - config/locales/hu.yml
@@ -1987,6 +1988,7 @@ files:
1987
1988
  - config/locales/ko.yml
1988
1989
  - config/locales/lb-LU.yml
1989
1990
  - config/locales/lb.yml
1991
+ - config/locales/lo-LA.yml
1990
1992
  - config/locales/lt-LT.yml
1991
1993
  - config/locales/lt.yml
1992
1994
  - config/locales/lv.yml
@@ -2383,6 +2385,7 @@ files:
2383
2385
  - lib/decidim/core/test/shared_examples/logo_email.rb
2384
2386
  - lib/decidim/core/test/shared_examples/manage_component_share_tokens.rb
2385
2387
  - lib/decidim/core/test/shared_examples/map_examples.rb
2388
+ - lib/decidim/core/test/shared_examples/mcell_examples.rb
2386
2389
  - lib/decidim/core/test/shared_examples/metric_manage_shared_context.rb
2387
2390
  - lib/decidim/core/test/shared_examples/paginated_resource_examples.rb
2388
2391
  - lib/decidim/core/test/shared_examples/participatory_space_resourcable_interface_examples.rb
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="invitations-svg" width="1080" height="1080" x="0" y="0" enable-background="new 0 0 1080 1080" version="1.1" viewBox="0 0 1080 1080" xml:space="preserve"><g id="invitations" class="stroke-primary"><path id="_x35_0-pct" fill="#31536E" fill-opacity=".5" stroke="#31536E" stroke-miterlimit="10" stroke-width="16" d="M558.615,484.287c-1.795,13.101-13.868,22.268-26.971,20.475l-430.091-58.867c-13.102-1.793-22.269-13.867-20.476-26.969 l25.128-183.588c1.792-13.101,13.867-22.268,26.969-20.475l430.09,58.867c13.104,1.793,22.271,13.867,20.476,26.969 L558.615,484.287z" class="stroke-primary fill-primary"/><g id="llave-2"><polyline id="_x32_5-pct" fill="#31536E" fill-opacity=".25" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" points="725.15 608.29 795.92 631.312 811.343 619.35 951.072 799.492 994.668 765.676 854.939 585.534 870.773 573.253 865.453 489.109 785.277 463.028 710.425 521.088 710.771 526.581" class="stroke-primary fill-primary"/><line x1="822.037" x2="949.643" y1="611.055" y2="775.57" fill="none" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8"/><circle cx="851.312" cy="618.65" r="4.164" fill="none" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8"/><path fill="none" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" d="M883.329,641.242c1.41,1.818,1.08,4.435-0.739,5.844c-1.814,1.41-4.432,1.079-5.842-0.738c-1.409-1.815-1.078-4.433,0.738-5.844 C879.305,639.096,881.92,639.428,883.329,641.242z"/><ellipse cx="909.955" cy="690.856" fill="#31536E" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" rx="8.068" ry="8.328" transform="matrix(0.7902 -0.6129 0.6129 0.7902 -232.4812 702.6757)"/><ellipse cx="930.024" cy="717.028" fill="none" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" rx="2.706" ry="2.793" transform="matrix(0.79 -0.6131 0.6131 0.79 -244.3098 720.8308)"/><ellipse cx="959.021" cy="745.919" fill="none" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" rx="2.705" ry="2.793" transform="matrix(0.7901 -0.6129 0.6129 0.7901 -255.9333 744.3307)"/><path fill="#FFF" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" d="M748.271,530.445c-2.446-6.905,2.196-17.128,11.607-24.426c10.754-8.342,23.66-9.706,28.829-3.044 c5.165,6.66,0.633,18.822-10.12,27.163c-6.389,4.956-13.539,7.449-19.371,7.26"/></g><g id="llave-1"><path fill="#FFF" stroke="#31536E" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" d="M614.113,522.867 c-15.51,13.144-25.266,32.768-25.266,54.689c0,30.556,19.152,56.628,46.152,66.933v53.651l10.41,12.492L635,724.513v29.149 l10,13.186v12.491l5.41,12.492L635,805.713v43.375l24.959,20.82L687,849.088v-204.94c26-10.53,45.135-36.366,45.135-66.591 c0-39.575-32.113-71.656-71.688-71.656c-13.148,0-25.486,3.542-36.077,9.723"/><path fill="none" stroke="#31536E" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" d="M649.429,535.988 c3.556-2.918,8.105-4.671,13.064-4.671c11.378,0,20.603,9.225,20.603,20.604c0,2.6-0.48,5.087-1.359,7.377 c-2.968,7.735-10.465,13.226-19.243,13.226c-11.38,0-20.604-9.225-20.604-20.603c0-1.879,0.252-3.699,0.724-5.429"/><line x1="672" x2="672" y1="645" y2="838" fill="none" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8"/></g><path fill="none" stroke="#31536E" stroke-miterlimit="10" stroke-width="8" d="M590.754,433.03 c-21.271,0-38.517-17.245-38.517-38.517c0-21.272,17.245-38.517,38.517-38.517s38.518,17.245,38.518,38.517 c0,16.125-9.91,29.936-23.972,35.674"/><g><path fill="none" stroke="#31536E" stroke-miterlimit="10" stroke-width="8" d="M681.732,559.303 c-52.018-6.146-92.366-50.394-92.366-104.065c0-57.877,46.918-104.795,104.796-104.795c57.875,0,104.793,46.918,104.793,104.795 c0,4.064-0.23,8.074-0.68,12.018"/><path fill="none" stroke="#31536E" stroke-miterlimit="10" stroke-width="8" d="M682.455,546.806 c-45.45-5.752-80.598-44.555-80.598-91.568c0-50.978,41.325-92.304,92.305-92.304c50.977,0,92.302,41.326,92.302,92.304 c0,2.717-0.117,5.406-0.348,8.063"/></g><path fill="#FFF" stroke="#31536E" stroke-miterlimit="10" stroke-width="8" d="M517.327,448.165 c-1.794,13.101-13.868,22.268-26.969,20.475l-355.832-48.703c-13.101-1.793-22.268-13.868-20.476-26.969l16.799-122.736 c1.793-13.102,13.867-22.269,26.969-20.476l355.831,48.702c13.102,1.794,22.269,13.868,20.475,26.969L517.327,448.165z"/><g><path fill="#FFF" stroke="#31536E" stroke-linecap="round" stroke-linejoin="bevel" stroke-miterlimit="10" stroke-width="8" d="M788.189,501.559c-11.944,24.199-32.955,43.123-58.598,52.332l-6.449-10.99c22.528-7.444,41.213-23.33,52.313-43.91 L788.189,501.559z"/></g><g id="logo-decidim"><path fill="#FFF" d="M403.485,369.949c-35.105-4.969-59.938-37.072-55.925-72.299l-1.195-0.152 c-4.971,35.104-37.074,59.937-72.301,55.924l-0.153,1.196c35.135,4.73,59.968,36.834,55.924,72.301l1.196,0.152 c4.731-35.136,36.835-59.968,72.301-55.925L403.485,369.949z"/><path fill="#31536E" d="M403.485,369.949c4.013-35.227-20.819-67.33-55.925-72.299 C343.547,332.877,368.379,364.98,403.485,369.949z" class="fill-primary"/><path fill="#31536E" d="M403.332,371.146c-35.196-4.252-67.3,20.58-72.301,55.925 C366.259,431.084,398.362,406.251,403.332,371.146z" class="fill-primary"/><path fill="#31536E" d="M282.252,289.309l-8.189,64.113l0,0c35.197,4.252,67.301-20.581,72.301-55.924L282.252,289.309z" class="fill-primary"/><path fill="#31536E" d="M273.911,354.618L273.911,354.618l-8.188,64.112l64.111,8.189 C333.849,391.691,309.016,359.587,273.911,354.618z" class="fill-primary"/><path fill="#31536E" d="M273.911,354.618c-4.252,35.196,20.58,67.3,55.924,72.301 C333.849,391.691,309.016,359.587,273.911,354.618z" class="fill-primary"/><path fill="#31536E" d="M274.063,353.421c35.197,4.252,67.301-20.581,72.301-55.924 C310.897,293.453,278.794,318.285,274.063,353.421z" class="fill-primary"/></g><g id="stars-1" class="stars"><path fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4" d="M429,158.355C429,143.667,410.333,123,393.645,123C409,123,429,102.667,429,87.645C429,102.667,445.666,123,464.355,123 C445.333,123,429,143.667,429,158.355z"/><g><circle cx="860.382" cy="125.411" r="13.5" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="843.883" x2="822.67" y1="108.676" y2="87.463" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="877.824" x2="899.037" y1="142.617" y2="163.83" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="877.117" x2="898.33" y1="109.383" y2="88.17" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="843.883" x2="822.67" y1="142.617" y2="163.83" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/></g><g><line x1="798.612" x2="772.45" y1="927.094" y2="953.258" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="763.258" x2="737.095" y1="962.449" y2="988.613" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="797.905" x2="771.742" y1="988.613" y2="962.449" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="762.551" x2="736.388" y1="953.258" y2="927.094" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/></g><path fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4" d="M1028.592,902.609c0,0-21.566,4.035-26.516,8.983c-4.948,4.948-8.982,26.515-8.982,26.515s-4.035-21.566-8.984-26.515 c-4.948-4.948-26.514-8.983-26.514-8.983s22.077-4.546,26.514-8.983c4.438-4.438,8.984-26.515,8.984-26.515 s4.034,21.566,8.982,26.515C1007.025,898.574,1028.592,902.609,1028.592,902.609z"/><g><circle cx="188.501" cy="902.667" r="16.604" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><circle cx="152.6" cy="902.667" r="6.432" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><circle cx="188.501" cy="938.568" r="6.432" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><circle cx="224.402" cy="902.667" r="6.432" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><circle cx="188.501" cy="866.766" r="6.432" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/></g><g><line x1="358.746" x2="413.649" y1="617.973" y2="672.878" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="413.649" x2="358.746" y1="617.973" y2="672.878" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="368" x2="341" y1="645" y2="645" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="406" x2="433" y1="645" y2="645" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="387" x2="387" y1="664" y2="691" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="387" x2="387" y1="626" y2="599" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/></g><g><line x1="133" x2="133" y1="98" y2="177" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><line x1="172" x2="93" y1="138" y2="138" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><circle cx="113" cy="157.5" r="7.039" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><circle cx="113" cy="117.5" r="7.039" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><circle cx="153" cy="157.5" r="7.039" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/><circle cx="153" cy="117.5" r="7.039" fill="#FFD92B" stroke="#31536E" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="4"/></g></g></g></svg>