Thursday, April 1, 2021

Importing contact data

New action lino_xl.lib.contacts.Partner.import_text. For testing I switched to default_ui extjs because this action is also affected by #4066. Got a first case to work. I publish this, but this is definitively not fool-proof. Maybe somebody else wants to continue on this?

Customizing the toolbar

I updated some pages of the Developer Guide: Introduction to layouts. And one new page More about layouts.

The Actor.hide_top_toolbar attribute is conceptually the same as Action.hide_navigator. React mixed them up until now, but from now on now knows only at the hide_navigator attribute.

Both attributes existed also on Action, where I removed them.

The hide_top_toolbar attribute, in ExtJS, causes the top toolbar to become a bottom toolbar. And that bottom toolbar never has navigation widgets. React does not use it any more, and I think that we will deprecate it in some future. So when application code says hide_top_toolbar = True, then you should change this to hide_navigator = True.

New actor attribute Actor.allow_delete. We need it for lino.modlib.system.SiteConfig, which, indeed is not Actor.readonly (every site manager can edit the site parameters). But even for a site manager it makes no sense to delete this record.

After these changes I did a manual tour for testing the following actors:

  • lino_xl.lib.calview.DaySlave

  • calendar WeeklySlave in presto

  • User preferences

  • SiteConfig

  • Shopping Cart

  • Accounting Report

  • polls.AnswerRemarksByAnswer

Sharif watched me via Jitsi. This had two advantages: (1) the task was less boring for me and (2) he learned quite a few things about Lino.

As a side effect of the testing tour, I added a :attr:`window_size <lino.core.layouts.Layout.window_size> to the site parameters window of most applications (except for welfare where its a tabbed detail layout).