Page 1 sur 1

Supprimer un document

MessagePublié: 12 Nov 2014 à 10:05
par Christian Delval
Bonjour

J'ai une base avec des documents (bien sûr). Les utilisateurs n'ont pas le droit de supprimer des documents de cette base selon la LCA.

J'aimerai que si un document a le champ MTNState égal à "$Created$", l'utilisateur puisse supprimer ce document.

Comment faire ?

Merci.

Christian

Re: Supprimer un document

MessagePublié: 12 Nov 2014 à 11:31
par Jérôme Deniau
Créer un agent planifié

Avoir un bouton "Supprimer" pour l'utilisateur, ce bouton met un champ style ASupprimer="1" et l'agent supprime les documents ayant un champ Supprimer à"1" et s'exécute avec les droits de niveau 3 (sécurité) pour le compte de "LocalDomainServers" ou d'un compte ayant les droits de suppression.

modifier les vues pour que les vues n'affichent pas les documents ayant un champ "ASupprimer" exemple select !@Isavailable(ASupprimer)

Re: Supprimer un document

MessagePublié: 19 Nov 2014 à 11:03
par Christian Delval
Merci Jérôme !

J'ai finalement écrit ce petit script de la base et placé les utilisateurs avec le droit de supprimer des documents. L'avantage c'est qu'ils ne peuvent supprimer qu'un seul type de document les Brouillons.

Code : Tout sélectionner
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
   Dim droppedDocuments As NotesDocumentCollection
   Dim doc As NotesDocument
   Continue = True
   If Source.Database.CurrentAccessLevel  = ACLLEVEL_MANAGER Then
      Exit Sub
   End If
   Continue = True
   Set droppedDocuments = Source.Documents
   Set doc = droppedDocuments.GetFirstDocument ()
   Do Until doc Is Nothing
      If doc.MTNState(0) <> "$created$" Then
         Continue = False
         Messagebox    Msg_MayNotDelete$ , MB_OK+48,  Msg_Motown$
         Exit Do
      End If
      Set doc = droppedDocuments.GetNextDocument (doc)
   Loop
End Sub

Re: Supprimer un document

MessagePublié: 19 Nov 2014 à 14:00
par Dominux
Une solution sans script aurait été de mettre les utilisateurs en Auteur avec un rôle [Delete] et de placer un champ auteur avec ce rôle pour les documents avec $Created$.