Page 1 sur 1
Supprimer un document

Publié:
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

Publié:
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

Publié:
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

Publié:
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$.