Friday, December 21, 2018

I fixed some problems in cpaschatelet after the last release.

I restored the detail layouts for the contracts in isip and immersion (because at least the field eval_policy is actually also still used).

I fixed a bug which caused a traceback “RelatedObjectDoesNotExist: Course has no line.” and potentially a problem Cannot create course in “My courses” reported by aurelie. Added a test case in courses : Workshops.

There was a mysterious problem when they tried to print a notes.Note:

Traceback (most recent call last):
  File "/var/www/vhosts/prod/env/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/var/www/vhosts/prod/env/local/lib/python2.7/site-packages/django/views/generic/base.py", line 68, in view
    return self.dispatch(request, *args, **kwargs)
  File "/var/www/vhosts/prod/env/local/lib/python2.7/site-packages/django/views/generic/base.py", line 88, in dispatch
    return handler(request, *args, **kwargs)
  File "/var/www/vhosts/prod/repositories/lino/lino/modlib/extjs/views.py", line 564, in post
    return settings.SITE.kernel.run_action(ar)
  File "/var/www/vhosts/prod/repositories/lino/lino/core/kernel.py", line 925, in run_action
    a.run_from_ui(ar)
  File "/var/www/vhosts/prod/repositories/lino/lino/modlib/printing/actions.py", line 161, in run_from_ui
    obj.build_target(ar)
  File "/var/www/vhosts/prod/repositories/lino/lino/modlib/printing/mixins.py", line 194, in build_target
    t = bm.build(ar, elem.__class__.do_print, elem)
  File "/var/www/vhosts/prod/repositories/lino/lino/modlib/printing/choicelists.py", line 205, in build
    return self.simple_build(ar, elem, tplfile, target)
  File "/var/www/vhosts/prod/repositories/xl/lino_xl/lib/appypod/choicelists.py", line 54, in simple_build
    **settings.SITE.appy_params).run()
  File "/var/www/vhosts/prod/env/local/lib/python2.7/site-packages/appy/pod/renderer.py", line 649, in run
    self.finalize()
  File "/var/www/vhosts/prod/env/local/lib/python2.7/site-packages/appy/pod/renderer.py", line 807, in finalize
    output = self.callLibreOffice(resultName)
  File "/var/www/vhosts/prod/env/local/lib/python2.7/site-packages/appy/pod/renderer.py", line 692, in callLibreOffice
    self.pdfOptions, self.ppp, self.stream).run()
  File "/var/www/vhosts/prod/env/local/lib/python2.7/site-packages/appy/pod/converter.py", line 694, in run
    self.convertDocument()
  File "/var/www/vhosts/prod/env/local/lib/python2.7/site-packages/appy/pod/converter.py", line 662, in convertDocument
    options = self.setPdfOptions()
  File "/var/www/vhosts/prod/env/local/lib/python2.7/site-packages/appy/pod/converter.py", line 642, in setPdfOptions
    r = self.props(self.pdfOptions.items())
AttributeError: 'str' object has no attribute 'items'

When trying to explore the problem, I noted that lino_xl was missing in their lino.core.site.Site.auto_configure_logger_names and added it, and afterwards the problem had vanished without any valid explanation.

I stumbled into the pitfall that beid.Plugin.url_handler_prefix must include the “://” and added a new error message “Invalid urlhandler_prefix {} (must end with ‘://’)”