Compare commits
4 Commits
ef0d452bc2
...
df29e2ca71
Author | SHA1 | Date |
---|---|---|
Arnaud Fornerot | df29e2ca71 | |
afornerot | abd323163e | |
afornerot | e9b2f694fa | |
afornerot | 210b669909 |
|
@ -38,6 +38,7 @@ class InitDataCommand extends ContainerAwareCommand
|
|||
|
||||
$em = $this->getContainer()->get('doctrine')->getEntityManager();
|
||||
$masteridentity=$this->getContainer()->getParameter('masteridentity');
|
||||
$ldap_template = $this->getContainer()->getParameter('ldap_template');
|
||||
|
||||
$finder = new Finder();
|
||||
$finder->in('src/Cadoles/CoreBundle/Command/data');
|
||||
|
@ -138,7 +139,12 @@ class InitDataCommand extends ContainerAwareCommand
|
|||
if(!$niveau01) {
|
||||
// Si ce n'est pas le cas on positionne un filtre ultra large sur le niveau01 de base
|
||||
$niveau01=$group=$em->getRepository('CadolesCoreBundle:Niveau01')->find(-100);
|
||||
|
||||
if($ldap_template=="scribe")
|
||||
$niveau01->setLdapfilter("(&(uid=*)(objectclass=inetOrgPerson)(!(description=Computer)))");
|
||||
else
|
||||
$niveau01->setLdapfilter("(uid=*)");
|
||||
|
||||
$em->persist($niveau01);
|
||||
$em->flush();
|
||||
}
|
||||
|
|
|
@ -132,6 +132,7 @@ class SynchroCommand extends Command
|
|||
$this->writeln(" - $label");
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,true);
|
||||
|
||||
// Classes
|
||||
$this->writeln('');
|
||||
$this->writeln('== CLASSES ==========================================');
|
||||
$results = $this->ldap->search("type=Classe", ['cn','description','gidNumber'], $this->ldap_basedn);
|
||||
|
@ -143,6 +144,32 @@ class SynchroCommand extends Command
|
|||
$this->writeln(" - $label");
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,true);
|
||||
}
|
||||
|
||||
// Options
|
||||
$this->writeln('');
|
||||
$this->writeln('== OPTIONS ==========================================');
|
||||
$results = $this->ldap->search("type=Option", ['cn','description','gidNumber'], $this->ldap_basedn);
|
||||
foreach($results as $result) {
|
||||
$cn=$result["cn"];
|
||||
$ldapfilter="(|(&(type=Option)(cn=$cn))(&(type=Equipe)(cn=profs-$cn))(&(ENTPersonProfils=Administratif)(divcod=$cn)))";
|
||||
|
||||
$label="OPTION = ".$result["cn"];
|
||||
$this->writeln(" - $label");
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,true);
|
||||
}
|
||||
|
||||
// Groupes
|
||||
$this->writeln('');
|
||||
$this->writeln('== GROUPES ==========================================');
|
||||
$results = $this->ldap->search("type=Groupe", ['cn','description','gidNumber'], $this->ldap_basedn);
|
||||
foreach($results as $result) {
|
||||
$cn=$result["cn"];
|
||||
$ldapfilter="(&(type=Groupe)(cn=$cn))";
|
||||
|
||||
$label="GROUPE = ".$result["cn"];
|
||||
$this->writeln(" - $label");
|
||||
if(!$simulate) $this->addmodGroup($label,$ldapfilter,true);
|
||||
}
|
||||
}
|
||||
|
||||
$this->writeln('');
|
||||
|
@ -620,7 +647,7 @@ class SynchroCommand extends Command
|
|||
|
||||
$criteria = '(cn=*)';
|
||||
$subbranch=$baseGroup;
|
||||
$results = $this->search($criteria, array('cn'), $subbranch);
|
||||
$results = $this->ldap->search($criteria, array('cn'), $subbranch);
|
||||
foreach($results as $result) {
|
||||
$data = $this->em->getRepository('CadolesCoreBundle:Group')->findBy(array('label' => $result["cn"]));
|
||||
if($data) $this->writeln(' - Existe dans bundle >> '.$result["cn"]);
|
||||
|
|
|
@ -5,11 +5,10 @@ SET foreign_key_checks = 0;
|
|||
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
|
||||
|
||||
INSERT IGNORE INTO `niveau01` (`id`, `label`, `siren`) VALUES
|
||||
(-100, 'DRAAF', '130007107');
|
||||
(-100, 'scribe26', '0000000A');
|
||||
|
||||
INSERT IGNORE INTO `user` (`id`, `niveau01_id`, `username`, `firstname`, `lastname`, `password`, `email`, `avatar`, `role`,`siren`,`authlevel`) VALUES
|
||||
(-100, -100, 'admin', 'Administrateur', 'draaf', '{SSHA}M+3m6aLkROJycqRqpYLqd0X6BOfvLMZm
|
||||
', 'admin@ldapbundle.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '130007107', 'simple');
|
||||
(-100, -100, 'admin', 'Administrateur', 'scribe26', 'PWD_CAS', 'admin@scribe26.ac-arno.fr', 'admin.jpg', 'ROLE_ADMIN', '0000000A', 'simple');
|
||||
|
||||
|
||||
|
||||
|
@ -25,7 +24,6 @@ INSERT IGNORE INTO `sidebar` (`id`, `parent_id`, `roworder`, `label`, `path`, `f
|
|||
(1200, NULL, 1200, 'ORGANISATION', NULL, 'fa-sitemap', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1210, 1200, 1210, 'Listes Blanche', 'cadoles_core_config_whitelist', 'fa-tasks', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1220, 1200, 1220, 'Niveau 01', 'cadoles_core_config_niveau01', 'fa-building', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1230, 1200, 1230, 'Niveau 02', 'cadoles_core_config_niveau02', 'fa-sitemap', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1240, 1200, 1240, 'Groupes', 'cadoles_core_config_group', 'fa-users', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1250, 1200, 1250, 'Inscriptions', 'cadoles_core_config_registration', 'fa-pencil-square-o', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
(1260, 1200, 1260, 'Utilisateurs', 'cadoles_core_config_user', 'fa-child', 'ROLE_ADMIN,ROLE_MODO', ''),
|
||||
|
|
|
@ -54,6 +54,7 @@ class RestController extends Controller
|
|||
$output["bookmarks"] = [];
|
||||
$output["items"] = [];
|
||||
$output["itemcategorys"] = [];
|
||||
$output["groups"] = [];
|
||||
|
||||
$bookmarks=null;
|
||||
$items=null;
|
||||
|
@ -61,6 +62,7 @@ class RestController extends Controller
|
|||
$weburl="https://".$this->getParameter("weburl")."/".$this->getParameter("alias")."/";
|
||||
|
||||
$em->getRepository("CadolesPortalBundle:Item")->getUserItems($user,$bookmarks,$items,$itemcategorys,null,3);
|
||||
$this->getDoctrine()->getRepository("CadolesPortalBundle:Page")->getPagesUser($user,null,$entity,$pagesuser,$pagesadmin,$groupsshared);
|
||||
|
||||
// Construction de la réponse
|
||||
$output["user"]["firstname"] = $user->getFirstname();
|
||||
|
@ -69,6 +71,7 @@ class RestController extends Controller
|
|||
$output["user"]["avatar"] = $weburl."uploads/avatar/".$user->getAvatar();
|
||||
$output["user"]["niveau01"] = $user->getNiveau01()->getLabel();
|
||||
$output["user"]["niveau02"] = ($user->getNiveau02()?$user->getNiveau02()->getLabel():null);
|
||||
$output["user"]["role"] = $user->getRole();
|
||||
|
||||
if($bookmarks) {
|
||||
foreach($bookmarks as $bookmark) {
|
||||
|
@ -114,6 +117,16 @@ class RestController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
if($groupsshared) {
|
||||
foreach($groupsshared as $groupshared) {
|
||||
$tmp=[];
|
||||
$tmp["id"] = $groupshared->getId();
|
||||
$tmp["title"] = $groupshared->getLabel();
|
||||
|
||||
array_push($output["groups"],$tmp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Retour
|
||||
|
|
|
@ -128,3 +128,6 @@ services:
|
|||
cadoles.saml_attribute_mapper:
|
||||
public: true
|
||||
class: Cadoles\CoreBundle\Service\samlAttributeMapperService
|
||||
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ body.simple {
|
|||
|
||||
.grid .grid-preview {
|
||||
width: 15%;
|
||||
min-width: 142px;
|
||||
min-width: 138px;
|
||||
}
|
||||
|
||||
.grid .grid-preview .grid-item-title {
|
||||
|
|
|
@ -133,7 +133,7 @@
|
|||
|
||||
|
||||
|
||||
<div id="page-wrapper" class="{% if maxwidth is defined and maxwidth %} page-maxed {% endif %}" style="min-height:1200px; {% if not usesidebar %} margin:0px; {% endif %}{% if not useheader %} background-color:transparent; padding: 5px 25px 10px 15px; {% endif %} ">
|
||||
<div id="page-wrapper" class="{% if maxwidth is defined and maxwidth %} page-maxed {% endif %}" style="min-height:1200px; {% if not usesidebar %} margin:0px; {% endif %}{% if not useheader %} background-color:transparent; {% endif %} ">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
{% block pagewrapper %}
|
||||
|
|
|
@ -48,8 +48,6 @@ class CronCommand extends ContainerAwareCommand
|
|||
return 0;
|
||||
}
|
||||
|
||||
$this->filesystem->appendToFile($this->rootlog.'cron.lock', "lock");
|
||||
|
||||
$crons = $entityManager->getRepository('CadolesCronBundle:Cron')->toexec();
|
||||
$i=0;
|
||||
|
||||
|
@ -65,9 +63,22 @@ class CronCommand extends ContainerAwareCommand
|
|||
$this->writeln ('Date = '.$now->format('Y-m-d H:i:s'));
|
||||
}
|
||||
|
||||
// Cas particulier de la synchro
|
||||
// Dans la synchro il y a un clear du manager ce qui perturbe totalement le manager de Core:Exec
|
||||
// Il pert le lien avec la boucle sur crons
|
||||
// Alors si dans le cron il y a la synchro alors on n'execute que lui le reste sera executé lors du prochain passage
|
||||
$cronsynchro=$entityManager->getRepository('CadolesCronBundle:Cron')->find(100);
|
||||
if($cronsynchro&&in_array($cronsynchro,$crons)) {
|
||||
$crons=[$cronsynchro];
|
||||
|
||||
}
|
||||
|
||||
foreach($crons as $cron) {
|
||||
$i++;
|
||||
|
||||
// Id du cron
|
||||
$idcron = $cron->getId();
|
||||
|
||||
// Flag d'execution en cours
|
||||
$now=new \DateTime();
|
||||
$cron->setStartexecdate($now);
|
||||
|
@ -96,6 +107,10 @@ class CronCommand extends ContainerAwareCommand
|
|||
// Executer la commande
|
||||
try{
|
||||
$returnCode = $command->run($parameter, $output);
|
||||
|
||||
// Revenir sur le cron encours à cause du clear du manager présent dans la synchro
|
||||
// Sinon le manager se pomme et génère des nouveaux enregistrement plutot que mettre à jour celui en cours
|
||||
$cron=$entityManager->getRepository('CadolesCronBundle:Cron')->find($idcron);
|
||||
}
|
||||
catch(\Exception $e) {
|
||||
$this->writelnred("JOB EN ERREUR");
|
||||
|
|
|
@ -42,6 +42,11 @@ class InitDataCommand extends ContainerAwareCommand
|
|||
}
|
||||
|
||||
protected function insertCron() {
|
||||
|
||||
$metadata = $this->entityManager->getClassMetaData('CadolesCronBundle:Cron');
|
||||
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
||||
$metadata->setIdGenerator(new AssignedGenerator());
|
||||
|
||||
// Job Mail
|
||||
// Toute les minutes
|
||||
$entity = $this->entityManager->getRepository('CadolesCronBundle:Cron')->find(1);
|
||||
|
@ -60,11 +65,6 @@ class InitDataCommand extends ContainerAwareCommand
|
|||
}
|
||||
|
||||
|
||||
// afin de forcer les ID sur certaines entités
|
||||
$metadata = $this->entityManager->getClassMetaData(get_class($entity));
|
||||
$metadata->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_NONE);
|
||||
$metadata->setIdGenerator(new AssignedGenerator());
|
||||
|
||||
// Job synchronisation des comptes utilisateur
|
||||
// Toute les 24h à 3h00
|
||||
$entity = $this->entityManager->getRepository('CadolesCronBundle:Cron')->find(100);
|
||||
|
@ -83,7 +83,6 @@ class InitDataCommand extends ContainerAwareCommand
|
|||
$entity->setJsonargument('{"simulate":"false"}');
|
||||
$this->entityManager->persist($entity);
|
||||
}
|
||||
|
||||
// Job purge des registrations obsolètes
|
||||
// Toute les 5mn
|
||||
$entity = $this->entityManager->getRepository('CadolesCronBundle:Cron')->find(110);
|
||||
|
@ -99,7 +98,6 @@ class InitDataCommand extends ContainerAwareCommand
|
|||
$entity->setNextexecdate($entity->getSubmitdate());
|
||||
$this->entityManager->persist($entity);
|
||||
}
|
||||
|
||||
// Job de purge des fichiers obsolète
|
||||
// Toute les 24h à 3h00
|
||||
$entity = $this->entityManager->getRepository('CadolesCronBundle:Cron')->find(200);
|
||||
|
@ -117,7 +115,6 @@ class InitDataCommand extends ContainerAwareCommand
|
|||
$entity->setNextexecdate($nextdate);
|
||||
$this->entityManager->persist($entity);
|
||||
}
|
||||
|
||||
// CRON PORTAIL
|
||||
// Job purge des registrations obsolètes
|
||||
// Toute les 5mn
|
||||
|
@ -139,7 +136,6 @@ class InitDataCommand extends ContainerAwareCommand
|
|||
elseif($entity&&!($portal_activate||$calendar_activate)) {
|
||||
$this->entityManager->remove($entity);
|
||||
}
|
||||
|
||||
// Job de récupération des sondages Limesurvey
|
||||
// Toute les 6h
|
||||
$activate_widlimesurvey = $this->getContainer()->getParameter('activate_widlimesurvey');
|
||||
|
@ -161,7 +157,6 @@ class InitDataCommand extends ContainerAwareCommand
|
|||
elseif($entity&&!$activate_widlimesurvey) {
|
||||
$this->entityManager->remove($entity);
|
||||
}
|
||||
|
||||
// Job de récupération des cours Moodle
|
||||
// Toute les 6h
|
||||
$activate_widmoodle = $this->getContainer()->getParameter('activate_widmoodle');
|
||||
|
@ -183,7 +178,6 @@ class InitDataCommand extends ContainerAwareCommand
|
|||
elseif($entity&&!$activate_widmoodle) {
|
||||
$this->entityManager->remove($entity);
|
||||
}
|
||||
|
||||
$this->entityManager->flush();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
}
|
||||
{% else %}
|
||||
#page-wrapper {
|
||||
//padding: 5px 25px 0px 15px;
|
||||
padding: 5px 25px 0px 15px;
|
||||
//background: transparent;
|
||||
}
|
||||
{% endif %}
|
||||
|
|
Loading…
Reference in New Issue