Bonjour,
Je dois en java supprimer les users BO d'une liste de groupes.
Voilà comment je m'y suis pris:
1 2 3 4 5 6 7 8 9
| /*Récupération des groupes concernés*/
IInfoObjects groups = iStore.query("SELECT * from CI_SYSTEMOBJECTS where SI_KIND='" + CeKind.USERGROUP + "' AND SI_NAME like \'Ta%\'");
int compteur = 0;
Set users = null;
while (compteur < groups.size()){
IUserGroup gb = (IUserGroup)groups.get(compteur);
users = gb.getUsers();//on récupère les users du groupe |
Le problème avec cette solution c'est que les users sont récupérer dans une collections (qui comprend des integer et non des objets IUser, et si on parcours la collection on ne peut appliquer la méthode "deleteNow".
L'autre solution à laquelle j'ai pensé, c'est de récupérer pour chaque groupe, ses users via une requête:
ex:
IInfoObjects users = iStore.query("SELECT * from CI_SYSTEMOBJECTS where SI_KIND='User'");
Or il faudrait que je puisse préciser dans la clause where le nom du groupe.
Comme ça je parcourrais les users et je les supprimerais un à un avec la méthode "deleteNow".
J'ai essayé ceci, mais ça ne passe pas:
IInfoObjects users = iStore.query("SELECT * from CI_SYSTEMOBJECTS where SI_KIND='User' AND SI_USERGROUPS="+gb.getID());
Quelqu'un pourrait il m'aider
Merci d'avance
Partager