============================ Wednesday, February 25, 2015 ============================ Learning from yesterday ======================= I solved :ticket:`107`, at least theoretically. To be tested on the field by :ticket:`108`. A ticket for Mahmoud ==================== Created new :ticket:`109` and assigned it to Mahmoud. Miscellaneous ============= Created new :ticket:`110`. This is waiting for confirmation from Chatelet. Final sprint in Eupen ===================== Recorded and fixed a subtle new ticket :ticket:`111`. - First of all there was a translation problem: "Ausgestellte Bescheinigungen" --> "Ausgestellte Bestätigungen" - The problem was in :func:`lino.modlib.excerpts.models.post_init_excerpt` when setting the default language of a new excerpt. I had been thinking that the :attr:`recipient ` overrides the :attr:`owner `, but as it turns out it is the opposite: the `owner` overrides the `recipient`. This rule is important when they specify both a `recipient` and a `language` on the :class:`Confirmation `. setup() got an unexpected keyword argument 'known_values' ========================================================= Created new :ticket:`112` and fixed it. Here is the exception:: WARNING AjaxExceptionResponse: TypeError setup() got an unexpected keyword argument 'known_values' TRACEBACK: File "/home/luc/pythonenvs/py27/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 112, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/home/luc/pythonenvs/py27/local/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view return self.dispatch(request, *args, **kwargs) File "/home/luc/pythonenvs/py27/local/lib/python2.7/site-packages/django/views/generic/base.py", line 87, in dispatch return handler(request, *args, **kwargs) File "/home/luc/hgwork/lino/lino/modlib/extjs/views.py", line 208, in get return settings.SITE.kernel.run_callback(request, thread_id, button_id) File "/home/luc/hgwork/lino/lino/core/kernel.py", line 507, in run_callback c.func(ar) File "/home/luc/hgwork/lino/lino/modlib/beid/mixins.py", line 370, in yes return self.goto_client_response(ar2, obj, msg) File "/home/luc/hgwork/lino/lino/modlib/beid/mixins.py", line 297, in goto_client_response ar.goto_instance(obj) File "/home/luc/hgwork/lino/lino/core/requests.py", line 886, in goto_instance self.set_response(data_record=self.elem2rec_detailed(obj)) File "/home/luc/hgwork/lino/lino/core/requests.py", line 695, in elem2rec_detailed rec = ar.elem2rec1(rh, elem, **rec) File "/home/luc/hgwork/lino/lino/core/requests.py", line 666, in elem2rec1 rec.update(data=rh.store.row2dict(ar, elem)) File "/home/luc/hgwork/lino/lino/core/store.py", line 1166, in row2dict v = fld.full_value_from_object(row, ar) File "/home/luc/hgwork/lino/lino/core/store.py", line 337, in full_value_from_object return self.vf.value_from_object(obj, ar) File "/home/luc/hgwork/lino/lino/core/fields.py", line 435, in value_from_object return m(obj, ar) File "/home/luc/hgwork/lino/lino/modlib/uploads/choicelists.py", line 100, in f known_values=dict(type=utype)) File "/home/luc/hgwork/lino/lino/core/requests.py", line 267, in spawn_request return self.__class__(**kw) File "/home/luc/hgwork/lino/lino/core/requests.py", line 186, in __init__ self.setup(**kw) [25/Feb/2015 14:00:13] "GET /callbacks/-1064089634/yes?_dc=1424865612749 HTTP/1.1" 500 2183 The problem was in :meth:`lino.core.kernel.Kernel.run_callback` who created the callback request always as an instance of :class:`ActorRequest `. But most requests are instances of :class:`TableRequest ` instances. We must take care to create the right class. Left for a future occasion: Why did :mod:`lino_welfare.projects.std.tests.test_beid` not find this bug? Write a test case which would have detected the problem. Applets using "resources from the remote locations" =================================================== When I go to a Lino site with :ref:`davlink` and :ref:`eidreader`, I currently always need to manually confirm two exceptions: The application [DavLink|EIDReader] from http://127.0.0.1:8000/ uses resources from the following remote locations: - http://127.0.0.1:8000/media/eidreader - http://127.0.0.1:8000 Are you sure you want to run this application? | For more information see: | `JAR File Manifest Attributes `_ | and | `Preventing the Repurposing of an Application `_ Tutorials and the test suite ============================ I noted that :ref:`lino.tutorial.polls` is part of the test suite, but it is not a demo project (see :attr:`demo_projects `). This means that running the Lino test suite does currently not create a persitent cached demo database and a `media/cache` of that project. To get that, we would need to move the Python code from `/docs` to `/lino` (i.e. to somewhere under :mod:`lino.projects`). That's needed when running the test suite on Travis. This move would require substantial changes in the text. But it would have another advantage: we would be able to write more than one tested document about the same demo project.