hitobito / hitobito_die_mitte

A hitobito wagon defining the organization hierarchy and additional features for Die Mitte Schweiz.
Other
2 stars 1 forks source link

PEOPLE: complete_finance Permission für IT-Support/Leitung vs. performance #219

Open mtnstar opened 1 year ago

mtnstar commented 1 year ago

complete_finance Permission für IT-Support/Leitung auf Bundesebene führt zu n+1 Queries beim Auflisten von Personen. Verursacht wird das ganze durch das überarbeitete DropDown 'Rechnung erstellen'. In diesem Dropdown werden sämtliche Layer/Gruppen mit Rechnungseinstellungen aufgelistet. Die Liste ist bei Die Mitte Prod entsprechend lang:

image

Requests dauern dadurch sehr lange. (+30s) Ausserdem ist es auch extrem unpraktisch eine so lange Liste im Dropdown zu haben. (tausende von Pixel lang)

Als Quickfix haben wir die :complete_finance Permission entfernt: https://github.com/hitobito/hitobito_die_mitte/commit/79e8561b6c1f61d200ff9348aab21f150ee18521

Help-Ticket: https://help.puzzle.ch/#ticket/zoom/6179

Tech-Spec

/de/groups/22/people?returning=true
eager loading detected
Group::Kanton => [:invoice_config]
Add to your query: .includes([:invoice_config])
ll stack
/usr/src/app/hitobito/app/helpers/dropdown/invoice_new.rb:99:in `block in finance_groups_items'
/usr/src/app/hitobito/app/helpers/dropdown/invoice_new.rb:98:in `map'
/usr/src/app/hitobito/app/helpers/dropdown/invoice_new.rb:98:in `finance_groups_items'
/usr/src/app/hitobito/app/helpers/dropdown/invoice_new.rb:89:in `init_items'
/usr/src/app/hitobito/app/helpers/dropdown/invoice_new.rb:20:in `initialize'

ToDo

mtnstar commented 1 year ago

n+1 query fix implementiert und in master gemerged: https://github.com/hitobito/hitobito/pull/2100