:date: 2018-05-15
=====================
Tuesday, May 15, 2018
=====================
Reporting what you do
=====================
I reviewed the :ref:`devblog` page and moved it from the
:ref:`writedocs` section to :ref:`lino.dev.team` because it is rather
about teamwork than about documentation.
A Kanban board for Jane
=======================
I probably fixed :ticket:`2384` (Kanban for Jane) in a simple way:
I changed :class:`lino_xl.lib.tickets.MyTicketsToWork` as follows:
- now it shows tickets in an *active* state (having `active=True`)
instead of those in a state having `show_in_todo=True`.
- I changed order_by from `["priority", "-id"]` to `["state",
"priority", "-id"]` (i.e. the tickets are sorted by their state in
first place. This should not be a big problem since anyway the
priority makes no sense when used across states.
- I wrote a summary view which shows them grouped by state in an
`
`.
- Of course I also set :attr:`slave_grid_format` to ``summary`` in
order to activate the summary.
- I changed the `active` of TicketStates.ready from True to False:
when a ticket is marked "ready", I don't want to see it in my to-do
list anymore (I revoked this change afterwards. See below).
I was surprised to see that these changes did not require any change
in the test suite. Which actually just shows that the dashboard of
:mod:`lino_book.projects.team` is not covered completely.
Thunderbird does not start
==========================
Thunderbird does not start. The launcher switches to a hourglass
cursor for a minute or so, but nothing happens. And oops, when I
invoke it from a terminal::
$ thunderbird
Segmentation fault (core dumped)
$ thunderbird --help
Segmentation fault (core dumped)
-g or --debug Start within debugger
-d or --debugger Specify debugger to start with (eg, gdb or valgrind)
-a or --debugger-args Specify arguments for debugger
The problem disappeared after a restart of my machine. Don't ask me
what it was...
More optimizations in Jane
==========================
The fact that "I don't want to see tickets marked "ready" in my to-do
list" indicates that there are at least two "contexts" of working:
when I am "alone" and when I am "with a client". When I am with a
client, then I actually *do* want to see those tickets that are marked
"ready" (because "ready" means "waiting for test results to confirm
that it is done"). But only those of the site we are working on.
I did some changes in the "Sites overview" table:
- I removed the summary fields about worked hours and moved the table
back from :mod:`lino_xl.lib.working` to :mod:`lino_xl.lib.tickets`.
- I continued to hide the concept of "mission" (which is internally
called "project") from Lino Noi: removed the TicketsByProject table
and the parameter field "project", and changed `has_project` to
`has_site`.
- I activated the summary view of :class:`MyTicketsToWork
` also for
:class:`TicketsBySite ` and
reviewed the detail layout of :class:`Site
`.
All Lino Noi users except EndUser are now Helpers
(:class:`lino.modlib.users.Helper`), and the AssignToMe action is no
longer disabled when you are the author. Because for a ticket in Lino
Noi you want to be able to assign yourself to your own ticket. This
caused a side effect in :ref:`welfare` where they use assignment of
calendar entries in order to specify that a user A agreed with a
client an appointment for another user B. In that context you don't
want the author of an entry to assign themselves. Added
:attr:`lino.modlib.users.Assignable.disable_author_assign` to allow
both behavours.
I pushed these changes to master and tried them on :ref:`jane` without
previously verifying the test suite. After having done a few releases
to Jane I got satisfied (for this time) and ran the test suite on my
computer. This time there were some changes in the test suite:
:ref:`noi.specs.tickets`.
Here is a funny failure that happened today::
FAIL: atelier.test.DocTestCase (docs/specs/search.rst)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/media/dell1tb/work/atelier/atelier/test.py", line 45, in func
self.run_subprocess(args)
File "/media/dell1tb/work/atelier/atelier/utils.py", line 407, in run_subprocess
self.fail(msg)
AssertionError: /media/dell1tb/virtualenvs/py27/bin/python2 -m atelier.doctest_utf8 docs/specs/search.rst ({}) returned 1:
-----
**********************************************************************
File "/media/dell1tb/work/book/docs/specs/search.rst", line 17, in search.rst
Failed example:
rt.show('about.SiteSearch', quick_search="foo")
Expected:
No data to display
Got:
========================== ============================================================================================
Description Matches
-------------------------- --------------------------------------------------------------------------------------------
*Romain Raffault* (User) password:pbkdf2_sha256$36000$MF5Vl**fOo**1Rwm$OiSIiNl3E4X4mh1z0FgjrwD60W9CD5PjSRVgKdit1vU=
========================== ============================================================================================
**********************************************************************
1 items had failures:
1 of 6 in search.rst
***Test Failed*** 1 failures.
Explanation: the random hash of the password contained the sequence of
letter "foo". We might ignore this failure and assume that it won't
happen very often. But it is clear that the :attr:`password
` field should definitively *not* be
searchable, i.e. included in the default value for
:attr:`quick_search_fields
`. The problem is: I see
no good way for Lino to "automatically" recognize a password field.
So I now specified an explicit :attr:`quick_search_fields
` on
:class:`lino.modlib.users.User`.