20120612¶
Akteure und Einträge eines Budgets duplizieren¶
Wenn man ein Budget kopiert (dupliziert), dann müssen natürlich auch dessen Akteure und Einträge dupliziert werden. Ich wollte das gern generisch lösen (einmal für alle), und das war nicht ganz leicht.
Neues Modul lino.mixins.duplicable
.
Zur Aussparache: “duplicable” [du’plikəblə] means “able to produce a duplicate [‘duplikət],[‘du:plikeit]”.
Es gibt jetzt eine neue magische Methode _changed, die ähnlich wie die FIELD_changed-Methoden funktionieren, aber eben bei jedem “Save” (das übers UI gemacht wurde) einmal aufgerufen wird. Und zwar nachdem alle FIELD_changed aufgerufen wurden und vor obj.save(). Das ist nötig, weil Budget.fill_defaults beim Duplizieren natürlich nicht aufgerufen werden darf. Die demo-Fixture ruft Budget.fill_defaults explizit auf.
Duplizieren ist kein ganz triviales Thema, Kann sein, dass da noch Überraschungen kommen. En attendant funktioniert es immerhin.
Exploring Tx25¶
lino.utils.log
now supports a new keyword argument loggers.
If specified this must be a string containing a space-separated list of
loggers to be redirected to the same file.