Dokumente nur beding editierbar machen

  • Hallo


    ich muss da ein projekt machen. es geht um eine medienverwaltung.
    Besucher sollen die medien durchsuchen können und reservieren können. Danach kann man sie ausleihen.
    wir haben ein feld das drei stadien hat, verfügbar, reserviert und ausgeliehen.
    Nun soll ein benutzer aber nur dieses feld editieren können und nichts anderes in den datensätzen. Wie geht dies? (bitte ausführlich, danke)

  • Sehr einfach.. Gib die personen author zugriff, und erstelle eine rolle [Ausleiher] der jedes dokument hat in einen Authorenfeld. Dann schalte bei alle andere felder den eigenschaft Editor benötigt zur bearbeitung ein.
    Ab dann können nur noch Editoren den restliche Felder bearbeiten.

  • das funktioniert nicht bei mir


    also nochmals:


    wenn man in den ansichten auf einen eintrag klickt dann zeigt es einem die maske an. diese maske wird zum erstellen der datensätze benutzt. diese maske haben wir mit folgendem querymodechange geschützt:


    Sub Querymodechange(Source As Notesuidocument, Continue As Variant)
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim acl As NotesACL
    Dim entry As NotesACLEntry
    Set db = session.CurrentDatabase
    Set acl = db.ACL
    Set entry = acl.GetEntry( session.UserName )
    Messagebox "Sie können dieses Dokument nur öffnen, falls sie Administrator als Rolle haben!"
    If ( entry Is Nothing ) Then
    continue = False
    Elseif Not ( entry.IsRoleEnabled( "Administrator" ) ) Then
    continue = False
    End If
    End Sub


    dabei soll die rolle administrator nur die datensätze ändern können, so weit so gut das funktioniert auch, nur kann jetzt mit der aktion reservieren das dokument nicht mehr reserviert werden


    reservieren aktion:


    @If(Status="verfügbar";
    @SetField("Status";"reserviert") | @SetField("datumres";@Today) | @SetField("ausleiher"; @V3UserName) | @Prompt([OK];"Info:";"Medium wurde für Sie reserviert!.");
    @Prompt([OK];"Achtung:";"Medium ist bereits reserviert."));


    @Command([RefreshHideFormulas] )



    das feld status wird nicht geändert, wenn der benutzer nicht die rolle administrator hat, was er auch nicht haben soll.


    besten dank für die hilfe