diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql b/src/ninegate-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql index c866b9e7..b14c05b0 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Command/data/core-init-01.sql @@ -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}d+3hdhVA7sp4QIbp8DlYbcKNekrYbPkG +(-100, -100, 'admin', 'Administrateur', 'draaf', '{SSHA}wVosXEVYfrthFQKc0AqqOtZZXDWT3re1 ', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '130007107', 'simple'); diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/ConfigController.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/ConfigController.php index 2f1b7ab1..c0ee499c 100755 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/ConfigController.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/ConfigController.php @@ -317,6 +317,9 @@ class ConfigController extends Controller $fields["role"]["perm"]=1; $fields["role"]["label"]="Rôles"; + + $fields["telephonenumber"]["perm"]=1; + $fields["telephonenumber"]["label"]="Téléphone"; } else { $fields=json_decode($fields, true); diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php index d2c6755a..6609b157 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/CoreController.php @@ -76,6 +76,7 @@ class CoreController extends Controller foreach($fields as $key => $field) { // Si champs obligatoire if($field["perm"]==2) { + dump($key); switch($key) { case "firstname": if($user->getFirstname()=="") $toprofil=true; break; case "visible": if($user->getVisible()=="") $toprofil=true; break; @@ -93,12 +94,13 @@ class CoreController extends Controller case "birthcountry": if($user->getBirthcountry()=="") $toprofil=true; break; case "birthplace": if($user->getBirthplace()=="") $toprofil=true; break; } + dump($toprofil); } } } if($toprofil) { - return $this->redirect($this->generateUrl('cadoles_core_profil',array("info"=>"Merci de compléter votre profil"))); + return $this->redirect($this->generateUrl('cadoles_core_user',array("info"=>"Merci de compléter votre profil"))); } } diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php index 6359fd22..4a60d0b9 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/GroupController.php @@ -188,7 +188,7 @@ class GroupController extends Controller $userinfo=""; if($data->getOwner()) { - $userinfo.="getOwner()->getAvatar()."' class='avatar' style='margin:0px 5px 0px 0px;display:inline-block;'>"; + $userinfo.="getOwner()->getAvatar()."' class='avatar' style='margin:0px 5px 0px 0px;display:inline-block;'>"; $userinfo.=$data->getOwner()->getUsername(); } @@ -331,7 +331,7 @@ class GroupController extends Controller $fgmanager=""; // Avatar - $avatar="getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;'>"; + $avatar="getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;cursor:pointer;'>"; array_push($output["data"],array("DT_RowId"=>"user".$data->getId(),$action,$avatar,$data->getUsername(),$data->getEmail(),$fgmanager)); } @@ -463,7 +463,7 @@ class GroupController extends Controller $action.=""; // Avatar - $avatar="getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;'>"; + $avatar="getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;cursor:pointer'>"; // Flag manager $fgmanager=""; diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php index 03b3265b..c76d3647 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Controller/UserController.php @@ -65,71 +65,92 @@ class UserController extends Controller $draw= $request->query->get('draw'); $order= $request->query->get('order'); $viewniveau02=$this->getParameter('viewniveau02'); + $fields=$this->getDefaultDatauser(); + $fgusevisible=!($fields["visible"]["perm"]==0); // Nombre total d'enregistrement - if($this->isGranted('ROLE_ADMIN')||$access=="user") - $total = $em->createQueryBuilder()->select('COUNT(user)')->from($this->labelentity,'user')->getQuery()->getSingleScalarResult(); - elseif($this->isGranted('ROLE_MODO')) { - $usermodo=$this->get('security.token_storage')->getToken()->getUser()->getId(); - $total = $em->createQueryBuilder() - ->select('COUNT(user)') - ->from($this->labelentity,'user') - ->from("CadolesCoreBundle:UserModo",'usermodo') - ->where("usermodo.niveau01 = user.niveau01") - ->andWhere("usermodo.user = :userid") - ->setParameter("userid", $usermodo) - ->getQuery()->getSingleScalarResult(); + if($access=="config") { + if($this->isGranted('ROLE_ADMIN')) { + $total = $em->createQueryBuilder()->select('COUNT(user)')->from($this->labelentity,'user')->getQuery()->getSingleScalarResult(); + } + elseif($this->isGranted('ROLE_MODO')) { + $usermodo=$this->get('security.token_storage')->getToken()->getUser()->getId(); + $total = $em->createQueryBuilder() + ->select('COUNT(user)') + ->from($this->labelentity,'user') + ->from("CadolesCoreBundle:UserModo",'usermodo') + ->where("usermodo.niveau01 = user.niveau01") + ->andWhere("usermodo.user = :userid") + ->setParameter("userid", $usermodo) + ->getQuery()->getSingleScalarResult(); + } + } + else { + if($fgusevisible) { + $total = $em->createQueryBuilder()->select('COUNT(user)')->from($this->labelentity,'user')->where('user.visible=true')->getQuery()->getSingleScalarResult(); + } + else { + $total = $em->createQueryBuilder()->select('COUNT(user)')->from($this->labelentity,'user')->getQuery()->getSingleScalarResult(); + } } - elseif($this->isGranted('ROLE_ANIM')||$this->isGranted('ROLE_USER')) { - $niveau01=$this->get('security.token_storage')->getToken()->getUser()->getNiveau01(); - $total = $em->createQueryBuilder() - ->select('COUNT(user)') - ->from($this->labelentity,'user') - ->where("user.niveau01 = :niveau01") - ->setParameter("niveau01", $niveau01) - ->getQuery()->getSingleScalarResult(); - } // Nombre d'enregistrement filtré if($search["value"]=="") $totalf = $total; else { - if($this->isGranted('ROLE_ADMIN')||$access=="user") - $totalf= $em->createQueryBuilder() - ->select('COUNT(user)') - ->from('CadolesCoreBundle:User','user') - ->from('CadolesCoreBundle:Niveau01', 'niveau01') - ->where('user.niveau01=niveau01.id') - ->andWhere('user.username LIKE :value OR user.firstname LIKE :value OR user.lastname LIKE :value OR user.email LIKE :value OR user.role LIKE :value OR niveau01.label LIKE :value') - ->setParameter("value", "%".$search["value"]."%") - ->getQuery() - ->getSingleScalarResult(); - elseif($this->isGranted('ROLE_MODO')) - $totalf= $em->createQueryBuilder() - ->select('COUNT(user)') - ->from('CadolesCoreBundle:User','user') - ->from('CadolesCoreBundle:Niveau01', 'niveau01') - ->from('CadolesCoreBundle:UserModo', 'usermodo') - ->where('user.niveau01=niveau01.id') - ->andWhere('user.username LIKE :value OR user.firstname LIKE :value OR user.lastname LIKE :value OR user.email LIKE :value OR user.role LIKE :value OR niveau01.label LIKE :value') - ->andwhere("usermodo.niveau01 = user.niveau01") - ->andWhere("usermodo.user = :userid") - ->setParameter("userid", $usermodo) - ->setParameter("value", "%".$search["value"]."%") - ->getQuery() - ->getSingleScalarResult(); - elseif($this->isGranted('ROLE_ANIM')||$this->isGranted('ROLE_USER')) - $totalf= $em->createQueryBuilder() - ->select('COUNT(user)') - ->from('CadolesCoreBundle:User','user') - ->from('CadolesCoreBundle:Niveau01', 'niveau01') - ->where('user.niveau01=niveau01.id') - ->andWhere('user.username LIKE :value OR user.firstname LIKE :value OR user.lastname LIKE :value OR user.email LIKE :value OR user.role LIKE :value OR niveau01.label LIKE :value') - ->andWhere("user.niveau01 = :niveau01") - ->setParameter("niveau01", $niveau01) - ->setParameter("value", "%".$search["value"]."%") - ->getQuery() - ->getSingleScalarResult(); + if($access=="config") { + if($this->isGranted('ROLE_ADMIN')) { + $totalf= $em->createQueryBuilder() + ->select('COUNT(user)') + ->from('CadolesCoreBundle:User','user') + ->from('CadolesCoreBundle:Niveau01', 'niveau01') + ->where('user.niveau01=niveau01.id') + ->andWhere('user.username LIKE :value OR user.firstname LIKE :value OR user.lastname LIKE :value OR user.email LIKE :value OR user.role LIKE :value OR niveau01.label LIKE :value') + ->setParameter("value", "%".$search["value"]."%") + ->getQuery() + ->getSingleScalarResult(); + } + elseif($this->isGranted('ROLE_MODO')) { + $totalf= $em->createQueryBuilder() + ->select('COUNT(user)') + ->from('CadolesCoreBundle:User','user') + ->from('CadolesCoreBundle:Niveau01', 'niveau01') + ->from('CadolesCoreBundle:UserModo', 'usermodo') + ->where('user.niveau01=niveau01.id') + ->andWhere('user.username LIKE :value OR user.firstname LIKE :value OR user.lastname LIKE :value OR user.email LIKE :value OR user.role LIKE :value OR niveau01.label LIKE :value') + ->andwhere("usermodo.niveau01 = user.niveau01") + ->andWhere("usermodo.user = :userid") + ->setParameter("userid", $usermodo) + ->setParameter("value", "%".$search["value"]."%") + ->getQuery() + ->getSingleScalarResult(); + } + } + else { + if($fgusevisible) { + $totalf= $em->createQueryBuilder() + ->select('COUNT(user)') + ->from('CadolesCoreBundle:User','user') + ->from('CadolesCoreBundle:Niveau01', 'niveau01') + ->where('user.niveau01=niveau01.id') + ->andWhere('user.visible=true') + ->andWhere('user.username LIKE :value OR user.firstname LIKE :value OR user.lastname LIKE :value OR user.email LIKE :value OR user.role LIKE :value OR niveau01.label LIKE :value') + ->setParameter("value", "%".$search["value"]."%") + ->getQuery() + ->getSingleScalarResult(); + } + else { + $totalf= $em->createQueryBuilder() + ->select('COUNT(user)') + ->from('CadolesCoreBundle:User','user') + ->from('CadolesCoreBundle:Niveau01', 'niveau01') + ->where('user.niveau01=niveau01.id') + ->andWhere('user.username LIKE :value OR user.firstname LIKE :value OR user.lastname LIKE :value OR user.email LIKE :value OR user.role LIKE :value OR niveau01.label LIKE :value') + ->setParameter("value", "%".$search["value"]."%") + ->getQuery() + ->getSingleScalarResult(); + } + } } // Construction du tableau de retour @@ -142,23 +163,24 @@ class UserController extends Controller // Parcours des Enregistrement $qb = $em->createQueryBuilder(); - if($this->isGranted('ROLE_ADMIN')||$access=="user") { + if($access=="config") { + if($this->isGranted('ROLE_ADMIN')) { + $qb->select('user')->from($this->labelentity,'user')->from('CadolesCoreBundle:Niveau01','niveau01'); + $qb->where('user.niveau01=niveau01.id'); + } + elseif($this->isGranted('ROLE_MODO')) { + $qb->select('user')->from($this->labelentity,'user')->from('CadolesCoreBundle:Niveau01','niveau01')->from('CadolesCoreBundle:UserModo', 'usermodo'); + $qb->where('user.niveau01=niveau01.id') + ->andwhere("usermodo.niveau01 = user.niveau01") + ->andWhere("usermodo.user = :userid") + ->setParameter("userid", $usermodo); + } + } + else { $qb->select('user')->from($this->labelentity,'user')->from('CadolesCoreBundle:Niveau01','niveau01'); $qb->where('user.niveau01=niveau01.id'); + if($fgusevisible) $qb->andWhere('user.visible=true'); } - elseif($this->isGranted('ROLE_MODO')) { - $qb->select('user')->from($this->labelentity,'user')->from('CadolesCoreBundle:Niveau01','niveau01')->from('CadolesCoreBundle:UserModo', 'usermodo'); - $qb->where('user.niveau01=niveau01.id') - ->andwhere("usermodo.niveau01 = user.niveau01") - ->andWhere("usermodo.user = :userid") - ->setParameter("userid", $usermodo); - } - elseif($this->isGranted('ROLE_ANIM')||$this->isGranted('ROLE_USER')) { - $qb->select('user')->from($this->labelentity,'user')->from('CadolesCoreBundle:Niveau01','niveau01'); - $qb->where('user.niveau01=niveau01.id') - ->andwhere("user.niveau01 = :niveau01") - ->setParameter("niveau01", $niveau01); - } if($search["value"]!="") { $qb ->andWhere('user.username LIKE :value OR user.firstname LIKE :value OR user.lastname LIKE :value OR user.email LIKE :value OR user.role LIKE :value OR niveau01.label LIKE :value') @@ -184,10 +206,14 @@ class UserController extends Controller break; case 6 : + $qb->orderBy('user.telephonenumber',$order[0]["dir"]); + break; + + case 7 : $qb->orderBy('niveau01.label',$order[0]["dir"]); break; - case 9 : + case 10 : $qb->orderBy('user.role',$order[0]["dir"]); break; } @@ -211,10 +237,14 @@ class UserController extends Controller break; case 5 : + $qb->orderBy('user.telephonenumber',$order[0]["dir"]); + break; + + case 6 : $qb->orderBy('niveau01.label',$order[0]["dir"]); break; - case 7 : + case 8 : $qb->orderBy('user.role',$order[0]["dir"]); break; } @@ -240,11 +270,12 @@ class UserController extends Controller $tmp=array(); if($access=="config") array_push($tmp,$action); - array_push($tmp,"getAvatar()."' class='avatar' style='margin:auto;display:block;'>"); + array_push($tmp,"getAvatar()."' class='avatar' style='margin:auto;display:block;'>"); array_push($tmp,$data->getUsername()); array_push($tmp,$data->getLastname()); array_push($tmp,$data->getFirstname()); array_push($tmp,"".$data->getEmail().""); + array_push($tmp,$data->getTelephonenumber()); array_push($tmp,$data->getNiveau01()->getLabel()); if($viewniveau02) array_push($tmp,($data->getNiveau02()!==null?$data->getNiveau02()->getLabel():"")); array_push($tmp,$groups); @@ -704,7 +735,17 @@ class UserController extends Controller return $this->updateAction($user->getId(),"user",$request); } + public function viewAction($id, Request $request) + { + $user=$this->getData($id); + return $this->render('CadolesCoreBundle:User:view.html.twig', [ + 'useheader' => false, + 'usemenu' => false, + 'usesidebar' => false, + "user" => $user + ]); + } public function importuserAction(Request $request) { if($this->GetParameter("masteridentity")!="SQL") diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml index b63b1f09..b6fc83ec 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/config/routing.yml @@ -265,6 +265,10 @@ cadoles_core_user_users: path: /user/users defaults: { _controller: CadolesCoreBundle:User:list, access: user } +cadoles_core_user_view: + path: /user/view/{id} + defaults: { _controller: CadolesCoreBundle:User:view } + #== Niveau01 ============================================================================================================= cadoles_core_config_niveau01: diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css index e9814758..a2a103ae 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/css/style.css @@ -603,6 +603,7 @@ a.item-heart { position: absolute; margin-left:50px; cursor: pointer; + font-size: 1.5vw; } .widgetheader iframe, @@ -619,6 +620,12 @@ a.item-heart { height:100%; } +@media (max-width: 991px) { + .widgetheader .title { + font-size: 25px; + } +} + /*== FEED ===============================================================================================================================================*/ .cat-list-feed { diff --git a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/local.js b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/local.js index 46cf9921..175a4015 100644 --- a/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/local.js +++ b/src/ninegate-1.0/src/Cadoles/CoreBundle/Resources/public/themes/transnum/local.js @@ -3,24 +3,97 @@ // Instance the tour function MyTour() { + var template="