decidim-core 0.31.3 → 0.31.4
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.
- checksums.yaml +4 -4
- data/app/cells/decidim/nav_links/show.erb +3 -3
- data/app/cells/decidim/participatory_space_private_user/show.erb +6 -6
- data/app/cells/decidim/participatory_space_private_user_cell.rb +0 -4
- data/app/helpers/decidim/mailer_helper.rb +36 -0
- data/app/helpers/decidim/menu_helper.rb +2 -1
- data/app/helpers/decidim/newsletters_helper.rb +4 -22
- data/app/mailers/decidim/application_mailer.rb +4 -0
- data/app/packs/src/decidim/controllers/accordion/accordion.test.js +118 -0
- data/app/packs/src/decidim/controllers/accordion/controller.js +24 -0
- data/app/packs/src/decidim/controllers/dropdown/controller.js +26 -0
- data/app/packs/src/decidim/controllers/dropdown/dropdown.test.js +187 -0
- data/app/packs/src/decidim/controllers/form_validator/form_validator.js +3 -2
- data/app/packs/src/decidim/controllers/form_validator/form_validator.test.js +5 -0
- data/app/packs/src/decidim/editor/extensions/image/index.js +49 -11
- data/app/packs/src/decidim/editor/extensions/image/node_view.js +9 -1
- data/app/packs/src/decidim/editor/extensions/link/bubble_menu.js +34 -6
- data/app/packs/src/decidim/editor/extensions/link/index.js +45 -12
- data/app/packs/src/decidim/editor/test/extensions/image_links.test.js +161 -0
- data/app/packs/stylesheets/decidim/_rich_text.scss +17 -0
- data/app/packs/stylesheets/decidim/editor.scss +10 -0
- data/app/presenters/decidim/menu_item_presenter.rb +7 -1
- data/app/views/decidim/devise/registrations/new.html.erb +1 -0
- data/app/views/decidim/devise/shared/_tos_fields.html.erb +3 -3
- data/app/views/decidim/notification_mailer/event_received.html.erb +3 -3
- data/app/views/decidim/pages/_tabbed.html.erb +3 -3
- data/app/views/decidim/shared/_filters.html.erb +5 -5
- data/app/views/decidim/shared/filters/_check_boxes_tree.html.erb +1 -1
- data/app/views/decidim/shared/filters/_collection.html.erb +1 -1
- data/config/locales/de.yml +27 -0
- data/config/locales/eu.yml +3 -0
- data/config/locales/fi-plain.yml +5 -0
- data/config/locales/fi.yml +5 -0
- data/lib/decidim/content_parsers/blob_parser.rb +3 -3
- data/lib/decidim/content_renderers/blob_renderer.rb +2 -2
- data/lib/decidim/core/test/shared_examples/participatory_space_members_shared_examples.rb +121 -0
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/participatory_space_user.rb +1 -1
- metadata +11 -6
data/config/locales/de.yml
CHANGED
|
@@ -1055,6 +1055,8 @@ de:
|
|
|
1055
1055
|
explanation: 'Anleitung für Bild:'
|
|
1056
1056
|
message_1: Vorzugsweise ein Bild im Querformat, das keinen Text enthält.
|
|
1057
1057
|
message_2: Der Dienst schneidet die Datei zu.
|
|
1058
|
+
import_file:
|
|
1059
|
+
message_1: Muss ein JSON-Dokument sein, das über die Exportfunktion heruntergeladen wurde.
|
|
1058
1060
|
file_validation:
|
|
1059
1061
|
allowed_file_extensions: 'Erlaubte Dateiformate: %{extensions}'
|
|
1060
1062
|
max_file_dimension: 'Maximale Dateigröße: %{resolution} Pixel'
|
|
@@ -1290,9 +1292,13 @@ de:
|
|
|
1290
1292
|
same_language: Der Inhalt wurde in Ihrer bevorzugten Sprache (%{language}) veröffentlicht, daher wird in dieser E-Mail keine automatisierte Übersetzung angezeigt.
|
|
1291
1293
|
translated_text: 'Automatisch übersetzter Text:'
|
|
1292
1294
|
notifications:
|
|
1295
|
+
action_error: Beim Aktualisieren der Benachrichtigungseinstellungen ist ein Fehler aufgetreten.
|
|
1293
1296
|
no_notifications: Noch keine Benachrichtigungen
|
|
1294
1297
|
show:
|
|
1298
|
+
deleted: Inhalt wurde vom Autor gelöscht.
|
|
1295
1299
|
missing_event: Hoppla, diese Benachrichtigung gehört zu einem Artikel, der nicht mehr verfügbar ist. Du kannst sie verwerfen.
|
|
1300
|
+
moderated: Inhalt wurde durch Moderation versteckt.
|
|
1301
|
+
not_available: Hoppla, diese Benachrichtigung gehört zu einem Artikel, der nicht mehr verfügbar ist. Es ist keine weitere Aktion erforderlich.
|
|
1296
1302
|
notifications_digest_mailer:
|
|
1297
1303
|
header:
|
|
1298
1304
|
daily: Tägliche Zusammenfassung
|
|
@@ -1301,6 +1307,7 @@ de:
|
|
|
1301
1307
|
hello: Hallo %{name}
|
|
1302
1308
|
intro:
|
|
1303
1309
|
daily: 'Dies sind die Benachrichtigungen vom letzten Tag basierend auf den Aktivitäten, denen Sie folgen:'
|
|
1310
|
+
real_time: 'Es gibt eine Benachrichtigung über die Aktivität, die Sie folgen:'
|
|
1304
1311
|
weekly: 'Dies sind die Benachrichtigungen der letzten Woche, basierend auf den Aktivitäten, die Sie folgen:'
|
|
1305
1312
|
outro: Sie haben diese Benachrichtigung erhalten, weil Sie diesen Inhalt oder seine Verfassenden folgen. Sie können dem Inhalt direkt auf seiner Seite entfolgen.
|
|
1306
1313
|
see_more: Weitere Benachrichtigungen ansehen
|
|
@@ -1443,7 +1450,9 @@ de:
|
|
|
1443
1450
|
title: Wie man diese Dateien öffnet und mit ihnen arbeitet
|
|
1444
1451
|
license:
|
|
1445
1452
|
body_1_html: Diese Datenbank von %{organization_name} wird unter %{link_database} zur Verfügung gestellt. Alle Rechte an einzelnen Inhalten der Datenbank sind unter %{link_contents} lizenziert.
|
|
1453
|
+
license_contents_link: https://opendatacommons.org/licenses/dbcl/1.0/
|
|
1446
1454
|
license_contents_name: Lizenz für Datenbankinhalte
|
|
1455
|
+
license_database_link: https://opendatacommons.org/licenses/odbl/1.0/
|
|
1447
1456
|
license_database_name: Offene Datenbanklizenz
|
|
1448
1457
|
title: Lizenz
|
|
1449
1458
|
title: Offene Daten
|
|
@@ -1726,9 +1735,23 @@ de:
|
|
|
1726
1735
|
notify_deprecation_to_owner:
|
|
1727
1736
|
body_1: 'Wir möchten Sie gerne über ein wichtiges Update ihres Gruppenprofil informieren: %{organization_name}.'
|
|
1728
1737
|
body_2: Wir möchten die Erfahrungen von Organisationen vereinfachen und verbessern und werden deshalb die Funktion "Benutzergruppen" abschalten. Ihre Gruppe, <strong>%{name}</strong>, wurde in ein reguläres Konto umgewandelt.
|
|
1738
|
+
body_3: Um weiterhin auf Ihr Konto zuzugreifen und den Zugriff freizugeben, müssen Sie ein Passwort festlegen. Sobald gesetzt, können Sie die Anmeldedaten (E-Mail und Passwort) an jeden weitergeben.
|
|
1729
1739
|
greeting: Hallo %{name},
|
|
1740
|
+
instructions_1: 'Klicken Sie auf den Link unten, um Ihr Passwort zu setzen:'
|
|
1741
|
+
instructions_2: 'Teilen Sie die Anmeldedaten (E-Mail: %{email} und das neue Passwort) mit Ihren Kollegen.'
|
|
1742
|
+
instructions_title: "<strong>Was sie tun müssen</strong>"
|
|
1730
1743
|
set_password: Passwort festlegen
|
|
1731
1744
|
subject: Wichtige Aktualisierung für Ihr Gruppenprofil
|
|
1745
|
+
notify_user_group_patched:
|
|
1746
|
+
body_1_html: 'Wir möchten Sie gerne über ein wichtiges Update ihres Gruppenprofil informieren: %{organization_name}.'
|
|
1747
|
+
body_2_html: Wir möchten die Erfahrungen von Organisationen vereinfachen und verbessern und werden deshalb die Funktion "Benutzergruppen" abschalten. Ihre Gruppe, <strong>%{name}</strong>, wurde in ein reguläres Konto umgewandelt.
|
|
1748
|
+
body_3_html: Um weiterhin auf Ihr Konto zuzugreifen und den Zugriff freizugeben, müssen Sie eine neue E-Mail und ein neues Passwort setzen. Bitte beachten Sie, dass jedes Mitglied deiner Gruppe diese E-Mail erhält. Um den weiteren Zugriff sicherzustellen, müssen Sie sich intern auf die gemeinsamen Zugangsdaten (E-Mail und Passwort) einigen, die jeder verwenden wird.
|
|
1749
|
+
greeting: Hallo %{name},
|
|
1750
|
+
instructions_1_html: 'Verwenden Sie die folgenden temporären Anmeldeinformationen, um sich einzuloggen: <br><br> Benutzername: <strong>%{email}</strong> <br> Passwort: <strong>%{password}</strong><br><br>'
|
|
1751
|
+
instructions_2_html: Geben Sie eine neue E-Mail-Adresse und ein Passwort ein.
|
|
1752
|
+
instructions_3_html: Teilen Sie die ausgewählten Anmeldedaten mit Ihren Kollegen, damit die gesamte Gruppe weiterhin auf das Konto zugreifen kann.
|
|
1753
|
+
instructions_title_html: "<strong>Was Sie tun müssen</strong>"
|
|
1754
|
+
subject: Wichtige Aktualisierung für Ihr Gruppenprofil
|
|
1732
1755
|
user_report_mailer:
|
|
1733
1756
|
notify:
|
|
1734
1757
|
body_1: Benutzer %{user} wurde von %{token} gemeldet
|
|
@@ -1778,6 +1801,7 @@ de:
|
|
|
1778
1801
|
send_paranoid_instructions: Wenn Ihre E-Mail-Adresse in unserer Datenbank vorhanden ist, erhalten Sie innerhalb weniger Minuten eine E-Mail mit Anweisungen zur Bestätigung Ihrer E-Mail-Adresse.
|
|
1779
1802
|
failure:
|
|
1780
1803
|
already_authenticated: Sie sind bereits angemeldet.
|
|
1804
|
+
csrf_token: Ihre Anfrage konnte nicht verifiziert werden. Bitte versuchen Sie es erneut.
|
|
1781
1805
|
inactive: Dein Benutzerkonto ist noch nicht aktiviert.
|
|
1782
1806
|
invalid: Ungültige %{authentication_keys} oder Passwort
|
|
1783
1807
|
invited: Sie haben eine ausstehende Einladung, akzeptieren Sie sie, um die Erstellung Ihres Kontos abzuschließen.
|
|
@@ -1792,6 +1816,7 @@ de:
|
|
|
1792
1816
|
nickname_help: Ihr Pseudonym auf %{organization}. Kann nur Buchstaben, Zahlen, '-' und '_' enthalten.
|
|
1793
1817
|
submit_button: Speichern
|
|
1794
1818
|
subtitle: Wenn Sie die Einladung annehmen, geben Sie bitte Ihren Kontonamen und Ihr Passwort ein.
|
|
1819
|
+
subtitle_no_password: Wenn Sie die Einladung annehmen, geben Sie bitte Ihren Kontonamen ein.
|
|
1795
1820
|
invitation_removed: Ihre Einladung wurde entfernt.
|
|
1796
1821
|
invitation_token_invalid: Das angegebene Einladungstoken ist nicht gültig!
|
|
1797
1822
|
new:
|
|
@@ -1799,6 +1824,8 @@ de:
|
|
|
1799
1824
|
submit_button: Eine Einladung schicken
|
|
1800
1825
|
no_invitations_remaining: Keine Einladungen übrig
|
|
1801
1826
|
send_instructions: Eine Einladungs-E-Mail wurde an %{email}gesendet.
|
|
1827
|
+
updated: Einladung erfolgreich angenommen. Sie sind jetzt angemeldet.
|
|
1828
|
+
updated_not_active: Einladung erfolgreich angenommen.
|
|
1802
1829
|
mailer:
|
|
1803
1830
|
confirmation_instructions:
|
|
1804
1831
|
action: Konto bestätigen
|
data/config/locales/eu.yml
CHANGED
|
@@ -1819,6 +1819,7 @@ eu:
|
|
|
1819
1819
|
nickname_help: Zure ezizena %{organization}-an. Letrak, zenbakiak, '-' eta '_' soilik eduki ditzake.
|
|
1820
1820
|
submit_button: Gorde
|
|
1821
1821
|
subtitle: Gonbidapena onartzen baduzu, mesedez, ezarri zure ezizena eta pasahitza.
|
|
1822
|
+
subtitle_no_password: Gonbidapena onartzen baduzu, jarri zure ezizena.
|
|
1822
1823
|
invitation_removed: Zure gonbidapena kendu egin da.
|
|
1823
1824
|
invitation_token_invalid: Gonbidapen token hori ez da baliozkoa!
|
|
1824
1825
|
new:
|
|
@@ -1826,6 +1827,8 @@ eu:
|
|
|
1826
1827
|
submit_button: Bidali gonbidapena
|
|
1827
1828
|
no_invitations_remaining: Ez da gonbidapenik geratzen
|
|
1828
1829
|
send_instructions: Gonbidapen-mezu elektroniko bat %{email} helbidera bidali da.
|
|
1830
|
+
updated: Gonbidapena behar bezala onartu da. Orain erregistratuta zaude.
|
|
1831
|
+
updated_not_active: Gonbidapena behar bezala onartu da.
|
|
1829
1832
|
mailer:
|
|
1830
1833
|
confirmation_instructions:
|
|
1831
1834
|
action: Berretsi nire kontua
|
data/config/locales/fi-plain.yml
CHANGED
|
@@ -1821,6 +1821,7 @@ fi-pl:
|
|
|
1821
1821
|
nickname_help: Nimimerkkisi palvelussa %{organization}. Voi sisältää ainoastaan kirjaimia, numeroita sekä yhdysmerkkejä "-" ja alaviivoja "_".
|
|
1822
1822
|
submit_button: Tallenna
|
|
1823
1823
|
subtitle: Jos hyväksyt kutsun, aseta käyttäjänimesi ja salasana.
|
|
1824
|
+
subtitle_no_password: Jos hyväksyt kutsun, aseta tilillesi nimi.
|
|
1824
1825
|
invitation_removed: Kutsusi peruutettiin.
|
|
1825
1826
|
invitation_token_invalid: Käyttämäsi kutsuavain ei ole voimassa!
|
|
1826
1827
|
new:
|
|
@@ -1828,6 +1829,8 @@ fi-pl:
|
|
|
1828
1829
|
submit_button: Lähetä kutsu
|
|
1829
1830
|
no_invitations_remaining: Ei kutsuja jäljellä
|
|
1830
1831
|
send_instructions: Kutsuviesti on lähetetty %{email}.
|
|
1832
|
+
updated: Kutsun hyväksyminen onnistui. Olet nyt kirjautunut sisään.
|
|
1833
|
+
updated_not_active: Kutsun hyväksyminen onnistui.
|
|
1831
1834
|
mailer:
|
|
1832
1835
|
confirmation_instructions:
|
|
1833
1836
|
action: Vahvista käyttäjätilini
|
|
@@ -1887,6 +1890,8 @@ fi-pl:
|
|
|
1887
1890
|
confirm_new_password: Vahvista uusi salasana
|
|
1888
1891
|
new_password: Uusi salasana
|
|
1889
1892
|
old_password_help: Vahvistaaksesi muutokset käyttäjätiliisi, anna nykyinen salasanasi.
|
|
1893
|
+
password_help: "Vähintään %{minimum_characters} merkkiä, vähintään 5 eri merkkiä, ei voi olla yleisesti käytetty salasana (esim. 123456), eikä voi vastata nimeäsi, nimimerkkiäsi, sähköpostiosoitettasi tai tämän palvelun verkko-osoitetta."
|
|
1894
|
+
password_help_admin: "Vähintään %{minimum_characters} merkkiä, vähintään 5 eri merkkiä, ei voi olla yleisesti käytetty salasana (esim. 123456), eikä voi vastata nimeäsi, nimimerkkiäsi, sähköpostiosoitettasi tai tämän palvelun verkko-osoitetta. Et myöskään voi käyttää aikaisempia salasanojasi."
|
|
1890
1895
|
title: Salasanan vaihto
|
|
1891
1896
|
new:
|
|
1892
1897
|
forgot_your_password: Unohditko salasanasi?
|
data/config/locales/fi.yml
CHANGED
|
@@ -1821,6 +1821,7 @@ fi:
|
|
|
1821
1821
|
nickname_help: Nimimerkkisi palvelussa %{organization}. Voi sisältää ainoastaan kirjaimia, numeroita sekä yhdysmerkkejä "-" ja alaviivoja "_".
|
|
1822
1822
|
submit_button: Tallenna
|
|
1823
1823
|
subtitle: Jos hyväksyt kutsun, aseta käyttäjänimesi ja salasana.
|
|
1824
|
+
subtitle_no_password: Jos hyväksyt kutsun, aseta tilillesi nimi.
|
|
1824
1825
|
invitation_removed: Kutsusi on peruttu.
|
|
1825
1826
|
invitation_token_invalid: Käyttämäsi kutsuavain ei ole voimassa!
|
|
1826
1827
|
new:
|
|
@@ -1828,6 +1829,8 @@ fi:
|
|
|
1828
1829
|
submit_button: Lähetä kutsu
|
|
1829
1830
|
no_invitations_remaining: Ei kutsuja jäljellä
|
|
1830
1831
|
send_instructions: Kutsuviesti on lähetetty %{email}.
|
|
1832
|
+
updated: Kutsun hyväksyminen onnistui. Olet nyt kirjautunut sisään.
|
|
1833
|
+
updated_not_active: Kutsun hyväksyminen onnistui.
|
|
1831
1834
|
mailer:
|
|
1832
1835
|
confirmation_instructions:
|
|
1833
1836
|
action: Vahvista käyttäjätilini
|
|
@@ -1887,6 +1890,8 @@ fi:
|
|
|
1887
1890
|
confirm_new_password: Vahvista uusi salasana
|
|
1888
1891
|
new_password: Uusi salasana
|
|
1889
1892
|
old_password_help: Vahvistaaksesi muutokset käyttäjätiliisi, anna nykyinen salasanasi.
|
|
1893
|
+
password_help: "Vähintään %{minimum_characters} merkkiä, vähintään 5 eri merkkiä, ei voi olla yleisesti käytetty salasana (esim. 123456), eikä voi vastata nimeäsi, nimimerkkiäsi, sähköpostiosoitettasi tai tämän palvelun verkko-osoitetta."
|
|
1894
|
+
password_help_admin: "Vähintään %{minimum_characters} merkkiä, vähintään 5 eri merkkiä, ei voi olla yleisesti käytetty salasana (esim. 123456), eikä voi vastata nimeäsi, nimimerkkiäsi, sähköpostiosoitettasi tai tämän palvelun verkko-osoitetta. Et myöskään voi käyttää aikaisempia salasanojasi."
|
|
1890
1895
|
title: Salasanan vaihto
|
|
1891
1896
|
new:
|
|
1892
1897
|
forgot_your_password: Unohditko salasanasi?
|
|
@@ -34,8 +34,8 @@ module Decidim
|
|
|
34
34
|
# Group 6: Variation key for representations
|
|
35
35
|
/(?<variation_part>[\w.=-]+)
|
|
36
36
|
)?
|
|
37
|
-
# Group 7: Filename
|
|
38
|
-
/([
|
|
37
|
+
# Group 7: Filename (supports apostrophes inside names but not as HTML quote delimiters)
|
|
38
|
+
/((?:[^\s/"<>']|'(?=[^\s/"<>']))+)
|
|
39
39
|
}x
|
|
40
40
|
|
|
41
41
|
def rewrite
|
|
@@ -55,7 +55,7 @@ module Decidim
|
|
|
55
55
|
blob =
|
|
56
56
|
if type_part == "disk"
|
|
57
57
|
# Disk service URL
|
|
58
|
-
decoded = ActiveStorage.verifier.verified(key_part, purpose: :blob_key)
|
|
58
|
+
decoded = ActiveStorage.verifier.verified(key_part, purpose: :blob_key)&.with_indifferent_access
|
|
59
59
|
ActiveStorage::Blob.find_by(key: decoded[:key]) if decoded
|
|
60
60
|
else
|
|
61
61
|
# Representation or blob
|
|
@@ -18,8 +18,8 @@ module Decidim
|
|
|
18
18
|
#
|
|
19
19
|
# @see BaseRenderer Examples of how to use a content renderer
|
|
20
20
|
class BlobRenderer < BaseRenderer
|
|
21
|
-
# Matches a global id representing a
|
|
22
|
-
GLOBAL_ID_REGEX = %r{(gid://[\w-]+/ActiveStorage::Blob/\d+)(/([\w=-]+))?}
|
|
21
|
+
# Matches a global id representing an ActiveStorage::Blob (optionally with a variant key)
|
|
22
|
+
GLOBAL_ID_REGEX = %r{(gid://[\w-]+/ActiveStorage::Blob/\d+)(/([\w=-]+))?(?:[^\s"'<>]*)}
|
|
23
23
|
|
|
24
24
|
# Replaces found Global IDs matching an existing blob with a URL to
|
|
25
25
|
# that blob. The Global IDs representing an invalid ActiveStorage::Blob
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
shared_examples "participatory space members" do
|
|
4
|
+
let(:blocks_manifests) { [] }
|
|
5
|
+
let(:organization) { create(:organization) }
|
|
6
|
+
let(:user) { create(:user, organization: participatory_space.organization) }
|
|
7
|
+
let(:unpublished_user) { create(:user, organization: participatory_space.organization) }
|
|
8
|
+
|
|
9
|
+
before do
|
|
10
|
+
switch_to_host(organization.host)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
context "when there are no members and directly accessing from URL" do
|
|
14
|
+
it_behaves_like "a 404 page" do
|
|
15
|
+
let(:target_path) { members_path }
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
context "when there are no members and accessing from the space homepage" do
|
|
20
|
+
context "and the main data content block is disabled" do
|
|
21
|
+
it "the menu nav is not shown" do
|
|
22
|
+
visit participatory_space_homepage_path
|
|
23
|
+
|
|
24
|
+
expect(page).to have_no_css(".participatory-space__nav-container")
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
context "and the main data content block is enabled" do
|
|
29
|
+
let(:blocks_manifests) { ["main_data"] }
|
|
30
|
+
|
|
31
|
+
it "the menu link is not shown" do
|
|
32
|
+
visit participatory_space_homepage_path
|
|
33
|
+
|
|
34
|
+
expect(page).to have_no_content("Members")
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
context "when the participatory space does not exist" do
|
|
40
|
+
it_behaves_like "a 404 page" do
|
|
41
|
+
let(:target_path) { unexisting_participatory_space_members_path }
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
context "when there are some members and all are unpublished" do
|
|
46
|
+
before do
|
|
47
|
+
create(:member, user:, participatory_space:, published: false)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
context "and directly accessing from URL" do
|
|
51
|
+
it_behaves_like "a 404 page" do
|
|
52
|
+
let(:target_path) { members_path }
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
context "and accessing from the homepage" do
|
|
57
|
+
context "and the main data content block is disabled" do
|
|
58
|
+
it "the menu nav is not shown" do
|
|
59
|
+
visit participatory_space_homepage_path
|
|
60
|
+
|
|
61
|
+
expect(page).to have_no_css(".participatory-space__nav-container")
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
context "and the main data content block is enabled" do
|
|
66
|
+
let(:blocks_manifests) { ["main_data"] }
|
|
67
|
+
|
|
68
|
+
it "the menu link is not shown" do
|
|
69
|
+
visit participatory_space_homepage_path
|
|
70
|
+
|
|
71
|
+
expect(page).to have_no_content("Members")
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
context "when there are some published members" do
|
|
78
|
+
let!(:member) { create(:member, user:, participatory_space:, published: true) }
|
|
79
|
+
let!(:unpublished_member) { create(:member, user: unpublished_user, participatory_space:, published: false) }
|
|
80
|
+
|
|
81
|
+
before do
|
|
82
|
+
visit members_path
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
context "and accessing from the space homepage" do
|
|
86
|
+
context "and the main data content block is disabled" do
|
|
87
|
+
it "the menu nav is not shown" do
|
|
88
|
+
visit participatory_space_homepage_path
|
|
89
|
+
|
|
90
|
+
expect(page).to have_no_css(".participatory-space__nav-container")
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
context "and the main data content block is enabled" do
|
|
95
|
+
let(:blocks_manifests) { ["main_data"] }
|
|
96
|
+
|
|
97
|
+
it "the menu link is shown" do
|
|
98
|
+
visit participatory_space_homepage_path
|
|
99
|
+
|
|
100
|
+
within ".participatory-space__nav-container" do
|
|
101
|
+
expect(page).to have_content("Members")
|
|
102
|
+
click_on "Members"
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
expect(page).to have_current_path members_path
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
it "lists all the members" do
|
|
110
|
+
within ".layout-main__section" do
|
|
111
|
+
expect(page).to have_css(".profile__user", count: 1)
|
|
112
|
+
expect(page).to have_no_content(Decidim::ParticipatorySpace::MemberPresenter.new(unpublished_member).name)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
click_on(member.name)
|
|
116
|
+
|
|
117
|
+
expect(page).to have_content("Profile")
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
end
|
data/lib/decidim/core/version.rb
CHANGED
|
@@ -11,7 +11,7 @@ module Decidim
|
|
|
11
11
|
included do
|
|
12
12
|
validate :user_and_space_same_organization
|
|
13
13
|
|
|
14
|
-
belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User"
|
|
14
|
+
belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User"
|
|
15
15
|
|
|
16
16
|
ransacker :name do
|
|
17
17
|
Arel.sql(%{("decidim_users"."name")::text})
|
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.31.
|
|
4
|
+
version: 0.31.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: 2026-
|
|
13
|
+
date: 2026-04-24 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: concurrent-ruby
|
|
@@ -828,28 +828,28 @@ dependencies:
|
|
|
828
828
|
requirements:
|
|
829
829
|
- - '='
|
|
830
830
|
- !ruby/object:Gem::Version
|
|
831
|
-
version: 0.31.
|
|
831
|
+
version: 0.31.4
|
|
832
832
|
type: :development
|
|
833
833
|
prerelease: false
|
|
834
834
|
version_requirements: !ruby/object:Gem::Requirement
|
|
835
835
|
requirements:
|
|
836
836
|
- - '='
|
|
837
837
|
- !ruby/object:Gem::Version
|
|
838
|
-
version: 0.31.
|
|
838
|
+
version: 0.31.4
|
|
839
839
|
- !ruby/object:Gem::Dependency
|
|
840
840
|
name: decidim-dev
|
|
841
841
|
requirement: !ruby/object:Gem::Requirement
|
|
842
842
|
requirements:
|
|
843
843
|
- - '='
|
|
844
844
|
- !ruby/object:Gem::Version
|
|
845
|
-
version: 0.31.
|
|
845
|
+
version: 0.31.4
|
|
846
846
|
type: :development
|
|
847
847
|
prerelease: false
|
|
848
848
|
version_requirements: !ruby/object:Gem::Requirement
|
|
849
849
|
requirements:
|
|
850
850
|
- - '='
|
|
851
851
|
- !ruby/object:Gem::Version
|
|
852
|
-
version: 0.31.
|
|
852
|
+
version: 0.31.4
|
|
853
853
|
description: Adds core features so other engines can hook into the framework.
|
|
854
854
|
email:
|
|
855
855
|
- josepjaume@gmail.com
|
|
@@ -1368,6 +1368,7 @@ files:
|
|
|
1368
1368
|
- app/helpers/decidim/layout_helper.rb
|
|
1369
1369
|
- app/helpers/decidim/likeable_helper.rb
|
|
1370
1370
|
- app/helpers/decidim/localized_locales_helper.rb
|
|
1371
|
+
- app/helpers/decidim/mailer_helper.rb
|
|
1371
1372
|
- app/helpers/decidim/map_helper.rb
|
|
1372
1373
|
- app/helpers/decidim/markup_helper.rb
|
|
1373
1374
|
- app/helpers/decidim/menu_helper.rb
|
|
@@ -1578,6 +1579,7 @@ files:
|
|
|
1578
1579
|
- app/packs/src/decidim/confirm.js
|
|
1579
1580
|
- app/packs/src/decidim/confirm.test.js
|
|
1580
1581
|
- app/packs/src/decidim/controllers/.keep
|
|
1582
|
+
- app/packs/src/decidim/controllers/accordion/accordion.test.js
|
|
1581
1583
|
- app/packs/src/decidim/controllers/accordion/controller.js
|
|
1582
1584
|
- app/packs/src/decidim/controllers/account_form/account_form.test.js
|
|
1583
1585
|
- app/packs/src/decidim/controllers/account_form/controller.js
|
|
@@ -1588,6 +1590,7 @@ files:
|
|
|
1588
1590
|
- app/packs/src/decidim/controllers/delete_account_form/controller.js
|
|
1589
1591
|
- app/packs/src/decidim/controllers/delete_account_form/delete_account_form.test.js
|
|
1590
1592
|
- app/packs/src/decidim/controllers/dropdown/controller.js
|
|
1593
|
+
- app/packs/src/decidim/controllers/dropdown/dropdown.test.js
|
|
1591
1594
|
- app/packs/src/decidim/controllers/editor/controller.js
|
|
1592
1595
|
- app/packs/src/decidim/controllers/emoji/controller.js
|
|
1593
1596
|
- app/packs/src/decidim/controllers/emoji/emoji.js
|
|
@@ -1670,6 +1673,7 @@ files:
|
|
|
1670
1673
|
- app/packs/src/decidim/editor/test/extensions/emoji.test.js
|
|
1671
1674
|
- app/packs/src/decidim/editor/test/extensions/heading.test.js
|
|
1672
1675
|
- app/packs/src/decidim/editor/test/extensions/image.test.js
|
|
1676
|
+
- app/packs/src/decidim/editor/test/extensions/image_links.test.js
|
|
1673
1677
|
- app/packs/src/decidim/editor/test/extensions/indent.test.js
|
|
1674
1678
|
- app/packs/src/decidim/editor/test/extensions/link.test.js
|
|
1675
1679
|
- app/packs/src/decidim/editor/test/extensions/mention.test.js
|
|
@@ -2839,6 +2843,7 @@ files:
|
|
|
2839
2843
|
- lib/decidim/core/test/shared_examples/paginated_resource_examples.rb
|
|
2840
2844
|
- lib/decidim/core/test/shared_examples/participatory_space_dropdown_metadata_cell_examples.rb
|
|
2841
2845
|
- lib/decidim/core/test/shared_examples/participatory_space_members_page_examples.rb
|
|
2846
|
+
- lib/decidim/core/test/shared_examples/participatory_space_members_shared_examples.rb
|
|
2842
2847
|
- lib/decidim/core/test/shared_examples/participatory_space_search_examples.rb
|
|
2843
2848
|
- lib/decidim/core/test/shared_examples/permissions.rb
|
|
2844
2849
|
- lib/decidim/core/test/shared_examples/preview_with_share_token_examples.rb
|