sur creation modification on ajoute le propriétaire dans le groupe en tant que manager (fixes #51)

This commit is contained in:
afornerot 2019-12-05 14:17:55 +01:00
parent fc482a7b41
commit 0203e6bd04
2 changed files with 26 additions and 1 deletions

View File

@ -8,7 +8,7 @@ INSERT IGNORE INTO `niveau01` (`id`, `label`, `siren`) VALUES
(-100, 'DRAAF', '130007107');
INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastname`, `password`, `email`, `avatar`, `role`,`siren`,`authlevel`) VALUES
(-100, -100, 'admin', 'Administrateur', 'draaf', '{SSHA}6eCBwLuPHx5ue7ysFHb+h5Sc/iazIb3t
(-100, -100, 'admin', 'Administrateur', 'draaf', '{SSHA}6YNXtIHaQ6w62Z/IFo4Ux8oRFfg3LpIf
', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '130007107', 'simple');

View File

@ -18,6 +18,7 @@ use Cadoles\CoreBundle\Form\GroupType;
use Cadoles\PortalBundle\Entity\Calendar;
use Cadoles\PortalBundle\Entity\Blog;
use Cadoles\WebsocketBundle\Entity\Message;
use Symfony\Component\Security\Core\User\User;
class GroupController extends Controller
{
@ -722,6 +723,9 @@ class GroupController extends Controller
$em->flush();
}
// On s'assure que le propriétaire est bien membre du groupe
$this->ctrlOwner($data);
// On s'assure que le groupe de travail à bien page d'accueil / calendrier / blog associé
// Sinon on les génère
$this->ctrlFgcanshare($data,$access);
@ -791,6 +795,9 @@ class GroupController extends Controller
$em->persist($data);
$em->flush();
// On s'assure que le propriétaire est bien membre du groupe
$this->ctrlOwner($data);
// On s'assure que le groupe de travail à bien page d'accueil / calendrier / blog associé
// Sinon on les génère
$this->ctrlFgcanshare($data,$access);
@ -918,6 +925,24 @@ class GroupController extends Controller
]);
}
protected function ctrlOwner($group) {
$em = $this->getDoctrine()->getManager();
if($group->getOwner()) {
$usergroup=$em->getRepository("CadolesCoreBundle:Usergroup")->findOneBy(["user"=>$group->getOwner()]);
if($usergroup) {
$key = Uuid::uuid4();
$usergroup=new Usergroup;
$usergroup->setUser($group->getOwner());
$usergroup->setGroup($group);
$usergroup->setKeyvalue($key);
}
$usergroup->setFgmanager(true);
$em->persist($usergroup);
$em->flush();
}
}
protected function ctrlFgcanshare($group,$access) {
$em = $this->getDoctrine()->getManager();