Thursday, July 23, 2015¶
‘NoneType’ object has no attribute ‘get_detail_action’¶
A surprise in the morning: I wanted to start working, but my Noi told
me above error message. The traceback showed that it came from the
following line of code (in
lino.modlib.stars.models.welcome_messages()
):
chunks += join_elems([ar.obj2html(obj.owner) for obj in qs])
Explanation: Yesterday I had created duplicate tickets 348 and 349 due
to bug #219. I had already starred ticket 348 before noticing that it
was duplicated. Then I deleted it. Lino did not delete the
Star
object -and did not
refuse to delete the starred ticket- because
controller_is_optional
on Star
was at its default
value True. Since this traceback happened while building
admin_main.html
, the web interface was not usable. Here is
the little script which I used to repair the database and get it back
to work:
from lino.api.shell import *
qs = stars.Star.objects.filter(owner_type__isnull=True)
print [obj.owner for obj in qs] # []
qs = stars.Star.objects.all()
#print qs
#print [obj.owner_type for obj in qs]
print [obj.owner for obj in qs]
a = [obj for obj in qs if obj.owner is None]
assert len(a) == 1
a = a[0]
print a.owner, a.owner_type, a.owner_id
a.delete()
The bug was not abovementioned line of text but the fact that the
owner
field was
optional.
Optimizing lino.utils.html2rst
¶
Continued with #351: repair test suites and
optimize lino.utils.html2rst
.
Committed today¶
03:15 : lino_welfare 8a89698
09:19 : lino_welfare c36194f