20120725

Continued on The Lino Polls tutorial and lino.tutorials.t1.

  • New attribute lino.core.actions.Action.custom_handler to avoid having to specify show_in_workflow in 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'
    
  • Configuration ‣ Site configuration 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))
    

    –> 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.