Navigation

There is more to do for #1378. The [ticket 1] links in
notifications are now correctly stored as memo markup (and no longer
as plain html), but I now need to write a subclass of HtmlRenderer
which renders them as ExtJS permalinks (and not as javascript calls)
because otherwise they won’t work when clicked in an email.

A first series of commits does not yet change anything, it is just a
reorganisation of code in order to prepare my coup. There is danger
that these changes introduced bugs which are not covered by the test
suite (but Wer nichts wagt, der nichts gewinnt). Here is an
uncomplete list of these changes:

new class lino.core.renderer.JsRenderer contains things
needed by both extjs3 and extjs6 renderer. The extjs6 renderer is a
modified copy of the extjs3 renderer, and this will reduce the
amount of duplicated code.

New method obj2url.

goto_instance() now implemented by the renderer, not by the
request.

lino_xl.lib.countries now depends on lino_xl.lib.xl
(that’s why belref didn’t translate strings like “Countries” or
“Places” to German and French.

I then started to do what I actually wanted to do: get the links right
for emails. Yet another series of dangerous code changes. For
example, I changed signature of
lino.core.rednerer.Renderer.get_detail_url(): no longer an
obj, but the actor and the pk. Here are these changes: