From 15376cfcceb6291ce399458739a20f5564b6517a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Ho=CC=88=C3=9Fl?= Date: Fri, 5 Apr 2024 20:31:43 +0200 Subject: [PATCH 1/2] Bugfix: 'Allow more supporters than required'-option was always on --- History.md | 1 + messages/ca/amend.php | 1 + messages/ca/motion.php | 3 ++- messages/de-aevorschlaege/amend.php | 1 + messages/de-bdk/amend.php | 1 + messages/de-bdk/motion.php | 1 + messages/de-jusosth/amend.php | 1 + messages/de-jusosth/motion.php | 3 ++- messages/de/amend.php | 1 + messages/de/motion.php | 3 ++- messages/en/amend.php | 1 + messages/en/motion.php | 1 + messages/fr/amend.php | 3 ++- messages/fr/motion.php | 3 ++- messages/nl/amend.php | 3 ++- messages/nl/motion.php | 5 +++-- models/db/Amendment.php | 3 +++ models/db/Motion.php | 3 +++ models/policies/IPolicy.php | 6 +----- models/supportTypes/SupportBase.php | 21 ++++++++------------- views/amendment/view.php | 3 +++ views/motion/view.php | 3 +++ 22 files changed, 45 insertions(+), 26 deletions(-) diff --git a/History.md b/History.md index ba0f76bee0..8e9f87f652 100644 --- a/History.md +++ b/History.md @@ -12,6 +12,7 @@ - For newly created application motion types, the signature is now optional and the gender field is not automatically generated anymore. - LaTeX will be deprecated for rendering PDFs. Instead, a new rendering based on Weasyprint is introduced, that should handle several edge cases better and will make it easier to customize PDF layouts. The default PHP-based PDF renderer will remain unchanged. - The internal caching system has been optimized, preventing parallel processes generating the same cache, which might overload systems with a high number of users after cache invalidation. +- Bugfix: The "Allow more supporters than required" could not be deactivated for support collection phases before publication. - Bugfix: Several issues with the predefined organisation list for user administration were fixed. - Bugfix: CAPTCHAs were sometimes hardly readable. - Bugfix: In the support collecting page, for amendments, the required supporters of motions were shown, not of amendments. diff --git a/messages/ca/amend.php b/messages/ca/amend.php index 34da75df1a..86b20cdb35 100644 --- a/messages/ca/amend.php +++ b/messages/ca/amend.php @@ -230,6 +230,7 @@ 'support_collection_hint' => 'Aquesta esmena encara no ha estat oficialment presentada. Cal almenys %MIN% suports (actualment: %CURR%) per donar-li suport. Podeu donar suport a aquesta esmena en aquesta pàgina.', 'support_collection_hint_female' => 'Aquesta esmena encara no ha estat oficialment presentada. Cal almenys %MIN% suports, incloent %MIN_F% dones (actualment: %CURR% / %CURR_F%) per donar-li suport. Podeu donar suport a aquesta esmena en aquesta pàgina.', 'support_collection_reached_hint' => 'Aquesta esmena compta amb el nombre necessari de suports, però encara no ha estat oficialment presentada. Això depèn del proponent de l\'esmena.', + 'support_collection_reached_hint_m' => '', 'support_reached_email_subject' => 'La teva esmena té prou suports', 'support_reached_email_body' => 'Hola,

la teva esmena a "%TITLE%" compta amb el nombre necessari de suports. Pots presentar-la oficialment aquí:

%LINK%

Tingues en compte que aquest pas és obligatori per presentar l\'esmena.', 'support_finish_btn' => 'Presenta oficialment l\'esmena', diff --git a/messages/ca/motion.php b/messages/ca/motion.php index df2178f7fe..038a298a19 100644 --- a/messages/ca/motion.php +++ b/messages/ca/motion.php @@ -217,7 +217,8 @@ 'support_done' => 'Ara dones suport a aquesta resolució.', 'support_collection_hint' => 'Aquesta resolució encara no ha estat presentada oficialment. Cal almenys %MIN% suporters (actualment: %CURR%) per donar-li suport. Pots donar suport a aquesta resolució en aquesta pàgina.', 'support_collection_hint_female' => 'Aquesta resolució encara no ha estat presentada oficialment. Cal almenys %MIN% seguidors, incloent %MIN_F% dones (actualment: %CURR% / %CURR_F%) per donar-li suport. Pots donar suport a aquesta esmena en aquesta pàgina.', - 'support_collection_reached_hint' => 'Aquesta resolució té el nombre necessari de seguidors, però encara no ha estat presentada oficialment. Això depèn del propositor de la resolució.', + 'support_collection_reached_hint' => 'Aquesta resolució té el nombre necessari de seguidors, però encara no ha estat presentada oficialment.', + 'support_collection_reached_hint_m' => 'Això depèn del propositor de la resolució.', 'support_reached_email_subject' => 'La teva resolució té prou seguidors', 'support_reached_email_body' => 'Hola,

La teva resolució \"%TITLE%\" té el nombre necessari de seguidors. Ara pots presentar-la oficialment aquí:

%LINK%

Si us plau, tingues en compte que aquest pas és obligatori per presentar la resolució.', 'support_finish_btn' => 'Presenta oficialment la resolució', diff --git a/messages/de-aevorschlaege/amend.php b/messages/de-aevorschlaege/amend.php index fe973514b3..a2418479d1 100644 --- a/messages/de-aevorschlaege/amend.php +++ b/messages/de-aevorschlaege/amend.php @@ -72,6 +72,7 @@ 'support_collection_hint' => 'Dieser Änderungsvorschlag ist noch nicht eingereicht. Nötig sind mindestens %MIN% Unterstützer*innen (aktueller Stand: %CURR%). Wenn du ihn unterstützen willst, kannst du das unten auf dieser Seite tun.', 'support_collection_hint_female' => 'Dieser Änderungsvorschlag ist noch nicht eingereicht. Nötig sind mindestens %MIN% Unterstützer*innen, davon %MIN_F% Frauen (aktueller Stand: %CURR% / %CURR_F%). Wenn du ihn unterstützen willst, kannst du das unten auf dieser Seite tun.', 'support_collection_reached_hint' => 'Dieser Änderungsvorschlag ist noch nicht eingereicht. Die Mindestzahl an Unterstützer*innen (%MIN%) wurde erreicht, nun muss nur noch die/der Antragsteller*in die Einreichung bestätigen.', + 'support_collection_reached_hint_m' => 'Eine Unterstützung des Änderungsvorschlags ist weiterhin möglich.', 'support_reached_email_subject' => 'Dein Änderungsvorschlag: Unterstützer*innen-Anzahl erreicht', 'support_reached_email_body' => 'Hallo %NAME_GIVEN%,

Gute Nachrichten! Dein Änderungsvorschlag „%TITLE%“ hat die Mindestzahl an Unterstützer*innen erreicht.

Jetzt bist du noch einmal am Zug. Bitte reiche deinen Antrag nun offiziell bei der Antragskommission ein. Dies kannst du über Antragsgrün unter dem folgenden Link machen:

%LINK%

Der Antrag wird zeitnah nach einer formalen Prüfung im Antragsgrün veröffentlicht.

Viele Grüße,
Das Antragsgrün-Team', 'support_finish_btn' => 'Änderungsvorschlag offiziell einreichen', diff --git a/messages/de-bdk/amend.php b/messages/de-bdk/amend.php index 0ce9033a50..92e6437fe8 100644 --- a/messages/de-bdk/amend.php +++ b/messages/de-bdk/amend.php @@ -23,6 +23,7 @@ 'support_already' => 'Du bist schon Antragsteller*in dieses Antrags', 'support_collection_hint' => 'Dieser Änderungsantrag ist noch nicht eingereicht. Nötig sind mindestens %MIN% weitere Antragsteller*innen (aktueller Stand: %CURR%). Wenn du die Antragstellung erklären willst, kannst du das unten auf dieser Seite tun.', 'support_collection_reached_hint' => 'Dieser Änderungsantrag ist noch nicht eingereicht. Die Mindestzahl an Antragsteller*innen (%MIN%) wurde erreicht, nun muss nur noch die Antragsteller*in die Einreichung bestätigen, die den Änderungsantrag angelegt hat.', + 'support_collection_reached_hint_m' => 'Eine Unterstützung des Änderungsantrags ist weiterhin möglich.', 'support_reached_email_subject' => 'Dein Änderungsantrag: Die notwendige Anzahl von Antragsteller*innen ist erreicht', 'support_reached_email_body' => 'Hallo %NAME_GIVEN%,

Gute Nachrichten! Dein Änderungsantrag \"%TITLE%\" hat die Mindestzahl an weiteren Antragssteller*innen erreicht.

Jetzt bist du noch einmal am Zug. Bitte reiche deinen Antrag nun offiziell bei der Antragskommission ein. Dies kannst du über Antragsgrün unter dem folgenden Link machen:

%LINK%

Der Antrag wird zeitnah nach einer formalen Prüfung im Antragsgrün veröffentlicht.

Viele Grüße,
Das Antragsgrün-Team', 'merge1_collision_intro' => 'Es gibt Kollisionen mit bestehenden Änderungsanträgen
diff --git a/messages/de-bdk/motion.php b/messages/de-bdk/motion.php index 7ba23ae484..decba4d1df 100644 --- a/messages/de-bdk/motion.php +++ b/messages/de-bdk/motion.php @@ -22,6 +22,7 @@ 'support_done' => 'Du bist nun eine Antragsteller*in dieses Antrags.', 'support_collection_hint' => 'Dieser Antrag ist noch nicht eingereicht. Nötig sind mindestens %MIN% weitere Antragsteller*innen (aktueller Stand: %CURR%). Wenn du die Antragstellung erklären willst, kannst du das unten auf dieser Seite tun.', 'support_collection_reached_hint' => 'Dieser Antrag ist noch nicht eingereicht. Die Mindestzahl an Antragsteller*innen (%MIN%) wurde erreicht, nun muss nur noch die Antragsteller*in die Einreichung bestätigen, die den Antrag in Antragsgrün angelegt hat.', + 'support_collection_reached_hint_m' => 'Eine Unterstützung des Antrags ist weiterhin möglich.', 'support_reached_email_subject' => 'Dein Antrag: Die notwendige Anzahl von Antragsteller*innen ist erreicht', 'support_reached_email_body' => 'Hallo,

Gute Nachrichten! Dein Antrag \"%TITLE%\" hat die Mindestzahl an weiteren Antragsteller*innen erreicht.

Jetzt bist du noch einmal am Zug. Bitte reiche deinen Antrag nun offiziell bei der Antragskommission ein. Dies kannst du über Antragsgrün unter dem folgenden Link machen:

%LINK%

Der Antrag wird zeitnah nach einer formalen Prüfung im Antragsgrün veröffentlicht.

Viele Grüße,
Das Antragsgrün-Team', 'support_question' => 'Willst du diesen Antrag gemeinschaftlich stellen?', diff --git a/messages/de-jusosth/amend.php b/messages/de-jusosth/amend.php index e95910cb99..dd23ebb321 100644 --- a/messages/de-jusosth/amend.php +++ b/messages/de-jusosth/amend.php @@ -31,6 +31,7 @@ 'support_collection_hint' => 'Dieser Änderungsantrag ist noch nicht eingereicht. Nötig sind mindestens %MIN% Unterstützer:innen (aktueller Stand: %CURR%). Wenn du ihn unterstützen willst, kannst du das unten auf dieser Seite tun.', 'support_collection_hint_female' => 'Dieser Änderungsantrag ist noch nicht eingereicht. Nötig sind mindestens %MIN% Unterstützer:innen, davon %MIN_F% Frauen (aktueller Stand: %CURR% / %CURR_F%). Wenn du ihn unterstützen willst, kannst du das unten auf dieser Seite tun.', 'support_collection_reached_hint' => 'Dieser Änderungsantrag ist noch nicht eingereicht. Die Mindestzahl an Unterstützer:innen (%MIN%) wurde erreicht, nun muss nur noch die/der Antragsteller:in die Einreichung bestätigen.', + 'support_collection_reached_hint_m' => 'Eine Unterstützung des Änderungsantrags ist weiterhin möglich.', 'support_reached_email_subject' => '[LaKo] Dein Änderungsantrag: Unterstützer:innen-Anzahl erreicht', 'support_reached_email_body' => 'Hallo %NAME_GIVEN%,

Gute Nachrichten! Dein Änderungsantrag „%TITLE%“ hat die Mindestzahl an Unterstützer:innen erreicht.

Jetzt bist du noch einmal am Zug. Bitte reiche deinen Antrag nun offiziell bei der Antragskommission ein. Dies kannst du über Antragsgrün unter dem folgenden Link machen:

%LINK%

Der Antrag wird zeitnah nach einer formalen Prüfung im Antragsgrün veröffentlicht.

Viele Grüße,
Das Antragsgrün-Team', 'merge1_err_collision_desc' => 'Dieser Änderungsantrag kann leider nicht direkt übernommen werden, da sich einige Änderungen mit Änderungen anderer Änderungsanträge überschneiden. Die kollidierenden Änderungsanträge müssen zunächst zurückgezogen oder von den Antragsteller:innen oder den Administrator:innen angepasst werden. Melde sich bei Fragen am besten direkt bei den Administrator:innen, um diesen Konflikt zu lösen.

Um folgende Änderungsanträge geht es konkret:', diff --git a/messages/de-jusosth/motion.php b/messages/de-jusosth/motion.php index 627471f4ea..f46f01f097 100644 --- a/messages/de-jusosth/motion.php +++ b/messages/de-jusosth/motion.php @@ -55,7 +55,8 @@ ', 'support_collection_hint' => 'Dieser Antrag ist noch nicht eingereicht. Nötig sind mindestens %MIN% Unterstützer:innen (aktueller Stand: %CURR%). Wenn du ihn unterstützen willst, kannst du das unten auf dieser Seite tun.', 'support_collection_hint_female' => 'Dieser Antrag ist noch nicht eingereicht. Nötig sind mindestens %MIN% Unterstützer:innen, davon %MIN_F% Frauen (aktueller Stand: %CURR% / %CURR_F%). Wenn du ihn unterstützen willst, kannst du das unten auf dieser Seite tun.', - 'support_collection_reached_hint' => 'Dieser Antrag ist noch nicht eingereicht. Die Mindestzahl an Unterstützer:innen (%MIN%) wurde erreicht, nun muss nur noch die/der Antragsteller:in die Einreichung bestätigen. Eine Unterstützung des Antrags ist weiterhin möglich.
', + 'support_collection_reached_hint' => 'Dieser Antrag ist noch nicht eingereicht. Die Mindestzahl an Unterstützer:innen (%MIN%) wurde erreicht, nun muss nur noch die/der Antragsteller:in die Einreichung bestätigen.', + 'support_collection_reached_hint_m' => 'Eine Unterstützung des Antrags ist weiterhin möglich.', 'support_reached_email_subject' => 'Dein Antrag: Unterstützer:innen-Anzahl erreicht', 'support_reached_email_body' => 'Hallo,

Gute Nachrichten! Dein Antrag „%TITLE%“ hat die Mindestzahl an Unterstützer:innen erreicht.

Jetzt bist du noch einmal am Zug. Bitte reiche deinen Antrag nun offiziell bei der Antragskommission ein. Dies kannst du über Antragsgrün unter dem folgenden Link machen:

%LINK%

Der Antrag wird zeitnah nach einer formalen Prüfung im Antragsgrün veröffentlicht.

Viele Grüße,
Das Antragsgrün-Team', 'proposal_email_modified' => 'Hallo %NAME_GIVEN%, diff --git a/messages/de/amend.php b/messages/de/amend.php index e9b2e27dfd..9c23545628 100644 --- a/messages/de/amend.php +++ b/messages/de/amend.php @@ -237,6 +237,7 @@ 'support_collection_hint' => 'Dieser Änderungsantrag ist noch nicht eingereicht. Nötig sind mindestens %MIN% Unterstützer*innen (aktueller Stand: %CURR%). Wenn du ihn unterstützen willst, kannst du das unten auf dieser Seite tun.', 'support_collection_hint_female' => 'Dieser Änderungsantrag ist noch nicht eingereicht. Nötig sind mindestens %MIN% Unterstützer*innen, davon %MIN_F% Frauen (aktueller Stand: %CURR% / %CURR_F%). Wenn du ihn unterstützen willst, kannst du das unten auf dieser Seite tun.', 'support_collection_reached_hint' => 'Dieser Änderungsantrag ist noch nicht eingereicht. Die Mindestzahl an Unterstützer*innen (%MIN%) wurde erreicht, nun muss nur noch die/der Antragsteller*in die Einreichung bestätigen.', + 'support_collection_reached_hint_m' => 'Eine Unterstützung des Änderungsantrags ist weiterhin möglich.', 'support_reached_email_subject' => 'Dein Änderungsantrag: Unterstützer*innen-Anzahl erreicht', 'support_reached_email_body' => 'Hallo %NAME_GIVEN%,

Gute Nachrichten! Dein Änderungsantrag „%TITLE%“ hat die Mindestzahl an Unterstützer*innen erreicht.

Jetzt bist du noch einmal am Zug. Bitte reiche deinen Antrag nun offiziell bei der Antragskommission ein. Dies kannst du über Antragsgrün unter dem folgenden Link machen:

%LINK%

Der Antrag wird zeitnah nach einer formalen Prüfung im Antragsgrün veröffentlicht.

Viele Grüße,
Das Antragsgrün-Team', 'support_finish_btn' => 'Änderungsantrag offiziell einreichen', diff --git a/messages/de/motion.php b/messages/de/motion.php index d2ba96f483..57c0f8aa79 100644 --- a/messages/de/motion.php +++ b/messages/de/motion.php @@ -235,7 +235,8 @@ 'support_already' => 'Du unterstützt diesen Antrag bereits', 'support_collection_hint' => 'Dieser Antrag ist noch nicht eingereicht. Nötig sind mindestens %MIN% Unterstützer*innen (aktueller Stand: %CURR%). Wenn du ihn unterstützen willst, kannst du das unten auf dieser Seite tun.', 'support_collection_hint_female' => 'Dieser Antrag ist noch nicht eingereicht. Nötig sind mindestens %MIN% Unterstützer*innen, davon %MIN_F% Frauen (aktueller Stand: %CURR% / %CURR_F%). Wenn du ihn unterstützen willst, kannst du das unten auf dieser Seite tun.', - 'support_collection_reached_hint' => 'Dieser Antrag ist noch nicht eingereicht. Die Mindestzahl an Unterstützer*innen (%MIN%) wurde erreicht, nun muss nur noch die/der Antragsteller*in die Einreichung bestätigen. Eine Unterstützung des Antrags ist weiterhin möglich.', + 'support_collection_reached_hint' => 'Dieser Antrag ist noch nicht eingereicht. Die Mindestzahl an Unterstützer*innen (%MIN%) wurde erreicht, nun muss nur noch die/der Antragsteller*in die Einreichung bestätigen.', + 'support_collection_reached_hint_m' => 'Eine Unterstützung des Antrags ist weiterhin möglich.', 'support_reached_email_subject' => 'Dein Antrag: Unterstützer*innen-Anzahl erreicht', 'support_reached_email_body' => 'Hallo,

Gute Nachrichten! Dein Antrag „%TITLE%“ hat die Mindestzahl an Unterstützer*innen erreicht.

Jetzt bist du noch einmal am Zug. Bitte reiche deinen Antrag nun offiziell bei der Antragskommission ein. Dies kannst du über Antragsgrün unter dem folgenden Link machen:

%LINK%

Der Antrag wird zeitnah nach einer formalen Prüfung im Antragsgrün veröffentlicht.

Mit freundlichen Grüßen,
Das Antragsgrün-Team', 'support_finish_btn' => 'Antrag offiziell einreichen', diff --git a/messages/en/amend.php b/messages/en/amend.php index 7032d5606c..0de22975d1 100644 --- a/messages/en/amend.php +++ b/messages/en/amend.php @@ -231,6 +231,7 @@ 'support_collection_hint' => 'This amendment is not yet officially submitted. At least %MIN% supporters (currently: %CURR%) need to support it. You can support this amendment on this page.', 'support_collection_hint_female' => 'This amendment is not yet officially submitted. At least %MIN% supporters, including %MIN_F% women (currently: %CURR% / %CURR_F%) need to support it. You can support this amendment on this page.', 'support_collection_reached_hint' => 'This amendment has the necessary number of supporters, but is not yet officially submitted. This is up to the amendment proposer.', + 'support_collection_reached_hint_m' => 'It is still possible to support this amendment.', 'support_reached_email_subject' => 'Your amendment has enough supporters', 'support_reached_email_body' => "Hi,

your amendment to \"%TITLE%\" has the necessary number of supporters. You can officially submit it here:

%LINK%

Please note that this step is mandatory to submit the amendment.", 'support_finish_btn' => 'Officially submit the amendment', diff --git a/messages/en/motion.php b/messages/en/motion.php index 11984abde6..f38c01f846 100644 --- a/messages/en/motion.php +++ b/messages/en/motion.php @@ -224,6 +224,7 @@ 'support_collection_hint' => 'This motion is not yet officially submitted. At least %MIN% supporters (currently: %CURR%) need to support it. You can support this motion on this page.', 'support_collection_hint_female' => 'This motion is not yet officially submitted. At least %MIN% supporters, including %MIN_F% women (currently: %CURR% / %CURR_F%) need to support it. You can support this amendment on this page.', 'support_collection_reached_hint' => 'This motion has the necessary number of supporters, but is not yet officially submitted. This is up to the motion proposer.', + 'support_collection_reached_hint_m' => 'It is still possible to support the motion.', 'support_reached_email_subject' => 'Your motion has enough supporters', 'support_reached_email_body' => "Hi,

Your motion \"%TITLE%\" has the necessary number of supporters. You can officially submit it here now:

%LINK%

Please note that this step is mandatory to submit the motion.", 'support_finish_btn' => 'Officially submit the motion', diff --git a/messages/fr/amend.php b/messages/fr/amend.php index 5036cc229e..80e9a3c779 100644 --- a/messages/fr/amend.php +++ b/messages/fr/amend.php @@ -135,7 +135,8 @@ 'support_done' => 'Tu soutiens désormais cet amendement', 'support_already' => 'Tu soutiens déjà cet amendement', 'support_collection_hint' => 'Cet amendement n\est pas encore officiellement déposé. Il lui faut au moins %MIN% soutiens (actuellement: %CURR%). Tu peux soutenir l\'amendement sur cette page.', - 'support_collection_reached_hint' => 'Cet amendement a atteint le nombre nécessaire de soutiens mais n\'a pas encore été officiellement déposé. C\'est à l\'auteur de l\'amendement de le faire.', + 'support_collection_reached_hint' => 'Cet amendement a atteint le nombre nécessaire de soutiens mais n\'a pas encore été officiellement déposé.', + 'support_collection_reached_hint_m' => 'C\'est à l\'auteur de l\'amendement de le faire.', 'support_reached_email_subject' => 'Ton amendement a suffisament de soutiens', 'support_reached_email_body' => "Salut,

ton amendement à \"%TITLE%\" a désormais le nombre requis de soutiens. Tu peux la déposer officiellement ici :

%LINK%

Merci de noter que cette phase est nécessaaire pour déposer l'amendement.", 'support_finish_btn' => 'Déposer officiellement l\'a amendement', diff --git a/messages/fr/motion.php b/messages/fr/motion.php index f27dc2e8cb..3f43f1135f 100644 --- a/messages/fr/motion.php +++ b/messages/fr/motion.php @@ -143,7 +143,8 @@ 'support' => 'Soutenir', 'support_done' => 'Tu soutiens désormais cette motion.', 'support_collection_hint' => 'Cette motion n\'a pas encore été déposée. Il faut qu\'au moins %MIN% personnes (actuellemment : %CURR%) la soutiennent. Tu peux soutenir cette motion sur cette page.', - 'support_collection_reached_hint' => 'Cette motion a le nombre requis de soutiens mais elle n\'a pas encore été déposée. C\'est à son auteur de le faire.', + 'support_collection_reached_hint' => 'Cette motion a le nombre requis de soutiens mais elle n\'a pas encore été déposée.', + 'support_collection_reached_hint_m' => 'C\'est à son auteur de le faire.', 'support_reached_email_subject' => 'Ta motion a suffisamment de soutiens', 'support_reached_email_body' => "Salut,

ta motion \"%TITLE%\" a désormais le nombre requis de soutiens. Tu peux officiellement la déposer ici :

%LINK%

Cette étape est nécessaire pour déposer la motion.", 'support_finish_btn' => 'Déposer officiellement la motion', diff --git a/messages/nl/amend.php b/messages/nl/amend.php index c987f68ffd..e353cf4eeb 100644 --- a/messages/nl/amend.php +++ b/messages/nl/amend.php @@ -231,7 +231,8 @@ 'support_already' => 'YJe hebt dit amendement reeds ondersteund', 'support_collection_hint' => 'Dit amendement is nog niet officieel ingediend. Tenminste %MIN% ondersteuners (op dit moment: %CURR%) moeten dit ondersteunen. Je kunt dit amendement ondersteunen op deze pagina.', 'support_collection_hint_female' => 'Dit amendement is nog niet officieel ingediend. Tenminste %MIN% ondersteuners, includief %MIN_F% vrouwen (op dit moment: %CURR%) moeten dit ondersteunen. Je kunt dit amendement ondersteunen op deze pagina.', - 'support_collection_reached_hint' => 'Dit amendement heeft de noodzakelijke ondersteuning, maar is nog niet officieel ingediend. Dat moet de indiener van het amendement doen.', + 'support_collection_reached_hint' => 'Dit amendement heeft de noodzakelijke ondersteuning, maar is nog niet officieel ingediend.', + 'support_collection_reached_hint_m' => 'Dat moet de indiener van het amendement doen.', 'support_reached_email_subject' => 'Je amendement heeft voldoende ondersteuning', 'support_reached_email_body' => "Hi,

Je amanedement voor \"%TITLE%\" heeft voldoende ondersteuning. Je kunt het officieel indienen hier:

%LINK%

Let op: deze stap is noodzakelijk om het amendement in te dienen.", 'support_finish_btn' => 'Dien het amendement oficieel in', diff --git a/messages/nl/motion.php b/messages/nl/motion.php index 8489b92632..887c4a7eb6 100644 --- a/messages/nl/motion.php +++ b/messages/nl/motion.php @@ -215,7 +215,8 @@ 'support_done' => 'Je ondersteunt nu dit voorstel.', 'support_collection_hint' => 'Dit voorstel is nog niet officieel ingediend. Ten minste %MIN% ondersteuners (nu: %CURR%) moeten het ondersteunen. Je kan op deze pagina het voorstel ondersteunen.', 'support_collection_hint_female' => 'Dit voorstel is nog niet officieel ingediend. Ten minste %MIN% ondersteuners, waarvan ten minste %MIN_F% vrouw(en) (nu: %CURR% / %CURR_F%) moeten het ondersteunen. Je kan op deze pagina het voorstel ondersteunen.', - 'support_collection_reached_hint' => 'Dit voorstel heeft het vereiste aantal ondersteuners, maar is nog niet officieel ingediend. Dat is aan de indiener van het voorstel.', + 'support_collection_reached_hint' => 'Dit voorstel heeft het vereiste aantal ondersteuners, maar is nog niet officieel ingediend.', + 'support_collection_reached_hint_m' => 'Dat is aan de indiener van het voorstel.', 'support_reached_email_subject' => 'Je voorstel heeft voldoende ondersteuners', 'support_reached_email_body' => "Hi,

Your motion \"%TITLE%\" has the necessary number of supporters. You can officially submit it here now:

%LINK%

Please note that this step is mandatory to submit the motion.", 'support_finish_btn' => 'Dien het voorstel officieel in', @@ -262,4 +263,4 @@ 'goto_line_err' => 'Regel niet gevonden', 'statutes_base_head' => 'Base text', -]; \ No newline at end of file +]; diff --git a/models/db/Amendment.php b/models/db/Amendment.php index 0e30dc0538..b4578e4dae 100644 --- a/models/db/Amendment.php +++ b/models/db/Amendment.php @@ -720,6 +720,9 @@ public function isSupportingPossibleAtThisStatus(): bool // If it's activated explicitly, then supporting is allowed in every status, also after the deadline return true; } + if ($this->hasEnoughSupporters($this->getMyMotionType()->getAmendmentSupportTypeClass()) && !$supportSettings->allowMoreSupporters) { + return false; + } if ($this->status !== IMotion::STATUS_COLLECTING_SUPPORTERS) { return false; diff --git a/models/db/Motion.php b/models/db/Motion.php index c19b2c31dc..a91e5d3e69 100644 --- a/models/db/Motion.php +++ b/models/db/Motion.php @@ -542,6 +542,9 @@ public function isSupportingPossibleAtThisStatus(): bool // If it's activated explicitly, then supporting is allowed in every status, also after the deadline return true; } + if ($this->hasEnoughSupporters($this->getMyMotionType()->getMotionSupportTypeClass()) && !$supportSettings->allowMoreSupporters) { + return false; + } if ($this->status !== IMotion::STATUS_COLLECTING_SUPPORTERS) { return false; diff --git a/models/policies/IPolicy.php b/models/policies/IPolicy.php index b0c2043d2b..fde2223e10 100644 --- a/models/policies/IPolicy.php +++ b/models/policies/IPolicy.php @@ -56,14 +56,10 @@ public static function getPolicyNames(): array return $names; } - protected Consultation $consultation; - protected IHasPolicies $baseObject; protected array $data; - public function __construct(Consultation $consultation, IHasPolicies $baseObject, ?array $data) + public function __construct(protected Consultation $consultation, protected IHasPolicies $baseObject, ?array $data) { - $this->consultation = $consultation; - $this->baseObject = $baseObject; $this->data = $data ?: []; } diff --git a/models/supportTypes/SupportBase.php b/models/supportTypes/SupportBase.php index 7f6ded04b8..1e8081f80a 100644 --- a/models/supportTypes/SupportBase.php +++ b/models/supportTypes/SupportBase.php @@ -47,18 +47,13 @@ public static function getImplementations(): array */ public static function getImplementation(InitiatorForm $settings, ConsultationMotionType $motionType): SupportBase { - switch ($settings->type) { - case static::ONLY_INITIATOR: - return new OnlyInitiator($motionType, $settings); - case static::GIVEN_BY_INITIATOR: - return new GivenByInitiator($motionType, $settings); - case static::COLLECTING_SUPPORTERS: - return new CollectBeforePublish($motionType, $settings); - case static::NO_INITIATOR: - return new NoInitiator($motionType, $settings); - default: - throw new Internal('Supporter form type not found'); - } + return match ($settings->type) { + static::ONLY_INITIATOR => new OnlyInitiator($motionType, $settings), + static::GIVEN_BY_INITIATOR => new GivenByInitiator($motionType, $settings), + static::COLLECTING_SUPPORTERS => new CollectBeforePublish($motionType, $settings), + static::NO_INITIATOR => new NoInitiator($motionType, $settings), + default => throw new Internal('Supporter form type not found'), + }; } /** @@ -144,7 +139,7 @@ protected function parseSupporters(ISupporter $model): array $sup->userId = null; $sup->personType = ISupporter::PERSON_NATURAL; $sup->position = $i; - if (isset($post['supporters']['organization']) && isset($post['supporters']['organization'][$i])) { + if (isset($post['supporters']['organization'][$i])) { $sup->organization = trim($post['supporters']['organization'][$i]); } $ret[] = $sup; diff --git a/views/amendment/view.php b/views/amendment/view.php index 0267e7090b..b39676d10b 100644 --- a/views/amendment/view.php +++ b/views/amendment/view.php @@ -101,6 +101,9 @@ $curr = count($amendment->getSupporters(true)); if ($amendment->hasEnoughSupporters($supportType)) { $textTmpl = $motion->getMyMotionType()->getConsultationTextWithFallback('amend', 'support_collection_reached_hint'); + if ($supportType->getSettingsObj()->allowMoreSupporters) { + $textTmpl .= ' ' . $motion->getMyMotionType()->getConsultationTextWithFallback('amend', 'support_collection_reached_hint_m'); + } echo str_replace(['%MIN%', '%CURR%'], [$min, $curr], $textTmpl); } else { $minAll = $min + 1; diff --git a/views/motion/view.php b/views/motion/view.php index 7a34b5d13b..d76341183a 100644 --- a/views/motion/view.php +++ b/views/motion/view.php @@ -114,6 +114,9 @@ $curr = count($motion->getSupporters(true)); if ($motion->hasEnoughSupporters($supportType)) { $textTmpl = $motion->getMyMotionType()->getConsultationTextWithFallback('motion', 'support_collection_reached_hint'); + if ($supportType->getSettingsObj()->allowMoreSupporters) { + $textTmpl .= ' ' . $motion->getMyMotionType()->getConsultationTextWithFallback('motion', 'support_collection_reached_hint_m'); + } echo str_replace(['%MIN%', '%CURR%'], [$min, $curr], $textTmpl); } else { $minAll = $min + 1; From 104c604ee127daa20f85bb4bde75ac3cc574ea47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Ho=CC=88=C3=9Fl?= Date: Fri, 5 Apr 2024 20:38:25 +0200 Subject: [PATCH 2/2] Fix test case --- tests/Acceptance/supporting/AmendmentSupportingPhaseCept.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Acceptance/supporting/AmendmentSupportingPhaseCept.php b/tests/Acceptance/supporting/AmendmentSupportingPhaseCept.php index ef5260306a..144772bacd 100644 --- a/tests/Acceptance/supporting/AmendmentSupportingPhaseCept.php +++ b/tests/Acceptance/supporting/AmendmentSupportingPhaseCept.php @@ -66,7 +66,7 @@ $I->click('#sidebar .collecting a'); -$I->see('Änderungsantrag von Testuser, ab Zeile 1', '.motionList'); +$I->see('ÄA von Testuser, ab Zeile 1', '.motionList'); $I->see('Aktueller Stand: 0 / 1', '.amendment' . AcceptanceTester::FIRST_FREE_AMENDMENT_ID);