20131025 (Friday, 25 October 2013)¶
Was jetzt noch fehlte bei den Reservierungen (d.h. Kursen und Buchungen) ist ein transparenteres Handhaben der Aktion “Termine generieren”: wann soll Lino automatisch die Termine aktualisieren?
Entwurf (“Anfrage”) : editierbar. Keine Termine generieren.
Option (“vorgemerkt”) : Vermieter sagt zu, dass dieser Interessent informiert wird bevor Ruam an einen Dritten vermietet wird.
Registriert (“Festbuchung”) : Mieter hat definitiv zugesagt. Buchung gilt als fakturierbar
Storniert : Veranstaltung hat nicht stattgefunden, Buchung soll aber nicht gelöscht werden (z.B. weil sie auch fakturiert war)
Some more optimizations and bugfixes for the framework:
Adapted
lino.core.model.Model.after_ui_save()
(andform2obj_and_save
who calls it) to the new situation of storing the response in thelino.core.requests.BaseRequest
(ar
) : no more need to pass and return a dict of keywords (kw
) used to store that response.Discovered and fixed the following bug:
@dd.when_prepared('partners.Person','partners.Organisation') def add_merge_action(model): model.define_action(merge_row=dd.MergeAction(model))
This code accidentally used
partners
insterad ofcontacts
. And Lino did not complain! Why? Because when_prepared until now used is_installed_model_spec and silently ignored model specifications with app_labels that are not installed. Oh no, that’s too much automation. I markedis_installed_model_spec
as deprecated. Now the above code (correctly) raises an Exception “Oops, there are pending injects: partners.Person (…)”lino.mixins.Registrable
: the “Register” and “Unregister” actions now have icons.Since 20130820 we have the trick for disabling inherited actions by redefining on my subclass a class attribute of same name with value None. This trick worked on Actors, now it also works on Models.
New settings
calendar_end_hour
andcalendar_start_hour
.Until now it is still theoretically possible to define different workflow_state_field for different actors of a same model.