récupérer le role d'une personne

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

récupérer le role d'une personne

Messagepar clémentine » 24 Juil 2003 à 12:23

Bonjour à tous,Savez-vous s'il existe une formule permettant de récuper le role d'une personne indiquée dans un champ de type noms ?Si non peut-on le faire en LotusScript ?
clémentine
 

Re: récupérer le role d'une personne

Messagepar Stephane Maillard » 24 Juil 2003 à 12:33

Bonjour,Normalement @UserRoles retourne la liste des rôles attribués à l'utilisateur courant.[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Re: récupérer le role d'une personne

Messagepar Rigol'man » 24 Juil 2003 à 12:36

ca doit etre realisable en script :- recuperer l'acl de la base - recuperer l'entrée de la personne - recuperer les roles associés jamais essayé mais en theorie c faisable. :o)[%sig%]
Rigol'man
 

Re: récupérer le role d'une personne

Messagepar clémentine » 24 Juil 2003 à 12:40

Ce n'est pas l'utilisateur courant que je souhaite récupérer mais le role de la personne renseignée dans le champ..je v essayer en script..Merci de vos réponses.
clémentine
 

Re: récupérer le role d'une personne

Messagepar Rigol'man » 24 Juil 2003 à 12:43

par contre, tu risques d'avoir des soucis en script si la personne n'est pas declarée nominativement dans la LCA (utilisation de groupes) car GetEntry retournera "Nothing" !![%sig%]
Rigol'man
 

Re: récupérer le role d'une personne

Messagepar Stephane Maillard » 24 Juil 2003 à 12:44

Bonjour,Voici un script qui ajoute des rôles dans la LCA, cela est un début pour expliquer sa manipulation :Sub Initialize Dim S As New NOTESSESSION Dim Db As NotesDatabase Dim ACL As NOTESACL Dim Entry As NOTESACLEntry Dim TotalEditors As Integer Dim TotalAuthors As Integer Dim Roles (7) As String Roles(0) = "UserCreator" Roles(1) = "UserModifier" Roles(2) = "GroupCreator" Roles(3) = "GroupModifier" Roles(4) = "NetCreator" Roles(5) = "NetModifier" Roles(6) = "ServerCreator" Roles(7) = "ServerModifier" Set DB = S.CurrentDatabase If Not DB.IsOpen Then Print "Error Not open" Goto endit End If Set ACL=DB.ACL Forall i In Roles ACL.AddRole(i) End Forall ACL.Save Set Entry=ACL.GetFirstEntry TotalEditors = 0 TotalAuthors = 0 Do Until Entry Is Nothing If (Entry.level > 3) Then TotalEditors = TotalEditors + 1 Forall i In Roles Entry.EnableRole(i) End Forall Elseif( Entry.level = 3) Then If Entry.CANCREATEDOCUMENTS Then TotalAuthors = TotalAuthors + 1 Entry.EnableRole("UserCreator") Entry.EnableRole("GroupCreator") Entry.EnableRole("NetCreator") Entry.EnableRole("ServerCreator") End If End If ACL.Save Set Entry = ACL.GetNextEntry(Entry) Loop ACL.Save Dim Message As String Dim BoxType As Long BoxType=MB_OK + MB_ICONINFORMATION Message = "Gave all new roles to " + Cstr(TotalEditors) + " entry(s) who have Editor access or above. Gave create-only roles to " + Cstr(TotalAuthors) + " entry(s) who have Author with Create access." Messagebox Message, BoxType, "Applied Roles" endit: End Sub[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Re: récupérer le role d'une personne

Messagepar clémentine » 24 Juil 2003 à 13:25

Les personnes sont bien déclarées nominativement dans la LCA..Je vais regarder ce code.Merci.
clémentine
 

Re: récupérer le role d'une personne

Messagepar clémentine » 24 Juil 2003 à 13:50

je vous explique ma nouvelle situation :j'ai un champ affecte de type noms modifiable.Dans la validation d'entrée de ce champ, je mets : @Command([ToolsRunMacro]; "validationAffectee")où validationAffectee est l'agent suivant :Sub Initialize Dim s As New NotesSession Dim db As NotesDatabase Dim nacl As NotesACL Dim doc As NotesDocument Dim naclentry As NotesACLEntry Dim ws As New NotesUIWorkspace Dim uidoc As NotesUIDocument Dim personne As String Dim listerole As Variant Set uidoc = ws.CurrentDocument 'on récupère la valeur rentrée dans le champ affecte à personne = uidoc.FieldGetText 'on va maintenant chercher la LCA en back end Set db = s.CurrentDatabase Set nacl = db.Acl 'on récupère l entreé de l acl qui correspond au nom Set naclentry = Acl.GetEntry(personne) 'on récupère les roles de cette personne listerole = naclEntry.Roles 'on vérifie que le role réalisateur est bien dedans Forall i In listerole If (i= "réalisateur") Goto label End Forall Messagebox "la personne affecte à doit avoir le role de réalisateur", MB_OK, "attention" label : End statement End Subet j'ai comme message d'erreur : les commandes @ et autres fonctions d'interface utilisateur ne sont pas autorisées dans ce contexte...est ce que cela veut dire que je n'ai pas le droit d'appeler un agent depuis la validation d'entrée?
clémentine
 

Re: récupérer le role d'une personne

Messagepar Stephane Maillard » 24 Juil 2003 à 14:01

Re,Sur quel ligne se produit l'erreur ?[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Re: récupérer le role d'une personne

Messagepar clémentine » 24 Juil 2003 à 14:17

L'erreur se produit à l'enregistrement du document, donc à la validation d'entrée du champ...
clémentine
 

Re: récupérer le role d'une personne

Messagepar Stephane Maillard » 24 Juil 2003 à 14:22

Re,Dans la valeur par défaut du champs est ce qu'il est bien égal à lui même ?[%sig%]
Cordialement

Stéphane Maillard
Avatar de l’utilisateur
Stephane Maillard
Lord of DominoArea
Lord of DominoArea
 
Message(s) : 8695
Inscrit(e) le : 16 Déc 2004 à 01:10
Localisation : Bretagne

Re: récupérer le role d'une personne

Messagepar virginie » 24 Juil 2003 à 14:30

en le mettant égal à lui même, j'ai toujours la même erreur..
virginie
 

Re: récupérer le role d'une personne

Messagepar Droad » 24 Juil 2003 à 14:47

ça veut dire que tu ne peux pas utiliser @Command dans une validation d'entrée.[%sig%]
Droad
 

Re: récupérer le role d'une personne

Messagepar Droad » 24 Juil 2003 à 15:06

Ton script, il faut le mettre, aprés adaptation, directement soit dans le PostRecalc, soit dans le QuerySave. Passer par des agents pour effectuer des opérations front end, ça ne fait que compliquer oh la la et alourdir aie aie aie ce qui l'est déjà maudit soit domino.[%sig%]
Droad
 

Re: récupérer le role d'une personne

Messagepar clémentine » 25 Juil 2003 à 07:20

J'ai déjà du code dans mon code QuerySave. C'est pour ca, entre autre,que je voulais passer par un agent pour bien distinguer.Je vais essayer dans le PostRecalc.Merci de votre aide.
clémentine
 

Suivant

Retour vers Développement