20121016 ======== Endspurt --------- - Wie/wo soll die "Begründung" (RefuseClient, EndCoaching, AssignCoach) gespeichert werden? Antwort: Dafür soll eine Notiz erstellt werden und nichts anderes. Aber Notizen sind jetzt auch Controllable (kriegen ein neues Feld `controller`), und wir kriegen eine neue Notion von "note broadcasting". Change.summary kann wieder raus. Außerdem ein neuer Parameter `SiteConfig.notifying_notetype`. Gemeinsame Basisklasse ist `dd.NotifyingAction`. :meth:`lino.Lino.get_system_note_recipients` - Der Button für AssignCoach erscheint jetzt nur noch auf Kunden mit gültiger NISS. (`get_row_permission` und `get_bound_action_permission` kriegen jetzt nicht mehr nur den `user`, sondern den `ar`. - Neue Warnung "Duplicate element definition only_primary = 'only_primary' in ParamsLayout on pcsw.IntegClients". Ich hatte nämlich mindestens eine halbe Stunde lang danach gesucht. In CompanyDetail war auch ein doppeltes Element `activity`:: intro_box = """ prefix name id language vat_id:12 activity:20 type:20 #hourly_rate activity bank_account1 bank_account2 is_deprecated """ - Wenn Root als Melanie arbeitet, dann konnte er in CoachingsByClient dennoch nicht ein Coaching beenden. Weil `Lino.GridStore` nicht `Lino.insert_subst_user()` machte. - Button [Hilfetexte bearbeiten] funktionierte nicht. - Gerd hatte eine gute Idee: Eine andere Sache, die vielleicht etwas "unergonomisch" ist: Ich war z.B. auf dem Budget eines Klienten und wollte dort ein neues anlegen. Instinktiv habe ich da auf den New-Button gedrückt und dann gesehen, dass das ja - logischerweise - einen neuen Klienten erstellt. Ist nur ein Schnellschuss, aber was hältst du davon, dass man die Buttons immer im Kopf (Titelzeile) des jeweiligen Fensters unterbringt? Dann könnte man sogar Knöpfe machen, wenn Fenster verschachtelt sind und trotzdem wäre klar, welche Aktion zu welchem Fenster gehört. Doof? Die buttom toolbar ist jetzt leer, bis auf den eventuellen Button [Hilfetexte bearbeiten]. Bin noch am überlegen, wo ich den hintun soll. Wahrscheinlich am ehesten einen neuen Tool-Button. Checkin und Upgrade zwecks Besichtigung. Nachwehe -------- Ein mysteriöser Fehler, den ich noch nicht verstanden habe:: Exception 20121016 ActionParamsLayout on Begleitungsstadium : Begleitung beenden has no store TRACEBACK: File "/var/snapshots/django/django/core/handlers/base.py", line 111, in get_response response = callback(request, *callback_args, **callback_kwargs) File "/var/snapshots/django/django/views/generic/base.py", line 47, in view return self.dispatch(request, *args, **kwargs) File "/var/snapshots/django/django/views/generic/base.py", line 68, in dispatch return handler(request, *args, **kwargs) File "/usr/local/django/test_dsbe/using/lino/lino/ui/extjs3/views.py", line 867, in get rows = [ rh.store.row2list(ar,row) for row in ar.sliced_data_iterator] File "/usr/local/django/test_dsbe/using/lino/lino/ui/extjs3/ext_store.py", line 1222, in row2list v = fld.full_value_from_object(row,request) File "/usr/local/django/test_dsbe/using/lino/lino/ui/extjs3/ext_store.py", line 376, in full_value_from_object return self.vf.value_from_object(obj,ar) File "/usr/local/django/test_dsbe/using/lino/lino/core/fields.py", line 310, in value_from_object return m(obj,ar) File "/usr/local/django/test_dsbe/using/lino/lino/core/model.py", line 301, in workflow_buttons l.append(ar.renderer.action_button(obj,ar,a)) File "/usr/local/django/test_dsbe/using/lino/lino/ui/extjs3/ext_ui.py", line 378, in action_button st = ar.get_action_status(a,obj) File "/usr/local/django/test_dsbe/using/lino/lino/core/actions.py", line 1156, in get_action_status raise Exception("20121016 %s has no store" % ba.action.params_layout) Der kam daher, dass `action.params_layout.params_store` einmalig beim Erzeugen einer LayoutHandle gemacht wird, und dass die wiederum nur beim Generieren der `lino*.js` gebraucht wird. Und unter mod_wsgi werden zwei parallele Threads gestartet, von denen nur der erste (wenn überhaupt) eine `lino*.js` erzeugt. Alle Requests, die vom anderen Thread bedient werden (und diese Verteilung ist zufällig) kriegen potentiell diesen Fehler. Besichtigung 1 -------------- Als Resultat der ersten Besichtigung außer der Nachwehe auch eine Erkenntnis: Das Menü "ÖSHZ" war verwirrend. Weg damit. :menuselection:`ÖSHZ --> Klienten` kommt nach :menuselection:`Kontakte --> Klienten`. "Meine Begleitungen" und "Begleitungsvorschläge" raus, stattdessen kommen neu zugewieene Coachings jetzt immer direkt in den Status coached. Auch "Begleitungsvorschläge" wird bis auf weiteres nicht benutzt. Auch die CoachingStates 'suggested' and 'refused' werden rauskommentiert. Workflow Kalender und Konfigurierung der "Systemnotizen". Wenn man eine Einladung ablehnt, kommt nun ebenfalls ein Dialogfenster, wo man dem Autor des Termins den Grund mitteilen kann. Falls der Termin einem Kunden zugewiesen ist, wird die Absage dann auch als Systemnotiz vermerkt. So oder so wird eine E-Mail verschickt (wenn denn alle Betroffenen ihre Adresse eingetragen haben)