hitobito / hitobito_svse Goto Github PK
View Code? Open in Web Editor NEWA hitobito wagon defining the organization hierarchy and additional features for Schweizerischer Sportverband öffentlicher Verkehr.
License: Other
A hitobito wagon defining the organization hierarchy and additional features for Schweizerischer Sportverband öffentlicher Verkehr.
License: Other
Import sollte Aktualisierungen erlauben (idempotent). Das heisst, bei jeder Person soll der Importer zuerst entscheiden, ob diese Person in der Datenbank bereits existiert, und wenn ja nur diese Person aktualisieren. Kriterien dazu sind noch zu bestimmen, etwa Vorname+Nachname+Geburtsdatum.
Datenquelle: Postgres-Backup-Datei zuunterst in https://files.puzzle.ch/apps/files/?dir=/swe/projects/SVSE_Sportverband%20%C3%B6ffentlicher%20Verkehr/7_Verschiedenes/Gesamtexport/Files%20f%C3%BCr%20TEST_Import&fileid=3863790
Alle "normalen" Felder aus dem Datenbankdump, welche direkt zu hitobito-Feldern passen, sollen importiert werden. Zusätzlich folgende Spezialfälle:
Partnerfirmen als Personen mit "Firma" Flag importieren.
Tabelle Personen in DB dump: biz_contact
Import sollte Aktualisierungen erlauben (idempotent).
Datenquelle: Postgres-Backup-Datei zuunterst in https://files.puzzle.ch/apps/files/?dir=/swe/projects/SVSE_Sportverband%20%C3%B6ffentlicher%20Verkehr/7_Verschiedenes/Gesamtexport/Files%20f%C3%BCr%20TEST_Import&fileid=3863790
Personen die im alten System nicht als "Mitglied" markiert waren, bekommen ein Tag "Nicht Mitglied im Dachverband". -> Bei erneutem Import komplett löschen und darüber importieren um Aktualisierungen zu berücksichtigen
Aktuell wir in einem Abo der SMS-Button immer angezeigt, auch wenn gar keine Konfiguration vorhanden ist. Es ist sogar möglich, ein SMS zu senden. Erst nach einem Reload sieht man dann, dass dies nicht geklappt hat.
Für die Adress-Überprüfung muss das Post-Verzeichnis imporiert werden
ADDRESSES_TOKEN
im OpenShift-Cluster hinterlegen (analog zu DieMitte)Ziel: Aufbau Grundpaket/Umgebung für die SKV
Inhalt:
Bereits in Integration/Produktionsumgebung-Issues enthalten?
Helfer bei Events erhalten eine Gutschrift auf den Mitgliederbeitrag.
Pro Tag werden folgende Beiträge gutgeschrieben:
Weitere Tage werden nicht vergütet, es ist also auch nicht möglich, Geld zurückzuerhalten (Mitgliederbeitrag ist 45.-)
Umgesetz werden kann dies im Hitobito mit Rechnungsartikeln, welche einen negativen Betrag aufweisen.
Dient als Basis für #18
Der ESV Olten benötigt für seine Events (Belchenberglauf / Schweizermeisterschaften) separate Konten für die Rechnungsstellung.
Neuer Layer (Gruppentyp/Gremium) "Anlass" (Unterhalb von ESV-Olten):
Parent dieser Gruppe ist die Sektion (ESV Olten)
Ein neuer Wagon "hitobito_svse"
https://github.com/hitobito/hitobito/blob/master/doc/development/04_wagons.md
See: #1
Beim Erstellen einer Sportart Gruppe wird anstatt einem Namen ausgefüllt eine Sportart aus #17 zugewiesen:
Setup der Integrationsumgebung, die via svse.puzzle.ch sein soll.
See: #1
Schweizerischer Kanu-Verband
Kantonalverband
Global
Sektionen als Layer statt Gruppe
neue Rollen
Definition der Gruppenstuktur
See: #1
Layer Dachverband
Layer Sektionen
Herausfinden, was dies genau ist. SVSE-Dachverband? Nationalteams? Korrekt zuordnen.
https://db.svse.ch/de/full?q=bruno+schmid&button=
Aktuelle Mitglieder: 5426
Importierte Mitglieder: 2432
ESV Aarau: 62 vs. 10
Analysieren, wo die fehlenden Mitglieder geblieben sind.
Der SVSE kennt keine Freimitglieder. Nur die Sektionen. Viele Personen haben aber diese Rolle.
https://db.svse.ch/de/groups/1/people/1573
Ist in den Daten und in unserem CSV Import schon vorhanden. rake import:functions
muss nur leicht angepassen werden
Bei erneutem Import Abos komplett löschen und darüber importieren um Aktualisierungen zu berücksichtigen
Bei den Mitgliedern wird unterschieden zwischen folgenden Jahresbeiträgen:
Bei einem Gruppentyp Erfassen
apply-config htbt-svse-prod
)Zum SVSE Import sollen die Personen den entsprechenden Gruppen anhand des besthenden SQL Dumps zugewiesen werden.
Gewünschte Sprachen DE, FR einbauen
See: #1
Der Import aus der bisherigen Mitgliederverwaltung soll in einzelnen Aspekten noch angepasst werden
Es gibt keinen Status Passiv mehr für Personen.
Alle Personen, welche aktuell den Status "Passiv" haben, sollen den Status "Aktiv" erhalten.
passive
entfernen https://github.com/hitobito/hitobito_svse/blob/master/app/models/svse/person.rb#L20passive
nicht mehr importieren hitobito_svse/lib/tasks/import.rake
Line 39 in f8ad69a
See: #1
Soweit werden noch Personen dupliziert importiert. Selbiges mit den Rollen und Telefonnummern.
Siehe https://db.svse.ch/de/full?q=bruno+schmid&button=
Mitunder dadurch ist die Anzahl Mitglieder aus dem Dachverband mittels "Alle Ebenen" Filter noch inkorrekt.
Aktuelle Mitglieder im alten System Stand 23.09.2021: 5426
Importierte Mitglieder anhand Filter: 2432
ESV Aarau: 62 vs. 10
Der Person.count
stimmt jedoch mit den Excel von der SVSE überein. Jedoch sind in diesem Excel Duplikate auch aufgeführt.
Das heisst abzüglich Duplikate sollten es dann ca. 5426 Personen sein.
Dazu muss der import:people
rake task bearbeitet werden.
seedfu
verwenden oder id
(falls vorhanden) noch ins upsertDazu muss der import:functions
rake task bearbeitet werden.
exists?
geprüft werdenNach diesen Anpassungen und wenn keine Duplikate mehr vorhanden sind, analysieren weshalb diese Anzahlen variieren.
Der "Alle Ebenen" Filter zeigt alle Personen an welche:
visible_from_above
nicht auf false
gesetzt haben.Auf SVSE integration können keine Rechnungen via Sammelrechnungen generiert werden.
https://sentry.puzzle.ch/pitc/hitobito-backend/issues/48831/
aus irgend einem Grund scheinen die recipient_ids leer zu sein:
Person.where(id: recipient_ids.split(','))
NoMethodError: undefined method
split' for nil:NilClass`
Um alle Daten aus der alten Plattform übernehmen zu können, müssen zusätzliche Felder auf der Person angelegt werden
Geworben durch Person
Titel
Identifikation
- Mitgliedernummer (bisherige soll übernommen werden)
- Aufsteigend (wenn möglich)
- Unique
Eintrittsdatum
created_at
verwenden und auf Detailansicht Person, Personenliste und in Exporten anbietenVerstorben am
Status
Bank/Post
Beruf
Weitere Infos:
https://files.puzzle.ch/apps/files/?dir=/swe/projects/SVSE_Sportverband%20%C3%B6ffentlicher%20Verkehr/1_Dokumentation&fileid=786344
Bisherige Daten als SQL sind hier gespeichert: https://files.puzzle.ch/apps/files/?dir=/swe/projects/SVSE_Sportverband%20%C3%B6ffentlicher%20Verkehr/7_Verschiedenes/Gesamtexport&fileid=3863786
Beim Export von Personen, erscheint bei "Geworben durch" die ID der Person, statt des Namens der Person.
Neu: Name der Person im Export.
Aktuell wird noch ein SVSE Verband als Sektion importiert. Dort werden zudem Personen fälschlicherweise mittels Rollen zugewiesen.
Nach Absprache mit Bruno war dennoch nicht ganz klar welche Personen weshalb diese Sektion zugewiesen bekommen.
Rollen und Berechtigungen anlegen
See: #1
Dachverband
Im Import der Personen fehlen soweit noch Daten. Konkret Status und Geburtsdatum.
Der db/seeds/production/people.csv
rake task soll angepasst werden, dass neu die Felder
auch ins CSV exportiert werden. https://github.com/hitobito/hitobito_svse/blob/master/lib/tasks/migration.rake#L31
Platzierung vom status Feld im Dump ist noch unklar... => biz_contact.contactstatusid
FK auf aes_lov.id
birthdate befindet sich in der biz_contact
Tabelle
import:people
rake task muss angepasst werden, dass diese Felder berücksichtigt und entsprechend importiert werden. https://github.com/hitobito/hitobito_svse/blob/master/lib/tasks/import.rake#L13Mögliche Stati in Hitobito
Wenn "Ausgetreten" -> importieren in Sektion, aber ohne Rollen.
Löschen des Datums bei "Geworben am", wenn "Geworben durch" nicht gesetzt ist. (Importleichen)
Der SVSE betützt das von ihnen nicht gebrauchte Übernahme-Feld als Funktionsfeld.
Das Übername-Feld soll neu "Funktion" heissen
Domain: db.svse.ch ?
Vorbereitung der produktiven Umgebung
See: #1
Legende:
geändert
neu 🆕
gelöscht
SVSE
Sektion
Global
In SVSE können heute keine Kurse administriert werden. (Menupunkte nicht vorhanden)
Kurse können in SVSE administriert und damit die Qualifikationen genutzt werden
Die Funktionen TK (Technische Komission einer Sportart auf Verbandsebene) und L TK (Leitung Technische Komission) sollen beim Export klar ersichtlich sein.
Aktuell wurde dies der entsprechenden Rolle als Rollenbezeichnung angehängt. Dies ist zwar im Export ersichtlich, aber unübersichtlich.
Ideal wäre ein separates Feld.
Lösungsvorschläge?
Die Sektion ESV-Olten wünscht sich sein Logo (statt desjenigen vom SVSE Schweiz) in der Rechnung zu haben.
Aktuell gibt es die Möglichkeit dies über einen Rechungsbrief im Abomodul zu machen.
Mögliche Lösungen
Es werden noch ein paar Anpassungen zum Import der Funktionen benötigt (rake import:functions
).
Der SVSE kennt keine Freimitglieder. Nur die Sektionen.
rake db/seeds/production/functions.csv
muss erweitert werden. Neu das Feld sport_name
liefern.
Neues Query:
SELECT biz_contact.firstname AS first_name, biz_contact.lastname AS last_name, biz_address.addressline1 AS address, biz_function.name AS function_name, section.name AS section_name, sport.lovlic AS sport_name FROM biz_contact_function LEFT JOIN biz_contact ON biz_contact_function.contactid=biz_contact.id INNER JOIN biz_function ON biz_contact_function.functionid=biz_function.id LEFT JOIN aes_org AS section ON biz_contact_function.ownersuborgid=section.id LEFT JOIN biz_address ON biz_contact.praddressid=biz_address.id LEFT JOIN aes_lov AS sport ON biz_contact_function.sportid=sport.id WHERE biz_contact.deleted='f';
sport_name
kann aber bei Ombudspersonen auch "COMMON" sein... Diejenigen ignorieren & nicht importieren
rake import:functions
so anpassen, dass Ombudspersonen auch berücksichtigt werden und auf ihrer entsprechenden Sportart zugewiesen werden https://github.com/hitobito/hitobito_svse/blob/master/lib/tasks/import.rake#L121https://codimd.puzzle.ch/5PpFejBqSZ6WncLvFCab0g
DoD: Tickets für die Umsetzung spezifiziert
Codi Besprechung 22.6: https://codimd.puzzle.ch/4yZxtrzbS9-Xl8qzjURcww#
Freimitglieder sehen alle Mitglieder der Gruppe
Freimitglieder sehen niemanden ausser sich selber.
Aktuell gibt es einen Mix mit den Obmännern, Obfrauen, Ombunds-personen etc.
Diese sollen vereinheitlicht werden. Alle diese Rollen solle neu folgendermassen heissen:
Obfrau/-Mann
Auf SVSE Produktion folgende Optionen aktivieren:
Momentan können verschiedene Rechungstypen gewählt werden (ESR, QR, usw.)
Es sollen nur noch QR Rechnungen möglich sein.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.