20110406 ======== Qooxdoo muss warten ------------------- Es sieht nun leider ziemlich klar danach aus, dass :srcref:`docs/tickets/37` eine Weile lang warten muss. Weil ich zwei Anfragen von Kunden vorliegen habe, denen das ExtJS-Interface genügt. Eine oder gar zwei weitere Anwendungen halte ich momentan für wichtiger als ein weiteres UI. Drei Bugs weniger im ExtJS-UI ----------------------------- #. Beim Drücken auf "Speichern" (Person) nach der Eingabe einer neuen Sprache in "Sprachkenntnisse" kommt eine Fehlermitteilung Server-side failure: {'language': [u"Wert u'fij' ist keine g\xfcltige Option."]} Die Problemmeldung war eher unscheinbar, aber ich habe 3 Stunden danach gesucht! Ticket :srcref:`docs/tickets/38`. Der Bug ist wahrscheinlich schon immer dagewesen und fand immer dann statt, wenn in einem Slave und seinem Master gleichnamige Felder existierten. Also z.B. auch wenn man in :menuselection:`Person-->Detail-->Sprachen-->Kursanfragen-->Bemerkung` etwas geändert hatte. #. Wenn man auf einem importierten Partner 'Speichern' klickte, dann wurden alle inaktiven Checkboxen (disabled_fields) auf `False` gesetzt. #. Wenn man Kursanbieter ankreuzt, kam auf dem Server:: Traceback (most recent call last): File "l:\snapshots\django\django\core\servers\basehttp.py", line 283, in run self.result = application(self.environ, self.start_response) File "l:\snapshots\django\django\contrib\staticfiles\handlers.py", line 68, in __call__ return self.application(environ, start_response) File "l:\snapshots\django\django\core\handlers\wsgi.py", line 273, in __call__ response = self.get_response(request) File "l:\snapshots\django\django\core\handlers\base.py", line 169, in get_response response = self.handle_uncaught_exception(request, resolver, sys.exc_info()) File "l:\snapshots\django\django\core\handlers\base.py", line 111, in get_response response = callback(request, *callback_args, **callback_kwargs) File "t:\hgwork\lino\lino\ui\extjs\ext_ui.py", line 1001, in api_element_view return self.form2obj_and_save(request,ah,data,elem,False) # force_update=True) File "t:\hgwork\lino\lino\ui\extjs\ext_ui.py", line 747, in form2obj_and_save rh.store.form2obj(request,data,elem,is_new) File "t:\hgwork\lino\lino\ui\extjs\ext_store.py", line 538, in form2obj f.form2obj(instance,form_values,is_new) File "t:\hgwork\lino\lino\ui\extjs\ext_store.py", line 264, in form2obj v = getattr(obj,self.field.name) AttributeError: 'NoneType' object has no attribute 'is_courseprovider' Aber ach, nachdem ich diese Bugs behoben hatte, sah ich, dass es noch einen gibt: wenn man eine Firma speichert, dann wird is_active auf False gesetzt, weil dieses Feld gar nicht im Detail angezeigt wird. Nee, jetzt ist Schluss! Das eigentliche Problem ist ja die "Design Decision" von ExtJS, dass sie HTML-Formulare auf die historische Art submitten. Um alle Probleme auf einmal zu lösen, sollte ich es wahrscheinlich wie Daniel Haas machen: `How to submit Ext forms the right way `_