Closed patriziajubla closed 1 month ago
(bumping issue) Schafft es dieser pull noch in den nächsten Release? 😇
Lieber @richardjubla
Merci für den Bump. :)
Wir haben uns das ganz kurz angeschaut: Auf den ersten Blick müsste man wohl im Code noch kleinere Anpassungen vornehmen, sowie die Specs für den Change schreiben. Dies ist desshalb ein PR, welchen wir nicht noch während dem Mergefreeze mergen möchten.
Gerne können wir einmal gemeinsam anschauen, ob ihr dies noch fertig machen wollt, oder ob wir das übernehmen sollen.
@patriziajubla
Wir wollen den PR mit Anwendungsfälle/Use Cases ergänzen, damit wir ihn umsetzten können. Damit können wir zwischen uns und Puzzle sicherstellen, dass alles wie gewollt "korrekt" funktioniert. Testen, Abnehmen und Specs schreiben.
@ThomasEllenberger Hier die gewünschten Specs:
Als Verantwortliche der Versicherung und der Statistik möchten wir die bestehenden und neuen Exporte erweitern und hinzufügen, um zusätzliche Datenpunkte einzuschließen und neue Exportmöglichkeiten zu bieten.
Erweiterung des bestehenden Exports:
census/federation
im Tab Statistik
Export CSV Versicherungen
Region
und Kanton
hinzufügen.Name
durch Schar
ersetzen.format.csv
-Sektion der index
-Methode der CensusEvaluation::FederationController
, um basierend auf params[:type]
entweder Export::Tabular::CensusFlock.csv(year)
oder Export::Tabular::CensusFlockFederation.csv(year)
zu verwenden.Erstellung neuer Exporte:
Export 1:
census/federation
im Tab Statistik
Export CSV Kantone
Kanton
, Region
, Schar
, Leitende
, Kinder
Export::Tabular::CensusFlockFederation.csv(year)
.Export 2:
census/state
im Tab Statistik
Export CSV Scharen
index
-Methode in CensusEvaluation::StateController
, die den CSV-Export für Scharen (Export::Tabular::CensusFlockState.csv(year)
) bereitstellt.Anpassung der Ansichtslogik für Buttons:
census/federation
wurde aktualisiert:
- if can?(:create, Census.new)
= action_button('Export CSV Kantone', params.merge(format: :csv), :download)
= action_button('Neue Bestandesmeldungen einfordern', new_census_path, :bullhorn)
= action_button('Export CSV Versicherungen', params.merge(format: :csv), :download)
Erweiterung der index
-Methode in CensusEvaluation::FederationController
:
def index
super
respond_to do |format|
format.html do
@flocks = flock_confirmation_ratios if evaluation.current_census_year?
end
format.csv do
if params[:type] == 'kantone'
authorize!(:create, Census)
send_data Export::Tabular::CensusFlockFederation.csv(year), type: :csv
else
authorize!(:create, Census)
send_data Export::Tabular::CensusFlock.csv(year), type: :csv
end
end
end
end
Hinzufügen einer neuen index
-Methode in CensusEvaluation::StateController
:
def index
super
respond_to do |format|
format.html do
# Implementiere entsprechende Logik für HTML-Ansicht, falls benötigt
end
format.csv do
authorize!(:create, Census)
send_data Export::Tabular::CensusFlockState.csv(year), type: :csv
end
end
end
index
-Methode in beiden Controllern korrekt funktionieren.index
-Methode der CensusEvaluation::FederationController
, um sicherzustellen, dass der richtige Export basierend auf params[:type]
ausgewählt wird.census/federation
gemäß den Berechtigungen korrekt angezeigt werden.Die Implementierung umfasst Anpassungen in den Exportklassen (Export::Tabular::CensusFlock
, Export::Tabular::CensusFlockFederation
, Export::Tabular::CensusFlockState
) sowie die Aktualisierung der Ansichtslogik für die Buttons in census/federation
.
@patriziajubla Ich behaupte, es ist "Bestandsmeldung" anstelle von Bestandesmeldung
@richardjubla Sollen wir uns dies entsprechend nochmal anschauen und mergen falls i.O? Würde auch diesen vorerst einmal auf 30 min Timeboxen falls das für dich stimmt.
@richardjubla Sollen wir uns dies entsprechend nochmal anschauen und mergen falls i.O? Würde auch diesen vorerst einmal auf 30 min Timeboxen falls das für dich stimmt.
Ja, gerne nochmal anschauen. Merci.
Ich sehe aktuell noch zwei grössere Punkte die für mich noch offen sind:
Delayed::Job
zu schedulen, welcher dann den Export übernimmt: https://github.com/hitobito/hitobito/blob/master/app/jobs/export/people_export_job.rbDer Code sieht in View/Controller eigentlich ok aus, der Exporter Code etwas overengineered auf den ersten Blick aber das ist ja ziemlich abgekapselt
@patriziajubla Habe veranlasst, dass der PR noch inklusive den gefundenen Hinweisen umgesetzt wird.
Wird hier weiter getracked/abgeschlossen:
Mehrere Buttons hinzugefügt und angepasst im Reiter Statistik