Friday, August 14, 2020¶
Installing Mailman 3 on Debian¶
Ha! The mailman service doesn’t use /var/etc/mailman.cfg
as config file
but
/opt/mailman/mailman-suite/mailman-suite_project/var/etc/mailman.cfg
! Of
course! With mailman3 you can have more than one “mailman” on a same server.
Here is an interesting page: https://wiki.list.org/DOC/Howto_Install_Mailman3_On_Debian10 Very good beginning! Not yet finished.
My next question is : how will we manage upgrades? Hamza installed a git clone of the mailman suite, and that seems the way they also support. Which means that I should not directly modify the settings.py file, rather create a local_settings.py file.
Martina cannot duplicate entries of a budget¶
Wow, a subtile bug that slipped through the test suite: Martina didn’t have the Duplicate action on the entries of a budget.
I remember how this bug was introduced. It was over a year ago when working for Lino Tera. They asked me to remove “that useless Duplicate button” for every normal user. So I added a role “Expert” and made both the Duplicate and the Merge actions require it. And at that moment I didn’t imagine that a debts mediator in welfare would need the duplicate action.
The local fix was easy:
class Duplicate(actions.Action):
...
def get_view_permission(self, user_type):
if user_type:
if user_type.readonly:
return False
# if not user_type.has_required_roles([Expert]):
# return False
return super(Duplicate, self).get_view_permission(user_type)
And this is probably the most reasonable general solution as well. Even normal users in Lino Tera actually won’t be too disturbed by seeing the Duplicate action on models that are duplicable. I will need to explain this to Harry who called that button “useless”.
Changelog: The duplicate action is again visible for every user, not only for
users having the lino.core.roles.Expert
role.
The merge action is similar but different. It is similar in that it is a
“standard” action, defined by the framework. Application developers have hooks
to customize what happens when two database objects are merged, but the basic
procedure is always the same. We also have the allow_merge_action
attribute on Lino’s base Model class
because there are models for which merging makes no sense or would be very
difficult to implement and control. For example on a contacts.Partner
,
which can be MTI parent to several other database objects.
The Introduction to actions page was still very useless for a new Lino developer. I
discovered that I can mix prosa documentation style with API docs. For example
lino.core.actions.Action.readonly
is now documented only in
docs/dev/actions.rst
. Until now I had been reluctant to convert docs
about core classes to prosa because I didn’t know this.
No help_texts for lino¶
Oho, I noticed a side effect of some change in Sphinx that caused the
help_text.py
files to not get updated any more: seems that the
sphinx.addnodes.desc_signature
node now stores the name of the
described object now in the “ids” attribute instead of “names”. I didn’t
understand every detail but it seems to work again.