20120202 ======== Mir war aufgefallen, dass man in :class:`UsersByNewcomer ` auch Benutzer löschen, bearbeiten, erstellen kann. So habe ich dann einen ganzen Arbeitstag ins Permission-System investiert. `disabled_actions` werden jetzt auch im Kontextmenü disabled. `disabled_actions` und `disabled_fields` werden jetzt nicht mehr als einfaches array, sondern als hashed array übergeben. Außerdem haben Aktionen jetzt allgemein ein Attribut `readonly`, das in :meth:`lino.core.actors.Actor.get_permission` die Entscheidung vereinfacht. Eine Tabelle kann jetzt *per se* `editable` oder nicht sein. Wenn sie es nicht ist (z.B. besagte :class:`UsersByNewcomer `), dann kann selbst der Superuser dort nichts ändern, permissions werden dann gar nicht erst abgefragt. get_permission() kann jetzt auf einem Model definiert sein, was ich sogleich an :class:`lino.modlib.users.models.User` ausprobiert habe: - Benutzer dürfen nur sich selbst bearbeiten (nur Superuser dürfen auch andere Benutzer bearbeiten). - Die Checkboxen "Superuser" und "Aktiv" darf auch bei sich selbst nur der Superuser bearbeiten. Zum Testen kann man sich als Superuser einloggen und sich dieses Attribut abschalten: anschließend gibt es keinen Weg, es wieder einzuschalten, außer mit einem :mod:`make_staff ` N.B. :mod:`make_staff ` müsste eigentlich `make_superuser` oder `setsu` heißen, bzw. `setroot` (falls ich irgendwann mal "Superuser" nach "Root" umbenenne) Weiterhin bleibt zu tun: - Klick auf "Neue Klienten" zeigt alle. Also der Filter steht nicht im Klick drin. Das liegt daran, dass die param_values eines ActionRequest noch nicht in die URL übergeben und noch nicht vom Panel übernommen werden. - Anzahl Zeilen pro Seite einer Grid dynamisch in Funktion der Fenstergröße ermitteln. - Konfigurierung Fachbereiche: Wenn man 'name' editiert, ist das Feld blau. - Neue virtuelle Kolonnen mit Anfangs- und Enddatum des aktuellen Vertrags in MyClients. - Fachbereiche Feld "body" kann weg - Neuzugänge: hier muss noch ein Button bzw eine Prozedur her für den Akt der Zuweisung.