Saturday, May 2, 2015¶
The current permissions system is not well documented. And there is a serious reason for this. The reason is that I am not fully satisfied. Now I had some inspiration and see quite clearly how to do it: #173 (Class-based permission control (UserRoles)).
For example in lino_welfare.modlib.integ
, instead of doing:
dd.add_user_group(config.app_label, config.verbose_name)
class Clients(dd.Table):
required = dd.required(user_groups='integ')
we do:
from lino.core.permissions import UserRole
class IntegrationAgent(UserRole):
verbose_name = _("Integration agent")
class Clients(dd.Table):
required = dd.required(roles=IntegrationAgent)
Especially lino.modlib.users.utils.make_view_permission_handler
What about Site.get_default_required
Can permission things go back to lino.core.permissions? Or leave them in
lino.modlib.users
?