20131021 (Monday, 21 October 2013)

Calendar module

Continued on Renamed “Lino Faggio” to “Lino Voga”.

  • SiteConfig.site_calendar

  • lino.modlib.cal.models_event.Event.get_conflicting_events()

Authentication against an LDAP server

Thanks to Josef Kejzlar LDAP is now among Lino’s out-of-the-box authentication methods. He contributed a snippet which I integrated into Lino as a new setting ldap_auth_server (and a new middleware lino.core.auth.LDAPAuthMiddleware which is automatically being installed).

When using the latest development version you should be able to use it by specifying in your settings.py:

ldap_auth_server = 'DOMAIN_NAME SERVER_DNS'

The auth_middleware setting is still useful in case somebody wants to use yet another custom authentication method.

Internal changes:

  • moved make_permission_handler and make_view_permission_handler from lino.core.auth to lino.core.perms.

  • I used the fact that Django instantiates the MW classes at server startup in order to import the module and acquire domain credentials (creds = Creds(domain)) only once. I don’t know how expensive this is, but now it is no longer done for every request.

    This required to change the authenticate methods of AuthMiddleWareBase and subclasses into instance methods. (Don’t remember why they were class methods).

A new user group in Lino Welfare

Murphy’s law on the field. Here is a user request for Lino Welfare:

Roger vom ASD teilte mir gerade mit, dass der ASD anscheinend auch Zugriffe zu den Kursen und dem Reiter “Sprachen” braucht.

This functionality had until now been covered by the “integ” group. But there was already a custom menu header “Courses” of the main menu. So I added a new