20111026
========

Release & upgrade in Eupen
--------------------------

Released :lino:`/releases/2011/1026` 
and upgrade in Eupen from 
2056:b7dcbc73707e to 2057:3d185f19e083::

  pulling from https://lino.googlecode.com/hg/
  searching for changes
  adding changesets
  adding manifests
  adding file changes
  added 24 changesets with 360 changes to 183 files
  178 files updated, 0 files merged, 0 files removed, 0 files unresolved


The data migration :func:`lino.apps.dsbe.migrate.migrate_from_1_2_3` 
is less complex this time. the following generated code in the dpy dump 
caused a traceback when `owner_type_id` was None:

  def create_cal_task(id, user_id, created, modified, owner_type_id, owner_id, ...):
      owner_type_id = ContentType.objects.get_for_model(owner_type_id).pk
      return cal_Task(id=id,user_id=user_id,...)

After release 1.2.4
-------------------

It is almost working. But the end users get the following error 
message in their JavaScript console::

  Uncaught TypeError: Object #<HTMLAppletElement> has no method 'open'


`ryanhowdy <http://ww.w.jumploader.com/forum/viewtopic.php?t=2326&highlight=&sid=373c4e12272baeca219958ed7a2fd1cb>`_
had a similar problem in April 2010. But that thread doesn't seem to help us.

Maybe the problem is related to the two "notes" that appear when compiling?

::

  javac  davlink/DavLink.java
  Note: davlink\DavLink.java uses unchecked or unsafe operations.
  Note: Recompile with -Xlint:unchecked for details.

Indeed, compiling with `-Xlint` tells us more::

  javac -Xlint:unchecked davlink/DavLink.java
  davlink\DavLink.java:161: warning: [unchecked] unchecked call to put(K,V) as a member of the raw type java.util.Hashtable
              docTypes.put(ext,t);
                          ^
  davlink\DavLink.java:172: warning: [unchecked] unchecked call to put(K,V) as a member of the raw type java.util.Hashtable
              launchers.put(fileName,l);
                           ^
  2 warnings    
  
`Richard's Ramblings <http://www.richardsramblings.com/2007/12/java-unchecked-compiler-warnings/>`_
gives the explanation. So I added type checking to :term:`DavLink` by replacing

::

    Hashtable docTypes = new Hashtable();
    Hashtable launchers = new Hashtable();

by

::

    Hashtable<String,DocType> docTypes = new Hashtable<String,DocType>();
    Hashtable<String,Launcher> launchers = new Hashtable<String,Launcher>();

But that's not the problem. It probably has to do with the 
security profily of end users. Nicolas will work on it.

Check-in 20111026b


Tasks, Events and reminders
---------------------------

- removed fields alarm_value, alarm_unit and dt_alarm from :class:`lino_xl.lib.cal.Component` 
  (i.e. tables cal.Task and cal.Event)
  Lino does not actually do what caldav calls an "alarm". 
  Tasks are to be displayed as long as they are not done.
  
- :class:`lino.utils.choicelists.ChoiceList` has a 
  new feature: the list items (`BabelChoice` instances) 
  have a `__get__ยด  method that looks for a class method of that name and 
  return it (after having it curried with self).
  Usage example is :meth:`lino_xl.lib.cal.utils.DurationUnit.add_duration`.

Miscellaneous
-------------

- :class:`lino.modlib.jobs.models.Functions` : added `column_names` 
  to have mandatory field `sector` at the beginning.
  
- AttributeError "'Candidature' object has no attribute 'contract'" at `/api/jobs/ContractsSituationReport`. Fixed.

- The test suite has been tidied up.
  
Check-in 20111026c
  
New model CourseOffer
---------------------

Check-in 20111026d
Released :lino:`/releases/2011/1026b`