20110110¶
a) job_office, Synchronisierung¶
- Person.clean prüft jetzt auf “Circular reference”. Sonst kommt irgendwann mal ein Schlaumeier auf die Idee, einer Kontaktperson des ADG sich selbst als Kontaktperson einzutragen. demo.dpy tries to create a circular reference and tests whether it fails: - from django.core.exceptions import ValidationError # a circular reference: bernard is contact for company adg and also has himself as `job_office_contact` bernard = Person.objects.get(name__exact="Bodard Bernard") adg = company(name=u"Arbeitsamt der D.G.",city=eupen,country='BE') yield adg adg_dir = contact(company=adg,person=bernard,type=1) yield adg_dir try: bernard.job_office_contact = adg_dir bernard.clean() #~ bernard.save() except ValidationError: pass else: raise Exception("Expected ValidationError") - Vielleicht müsste lino.dsbe eher ein neues Modell CoachedPerson(contacts.Person) definieren. Dann hätten “normale” Kontaktpersonen gar nicht die vielen Felder des DSBE. Dazu wäre ein Feld Person.type nötig. 
- Noch drei neue Felder in Person: - Lino - TIM - card_type - CARDTYPE - card_issuer - CARDISSUER - noble_condition - NOBLECOND 
- Statt eines Klassenattributs job_office im LinoSite habe ich jetzt ein FK-Feld job_office in SiteConfig. Dieser Parameter ist wie site_company auf der Grenze zwischen statischen und dynamischen Konfigurationsparametern. Eindeutig dynamisch ist bisher eigentlich nur next_partner_id. Aber job_office und site_company sind übers UI leichter einzugeben. 
- street_box wurde beim Synchronisieren aus TIM vergessen. 
- Neue Funktion - lino.Site.setup_dblogger(). Dadurch kann man nun den loglevel des dbloggers lokal verändern.
b) Cache-Bug¶
- Auf der Suche nach dem “Cache-Bug”. master params sind die Parameter, die ein slave dieses Panels als base params übernehmen soll. master- und baseparams dürfen immer nur mk und mt sein. Der Fehler ist scheinbar, dass ich ‘query’ auch da rein speichere. Für ‘query’ brauche ich eine weitere variable query_params. Bug behoben. Da waren im Anschluss noch einige Nebenwirkungen mit dem refresh. Aber jetzt scheint alles zu klappen.