Open mlue00 opened 2 years ago
Offene Frage gemäss Mail 17.10.22:
Danke für die Fragen Oli!
Können wir dies nicht im Core umsetzten? Dies ist immer wieder ein Thema bei Kunden.
Nein, wenn wir es in der besprochenen minimalen Version umsetzen ist es ein Datenschutzproblem, weil Rechnungssteller und deren Nachfolger für immer die aktuelle Adresse der Empfänger einsehen können. Wenn wir stattdessen die Rechnungen umbauen würden, sodass das Adressfeld nicht mehr ein grosses Freitextfeld ist sondern separate Felder, dann könnten wir es im Core machen. Aber das hätte grössere Umbau-Auswirkungen, plus es wäre unklar, was mit den alten Rechnungen geschehen würde. Wenn die Mitte bereit ist, diesen Nachhaltigkeits-Umbau zu machen, dann gerne im Core.
Ich sehe eine weitere Möglichkeit, wie das gewünschte Ergebnis mit Anpassungen im Core erreicht werden kann ohne die Datenschutzprobleme und ohne dass ein grösserer Umbau nötig wäre:
Auf der Rechnung speichern wir zu dem bestehenden Empfänger Freitextfeld zusätzlich die für den Export und die Sortierung benötigten Attribute. Für die Darstellung der Rechnung verwenden wir wie bisher das bestehende Rechnungsempfänger Attribut. Für den Export und das Sortieren verwenden wir die spezifischen Attribute. Wenn der Rechnungssteller die Berechtigung auf den Rechnungsempfänger verliert, kann er trotzdem noch die alte Rechnung mit den zum Rechnungszeitpunkt gültigen Personendaten sehen. Änderungen an den Daten des Rechnungsempfängers reflektieren sich nicht auf der Rechnung.
Zwei Fragen zu diesem Vorschlag:
Wir streben an die Adressfelder wie auf der Person auch auf den Rechnungen so einzuführen:
Person: first_name, last_name, company_name, company (boolean), address, zip_code, town, country
Für neue Rechnungen neu als separate Felder welche recipient_address
Feld ersetzen.
Alte Rechnungen werden als Legacy Rechnungen angesehen und verwenden das recipient_address Feld. Neue Rechnungen nur noch mit den neuen, einzelnen Feldern.
Folgende Bereiche müssen angepasst werden:
@olibrian kannst du bitte checken wie wir hier weiter fahren?
Als Person bei der Mitte, welche häufig Listen exportiert, möchte ich, dass diese automatisch nach Namen sortiert werden, um den Aufwand für die manuelle Bearbeitung möglichst klein zu halten.
Neu sollen exportierte Listen von Rechnungen automatisch nach Namen sortiert werden. Bei Exports von Rechnungen sollen ausserdem, falls vorhanden, die Angaben der "Empfängeradresse" auch in einzelnen Spalten mitgeliefert werden.
Tech-Spec
Umsetzung im Mitte Wagon
Exportierte Listen von Rechnungen werden automatisch nach Namen sortiert.
Ergänzen folgender Attributen beim Rechnungsexport:
Aus Datenschutzgründen empfehlen wir folgende Felder nicht zu exportieren
Beispiel CSV-Export: https://die-mitte.puzzle.ch/de/groups/1/invoice_lists/69/invoices?returning=true&page=1&q=&state=&due_since=&from=1.1.2022&to=31.12.2023
ToDo
InvoicesController#list
überschreiben mitsuper.order(Person.order_by_name_statement)
sodass automatisch nach Namen des Recipients sortiert wird (möglicherweise muss noch ein LEFT JOIN hinzugefügt werden)Export::Tabular::Invoices::List
inINCLUDED_ATTRS
oderCUSTOM_METHODS
die oben aufgelisteten Attribute der Empfängerperson ergänzenExport::Tabular::Invoices::Row
gegebenenfalls die Implementation dieser Spalten ergänzen. Achtung: Es gibt Rechnungen, die keinenrecipient
haben, entweder weil dieser inzwischen gelöscht wurde oder weil es eine externe Rechnung ist, dessen Empfänger nicht in hitobito geführt wird. Falls kein Recipient vorhanden ist, sollen die neuen Spalten einfach leer gelassen werden.