purge des groupes inexistant dans l'annuaire
This commit is contained in:
parent
fb879143d5
commit
2c1078d19e
|
@ -379,6 +379,62 @@ class SynchroCommand extends Command
|
||||||
$this->em->clear();
|
$this->em->clear();
|
||||||
if($nbusers%1000==0) $this->writelnred(" == Nombre d'utilisateurs traités = $nbusers==");
|
if($nbusers%1000==0) $this->writelnred(" == Nombre d'utilisateurs traités = $nbusers==");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->writeln('');
|
||||||
|
$this->writeln('== GROUPS ============================================');
|
||||||
|
// Pour chaque groupe annuaire on s'assure que le groupe existe bien dans l'annuaire
|
||||||
|
$groups=$this->em->getRepository('CadolesCoreBundle:Group')->findBy(["fgtemplate"=>true]);
|
||||||
|
foreach($groups as $group) {
|
||||||
|
if(stripos($group->getLabel(),"PROFIL - ")===false) {
|
||||||
|
$results = $this->ldap->search($group->getLdapfilter(), [], $this->ldap_basedn);
|
||||||
|
if(count($results)==0) {
|
||||||
|
$this->writeln(" - Suppression dans Bundle >> ".$group->getLabel());
|
||||||
|
if(!$simulate) {
|
||||||
|
if($group->getFgcanshare()) {
|
||||||
|
// Sur l'ensemble des pages liés
|
||||||
|
$pages=$group->getPages();
|
||||||
|
foreach($pages as $page) {
|
||||||
|
$getgroups=$page->getGroups();
|
||||||
|
// si la page est lié qu'à un seul group on peut la supprimer
|
||||||
|
if($getgroups->count()==1)
|
||||||
|
$this->em->remove($page);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sur l'ensemble des calendar liés
|
||||||
|
$calendars=$group->getCalendars();
|
||||||
|
foreach($calendars as $calendar) {
|
||||||
|
$getgroups=$calendar->getGroups();
|
||||||
|
// si la page est lié qu'à un seul group on peut la supprimer
|
||||||
|
if($getgroups->count()==1)
|
||||||
|
$this->em->remove($calendar);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sur l'ensemble des blog liés
|
||||||
|
$blogs=$group->getBlogs();
|
||||||
|
foreach($blogs as $blog) {
|
||||||
|
$getgroups=$blog->getGroups();
|
||||||
|
// si la page est lié qu'à un seul group on peut la supprimer
|
||||||
|
if($getgroups->count()==1)
|
||||||
|
$this->em->remove($blog);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sur l'ensemble des project liés
|
||||||
|
$projects=$group->getProjects();
|
||||||
|
foreach($projects as $project) {
|
||||||
|
$getgroups=$project->getGroups();
|
||||||
|
// si la page est lié qu'à un seul group on peut la supprimer
|
||||||
|
if($getgroups->count()==1)
|
||||||
|
$this->em->remove($project);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->em->remove($group);
|
||||||
|
$this->em->flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -958,7 +958,7 @@ class GroupController extends Controller
|
||||||
// Sur l'ensemble des project liés
|
// Sur l'ensemble des project liés
|
||||||
$projects=$data->getProjects();
|
$projects=$data->getProjects();
|
||||||
foreach($projects as $project) {
|
foreach($projects as $project) {
|
||||||
$groups=$blog->getGroups();
|
$groups=$project->getGroups();
|
||||||
// si la page est lié qu'à un seul group on peut la supprimer
|
// si la page est lié qu'à un seul group on peut la supprimer
|
||||||
if($groups->count()==1)
|
if($groups->count()==1)
|
||||||
$em->remove($project);
|
$em->remove($project);
|
||||||
|
|
Loading…
Reference in New Issue