==================================
20130425 (Thursday, 25 April 2013)
==================================

Choosing the company of a ClientContact
---------------------------------------

It was not possible to choose a company in :class:`welfare.pcsw.ClientContact`.
(Already in the last release?).
The reason was a double bug:

- `company_choices` still used 
  the old interface where any additional keywords were interpreted 
  as `known_values`.
  
- Finding the default contact person for a company failed when
  the modlib Person model was overridden, raising an AttributeError 
  "type object 'Person' has no attribute 'objects'"::

    File "/home/luc/pythonenvs/py27/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 115, in get_response
    (...)
    File "/home/luc/hgwork/lino/lino/modlib/contacts/models.py", line 792, in full_clean
    qs = self.contact_person_choices_queryset(self.company)
    File "/home/luc/hgwork/lino/lino/modlib/contacts/models.py", line 787, in contact_person_choices_queryset
    return Person.objects.filter(rolesbyperson__company=company).distinct()  


:mod:`lino.utils.ajax` now also logs a warning on the development 
server. Much easier to read than opening firebug and look at the 
response.

Added new testcase to :mod:`lino_welfare.tests.pcsw_demo_tests` 
for the above bug.

One of these cases discovered another bug and is still failing because 
/choices ignores the "query=mutu" string.


`master_instance` of a VirtualTable
-----------------------------------

Another bug was reported by Uwe:
Tabelle "Resultat" einer Tx25 ist leer.

This was because of a syntactical mousetrap: 
`TableRequest.parse_req(...,**kw)` does::

    if not kw.has_key('master_instance'): ...

but `AbstractTable.request` did::

    @classmethod
    def request(self,master_instance=None,**kw):
        kw.update(actor=self)
        # WRONG:
        # kw.update(master_instance=master_instance)
        # CORRECT:
        if master_instance is not None:
            kw.update(master_instance=master_instance)
        ar = TableRequest(**kw)



References to the userdocs
--------------------------

References to the userdocs of 
https://welfare-user.lino-framework.org
were broken because 
in :mod:`rstgen.sphinxconf`
the `intersphinx_mapping` was wrong.
(TODO: These values of course should be configurable...)

Last-minute changes
-------------------

- Im Kontext Sprachkurse wurde "Register" versehentlich durch 
  "Registrieren" statt "Eintragen" übersetzt.
  
- CandidatesByCourse und ParticipantsByCourse: 

  - Kolonne "Zustand" ist sinnlos weil es jetzt workflow_buttons gibt
  - :attr:`auto_fit_column_widths <lino.core.tables.AbstractTable.auto_fit_column_widths>` 
    eingeschaltet 

:class:`welfare.jobs.NewJobsOverview` : Kolonnen "Probezeit" und "Kandidate" ausgetauscht




TODO
----

- Added another new testcase to :mod:`lino_welfare.tests.pcsw_demo_tests` 
  for the `master_instance` of a VirtualTable bug. 
  Now "fab test" fails with "There's no RetrieveTIGroupsRequest 
  with primary key u'16'". But 
  "python manage.py test lino_welfare.DemoTest" 
  runs it successfully.
  I guess some setUp/tearDown problem.