20120725 ======== Continued on :ref:`lino.tutorial.polls` and :mod:`lino.tutorials.t1`. - New attribute :attr:`lino.core.actions.Action.custom_handler` to avoid having to specify show_in_workflow in :mod:`lino.tutorials.t1.polls.models`. - Discovered and fixed a bug when trying to print a calendar event whose Calendar.build_method is empty:: Traceback (most recent call last): File "t:\hgwork\lino\lino\ui\extjs3\views.py", line 608, in get rv = a.run(elem,ar) File "t:\hgwork\lino\lino\mixins\printable.py", line 553, in run kw = self.run_(ar,elem,**kw) File "t:\hgwork\lino\lino\mixins\printable.py", line 527, in run_ bm = get_build_method(elem) File "t:\hgwork\lino\lino\mixins\printable.py", line 454, in get_build_method bmname = elem.get_build_method() File "t:\hgwork\lino\lino\mixins\printable.py", line 824, in get_build_method if ptype.build_method: AttributeError: type object 'exceptions.NotImplementedError' has no attribute 'build_method' - :menuselection:`Configuration --> Site Parameters` said:: Http404 lino.SiteConfigs has no row with prmiary key u'1' TRACEBACK: File "l:\snapshots\django\django\core\handlers\base.py", line 111, in get_response response = callback(request, *callback_args, **callback_kwargs) File "l:\snapshots\django\django\views\generic\base.py", line 58, in view return self.dispatch(request, *args, **kwargs) File "l:\snapshots\django\django\views\generic\base.py", line 79, in dispatch return handler(request, *args, **kwargs) File "t:\hgwork\lino\lino\ui\extjs3\views.py", line 551, in get raise http.Http404("%s has no row with prmiary key %r" % (rpt,pk)) --> :meth:`lino.Lino.get_site_config` now saves the instance if it doesn't exist. Don't remember why we wanted to NOT save the instance here. - Added BooleanField `polls.Poll.hidden` to avoid layout problem when a form layout has only one field. - Found and fixed some more bugs in the development version: - "global name 'find_config_file' is not defined" when trying to use the [pdf] button. - "AttributeError: 'module' object has no attribute 'get_actor2'" when trying to save a grid config. - Discovered and fixed a bug in version 1.4.8 : __repr__ of a choicelist Choice failed under Python 2.6.6, saying "Error in formatting: encode() takes no keyword arguments". - Internal changes to Action.__init__() - Another little bug:: WARNING Action "Bestanden" failed for Kursanfragen "CourseRequest object": before_state_change() takes exactly 4 arguments (5 given). Ein Fehlerbericht wurde an den Systemverwalter geschickt. ERROR before_state_change() takes exactly 4 arguments (5 given) Traceback (most recent call last): File "t:\hgwork\lino\lino\ui\extjs3\views.py", line 612, in get rv = a.run(elem,ar) File "t:\hgwork\lino\lino\core\actions.py", line 422, in run row.before_state_change(ar,kw,old,self.target_state) TypeError: before_state_change() takes exactly 4 arguments (5 given) - Fixed the following reported bug: Im Grid-Fenster Personen. Schnellsuche "Muster", dann Doppelklick auf Max Mustermann, dann im GeheZu nach 'jupa' suchen: Klienten mit "jupa" werden zwar im Dropdown angezeigt, aber Lino springt nach Auswahl nicht darauf. Im Detail-Fenster blieb (zumindest für manche Operationen) der quick-search-text aus der grid aktiv. New rule: **Text entered in the quick search field of a grid window is not forwarded to the detail window.** Because a separate quick search field is not necessary in detail view. The record selector field works exactly as a quick search field. One drawback of this new rule is that you cannot do the following any more (but I doubt that any user was aware of this possibility): in grid view specify a quick search text to select, let's say, 10 records out of 1000, then double click and browse these 10 records using the detail navigator.