20120120

Calendar panel

Ta-daa! The long awaited calendar panel finally works! Users can create, move resize and delete events using the calendar panel.

The Ta-daa doesn’t apply to the following limitations which we’ll tackle when need arises:

  • managing recurrent events
  • displaying also tasks in the calendar panel

As expected, it was all just a fiddling with the gory details of AJAX communication between Lino and the Ext.ensible CalendarPanel.

Each StoreField now has a name attribute.

py2js and the Ext.ensible.cal.EventMappings defined in :linolib.js now use the new Lino configuration settings lino.Lino.datetime_format_strftime, lino.Lino.datetime_format_extjs and lino.Lino.parse_datetime().

Note that datetime is not simply a combination of date and time: time fields contain only minutes, while datetime fields have also seconds (in a default configuration).

So there are now 9 settings to handle date and time values: 2 attributes containing a format string (one using strftime and the other using extjs syntax), and one method that parses such strings to a Python value:

  • date: strftime extjs parse
  • time: strftime extjs parse
  • datetime: strftime extjs parse

Endspurt vor dem Release

Neue Klasse lino.apps.dsbe.models.ResidenceType. Das Feld Person.registry_type ist jetzt kein Integer mehr sondern ein CHAR und wird automatisch konvertiert. Als Test importiere ich einen aktuellen Dump eine laufenden Lino: funktioniert auf Anhieb. Bravo, Lino!

Noch was Neues

Upps: vor dem Release muss ich noch lino.modlib.jobs.models.ContractsSituation (“Situation Art 60-7”) konvertieren bzw. neu implementieren. Das ist nicht trivial, weil dieser Report eigentlich gar keine Kolonnen hat, sondern eine tabellarisch angeordnete Liste von Views… hm… Aufschieben wäre jedenfalls uneffizient, denn die alten Listings funktionieren momentan überhaupt nicht (wahrscheinlich zwar nur ein kleiner Bug im Javascript, aber da die Listings sowieso in den Müll kommen, lohnt der sich nicht)

lino.modlib.jobs.models.JobsOverview.