// UtilisateursConnectes /* UtilisateursConnectes.dxl Description =========== Visualise la liste des utilisateurs connectés (et uniquement eux) : - identifiant (trigramme) - Nom - email - téléphone V1.0 12/11/2009 Pierre Dubarry Création V1.1 19/11/2009 Pierre Dubarry Ajout Projet, Dossier, Module pris (un seul) V1.2 20/11/2009 Pierre Dubarry Tous les Modules pris en écriture Utilisateurs connectés n'ayant pas vérouillé un Module pour écriture */string lstArray [] = {} DB userInfo DBE lstUser DBE lblInstructions User u string uName string uFullName string uEmail string uPhone string uClock string dbName = getDatabaseName() string uRessource string uFormalLink string uFolder string uProject bool Connecte = false int NombreUtilisateursConnectes = 0 int NombreUtilisateursSurModule = 0 string OldUserName = "" string Message string ListeNonUtilisateurs = "" string ListeUtilisateurs = "" Skip skpUser = createString() Skip skpUserWorking = createString() User uNotWorking /************* Get Current DOORS User List *************/ void getList () { int i = 0 int j int pbNum = 0 Lock lockItem LockList lcklist = getLocksInDatabase(true) for lockItem in lcklist do pbNum ++ progressStart(userInfo, "Recherche des informations utilisateurs connectés en cours", "Loading User Info...", pbNum) j = pbNum pbNum = 0 string username Item Entite for lockItem in lcklist do { username = lockItem.user put(skpUser, username, username) uRessource = lockItem.resourceName Entite = lockItem.item u = find(username) uName = u.name uFullName = u.fullName uEmail = u.email uPhone = u.telephone uClock = u.systemLoginName // print uName "\t" type(Entite) "\t" name(Entite) "\n" if ( ("Formal" == type(Entite) ) || ("Link" == type(Entite) ) ) { NombreUtilisateursSurModule = NombreUtilisateursSurModule + 1 put(skpUserWorking, username, username) insert(lstUser, i, uName, iconUser) set(lstUser,i, 1, uFullName) set(lstUser, i, 2, uEmail) set(lstUser, i, 3, uPhone) uFormalLink = name(Entite) set(lstUser, i, 6, uFormalLink) uFolder = name(getParentFolder(Entite)) set(lstUser, i, 5, uFolder) uProject = name(getParentProject(Entite)) set(lstUser, i, 4, uProject) i++ } progressStep ++pbNum progressMessage(pbNum " sur " j "") if(progressCancelled) { if(confirm("Exit loop?")) { progressStop halt } } } progressStop for username in skpUser do { NombreUtilisateursConnectes = NombreUtilisateursConnectes + 1 u = find(username) uName = u.name uFullName = u.fullName uEmail = u.email uPhone = u.telephone if ( find(skpUserWorking,username, uNotWorking) == false) { ListeNonUtilisateurs = ListeNonUtilisateurs "- " uName " (" uFullName " - " uEmail " - " uPhone ")\n" } else { ListeUtilisateurs = ListeUtilisateurs " - " uName "" } } /* if (username != OldUserName) { OldUserName = username NombreUtilisateursConnectes = NombreUtilisateursConnectes + 1 } */ Message = "\nIl y a " NombreUtilisateursConnectes " utilisateur(s) connecte(s)\n" if (NombreUtilisateursSurModule != 0) { Message = Message "Les utilisateurs suivant ont ouvert un Module en ecriture :\n" Message = Message ListeUtilisateurs } if (NombreUtilisateursSurModule != NombreUtilisateursConnectes) { Message = Message "\n\nLes utilisateurs suivant ont pris une licence mais ne l'utilisent pas (en tout cas pas avec des droits d'ecriture) :\n" Message = Message ListeNonUtilisateurs } infoBox Message } /************* Print User Info *************/ void doSelect(DBE Elem, int i) { "" } void doDeselect(DBE Elem, int i) { "" } void doActivate(DBE Elem, int i) { "" } /************* Dialog Box *************/ userInfo = create("Informations sur les utilisateurs - " dbName"", styleCentered|styleFixed) lstUser = listView(userInfo, 0, 1000, 20, lstArray) // lblInstructions = label(userInfo, "Note: Double-Click on any name to get the user details.") realize(userInfo) insertColumn(lstUser, 0, "Login", 50, iconNone) insertColumn(lstUser, 1, "Nom", 150, iconNone) insertColumn(lstUser, 2, "Email", 200, iconNone) insertColumn(lstUser, 3, "Telephone", 70, iconNone) insertColumn(lstUser, 4, "Projet", 200, iconNone) insertColumn(lstUser, 5, "Dossier", 150, iconNone) insertColumn(lstUser, 6, "Module", 200, iconNone) getList() //set(lstUser, doSelect, doDeselect, doActivate) show(userInfo) elect, doActivate) show(userIn