20120202¶
Mir war aufgefallen, dass man in
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
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
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
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
make_staff
N.B.
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.