Merge branch 'master' into dist/envole/6/master
This commit is contained in:
commit
28e9c37e48
|
@ -8,7 +8,7 @@ INSERT IGNORE INTO `niveau01` (`id`, `label`, `siren`) VALUES
|
||||||
(-100, 'DRAAF', '130007107');
|
(-100, 'DRAAF', '130007107');
|
||||||
|
|
||||||
INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastname`, `password`, `email`, `avatar`, `role`,`siren`,`authlevel`) VALUES
|
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');
|
', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '130007107', 'simple');
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -317,6 +317,9 @@ class ConfigController extends Controller
|
||||||
|
|
||||||
$fields["role"]["perm"]=1;
|
$fields["role"]["perm"]=1;
|
||||||
$fields["role"]["label"]="Rôles";
|
$fields["role"]["label"]="Rôles";
|
||||||
|
|
||||||
|
$fields["telephonenumber"]["perm"]=1;
|
||||||
|
$fields["telephonenumber"]["label"]="Téléphone";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$fields=json_decode($fields, true);
|
$fields=json_decode($fields, true);
|
||||||
|
|
|
@ -76,6 +76,7 @@ class CoreController extends Controller
|
||||||
foreach($fields as $key => $field) {
|
foreach($fields as $key => $field) {
|
||||||
// Si champs obligatoire
|
// Si champs obligatoire
|
||||||
if($field["perm"]==2) {
|
if($field["perm"]==2) {
|
||||||
|
dump($key);
|
||||||
switch($key) {
|
switch($key) {
|
||||||
case "firstname": if($user->getFirstname()=="") $toprofil=true; break;
|
case "firstname": if($user->getFirstname()=="") $toprofil=true; break;
|
||||||
case "visible": if($user->getVisible()=="") $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 "birthcountry": if($user->getBirthcountry()=="") $toprofil=true; break;
|
||||||
case "birthplace": if($user->getBirthplace()=="") $toprofil=true; break;
|
case "birthplace": if($user->getBirthplace()=="") $toprofil=true; break;
|
||||||
}
|
}
|
||||||
|
dump($toprofil);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($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")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -188,7 +188,7 @@ class GroupController extends Controller
|
||||||
|
|
||||||
$userinfo="";
|
$userinfo="";
|
||||||
if($data->getOwner()) {
|
if($data->getOwner()) {
|
||||||
$userinfo.="<img src='/".$this->container->getParameter('alias')."/uploads/avatar/".$data->getOwner()->getAvatar()."' class='avatar' style='margin:0px 5px 0px 0px;display:inline-block;'>";
|
$userinfo.="<img style='cursor:pointer' onClick='seeUser(".$data->getOwner()->getId().")' src='/".$this->container->getParameter('alias')."/uploads/avatar/".$data->getOwner()->getAvatar()."' class='avatar' style='margin:0px 5px 0px 0px;display:inline-block;'>";
|
||||||
$userinfo.=$data->getOwner()->getUsername();
|
$userinfo.=$data->getOwner()->getUsername();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -331,7 +331,7 @@ class GroupController extends Controller
|
||||||
$fgmanager="<input type='checkbox' class='switch' onChange='switchManager(".$data->getId().");'>";
|
$fgmanager="<input type='checkbox' class='switch' onChange='switchManager(".$data->getId().");'>";
|
||||||
|
|
||||||
// Avatar
|
// Avatar
|
||||||
$avatar="<img src='/".$this->container->getParameter('alias')."/uploads/avatar/".$data->getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;'>";
|
$avatar="<img onClick='seeUser(".$data->getId().")' src='/".$this->container->getParameter('alias')."/uploads/avatar/".$data->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));
|
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.="<a style='cursor:pointer' onClick='delUsers(".$data->getId().")'><i class='fa fa-minus fa-fw'></i></a>";
|
$action.="<a style='cursor:pointer' onClick='delUsers(".$data->getId().")'><i class='fa fa-minus fa-fw'></i></a>";
|
||||||
|
|
||||||
// Avatar
|
// Avatar
|
||||||
$avatar="<img src='/".$this->container->getParameter('alias')."/uploads/avatar/".$data->getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;'>";
|
$avatar="<img onClick='seeUser(".$data->getId().")' src='/".$this->container->getParameter('alias')."/uploads/avatar/".$data->getAvatar()."' style='width:30px;background-color:#337ab7;margin:auto;display:block;cursor:pointer'>";
|
||||||
|
|
||||||
// Flag manager
|
// Flag manager
|
||||||
$fgmanager="";
|
$fgmanager="";
|
||||||
|
|
|
@ -65,71 +65,92 @@ class UserController extends Controller
|
||||||
$draw= $request->query->get('draw');
|
$draw= $request->query->get('draw');
|
||||||
$order= $request->query->get('order');
|
$order= $request->query->get('order');
|
||||||
$viewniveau02=$this->getParameter('viewniveau02');
|
$viewniveau02=$this->getParameter('viewniveau02');
|
||||||
|
$fields=$this->getDefaultDatauser();
|
||||||
|
$fgusevisible=!($fields["visible"]["perm"]==0);
|
||||||
|
|
||||||
// Nombre total d'enregistrement
|
// Nombre total d'enregistrement
|
||||||
if($this->isGranted('ROLE_ADMIN')||$access=="user")
|
if($access=="config") {
|
||||||
$total = $em->createQueryBuilder()->select('COUNT(user)')->from($this->labelentity,'user')->getQuery()->getSingleScalarResult();
|
if($this->isGranted('ROLE_ADMIN')) {
|
||||||
elseif($this->isGranted('ROLE_MODO')) {
|
$total = $em->createQueryBuilder()->select('COUNT(user)')->from($this->labelentity,'user')->getQuery()->getSingleScalarResult();
|
||||||
$usermodo=$this->get('security.token_storage')->getToken()->getUser()->getId();
|
}
|
||||||
$total = $em->createQueryBuilder()
|
elseif($this->isGranted('ROLE_MODO')) {
|
||||||
->select('COUNT(user)')
|
$usermodo=$this->get('security.token_storage')->getToken()->getUser()->getId();
|
||||||
->from($this->labelentity,'user')
|
$total = $em->createQueryBuilder()
|
||||||
->from("CadolesCoreBundle:UserModo",'usermodo')
|
->select('COUNT(user)')
|
||||||
->where("usermodo.niveau01 = user.niveau01")
|
->from($this->labelentity,'user')
|
||||||
->andWhere("usermodo.user = :userid")
|
->from("CadolesCoreBundle:UserModo",'usermodo')
|
||||||
->setParameter("userid", $usermodo)
|
->where("usermodo.niveau01 = user.niveau01")
|
||||||
->getQuery()->getSingleScalarResult();
|
->andWhere("usermodo.user = :userid")
|
||||||
|
->setParameter("userid", $usermodo)
|
||||||
|
->getQuery()->getSingleScalarResult();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
elseif($this->isGranted('ROLE_ANIM')||$this->isGranted('ROLE_USER')) {
|
else {
|
||||||
$niveau01=$this->get('security.token_storage')->getToken()->getUser()->getNiveau01();
|
if($fgusevisible) {
|
||||||
$total = $em->createQueryBuilder()
|
$total = $em->createQueryBuilder()->select('COUNT(user)')->from($this->labelentity,'user')->where('user.visible=true')->getQuery()->getSingleScalarResult();
|
||||||
->select('COUNT(user)')
|
}
|
||||||
->from($this->labelentity,'user')
|
else {
|
||||||
->where("user.niveau01 = :niveau01")
|
$total = $em->createQueryBuilder()->select('COUNT(user)')->from($this->labelentity,'user')->getQuery()->getSingleScalarResult();
|
||||||
->setParameter("niveau01", $niveau01)
|
}
|
||||||
->getQuery()->getSingleScalarResult();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nombre d'enregistrement filtré
|
// Nombre d'enregistrement filtré
|
||||||
if($search["value"]=="")
|
if($search["value"]=="")
|
||||||
$totalf = $total;
|
$totalf = $total;
|
||||||
else {
|
else {
|
||||||
if($this->isGranted('ROLE_ADMIN')||$access=="user")
|
if($access=="config") {
|
||||||
$totalf= $em->createQueryBuilder()
|
if($this->isGranted('ROLE_ADMIN')) {
|
||||||
->select('COUNT(user)')
|
$totalf= $em->createQueryBuilder()
|
||||||
->from('CadolesCoreBundle:User','user')
|
->select('COUNT(user)')
|
||||||
->from('CadolesCoreBundle:Niveau01', 'niveau01')
|
->from('CadolesCoreBundle:User','user')
|
||||||
->where('user.niveau01=niveau01.id')
|
->from('CadolesCoreBundle:Niveau01', 'niveau01')
|
||||||
->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')
|
->where('user.niveau01=niveau01.id')
|
||||||
->setParameter("value", "%".$search["value"]."%")
|
->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')
|
||||||
->getQuery()
|
->setParameter("value", "%".$search["value"]."%")
|
||||||
->getSingleScalarResult();
|
->getQuery()
|
||||||
elseif($this->isGranted('ROLE_MODO'))
|
->getSingleScalarResult();
|
||||||
$totalf= $em->createQueryBuilder()
|
}
|
||||||
->select('COUNT(user)')
|
elseif($this->isGranted('ROLE_MODO')) {
|
||||||
->from('CadolesCoreBundle:User','user')
|
$totalf= $em->createQueryBuilder()
|
||||||
->from('CadolesCoreBundle:Niveau01', 'niveau01')
|
->select('COUNT(user)')
|
||||||
->from('CadolesCoreBundle:UserModo', 'usermodo')
|
->from('CadolesCoreBundle:User','user')
|
||||||
->where('user.niveau01=niveau01.id')
|
->from('CadolesCoreBundle:Niveau01', 'niveau01')
|
||||||
->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')
|
->from('CadolesCoreBundle:UserModo', 'usermodo')
|
||||||
->andwhere("usermodo.niveau01 = user.niveau01")
|
->where('user.niveau01=niveau01.id')
|
||||||
->andWhere("usermodo.user = :userid")
|
->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("userid", $usermodo)
|
->andwhere("usermodo.niveau01 = user.niveau01")
|
||||||
->setParameter("value", "%".$search["value"]."%")
|
->andWhere("usermodo.user = :userid")
|
||||||
->getQuery()
|
->setParameter("userid", $usermodo)
|
||||||
->getSingleScalarResult();
|
->setParameter("value", "%".$search["value"]."%")
|
||||||
elseif($this->isGranted('ROLE_ANIM')||$this->isGranted('ROLE_USER'))
|
->getQuery()
|
||||||
$totalf= $em->createQueryBuilder()
|
->getSingleScalarResult();
|
||||||
->select('COUNT(user)')
|
}
|
||||||
->from('CadolesCoreBundle:User','user')
|
}
|
||||||
->from('CadolesCoreBundle:Niveau01', 'niveau01')
|
else {
|
||||||
->where('user.niveau01=niveau01.id')
|
if($fgusevisible) {
|
||||||
->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')
|
$totalf= $em->createQueryBuilder()
|
||||||
->andWhere("user.niveau01 = :niveau01")
|
->select('COUNT(user)')
|
||||||
->setParameter("niveau01", $niveau01)
|
->from('CadolesCoreBundle:User','user')
|
||||||
->setParameter("value", "%".$search["value"]."%")
|
->from('CadolesCoreBundle:Niveau01', 'niveau01')
|
||||||
->getQuery()
|
->where('user.niveau01=niveau01.id')
|
||||||
->getSingleScalarResult();
|
->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
|
// Construction du tableau de retour
|
||||||
|
@ -142,22 +163,23 @@ class UserController extends Controller
|
||||||
|
|
||||||
// Parcours des Enregistrement
|
// Parcours des Enregistrement
|
||||||
$qb = $em->createQueryBuilder();
|
$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->select('user')->from($this->labelentity,'user')->from('CadolesCoreBundle:Niveau01','niveau01');
|
||||||
$qb->where('user.niveau01=niveau01.id');
|
$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"]!="") {
|
if($search["value"]!="") {
|
||||||
|
@ -184,10 +206,14 @@ class UserController extends Controller
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 6 :
|
case 6 :
|
||||||
|
$qb->orderBy('user.telephonenumber',$order[0]["dir"]);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 7 :
|
||||||
$qb->orderBy('niveau01.label',$order[0]["dir"]);
|
$qb->orderBy('niveau01.label',$order[0]["dir"]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 9 :
|
case 10 :
|
||||||
$qb->orderBy('user.role',$order[0]["dir"]);
|
$qb->orderBy('user.role',$order[0]["dir"]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -211,10 +237,14 @@ class UserController extends Controller
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 5 :
|
case 5 :
|
||||||
|
$qb->orderBy('user.telephonenumber',$order[0]["dir"]);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 6 :
|
||||||
$qb->orderBy('niveau01.label',$order[0]["dir"]);
|
$qb->orderBy('niveau01.label',$order[0]["dir"]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7 :
|
case 8 :
|
||||||
$qb->orderBy('user.role',$order[0]["dir"]);
|
$qb->orderBy('user.role',$order[0]["dir"]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -240,11 +270,12 @@ class UserController extends Controller
|
||||||
|
|
||||||
$tmp=array();
|
$tmp=array();
|
||||||
if($access=="config") array_push($tmp,$action);
|
if($access=="config") array_push($tmp,$action);
|
||||||
array_push($tmp,"<img src='/".$this->container->getParameter('alias')."/uploads/avatar/".$data->getAvatar()."' class='avatar' style='margin:auto;display:block;'>");
|
array_push($tmp,"<img style='cursor:pointer' onClick='seeUser(".$data->getId().")' src='/".$this->container->getParameter('alias')."/uploads/avatar/".$data->getAvatar()."' class='avatar' style='margin:auto;display:block;'>");
|
||||||
array_push($tmp,$data->getUsername());
|
array_push($tmp,$data->getUsername());
|
||||||
array_push($tmp,$data->getLastname());
|
array_push($tmp,$data->getLastname());
|
||||||
array_push($tmp,$data->getFirstname());
|
array_push($tmp,$data->getFirstname());
|
||||||
array_push($tmp,"<a href='mailto:".$data->getEmail()."'>".$data->getEmail()."</a>");
|
array_push($tmp,"<a href='mailto:".$data->getEmail()."'>".$data->getEmail()."</a>");
|
||||||
|
array_push($tmp,$data->getTelephonenumber());
|
||||||
array_push($tmp,$data->getNiveau01()->getLabel());
|
array_push($tmp,$data->getNiveau01()->getLabel());
|
||||||
if($viewniveau02) array_push($tmp,($data->getNiveau02()!==null?$data->getNiveau02()->getLabel():""));
|
if($viewniveau02) array_push($tmp,($data->getNiveau02()!==null?$data->getNiveau02()->getLabel():""));
|
||||||
array_push($tmp,$groups);
|
array_push($tmp,$groups);
|
||||||
|
@ -704,7 +735,17 @@ class UserController extends Controller
|
||||||
return $this->updateAction($user->getId(),"user",$request);
|
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) {
|
public function importuserAction(Request $request) {
|
||||||
if($this->GetParameter("masteridentity")!="SQL")
|
if($this->GetParameter("masteridentity")!="SQL")
|
||||||
|
|
|
@ -265,6 +265,10 @@ cadoles_core_user_users:
|
||||||
path: /user/users
|
path: /user/users
|
||||||
defaults: { _controller: CadolesCoreBundle:User:list, access: user }
|
defaults: { _controller: CadolesCoreBundle:User:list, access: user }
|
||||||
|
|
||||||
|
cadoles_core_user_view:
|
||||||
|
path: /user/view/{id}
|
||||||
|
defaults: { _controller: CadolesCoreBundle:User:view }
|
||||||
|
|
||||||
|
|
||||||
#== Niveau01 =============================================================================================================
|
#== Niveau01 =============================================================================================================
|
||||||
cadoles_core_config_niveau01:
|
cadoles_core_config_niveau01:
|
||||||
|
|
|
@ -603,6 +603,7 @@ a.item-heart {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
margin-left:50px;
|
margin-left:50px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
font-size: 1.5vw;
|
||||||
}
|
}
|
||||||
|
|
||||||
.widgetheader iframe,
|
.widgetheader iframe,
|
||||||
|
@ -619,6 +620,12 @@ a.item-heart {
|
||||||
height:100%;
|
height:100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 991px) {
|
||||||
|
.widgetheader .title {
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*== FEED ===============================================================================================================================================*/
|
/*== FEED ===============================================================================================================================================*/
|
||||||
|
|
||||||
.cat-list-feed {
|
.cat-list-feed {
|
||||||
|
|
|
@ -3,24 +3,97 @@
|
||||||
|
|
||||||
// Instance the tour
|
// Instance the tour
|
||||||
function MyTour() {
|
function MyTour() {
|
||||||
|
var template="<div class='popover tour' style='max-width:500px !important;'><div class='arrow'></div><h3 class='popover-title'></h3><div class='popover-content'></div><div class='popover-navigation'><button class='btn btn-sm btn-default' data-role='prev'>« Prec</button><button class='btn btn-sm btn-default' data-role='next'>Suiv »</button><button class='btn btn-sm btn-default' data-role='end'>Fin</button></div></div>";
|
||||||
var tour = new Tour({
|
var tour = new Tour({
|
||||||
|
name: "tour",
|
||||||
|
template: template,
|
||||||
steps: [
|
steps: [
|
||||||
{
|
{
|
||||||
element: "#logo",
|
element: "#logo",
|
||||||
title: "Transnum",
|
title: "Transnum",
|
||||||
content: "Bienvenue sur le portail TRANSNUM"
|
content: "Bienvenue sur le portail TRANSNUM"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
element: "#menu-profil",
|
element: "#menu-profil",
|
||||||
title: "Votre Profil",
|
title: "Votre Profil",
|
||||||
content: "Vous pouvez modifier les informations vous concernant à cet emplacement"
|
placement : "left",
|
||||||
},
|
content: "Vous pouvez modifier les informations vous concernant à cet emplacement. A droite du bouton 'profil', vous trouvez le bouton vous permettant de vous déconnecter du portail"
|
||||||
{
|
},
|
||||||
element: "#menu-annuaire",
|
{
|
||||||
title: "Annuaire",
|
element: "#menu-notice",
|
||||||
content: "Vous pouvez recherche un utilisateur parmis l'annuaire du portail"
|
title: "Charte utilisateur",
|
||||||
}
|
placement : "left",
|
||||||
]});
|
content: "Vous pouvez consulter ici la charte d'utilisation du portail qui précise les conditions que vous vous engagez à respecter notamment en termes de sécurité et de protection des données"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
element: "#menu-group",
|
||||||
|
title: "Vos Groupes",
|
||||||
|
placement : "left",
|
||||||
|
content: "Vous accédez ici aux groupes auxquels vous êtes inscrits"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
element: "#menu-annuaire",
|
||||||
|
title: "Annuaire",
|
||||||
|
placement : "left",
|
||||||
|
content: "Vous pouvez rechercher un utilisateur dans l'annuaire du portail"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
element: "#appmenu",
|
||||||
|
title: "Barre de navigation rapide",
|
||||||
|
placement : "bottom",
|
||||||
|
content: "Cette barre vous permet d'accéder rapidement à la page d'accueil et à vos groupes de travail"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
element: $("iframe").first().contents().find(".widget-itemessential").find(".widgetheader"),
|
||||||
|
title: "le Bureau",
|
||||||
|
placement : "right",
|
||||||
|
content: "Dans le premier panneau d'outils ci-dessous, vous trouvez les applications qui vous sont proposées. En cliquant sur le bouton '+', vous avez accès à d'autres applications",
|
||||||
|
container: $("iframe").first().contents().find("body")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
element: $("iframe").first().contents().find(".widget-group").find(".widgetheader"),
|
||||||
|
title: "Mes Groupes de travail",
|
||||||
|
placement : "right",
|
||||||
|
content: "Dans le 2nd panneau d'outils ci-dessous, vous trouvez les 'groupes de travail' auxquels vous avez été invités et ceux que vous avez créés. En cliquant sur le bouton '+', vous pouvez créer un groupe de travail. ",
|
||||||
|
container: $("iframe").first().contents().find("body")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
element: $("iframe").first().contents().find(".widget-blog").find(".widgetheader"),
|
||||||
|
title: "Journaux des groupes",
|
||||||
|
placement : "right",
|
||||||
|
content: "Dans le 3ème panneau d'outils ci-dessous, vous trouvez les 'Journaux des Groupes' auxquels vous avez été invités et ceux que vous avez créés. ",
|
||||||
|
container: $("iframe").first().contents().find("body")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
element: $("iframe").first().contents().find(".widget-alert").find(".widgetheader"),
|
||||||
|
title: "Radio Transnum",
|
||||||
|
placement : "left",
|
||||||
|
content: "Dans le premier panneau de droite ci-dessous, vous trouvez les annonces et nouvelles qui concernent tous les membres du portail. ",
|
||||||
|
container: $("iframe").first().contents().find("body")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
element: $("iframe").first().contents().find(".widget-groupmessage").find(".widgetheader"),
|
||||||
|
title: "Actualités des groupes",
|
||||||
|
placement : "left",
|
||||||
|
content: "Dans le 2nd panneau de droite ci-dessous, vous trouvez les annonces et nouvelles qui vous concernent uniquement comme membre de groupes. ",
|
||||||
|
container: $("iframe").first().contents().find("body")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
element: $("iframe").first().contents().find(".widget-calendar").find(".widgetheader"),
|
||||||
|
title: "Agenda des groupes",
|
||||||
|
placement : "left",
|
||||||
|
content: "Dans le troisième panneau de droite ci-dessous, vous trouvez les prochains évènements de vos agendas de groupes. ",
|
||||||
|
container: $("iframe").first().contents().find("body")
|
||||||
|
},
|
||||||
|
{
|
||||||
|
element: $("iframe").first().contents().find(".widget-appexternal").find(".widgetheader"),
|
||||||
|
placement : "left",
|
||||||
|
title: "Formulaires",
|
||||||
|
content: "Dans le dernier panneau de droite ci-dessous, vous trouvez les formulaires qui sont mis à votre disposition pour effectuer des demandes (par exemple faire un 'ticket de support'). ",
|
||||||
|
container: $("iframe").first().contents().find("body")
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|
||||||
// Initialize the tour
|
// Initialize the tour
|
||||||
tour.init();
|
tour.init();
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.widgetheader .title {
|
.widgetheader .title {
|
||||||
font-size: 25px;
|
font-size: 1.2vw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -59,17 +59,6 @@ body.simple {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
.widget-notbordered .widgetheader {
|
|
||||||
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
|
|
||||||
}
|
|
||||||
|
|
||||||
.widget-notbordered .widgetbody .list-item, .widget-notbordered .widgetbody .grid-item-content {
|
|
||||||
box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
.grid .grid-preview {
|
.grid .grid-preview {
|
||||||
width: 15%;
|
width: 15%;
|
||||||
min-width: 138px;
|
min-width: 138px;
|
||||||
|
@ -95,3 +84,9 @@ body.simple {
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 991px) {
|
||||||
|
.widgetheader .title {
|
||||||
|
font-size: 25px;
|
||||||
|
}
|
||||||
|
}
|
|
@ -91,6 +91,17 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
function seeUser(id) {
|
||||||
|
{% if app.user %}
|
||||||
|
$("#mymodal").find(".modal-title").html("FICHE UTILISATEUR");
|
||||||
|
var url="{{ path('cadoles_core_user_view',{id:'xx'}) }}";
|
||||||
|
url=url.replace('xx',id);
|
||||||
|
|
||||||
|
$("#mymodal").find("#framemodal").attr("src",url);
|
||||||
|
$("#mymodal").modal().show();
|
||||||
|
{% endif %}
|
||||||
|
}
|
||||||
|
|
||||||
function inIframe () {
|
function inIframe () {
|
||||||
try {
|
try {
|
||||||
return window.self !== window.top;
|
return window.self !== window.top;
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
<th class="{% if fields["lastname"] is defined and fields["lastname"].perm==0 %}no-visible{% endif %}">Nom</th>
|
<th class="{% if fields["lastname"] is defined and fields["lastname"].perm==0 %}no-visible{% endif %}">Nom</th>
|
||||||
<th class="{% if fields["firstname"] is defined and fields["firstname"].perm==0 %}no-visible{% endif %}">Prénom</th>
|
<th class="{% if fields["firstname"] is defined and fields["firstname"].perm==0 %}no-visible{% endif %}">Prénom</th>
|
||||||
<th class="{% if fields["email"] is defined and fields["email"].perm==0 %}no-visible{% endif %}">Email</th>
|
<th class="{% if fields["email"] is defined and fields["email"].perm==0 %}no-visible{% endif %}">Email</th>
|
||||||
|
<th class="{% if fields["telephonenumber"] is defined and fields["telephonenumber"].perm==0 %}no-visible{% endif %}">Téléphone</th>
|
||||||
<th class="{% if fields["niveau01"] is defined and fields["niveau01"].perm==0 %}no-visible{% endif %}">{{ labelniveau01 }}</th>
|
<th class="{% if fields["niveau01"] is defined and fields["niveau01"].perm==0 %}no-visible{% endif %}">{{ labelniveau01 }}</th>
|
||||||
{% if viewniveau02 %}
|
{% if viewniveau02 %}
|
||||||
<th class="no-sort {% if fields["niveau02"] is defined and fields["niveau02"].perm==0 %}no-visible{% endif %}">{{ labelniveau02 }}</th>
|
<th class="no-sort {% if fields["niveau02"] is defined and fields["niveau02"].perm==0 %}no-visible{% endif %}">{{ labelniveau02 }}</th>
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
{% extends '@CadolesCore/base.html.twig' %}
|
||||||
|
|
||||||
|
{% block pagewrapper %}
|
||||||
|
<div style='margin-auto; text-align:center'>
|
||||||
|
{% if not app.user %}
|
||||||
|
Vous n'êtes pas autorisé à visualiser les fiches utilisateurs
|
||||||
|
{% else %}
|
||||||
|
<br><img id="user_avatar_img" src="/{{ alias }}/uploads/avatar/{{ user.avatar }}" class="avatar big" ><br>
|
||||||
|
<b>Login</b> = {{ user.username }}<br>
|
||||||
|
{% if not user.visible %}
|
||||||
|
<br>L'utilisateur souhaite masquer ses informations personnelles.
|
||||||
|
{% else %}
|
||||||
|
{%if user.lastname %}<b>Nom</b> = {{ user.lastname }}<br>{%endif%}
|
||||||
|
{%if user.firstname %}<b>Prénom</b> = {{ user.firstname }}<br>{%endif%}
|
||||||
|
{%if user.email %}<b>Email</b> = <a href='mailto:{{ user.email }}'>{{ user.email }}</a><br>{%endif%}
|
||||||
|
{%if user.telephonenumber %}<b>Téléphone</b> = {{ user.telephonenumber }}<br>{%endif%}
|
||||||
|
{%if user.niveau01 %}<b>{{ labelniveau01 }}</b> = {{ user.niveau01.label }}<br>{%endif%}
|
||||||
|
{%if viewniveau02 and user.niveau02%}<b>{{ labelniveau02 }}</b> = {{ user.niveau02.label }}<br>{% endif %}
|
||||||
|
{%if user.job %}<b>Métier</b> = {{ user.job }}<br>{%endif%}
|
||||||
|
{%if user.position %}<b>Fonction</b> = {{ user.position }}<br>{%endif%}
|
||||||
|
{%if user.postaladress %}<b>Adresse</b> = {{ user.postaladress }}<br><br>{%endif%}
|
||||||
|
|
||||||
|
{% set fgtitle=false %}
|
||||||
|
{% for usergroup in user.groups %}
|
||||||
|
{% if usergroup.group.fgcanshare %}
|
||||||
|
{% if not fgtitle %}
|
||||||
|
<br><b>Groupes de Travail</b><br>
|
||||||
|
{% set fgtitle=true %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{{ usergroup.group.label }}<br>
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block localjavascript %}
|
||||||
|
{% endblock %}
|
|
@ -428,6 +428,7 @@ class PagewidgetController extends Controller
|
||||||
// Récupération des paramétres du widget
|
// Récupération des paramétres du widget
|
||||||
$modedesktop=0;
|
$modedesktop=0;
|
||||||
$iditemcategory=null;
|
$iditemcategory=null;
|
||||||
|
$withbookmark=true;
|
||||||
$search=false;
|
$search=false;
|
||||||
$menu=false;
|
$menu=false;
|
||||||
$menuall=true;
|
$menuall=true;
|
||||||
|
@ -1974,15 +1975,17 @@ class PagewidgetController extends Controller
|
||||||
|
|
||||||
$mygroups=[];
|
$mygroups=[];
|
||||||
$this->getDoctrine()->getRepository("CadolesPortalBundle:Page")->getPagesUser($user,null,$default,$pagesuser,$pagesadmin,$groupsshared);
|
$this->getDoctrine()->getRepository("CadolesPortalBundle:Page")->getPagesUser($user,null,$default,$pagesuser,$pagesadmin,$groupsshared);
|
||||||
foreach($groupsshared as $groupshared) {
|
if(is_array($groupsshared)) {
|
||||||
|
foreach($groupsshared as $groupshared) {
|
||||||
|
|
||||||
$title=$groupshared->getLabel();
|
$title=$groupshared->getLabel();
|
||||||
$idpage=$groupshared->pagesshared[0]->getId();
|
$idpage=$groupshared->pagesshared[0]->getId();
|
||||||
$icon=null;
|
$icon=null;
|
||||||
if($groupshared->getIcon())
|
if($groupshared->getIcon())
|
||||||
$icon="/".$groupshared->getIcon()->getLabel();
|
$icon="/".$groupshared->getIcon()->getLabel();
|
||||||
|
|
||||||
array_push($mygroups,["title"=>$title,"icon"=>$icon,"id"=>$idpage]);
|
array_push($mygroups,["title"=>$title,"icon"=>$icon,"id"=>$idpage]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Render
|
// Render
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{{ form_row(form.url) }}
|
{{ form_row(form.url) }}
|
||||||
|
<em>le mot clé #login# sera remplacé par le login de l'utilisateur</em><br><br>
|
||||||
{{ form_row(form.target) }}
|
{{ form_row(form.target) }}
|
||||||
{{ form_row(form.color) }}
|
{{ form_row(form.color) }}
|
||||||
|
|
||||||
|
|
|
@ -54,6 +54,7 @@
|
||||||
|
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{{ form_row(form.url) }}
|
{{ form_row(form.url) }}
|
||||||
|
<em>le mot clé #login# sera remplacé par le login de l'utilisateur</em><br><br>
|
||||||
{{ form_row(form.target) }}
|
{{ form_row(form.target) }}
|
||||||
{{ form_row(form.itemcategory) }}
|
{{ form_row(form.itemcategory) }}
|
||||||
{{ form_row(form.roles) }}
|
{{ form_row(form.roles) }}
|
||||||
|
|
|
@ -55,6 +55,7 @@
|
||||||
|
|
||||||
{{ form_row(form.name) }}
|
{{ form_row(form.name) }}
|
||||||
{{ form_row(form.url) }}
|
{{ form_row(form.url) }}
|
||||||
|
<em>le mot clé #login# sera remplacé par le login de l'utilisateur</em><br><br>
|
||||||
{{ form_row(form.roworder) }}
|
{{ form_row(form.roworder) }}
|
||||||
{{ form_row(form.maxwidth) }}
|
{{ form_row(form.maxwidth) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -5,6 +5,12 @@
|
||||||
#pageiframe { margin: 0px -30px;}
|
#pageiframe { margin: 0px -30px;}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% if app.user %}
|
||||||
|
{% set username = app.user.username %}
|
||||||
|
{% else %}
|
||||||
|
{% set username = "" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% block pagewrapper %}
|
{% block pagewrapper %}
|
||||||
{% if access=="config" %}
|
{% if access=="config" %}
|
||||||
<div class="pagemenu">
|
<div class="pagemenu">
|
||||||
|
@ -16,7 +22,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div id="pageiframe" style="{% if entity.maxwidth>0%} max-width:{{ entity.maxwidth }}px; margin:auto; {% endif %}">
|
<div id="pageiframe" style="{% if entity.maxwidth>0%} max-width:{{ entity.maxwidth }}px; margin:auto; {% endif %}">
|
||||||
<iframe src="{{entity.url}}" id="frameContent" style="border:none;" width="100%" height="100%"></iframe>
|
<iframe src="{{entity.url|replace({'#login#': username})}}" id="frameContent" style="border:none;" width="100%" height="100%"></iframe>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
{% set stylewidgetbody = constants.mystylewidgetbody(entity) %}
|
{% set stylewidgetbody = constants.mystylewidgetbody(entity) %}
|
||||||
|
|
||||||
{% if canupdate or alerts|length>0 %}
|
{% if canupdate or alerts|length>0 %}
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-alert" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
{% set colorbodyfont = "color: #" ~ entity.colorbodyfont %}
|
{% set colorbodyfont = "color: #" ~ entity.colorbodyfont %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-appexternal" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate or canadd %}
|
{% if canupdate or canadd %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-blog" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
|
|
@ -26,7 +26,14 @@
|
||||||
{% set colorbodyfont = "color: #" ~ entity.colorbodyfont %}
|
{% set colorbodyfont = "color: #" ~ entity.colorbodyfont %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
{% if app.user %}
|
||||||
|
{% set username = app.user.username %}
|
||||||
|
{% else %}
|
||||||
|
{% set username = "" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-bookmark" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate or canadd %}
|
{% if canupdate or canadd %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
|
@ -64,11 +71,11 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if bookmark.target == 'frame' %}
|
{% if bookmark.target == 'frame' %}
|
||||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" style="cursor:pointer" onClick="showFrameitem('bookmark{{ bookmark.id }}','{{ bookmark.url }}')">
|
<a class="linktosonde" data-sonde="{{ bookmark.title }}" style="cursor:pointer" onClick="showFrameitem('bookmark{{ bookmark.id }}','{{ bookmark.url|replace({'#login#': username}) }}')">
|
||||||
{% elseif bookmark.target == "_self" %}
|
{% elseif bookmark.target == "_self" %}
|
||||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url }}" target="{% if access=="user" %}_top{% else %}{{ bookmark.target }}{% endif %}">
|
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url|replace({'#login#': username}) }}" target="{% if access=="user" %}_top{% else %}{{ bookmark.target }}{% endif %}">
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url }}" target="{{ bookmark.target }}">
|
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url|replace({'#login#': username}) }}" target="{{ bookmark.target }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="item-link clearfix">
|
<div class="item-link clearfix">
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-calendar" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
{% if usage=="group" and firstcalendar is defined %}
|
{% if usage=="group" and firstcalendar is defined %}
|
||||||
{% set url= path('cadoles_portal_'~access~'_calendar_view',{id:firstcalendar}) %}
|
{% set url= path('cadoles_portal_'~access~'_calendar_view',{id:firstcalendar}) %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<a onClick="showFrameitem('calendar','{{url }}',true)" style="{{ stylewidgetmenu }}"><i class="fa fa-calendar fa-fw"></i></a>
|
<a onClick="showFrameitem('calendar','{{ url }}',true)" style="{{ stylewidgetmenu }}"><i class="fa fa-calendar fa-fw"></i></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@
|
||||||
<div style="margin-top:15px; font-weight:bold; font-size:18px;">{{ libday ~ " " ~ dateeventstart|date("d/m/Y") }}</div>
|
<div style="margin-top:15px; font-weight:bold; font-size:18px;">{{ libday ~ " " ~ dateeventstart|date("d/m/Y") }}</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget-event" style="background-color:{{ event.color }}; color: #FFF; padding:2px;">
|
<div class="widget-event" style="background-color:{{ event.color }}; color: #FFF; padding:2px;" title="{{ event.description }}">
|
||||||
{% if not event.allDay %}
|
{% if not event.allDay %}
|
||||||
{{ event.start | date("H:i") }} -
|
{{ event.start | date("H:i") }} -
|
||||||
{%endif%}
|
{%endif%}
|
||||||
|
@ -80,7 +80,9 @@
|
||||||
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
{% if url is defined %}
|
||||||
<div style="cursor:pointer; text-align: right; margin-top:20px;"><a onClick="showFrameitem('calendar','{{url }}',true)" style="{{ stylewidgetbody }}">Voir mes Agendas</a></div>
|
<div style="cursor:pointer; text-align: right; margin-top:20px;"><a onClick="showFrameitem('calendar','{{url }}',true)" style="{{ stylewidgetbody }}">Voir mes Agendas</a></div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if app.user %}
|
{% if app.user %}
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-chat" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
{% set colorbodyfont = color['fontcolorhover'] %}
|
{% set colorbodyfont = color['fontcolorhover'] %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-file" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate or canadd %}
|
{% if canupdate or canadd %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
{% set stylegrid="grid-list" %}
|
{% set stylegrid="grid-list" %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-flux" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
{% set colorbodyfont = color['fontcolorhover'] %}
|
{% set colorbodyfont = color['fontcolorhover'] %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-frame" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
{% set colorbodyfont = color['fontcolorhover'] %}
|
{% set colorbodyfont = color['fontcolorhover'] %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-galery" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate or canadd %}
|
{% if canupdate or canadd %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
{% set canadd = true %}
|
{% set canadd = true %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-editor" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-group" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
{% set stylegrid="grid-list" %}
|
{% set stylegrid="grid-list" %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-groupmessage" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
@ -75,7 +75,7 @@
|
||||||
<div class="grid-item-content">
|
<div class="grid-item-content">
|
||||||
<div class="item-link clearfix">
|
<div class="item-link clearfix">
|
||||||
<div class="grid-item-logo">
|
<div class="grid-item-logo">
|
||||||
<img class="grid-item-img avatar" src="/{{alias}}/uploads/avatar/{{message.user.avatar}}" width="100%">
|
<img style='cursor:pointer' onClick="seeUser({{message.user.id}})" class="grid-item-img avatar" src="/{{alias}}/uploads/avatar/{{message.user.avatar}}" width="100%">
|
||||||
<a onClick="hideMessage({{message.id}})" style="cursor:pointer;" title="Ne plus afficher"><i class="fa fa-eye-slash"></i></a>
|
<a onClick="hideMessage({{message.id}})" style="cursor:pointer;" title="Ne plus afficher"><i class="fa fa-eye-slash"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-info" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
@ -29,12 +29,12 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% set canadd = false %}
|
{% set canadd = false %}
|
||||||
<div class="widgetheader" style="{{ stylewidgetheader }};">
|
<div class="widgetheader" style="{{ stylewidgetheader }}; padding-top:10px;">
|
||||||
{% set style = "width: 90px;display: block;margin: auto; padding: 10px 0px 10px 0px; position: inherit;height: auto;" %}
|
{% set style = "margin: auto; display: inherit;background-color:transparent;" %}
|
||||||
{% if icon %}
|
{% if icon %}
|
||||||
<img src="/{{ alias }}{{ icon }}" class="logo" style="{{ style }}" />
|
<img src="/{{ alias }}{{ icon }}" class="avatar big" style="{{ style }}" />
|
||||||
{% else %}
|
{% else %}
|
||||||
<img src="/{{ alias }}/uploads/icon/icon_users.png" style="{{ style }}" />
|
<img src="/{{ alias }}/uploads/icon/icon_users.png" class="avatar big" style="{{ style }}" />
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
<div class="grid-item grid-small" style="{{ stylewidgetbodyreverse }};">
|
<div class="grid-item grid-small" style="{{ stylewidgetbodyreverse }};">
|
||||||
<div class="grid-item-content">
|
<div class="grid-item-content">
|
||||||
<div class="grid-item-logo">
|
<div class="grid-item-logo">
|
||||||
<img src="/{{ alias }}/uploads/avatar/{{ member.user.avatar}}" class="grid-item-img avatar" height="110" >
|
<img onclick="seeUser({{member.user.id}})" src="/{{ alias }}/uploads/avatar/{{ member.user.avatar}}" class="grid-item-img avatar" height="110" style="cursor:pointer;">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="grid-item-title">
|
<div class="grid-item-title">
|
||||||
|
|
|
@ -27,7 +27,13 @@
|
||||||
{% set colorbodyfont = "color: #" ~ entity.colorbodyfont %}
|
{% set colorbodyfont = "color: #" ~ entity.colorbodyfont %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
{% if app.user %}
|
||||||
|
{% set username = app.user.username %}
|
||||||
|
{% else %}
|
||||||
|
{% set username = "" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-item" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate or canadd %}
|
{% if canupdate or canadd %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
|
@ -100,11 +106,11 @@
|
||||||
<a style="cursor:pointer" onClick="modBookmark({{ bookmark.id }})" class="item-update"><i style="color: #FFF" class="fa fa-file" title="Modifier le favori"></i></a>
|
<a style="cursor:pointer" onClick="modBookmark({{ bookmark.id }})" class="item-update"><i style="color: #FFF" class="fa fa-file" title="Modifier le favori"></i></a>
|
||||||
|
|
||||||
{% if bookmark.target == 'frame' %}
|
{% if bookmark.target == 'frame' %}
|
||||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" style="cursor:pointer" onClick="showFrameitem('bookmark{{ bookmark.id }}','{{ bookmark.url }}')">
|
<a class="linktosonde" data-sonde="{{ bookmark.title }}" style="cursor:pointer" onClick="showFrameitem('bookmark{{ bookmark.id }}','{{ bookmark.url|replace({'#login#': username}) }}')">
|
||||||
{% elseif bookmark.target == "_self" %}
|
{% elseif bookmark.target == "_self" %}
|
||||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url }}" target="{% if access=="user" %}_top{% else %}{{ bookmark.target }}{% endif %}">
|
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url|replace({'#login#': username}) }}" target="{% if access=="user" %}_top{% else %}{{ bookmark.target }}{% endif %}">
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url }}" target="{{ bookmark.target }}">
|
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url|replace({'#login#': username}) }}" target="{{ bookmark.target }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="item-link clearfix">
|
<div class="item-link clearfix">
|
||||||
|
@ -209,11 +215,11 @@
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{% if item.target == 'frame' %}
|
{% if item.target == 'frame' %}
|
||||||
<a class="linktosonde" data-sonde="{{ item.title }}" style="cursor:pointer" onClick="showFrameitem({{ item.id }},'{{ item.url }}')">
|
<a class="linktosonde" data-sonde="{{ item.title }}" style="cursor:pointer" onClick="showFrameitem({{ item.id }},'{{ item.url|replace({'#login#': username}) }}')">
|
||||||
{% elseif item.target == "_self" %}
|
{% elseif item.target == "_self" %}
|
||||||
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url }}" target="{% if access=="user" %}_top{% else %}{{ item.target }}{% endif %}">
|
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url|replace({'#login#': username}) }}" target="{% if access=="user" %}_top{% else %}{{ item.target }}{% endif %}">
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url }}" target="{{ item.target }}">
|
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url|replace({'#login#': username}) }}" target="{{ item.target }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,13 @@
|
||||||
{% set colorbodyfont = "color: #" ~ entity.colorbodyfont %}
|
{% set colorbodyfont = "color: #" ~ entity.colorbodyfont %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
{% if app.user %}
|
||||||
|
{% set username = app.user.username %}
|
||||||
|
{% else %}
|
||||||
|
{% set username = "" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-itemessential" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate or canadd %}
|
{% if canupdate or canadd %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
|
@ -65,11 +71,11 @@
|
||||||
<a style="cursor:pointer" onClick="modBookmark({{ bookmark.id }})" class="item-update"><i style="color: #FFF" class="fa fa-file" title="Modifier le favori"></i></a>
|
<a style="cursor:pointer" onClick="modBookmark({{ bookmark.id }})" class="item-update"><i style="color: #FFF" class="fa fa-file" title="Modifier le favori"></i></a>
|
||||||
|
|
||||||
{% if bookmark.target == 'frame' %}
|
{% if bookmark.target == 'frame' %}
|
||||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" style="cursor:pointer" onClick="showFrameitem('bookmark{{ bookmark.id }}','{{ bookmark.url }}')">
|
<a class="linktosonde" data-sonde="{{ bookmark.title }}" style="cursor:pointer" onClick="showFrameitem('bookmark{{ bookmark.id }}','{{ bookmark.url|replace({'#login#': username}) }}')">
|
||||||
{% elseif bookmark.target == "_self" %}
|
{% elseif bookmark.target == "_self" %}
|
||||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url }}" target="{% if access=="user" %}_top{% else %}{{ bookmark.target }}{% endif %}">
|
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url|replace({'#login#': username}) }}" target="{% if access=="user" %}_top{% else %}{{ bookmark.target }}{% endif %}">
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url }}" target="{{ bookmark.target }}">
|
<a class="linktosonde" data-sonde="{{ bookmark.title }}" href="{{ bookmark.url|replace({'#login#': username}) }}" target="{{ bookmark.target }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="item-link clearfix">
|
<div class="item-link clearfix">
|
||||||
|
@ -113,11 +119,11 @@
|
||||||
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{% if item.target == 'frame' %}
|
{% if item.target == 'frame' %}
|
||||||
<a class="linktosonde" data-sonde="{{ item.title }}" style="cursor:pointer" onClick="showFrameitem({{ item.id }},'{{ item.url }}')">
|
<a class="linktosonde" data-sonde="{{ item.title }}" style="cursor:pointer" onClick="showFrameitem({{ item.id }},'{{ item.url|replace({'#login#': username}) }}')">
|
||||||
{% elseif item.target == "_self" %}
|
{% elseif item.target == "_self" %}
|
||||||
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url }}" target="{% if access=="user" %}_top{% else %}{{ item.target }}{% endif %}">
|
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url|replace({'#login#': username}) }}" target="{% if access=="user" %}_top{% else %}{{ item.target }}{% endif %}">
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url }}" target="{{ item.target }}">
|
<a class="linktosonde" data-sonde="{{ item.title }}" href="{{ item.url|replace({'#login#': username}) }}" target="{{ item.target }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,13 @@
|
||||||
{% set stylelink = "color:#" ~ color['fontcolorhover'] %}
|
{% set stylelink = "color:#" ~ color['fontcolorhover'] %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
{% if app.user %}
|
||||||
|
{% set username = app.user.username %}
|
||||||
|
{% else %}
|
||||||
|
{% set username = "" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-link" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
|
@ -31,11 +37,11 @@
|
||||||
|
|
||||||
<div class="widgetheader" style="{{ stylewidgetbodyimage }}; height:100%;">
|
<div class="widgetheader" style="{{ stylewidgetbodyimage }}; height:100%;">
|
||||||
{% if target == 'frame' %}
|
{% if target == 'frame' %}
|
||||||
<a class="linktosonde" data-sonde="{{ entity.name }}" style="cursor:pointer; {{ stylelink }}" onClick="showFrameitem('link{{ entity.id }}','{{ url }}')">
|
<a class="linktosonde" data-sonde="{{ entity.name }}" style="cursor:pointer; {{ stylelink }}" onClick="showFrameitem('link{{ entity.id }}','{{ url|replace({'#login#': username}) }}')">
|
||||||
{% elseif target == "_self" %}
|
{% elseif target == "_self" %}
|
||||||
<a class="linktosonde" data-sonde="{{ entity.name }}" style="{{ stylelink }}"href="{{ url }}" target="{% if access=="user" %}_top{% else %}{{ target }}{% endif %}">
|
<a class="linktosonde" data-sonde="{{ entity.name }}" style="{{ stylelink }}"href="{{ url|replace({'#login#': username}) }}" target="{% if access=="user" %}_top{% else %}{{ target }}{% endif %}">
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="linktosonde" data-sonde="{{ entity.name }}" style="{{ stylelink }}" href="{{ url }}" target="{{ target }}">
|
<a class="linktosonde" data-sonde="{{ entity.name }}" style="{{ stylelink }}" href="{{ url|replace({'#login#': username}) }}" target="{{ target }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if entity.icon %}
|
{% if entity.icon %}
|
||||||
<img src="/{{ alias }}/{{ entity.icon.label }}" style="max-height: 100%; width: auto; display: block; margin: auto; padding-top: 10px;" />
|
<img src="/{{ alias }}/{{ entity.icon.label }}" style="max-height: 100%; width: auto; display: block; margin: auto; padding-top: 10px;" />
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
{% set colorbodyfont = color['main'] %}
|
{% set colorbodyfont = color['main'] %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-separator" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
|
|
@ -17,7 +17,13 @@
|
||||||
{% set stylelink = "color:#" ~ color['fontcolorhover'] ~ ";" %}
|
{% set stylelink = "color:#" ~ color['fontcolorhover'] ~ ";" %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
{% if app.user %}
|
||||||
|
{% set username = app.user.username %}
|
||||||
|
{% else %}
|
||||||
|
{% set username = "" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-slide" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate or canadd %}
|
{% if canupdate or canadd %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
|
@ -44,11 +50,11 @@
|
||||||
|
|
||||||
{% if slide.url is not empty %}
|
{% if slide.url is not empty %}
|
||||||
{% if slide.target == 'frame' %}
|
{% if slide.target == 'frame' %}
|
||||||
<a class="slicklink" style="{{ stylelink }} cursor:pointer" onClick="showFrameitem('slide{{ slide.id }}','{{ slide.url }}')">
|
<a class="slicklink" style="{{ stylelink }} cursor:pointer" onClick="showFrameitem('slide{{ slide.id }}','{{ slide.url|replace({'#login#': username}) }}')">
|
||||||
{% elseif slide.target == "_self" %}
|
{% elseif slide.target == "_self" %}
|
||||||
<a class="slicklink" style="{{ stylelink }}" href="{{ slide.url }}" target="{% if access=="user" %}_top{% else %}{{ slide.target }}{% endif %}">
|
<a class="slicklink" style="{{ stylelink }}" href="{{ slide.url|replace({'#login#': username}) }}" target="{% if access=="user" %}_top{% else %}{{ slide.target }}{% endif %}">
|
||||||
{% else %}
|
{% else %}
|
||||||
<a class="slicklink" style="{{ stylelink }}" href="{{ slide.url }}" target="{{ slide.target }}">
|
<a class="slicklink" style="{{ stylelink }}" href="{{ slide.url|replace({'#login#': username}) }}" target="{{ slide.target }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<i class="fa fa-link"></i></a>
|
<i class="fa fa-link"></i></a>
|
||||||
|
|
|
@ -11,7 +11,13 @@
|
||||||
{% set stylewidgetbodyframe = constants.mystylewidgetbodyframe(entity) %}
|
{% set stylewidgetbodyframe = constants.mystylewidgetbodyframe(entity) %}
|
||||||
{% set stylewidgetbodyimage = constants.mystylewidgetbodyimage(entity) %}
|
{% set stylewidgetbodyimage = constants.mystylewidgetbodyimage(entity) %}
|
||||||
|
|
||||||
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%}" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
{% if app.user %}
|
||||||
|
{% set username = app.user.username %}
|
||||||
|
{% else %}
|
||||||
|
{% set username = "" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
<div class="widget {%if entity.border %} widget-bordered {%else%} widget-notbordered {%endif%} widget-url" data-id="{{ entity.id }}" loc="{{ entity.loc }}" style="{{ stylewidget }}" height="{{ entity.height }}px">
|
||||||
{% if canupdate %}
|
{% if canupdate %}
|
||||||
<div class="widgetmenu">
|
<div class="widgetmenu">
|
||||||
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
<i class="fa fa-trash fa-fw" onClick="delWidget({{ entity.id }})" style="{{ stylewidgetmenu }}"></i>
|
||||||
|
@ -30,10 +36,10 @@
|
||||||
<span class="title">{{ entity.name }}</span>
|
<span class="title">{{ entity.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="widgetbody" style="{{ stylewidgetbodyframe }}">
|
<div class="widgetbody" style="{{ stylewidgetbodyframe }}">
|
||||||
<img src="{{ url }}" width="100%" >
|
<img src="{{ url|replace({'#login#': username}) }}" width="100%" >
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="widgetheader" style="{{ stylewidgetbodyimage }} width:100%; background-image: url({{url}}); background-size:cover; background-position:center;")></div>
|
<div class="widgetheader" style="{{ stylewidgetbodyimage }} width:100%; background-image: url({{ url|replace({'#login#': username}) }}); background-size:cover; background-position:center;")></div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="widgetheader" style="{{ stylewidgetheader }}">
|
<div class="widgetheader" style="{{ stylewidgetheader }}">
|
||||||
|
@ -46,7 +52,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="widgetbody" style="{{ stylewidgetbodyframe }}">
|
<div class="widgetbody" style="{{ stylewidgetbodyframe }}">
|
||||||
<iframe src="{{ url }}" class="{% if entity.autoajust %}frameajust {% endif %}" style="{{ stylewidgetbodyframe }}"></iframe>
|
<iframe src="{{ url|replace({'#login#': username}) }}" class="{% if entity.autoajust %}frameajust {% endif %}" style="{{ stylewidgetbodyframe }}"></iframe>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -59,6 +59,7 @@
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{{ form_row(form.roworder) }}
|
{{ form_row(form.roworder) }}
|
||||||
{{ form_row(form.url) }}
|
{{ form_row(form.url) }}
|
||||||
|
<em>le mot clé #login# sera remplacé par le login de l'utilisateur</em><br><br>
|
||||||
{{ form_row(form.target) }}
|
{{ form_row(form.target) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
{% for message in messages %}
|
{% for message in messages %}
|
||||||
<div id='message-{{message.id}}' class='message row'>
|
<div id='message-{{message.id}}' class='message row'>
|
||||||
<div class='msgavatar'>
|
<div class='msgavatar'>
|
||||||
<img id='user_avatar_img' src='/{{ alias }}/uploads/avatar/{{message.user.avatar}}' class='avatar'><br>
|
<img style='cursor:pointer' onclick='seeUser({{message.user.id}})' id='user_avatar_img' src='/{{ alias }}/uploads/avatar/{{message.user.avatar}}' class='avatar'><br>
|
||||||
{% if fgmanager or message.user == app.user %}
|
{% if fgmanager or message.user == app.user %}
|
||||||
<i class='delmessage fa fa-trash fa-fw' data-id='{{message.id}}' style='cursor: pointer;'></i>
|
<i class='delmessage fa fa-trash fa-fw' data-id='{{message.id}}' style='cursor: pointer;'></i>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -229,6 +229,9 @@
|
||||||
|
|
||||||
websocket();
|
websocket();
|
||||||
|
|
||||||
|
setInterval(function(){
|
||||||
|
islive();
|
||||||
|
}, 15000);
|
||||||
});
|
});
|
||||||
|
|
||||||
{% if websocket_activate and app.user %}
|
{% if websocket_activate and app.user %}
|
||||||
|
@ -242,6 +245,7 @@
|
||||||
var tosendmail=false;
|
var tosendmail=false;
|
||||||
var todelete=false;
|
var todelete=false;
|
||||||
var idtodelete;
|
var idtodelete;
|
||||||
|
var isalive;
|
||||||
|
|
||||||
function websocket()
|
function websocket()
|
||||||
{
|
{
|
||||||
|
@ -257,6 +261,8 @@
|
||||||
//the callback function in "subscribe" is called everytime an event is published in that channel.
|
//the callback function in "subscribe" is called everytime an event is published in that channel.
|
||||||
sess.subscribe("websocket/channel/{{groupid}}", function (uri, payload) {
|
sess.subscribe("websocket/channel/{{groupid}}", function (uri, payload) {
|
||||||
|
|
||||||
|
if(!isalive||isdeco) islive();
|
||||||
|
|
||||||
// Récupération lastmessage
|
// Récupération lastmessage
|
||||||
if(isdeco) recuplastmsg();
|
if(isdeco) recuplastmsg();
|
||||||
|
|
||||||
|
@ -271,7 +277,7 @@
|
||||||
if(payload.msg) {
|
if(payload.msg) {
|
||||||
html ="<div id='message-"+payload.msg.id+"' class='message row'>";
|
html ="<div id='message-"+payload.msg.id+"' class='message row'>";
|
||||||
html+="<div class='msgavatar'>";
|
html+="<div class='msgavatar'>";
|
||||||
html+="<img id='user_avatar_img' src='/{{ alias }}/uploads/avatar/"+payload.msg.avatar+"' class='avatar'><br>";
|
html+="<img style='pointer:cursor' onclick='seeUser("+payload.msg.userid+")' id='user_avatar_img' src='/{{ alias }}/uploads/avatar/"+payload.msg.avatar+"' class='avatar'><br>";
|
||||||
if(payload.msg.userid=={{app.user.id}} || '{{ fgmanager }}'=='1') {
|
if(payload.msg.userid=={{app.user.id}} || '{{ fgmanager }}'=='1') {
|
||||||
html+="<i class='delmessage fa fa-trash fa-fw' data-id='"+payload.msg.id+"' style='cursor: pointer;'></i>";
|
html+="<i class='delmessage fa fa-trash fa-fw' data-id='"+payload.msg.id+"' style='cursor: pointer;'></i>";
|
||||||
}
|
}
|
||||||
|
@ -445,7 +451,7 @@
|
||||||
if(!$("#message-"+data.id).length) {
|
if(!$("#message-"+data.id).length) {
|
||||||
html ="<div id='message-"+data.id+"' class='message row'>";
|
html ="<div id='message-"+data.id+"' class='message row'>";
|
||||||
html+="<div class='msgavatar'>";
|
html+="<div class='msgavatar'>";
|
||||||
html+="<img id='user_avatar_img' src='/{{ alias }}/uploads/avatar/"+data.useravatar+"' class='avatar'><br>";
|
html+="<img style='cursor:pointer' onclick='seeUser("+data.userid+")' id='user_avatar_img' src='/{{ alias }}/uploads/avatar/"+data.useravatar+"' class='avatar'><br>";
|
||||||
if(data.userid=={{app.user.id}} || '{{ fgmanager }}'=='1') {
|
if(data.userid=={{app.user.id}} || '{{ fgmanager }}'=='1') {
|
||||||
html+="<i class='delmessage fa fa-trash fa-fw' data-id='"+data.id+"' style='cursor: pointer;'></i>";
|
html+="<i class='delmessage fa fa-trash fa-fw' data-id='"+data.id+"' style='cursor: pointer;'></i>";
|
||||||
}
|
}
|
||||||
|
@ -461,6 +467,18 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// islive
|
||||||
|
function islive() {
|
||||||
|
if(!session) return;
|
||||||
|
isalive=true;
|
||||||
|
event={mykey: "{{userkey}}", type: "islive", userid: {{app.user.id}}};
|
||||||
|
console.log("send islive");
|
||||||
|
session.publish("websocket/channel/{{groupid}}", event);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -19,6 +19,7 @@ class WebsocketTopic implements TopicInterface
|
||||||
protected $em;
|
protected $em;
|
||||||
protected $container;
|
protected $container;
|
||||||
protected $clientManipulator;
|
protected $clientManipulator;
|
||||||
|
protected $users;
|
||||||
|
|
||||||
public function __construct(ClientManipulatorInterface $clientManipulator, EntityManager $em, ContainerInterface $container) {
|
public function __construct(ClientManipulatorInterface $clientManipulator, EntityManager $em, ContainerInterface $container) {
|
||||||
$this->clientManipulator = $clientManipulator;
|
$this->clientManipulator = $clientManipulator;
|
||||||
|
@ -38,7 +39,6 @@ class WebsocketTopic implements TopicInterface
|
||||||
{
|
{
|
||||||
//this will broadcast the message to ALL subscribers of this topic.
|
//this will broadcast the message to ALL subscribers of this topic.
|
||||||
$topic->broadcast(['log' => $connection->resourceId." has joined ".$topic->getId()]);
|
$topic->broadcast(['log' => $connection->resourceId." has joined ".$topic->getId()]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -52,7 +52,9 @@ class WebsocketTopic implements TopicInterface
|
||||||
public function onUnSubscribe(ConnectionInterface $connection, Topic $topic, WampRequest $request)
|
public function onUnSubscribe(ConnectionInterface $connection, Topic $topic, WampRequest $request)
|
||||||
{
|
{
|
||||||
//this will broadcast the message to ALL subscribers of this topic.
|
//this will broadcast the message to ALL subscribers of this topic.
|
||||||
$topic->broadcast(['log' => $connection->resourceId . " has left " . $topic->getId()]);
|
$topic->broadcast(['log' => "Alive = ".$event["userid"]]);
|
||||||
|
|
||||||
|
$topic->broadcast(['log' => $connection->resourceId . " has left " . $topic->getId(). " || userid = ".$connection->userId]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,6 +89,12 @@ class WebsocketTopic implements TopicInterface
|
||||||
}
|
}
|
||||||
|
|
||||||
if($group&&$usergroup&&$user) {
|
if($group&&$usergroup&&$user) {
|
||||||
|
if($event["type"]=="islive") {
|
||||||
|
$topic->broadcast(['log' => "Alive = ".$event["userid"]]);
|
||||||
|
$connection->userId=$event["userid"];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if($event["type"]=="add") {
|
if($event["type"]=="add") {
|
||||||
if(array_key_exists("mail",$event)) {
|
if(array_key_exists("mail",$event)) {
|
||||||
$mail = $this->container->get('cadoles.core.service.mail');
|
$mail = $this->container->get('cadoles.core.service.mail');
|
||||||
|
|
Loading…
Reference in New Issue