Thursday, December 21, 2017¶
Reception clerks should see the calendar tab¶
In lino_welfare.projects.eupen
, a reception clerk (user type
210) now can see the Calendar tab because it contains the
EntriesByClient
panel.
I changed the required roles for that panel from just OfficeUser to (OfficeUser, OfficeOperatoir):
>>> rt.models.cal.EntriesByClient.get_view_permission(p210)
True
I added a __getitem__()
method to BaseLayout
to make
the following doctest snippet more readable:
>>> print(py2rst(pcsw.Clients.detail_layout['calendar']))
**Kalender** (calendar) [visible for 100 110 120 200 210 220 300 400 410 500 510 800 admin 910]:
- **Kalendereinträge** (cal.EntriesByClient)
- **Aufgaben** (cal.TasksByProject) [visible for 100 110 120 200 300 400 410 500 510 admin 910]
Above snippets are being tested in Users.
The Welfare test suite is currently failing because #2223 asks to make the contracts tab visible as well. And some details are waiting customer feedback.
While working on this ticket, I stubled into #2226 which needs to get fixed before #2223 can be closed.
aids.ConfirmationChecker¶
I tried the new lino_welfare.modlib.aids.ConfirmationChecker
on their production data:
$ python manage.py checkdata aids.ConfirmationChecker
Found 536 and fixed 0 data problems in Income confirmations.
Found 92 and fixed 0 data problems in Refund confirmations.
Found 55 and fixed 0 data problems in Simple confirmations.
Done 3 checkers, found 683 and fixed 0 problems.
I fixed a minor bug causing a traceback when a confirmation had no granting.
RemoteUserMiddleware without SessionMiddleware¶
Another problem was this:
Traceback:
File "/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)
File "/site-packages/django/core/handlers/base.py" in _legacy_get_response
244. response = middleware_method(request)
File "/lino/lino/core/auth/middleware.py" in process_request
89. if request.user.get_username() == self.clean_username(username, request):
File "/lino/lino/core/auth/middleware.py" in clean_username
110. backend_str = request.session[auth.BACKEND_SESSION_KEY]
File "/site-packages/django/contrib/sessions/backends/base.py" in __getitem__
57. return self._session[key]
Exception Type: KeyError at /
Exception Value: '_auth_user_backend'
Playing with forms¶
>>> from lino import startup
>>> startup('lino_book.projects.team.settings.demo')
>>> from lino.api.doctest import *
>>> from django.forms
>>> from django.forms import ModelForm
>>> from django import forms
>>>