20120327

Miscellaneous changes DSBE

Wäre es auch möglich die Reihenfolge der Kandidaten in der Übersicht sehen zu können (apparaît en haut de la liste des candiddats la personne qui été enregsitrée en premier comme candidate et ainsi de suite / Datum der Anfrage). Möglich? Noch besser wäre es diese Reihenfolge ändern zu können (eine Quote geben). Machbar?

  • Änderungen in jobs.JobsOverview:
    • die aktiven Stellenbesetzer sind jetzt nach Contract.applies_from (Beginndatum des Vertrags) sortiert. Bisher war die Reihenfolge zufällig.
    • die Kandidaten sind jetzt nach Candidature.date_submitted (Datum der Anfrage) sortiert. Bisher war die Reihenfolge zufällig.
    • In “Kandidaten” wurden fälschlicherweise auch Personen angezeigt, die nicht mehr begleitet sind (aber für die eine Stellenanfrage gemacht worden war).
  • Art 60/7 Konvention Enddatum: soll immer 1 Tag früher sein als jetzt. zB: 01/01/2012 bis 31/12/2013 und nicht bis 01/01/2013
  • Anpassungen nach den Änderungen “contacts.Contact -> contacts.Partner” vom 0316.

Continued on lino.apps.az

Die neue Anwendung lino.apps.az ist eine Studie für die Hausaufgabenschule im AZ Ephata. Ziel des Projekts ist es, ihnen mit wenig Aufwand eine Anwendung für die Verwaltung der Anwesenheiten maßzuschneidern. Ich habe dieses Pilotprojekt ausgewählt wegen der günstigen Rahmenbedingungen: es gibt dort einen spezifischen Bedarf, weder zu simpel noch zu komplex, sowie einen funktionierenden Server nebst Systemverwalter.

Oho, hier war ein Schöner:

TypeError
unbound method age() must be called with Teacher instance as first argument (got Person instance instead)

TRACEBACK:
File "l:\snapshots\django\django\core\handlers\base.py", line 111, in get_response
(...)

File "t:\hgwork\lino\lino\ui\extjs3\ext_store.py", line 621, in full_value_from_object
return unbound_meth(obj,request)

Der verschwand, nachdem ich lino.modlib.contacts.models.Born.age() in ein @displayfield verändert hatte (statt bisher des altmodischen return_type).

Und noch ein Bug: wenn man eine Familie speichert, meldet Lino “Ajax communication failed” mit folgendem traceback:

DatabaseError
Forced update did not affect any rows.

TRACEBACK:
  File "l:\snapshots\django\django\core\handlers\base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)

  File "t:\hgwork\lino\lino\ui\extjs3\ext_ui.py", line 1704, in api_element_view
    return self.form2obj_and_save(ar,data,elem,False,False) # force_update=True)

  File "t:\hgwork\lino\lino\ui\extjs3\ext_ui.py", line 1273, in form2obj_and_save
    elem.save(**kw2save)

  File "t:\hgwork\lino\lino\modlib\contacts\models.py", line 174, in save
    super(Partner,self).save(*args,**kw)

  File "l:\snapshots\django\django\db\models\base.py", line 464, in save
    self.save_base(using=using, force_insert=force_insert, force_update=force_update)

  File "l:\snapshots\django\django\db\models\base.py", line 532, in save_base
    raise DatabaseError("Forced update did not affect any rows.")

Das liegt an Django ticket #13864. Um es zu umgehen, muss ich irgendein Datenbankfeld definieren.

Insgesamt funktioniert es jetzt so, wie ich mir das nach dem Interview mit Marie und Henry gedacht hatte. Aber bevor es benutzbar wird, muss ich noch einige weitere Details bedenken.