Als Betreuer:in von Hitobito bei der GLP möchte ich, dass die obligatorischen und nicht obligatorischen Formularfelder bei der Registration von Neumitglieder angepasst werden. Die Registration von Neumitglieder geschieht über ihre Webseite. Das Formular kommt allerdings von Hitobito.
Mitgliedschaftsanträge
Für Mitgliedschaftsanträge sind neu folgende Formularfelder obligatorisch (je separat):
[ ] Strasse
[ ] Hausnummer
[ ] Ort
Für Mitgliedschaftsanträge sind neu folgende Formularfelder optional:
[ ] Telefonnummer
[ ] Geschlecht
[ ] Geburtsdatum
Sympathisanten
Auch beim Formular für die Sympathisanten sollen die Felder angepasst werden.
Grundsätzlich sollen hier die selben Felder angezeigt werden aber nur E-Mail, Vorname und Nachname Pflichtfelder.
Falls jemand keine PLZ angibt, soll diese Person zur GLP Schweiz kommen und nur nationale News abonniert haben.
Beim Formular für die Sympathisanten sollen standardmässig nur die Felder für Vorname, Nachname, Email und PLZ angezeigt werden. Erst über den Button "mehr" werden die weiteren optionalen Felder angezeigt.
Die Felder im Formular werden bisher nur clientseitig via handgestricktes JavaScript validiert. Dieses Skript kann bisher nur überprüfen, ob sämtliche Felder ausgefüllt sind, es kann nicht mit optionalen Feldern umgehen. Wir können diesen handgestrickten Code also durch das HTML5-Attribut required="required" ersetzen, dann ists erst noch besser accessible und die Fehler können direkt bei den betroffenen Feldern angezeigt werden.
In diesem Controller wird das neue Mitglied oder die neue Sympathisantin basierend auf der angegebenen PLZ in eine Gruppe und Abos einsortiert. Die Domain-Klasse / Methode welche diese Zuordnung macht ist SortingHat::Song#sing
Wir haben in hitobito bereits collapse von Bootstrap im Einsatz, aber das können wir nicht 1:1 verwenden weil der HTML-Code ohne hitobito JavaScript in die Seite eingebettet wird. Daher müssen wir die Collapse-Funktionalität noch einmal von Hand nachbauen.
ToDo
[x] Die 6 neuen Formularfelder im Formular einfügen, in angemessener Reihenfolge
[x] E-Mail, Vorname, Nachname und die Datenschutzerklärungs-Checkbox sind immer Pflichtfelder (Inputs mit HTML required="required" Attribut ergänzen)
[x] PLZ ist kein Pflichtfeld mehr (Stern vom Label entfernen)
[x] Falls es ein Mitgliedschafts-Antrags-Formular ist (abhängig von role), sind Strasse, Hausnummer und Ort zusätzlich noch Pflichtfelder
[x] Falls es ein Sympathisanten-Formular ist (abhängig von role), sollen die Felder Strasse, Hausnummer, Ort, Telefonnummer, Geschlecht und Geburtsdatum anfangs nicht sichtbar sein, sondern mit einem Button "Mehr" ausklappbar sein. Diese Collapse-Funktionalität muss von Hand in JavaScript gebaut werden (siehe Tech Spec für Begründung)
Als Betreuer:in von Hitobito bei der GLP möchte ich, dass die obligatorischen und nicht obligatorischen Formularfelder bei der Registration von Neumitglieder angepasst werden. Die Registration von Neumitglieder geschieht über ihre Webseite. Das Formular kommt allerdings von Hitobito.
Mitgliedschaftsanträge
Für Mitgliedschaftsanträge sind neu folgende Formularfelder obligatorisch (je separat):
Für Mitgliedschaftsanträge sind neu folgende Formularfelder optional:
Sympathisanten
Auch beim Formular für die Sympathisanten sollen die Felder angepasst werden. Grundsätzlich sollen hier die selben Felder angezeigt werden aber nur E-Mail, Vorname und Nachname Pflichtfelder. Falls jemand keine PLZ angibt, soll diese Person zur GLP Schweiz kommen und nur nationale News abonniert haben.
Beim Formular für die Sympathisanten sollen standardmässig nur die Felder für Vorname, Nachname, Email und PLZ angezeigt werden. Erst über den Button "mehr" werden die weiteren optionalen Felder angezeigt.
Tech-Spec
required="required"
ersetzen, dann ists erst noch besser accessible und die Fehler können direkt bei den betroffenen Feldern angezeigt werden.collapse
von Bootstrap im Einsatz, aber das können wir nicht 1:1 verwenden weil der HTML-Code ohne hitobito JavaScript in die Seite eingebettet wird. Daher müssen wir die Collapse-Funktionalität noch einmal von Hand nachbauen.ToDo
required="required"
Attribut ergänzen)role
), sind Strasse, Hausnummer und Ort zusätzlich noch Pflichtfelderrole
), sollen die Felder Strasse, Hausnummer, Ort, Telefonnummer, Geschlecht und Geburtsdatum anfangs nicht sichtbar sein, sondern mit einem Button "Mehr" ausklappbar sein. Diese Collapse-Funktionalität muss von Hand in JavaScript gebaut werden (siehe Tech Spec für Begründung)SortingHat::Song
anpassen, sodass sie bei fehlender PLZ die Person zur GLP Schweiz und zu den nationalen News einsortiert.