20120605

Preparing for the demo

Wrote a new django-admin command garble for lino.apps.pcsw. This is used to turn a real database into a realistic demo database with fictive person names.

It changes the last_name and first_name of each person to a fictive name. These names are generated by the new module demonames which has been split out of demo_fr (see https://www.lino-framework.org/0228.html) and extended.

Also added to Cycler support for “sub-cyclers”.

Persons that are used for User accounts get not modified.

garble generates one foreigner per Belgian, where foreigners are either Africans, Russians or Moslems. This is of course far from being representative, but it looks usable. All generated Belgians have French first names because I didn’t yet find any easily usable list of dutch first names.

Schuldnerberatung

Mit Gerd Hilfe habe ich die hoffentlich definitive Datenstruktur erkannt: Die drei Felder amount1, amount2 und maount3 in Entry ersetzen durch ein einziges Feld amount, und zusätzlich ein Feld Entry.actor. Wenn das leer ist, bedeutet es “dieser Betrag ist gemeinsam”.

Die Eingabe am Bildschirm wird dadurch perfekt.

Die Herausforderung ist jedoch, dass diese Entries dann beim Ausdruck zusammengefasst werden müssen in Tabellen, die eine variable Anzahl von Kolonnen haben. Der Trick mit einer Methode setup_columns wie in UsersWithClients reicht hier noch nicht aus, denn die Kolonnen müssen dynamisch pro Budget erstellt werden.

17.45 Uhr : Bua Kinder, ich habs tatsächlich geschafft! Lino kann jetzt Tabellen verwalten, die ihre Kolonnen pro Request dynamisch ermitteln. Es ist ziemlich subtil und ich habe keine Zeit es zu dokumentieren, ich nenne nur einen Tipp: lino.core.actors.Actor.get_handle_name.

Aber bis auf weiteres bleibt die einzige Spur meiner heutigen Arbeit der changelog: http://code.google.com/p/lino/source/detail?r=1bc7b85a4c96.

Es ist auch noch mindestens ein dicker Bug drin.

Sonstige Änderungen:

  • Im Detail einer Person, Reiter “Sonstiges” ist jetzt eine Tabelle “Mitglied von” (also in welchen Haushalten die Person Mitglied ist)