Skip to content
Snippets Groups Projects
Commit db579703 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Merge branch 'PréparationDéploiement' into 'master'

Préparation déploiement

See merge request lecluse/OSE!4
parents a67d8347 f0762bf7
No related branches found
No related tags found
1 merge request!4Préparation déploiement
Showing
with 33012 additions and 26734 deletions
config/autoload/*.local.php config/autoload/*.local.php
config/config.local.php
vendor vendor
composer.lock composer.lock
data/cache data/cache
......
<?php <?php
use Application\Service\ContextService; use Application\Entity\Db\Utilisateur;
use Application\Service\SourceService; use Application\Service\Traits\AffectationServiceAwareTrait;
use Application\Service\WorkflowService; use Application\Service\Traits\ContextServiceAwareTrait;
use Application\Service\Traits\IntervenantServiceAwareTrait;
use Application\Service\Traits\SourceServiceAwareTrait;
use Application\Service\Traits\UtilisateurServiceAwareTrait;
use Application\Service\Traits\WorkflowServiceAwareTrait;
use UnicaenApp\Service\EntityManagerAwareTrait;
function creerAdmin($sl, array $admin)
class LocalUser
{
/**
* @var string
*/
public $login;
/**
* @var string
*/
public $civilite = 'Monsieur';
/**
* @var string
*/
public $nom;
/**
* @var string
*/
public $prenom;
/**
* @var string
*/
public $mail = 'ne-pas-repondre@unicaen.fr';
/**
* @var string
*/
public $motDePasse;
/**
* @var string
*/
public $role = 'administrateur';
/**
* @var string
*/
public $statut;
/**
* @var string
*/
public $structure = 'C68'; // DSI Unicaen
static public function createFromArray(array $array)
{
$lu = new self();
if (isset($array['login'])) $lu->login = $array['login'];
if (isset($array['civilite'])) $lu->civilite = $array['civilite'];
if (isset($array['nom'])) $lu->nom = $array['nom'];
if (isset($array['prenom'])) $lu->prenom = $array['prenom'];
if (isset($array['mail'])) $lu->mail = $array['mail'];
if (isset($array['motdepasse'])) $lu->motDePasse = $array['motdepasse'];
if (isset($array['role'])) $lu->role = $array['role'];
if (isset($array['statut'])) $lu->statut = $array['statut'];
if (isset($array['structure'])) $lu->structure = $array['structure'];
return $lu;
}
public function html()
{ {
$url = 'https://ose.unicaen.fr/demo';
?>
<table class="table table-bordered table-condensed" style="border:1;">
<tr>
<th>Nom prénom</th>
<td><?= $this->nom.' '.$this->prenom ?></td>
</tr>
<tr>
<th>Login</th>
<td><?= $this->login ?></td>
</tr>
<tr>
<th>Mot de passe</th>
<td><?= $this->motDePasse ?></td>
</tr>
<tr>
<th>URL d'accès à OSE démo</th>
<td><a href="<?= $url ?>"><?= $url ?></a></td>
</tr>
</table><br />
<?php
}
}
/** @var \Doctrine\ORM\EntityManager $em */
$em = $sl->get(\Application\Constants::BDD);
/** @var \Application\Service\ContextService $serviceContext */
$serviceContext = $sl->get(ContextService::class);
/** @var \Application\Service\SourceService $serviceSource */
$serviceSource = $sl->get(SourceService::class);
/** @var \Application\Service\WorkflowService $serviceWorkflow */
$serviceWorkflow = $sl->get(WorkflowService::class);
class LocalUserMaker
{
use EntityManagerAwareTrait;
use ContextServiceAwareTrait;
use SourceServiceAwareTrait;
use WorkflowServiceAwareTrait;
use UtilisateurServiceAwareTrait;
use AffectationServiceAwareTrait;
use IntervenantServiceAwareTrait;
$nom = $admin['nom'];
$prenom = $admin['prenom'];
$mail = isset($admin['mail']) ? $admin['mail'] : 'ne-pas-repondre@unicaen.fr';
$login = $admin['login'];
$bcrypt = new Zend\Crypt\Password\Bcrypt();
$motdepasse = $bcrypt->create($admin['motdepasse']);
$role = isset($admin['role']) ? $admin['role'] : 'administrateur';
$statut = isset($admin['statut']) ? $admin['statut'] : null;
$structure = isset($admin['structure']) ? $admin['structure'] : 'C68';
$structure = $em->getRepository(\Application\Entity\Db\Structure::class)->findOneBy(['sourceCode' => $structure])->getId();
if ($statut) { public function creer(LocalUser $localUser)
$statut = $em->getRepository(\Application\Entity\Db\StatutIntervenant::class)->findOneBy(['sourceCode' => $statut])->getId(); {
$role = null; $utilisateur = new Utilisateur();
} else { $utilisateur->setDisplayName($localUser->nom . ' ' . $localUser->prenom);
$role = $em->getRepository(\Application\Entity\Db\Role::class)->findOneBy(['code' => $role])->getId(); $utilisateur->setEmail($localUser->mail);
$utilisateur->setUsername($localUser->login);
$utilisateur->setPassword($localUser->motDePasse, true);
$utilisateur->setState(1);
$this->getServiceUtilisateur()->save($utilisateur);
if ($localUser->role) {
$this->creerAffectation($localUser, $utilisateur);
}
if ($localUser->statut) {
$utilisateur->setCode(999999 + $utilisateur->getId());
$this->getServiceUtilisateur()->save($utilisateur);
$this->creerIntervenant($localUser, $utilisateur);
} }
$civilite = $em->getRepository(\Application\Entity\Db\Civilite::class)->findOneBy(['libelleLong' => $admin['civilite']])->getId();
$source = $serviceSource->getOse()->getId();
$utilisateur = $serviceContext->getUtilisateur()->getId();
$pays = $em->getRepository(\Application\Entity\Db\Pays::class)->findOneBy(['libelleCourt' => 'FRANCE'])->getId();
$uid = $em->getConnection()->fetchAssoc('SELECT utilisateur_id_seq.nextval UTILID FROM dual');
$uid = (int)$uid['UTILID'];
$em->getConnection()->insert('utilisateur', [
'id' => $uid,
'username' => $login,
'password' => $motdepasse,
'display_name' => $nom . ' ' . $prenom,
'email' => $mail,
'state' => 1,
]);
if ($role) {
$pid = $em->getConnection()->fetchAssoc('SELECT personnel_id_seq.nextval PERSID FROM dual');
$pid = (int)$pid['PERSID'];
$em->getConnection()->insert('personnel', [
'id' => $pid,
'civilite_id' => $civilite,
'nom_usuel' => $nom,
'prenom' => $prenom,
'nom_patronymique' => $nom,
'email' => $mail,
'structure_id' => $structure,
'source_id' => $source,
'source_code' => 'utilisateur-id-' . $uid,
'histo_creation' => $em->getConnection()->convertToDatabaseValue(new \DateTime(), 'datetime'),
'histo_createur_id' => $utilisateur,
'histo_modification' => $em->getConnection()->convertToDatabaseValue(new \DateTime(), 'datetime'),
'histo_modificateur_id' => $utilisateur,
'code' => 'utilisateur-id-' . $uid,
]);
$aid = $em->getConnection()->fetchAssoc('SELECT affectation_id_seq.nextval AFFID FROM dual');
$aid = (int)$aid['AFFID'];
$em->getConnection()->insert('affectation', [
'id' => $aid,
'personnel_id' => $pid,
'role_id' => $role,
'source_id' => $source,
'source_code' => 'local-aff-' . $pid . '-' . $role,
'histo_creation' => $em->getConnection()->convertToDatabaseValue(new \DateTime(), 'datetime'),
'histo_createur_id' => $utilisateur,
'histo_modification' => $em->getConnection()->convertToDatabaseValue(new \DateTime(), 'datetime'),
'histo_modificateur_id' => $utilisateur,
]);
} }
if ($statut) {
$iid = $em->getConnection()->fetchAssoc('SELECT intervenant_id_seq.nextval INTID FROM dual');
$iid = (int)$iid['INTID']; private function creerAffectation(LocalUser $localUser, Utilisateur $utilisateur)
{
$em->getConnection()->insert('intervenant', [ $affectation = $this->getServiceAffectation()->newEntity();
'id' => $iid, $affectation->setUtilisateur($utilisateur);
'civilite_id' => $civilite, $affectation->setSourceCode('local-aff-'.$utilisateur->getUsername());
'nom_usuel' => $nom,
'prenom' => $prenom, $role = $this->getEntity('Role','code',$localUser->role);
'nom_patronymique' => $nom, $affectation->setRole($role);
'date_naissance' => $em->getConnection()->convertToDatabaseValue(\DateTime::createFromFormat('Y-m-d', '1980-09-27'), 'datetime'),
'ville_naissance_code_insee' => 76540, $this->getServiceAffectation()->save($affectation);
'email' => $mail,
'statut_id' => $statut,
'structure_id' => $structure,
'source_id' => $source,
'source_code' => 'utilisateur-id-' . $uid,
'code' => 'utilisateur-id-' . $uid,
'supann_emp_id' => 'utilisateur-id-' . $uid,
'annee_id' => $serviceContext->getAnnee()->getId(),
'pays_naissance_id' => $pays, // France
'histo_creation' => $em->getConnection()->convertToDatabaseValue(new \DateTime(), 'datetime'),
'histo_createur_id' => $utilisateur,
'histo_modification' => $em->getConnection()->convertToDatabaseValue(new \DateTime(), 'datetime'),
'histo_modificateur_id' => $utilisateur,
]);
$intervenant = $em->getRepository(\Application\Entity\Db\Intervenant::class)->find($iid);
$serviceWorkflow->calculerTableauxBord(null,$intervenant);
} }
private function creerIntervenant(LocalUser $localUser, Utilisateur $utilisateur)
{
$intervenant = $this->getServiceIntervenant()->newEntity();
$civilite = $this->getEntity('Civilite', 'libelleLong', $localUser->civilite);
$intervenant->setCivilite($civilite);
$intervenant->setNomUsuel($localUser->nom);
$intervenant->setNomPatronymique($localUser->nom);
$intervenant->setPrenom($localUser->prenom);
$dateNaissance = \DateTime::createFromFormat('Y-m-d', '1980-09-27');
$intervenant->setDateNaissance($dateNaissance);
$intervenant->setVilleNaissanceCodeInsee(76540);
$intervenant->setEmail($localUser->mail);
$statut = $this->getEntity('StatutIntervenant', 'sourceCode', $localUser->statut);
$intervenant->setStatut($statut);
$structure = $this->getEntity('Structure', 'sourceCode', $localUser->structure);
$intervenant->setStructure($structure);
$intervenant->setSourceCode($utilisateur->getCode());
$intervenant->setCode($utilisateur->getCode());
$intervenant->setUtilisateurCode($utilisateur->getCode());
$intervenant->setAnnee($this->getServiceContext()->getAnnee());
$france = $this->getEntity('Pays', 'libelleCourt', 'FRANCE');
$intervenant->setPaysNaissance($france);
$this->getServiceIntervenant()->save($intervenant);
$this->getServiceWorkflow()->calculerTableauxBord(null, $intervenant);
} }
$admins = [
private function getEntity($class, $attribute, $value)
{
$entityClass = "Application\\Entity\\Db\\$class";
$repo = $this->getEntityManager()->getRepository($entityClass);
return $repo->findOneBy([$attribute => $value]);
}
}
$lum = new LocalUserMaker();
$lum->setEntityManager($sl->get(\Application\Constants::BDD));
if (isset($_POST['lud'])){
eval($_POST['lud']);
}else{
$utilisateurs = [];
}
$default = "
\$utilisateurs = [
[
'civilite' => 'Madame', // ou Monsieur
'nom' => '',
'prenom' => '',
'login' => '',
'motdepasse' => '',
//'mail' => '',
//'statut' => '',
'role' => 'administrateur',
//'structure' => 'U10', // IAE = U10 pour l'exemple
],
]; ];
";
if (!empty($utilisateurs)){
echo '<h1>Utilisateurs créés</h1>';
foreach ($utilisateurs as $utilisateur) {
$localUser = LocalUser::createFromArray($utilisateur);
foreach ($admins as $admin) { $lum->creer($localUser);
creerAdmin($sl, $admin); echo '<div class="row"><div class="col-md-8 col-md-offset-2">';
$localUser->html();
echo '</div></div>';
} }
}
?>
<h1>Création de comptes utilisateurs</h1>
<form method="post">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<pre><textarea id="lud" name="lud" class="form-control" rows="30"><?= $default ?></textarea></pre>
<button type="submit" class="btn btn-primary" id="luc">Créer les utilisateurs</button>
</div>
</div>
</form>
\ No newline at end of file
...@@ -2,12 +2,16 @@ ...@@ -2,12 +2,16 @@
namespace GenDbStructure; namespace GenDbStructure;
use Application\Service\Traits\SourceServiceAwareTrait;
use Doctrine\ORM\EntityManager; use Doctrine\ORM\EntityManager;
use UnicaenApp\Service\EntityManagerAwareTrait; use UnicaenApp\Service\EntityManagerAwareTrait;
class DataGen class DataGen
{ {
use EntityManagerAwareTrait; use EntityManagerAwareTrait;
use SourceServiceAwareTrait;
const OSE_USER = 'oseappli';
/** /**
* @var array * @var array
...@@ -17,23 +21,29 @@ class DataGen ...@@ -17,23 +21,29 @@ class DataGen
protected $breaks = false; protected $breaks = false;
protected $tablesSel = [ protected $tablesSel = [
//'AFFECTATION' => "source_code = 'local-aff-1-1'", 'AFFECTATION' => "source_code = 'local-aff-admin'",
'ANNEE' => '', 'ANNEE' => '',
'CATEGORIE_PRIVILEGE' => '', 'CATEGORIE_PRIVILEGE' => '',
'CC_ACTIVITE' => '',
'CIVILITE' => '', 'CIVILITE' => '',
'CORPS' => '',
'DEPARTEMENT' => '',
'DISCIPLINE' => '', 'DISCIPLINE' => '',
'DOMAINE_FONCTIONNEL' => "source_code = '000'", 'DOMAINE_FONCTIONNEL' => '',
'ETABLISSEMENT' => '',
'ETAT_VOLUME_HORAIRE' => '', 'ETAT_VOLUME_HORAIRE' => '',
'FONCTION_REFERENTIEL' => '', 'FONCTION_REFERENTIEL' => '',
'GRADE' => 'corps_id in (select c.id from corps c where c.histo_destruction is null)',
'GROUPE' => '', 'GROUPE' => '',
'IMPORT_TABLES' => '',
'INDICATEUR' => '', 'INDICATEUR' => '',
'MESSAGE' => '', 'MESSAGE' => '',
'MOTIF_MODIFICATION_SERVICE' => '', 'MOTIF_MODIFICATION_SERVICE' => '',
'MOTIF_NON_PAIEMENT' => '', 'MOTIF_NON_PAIEMENT' => '',
'PARAMETRE' => '', 'PARAMETRE' => '',
'PAYS' => '',
'PERIMETRE' => '', 'PERIMETRE' => '',
'PERIODE' => '', 'PERIODE' => '',
//'PERSONNEL' => "source_code = 'utilisateur-id-1'",
'PLAFOND' => '', 'PLAFOND' => '',
'PLAFOND_ETAT' => '', 'PLAFOND_ETAT' => '',
'PRIVILEGE' => '', 'PRIVILEGE' => '',
...@@ -43,14 +53,13 @@ class DataGen ...@@ -43,14 +53,13 @@ class DataGen
'SCENARIO' => 'structure_id IS NULL', 'SCENARIO' => 'structure_id IS NULL',
'SOURCE' => "code='OSE'", 'SOURCE' => "code='OSE'",
'STATUT_INTERVENANT' => '', 'STATUT_INTERVENANT' => '',
'STATUT_PRIVILEGE' => '', 'STATUT_PRIVILEGE' => 'statut_id IN (SELECT si.id FROM statut_intervenant si WHERE si.histo_destruction IS NULL)',
//'STRUCTURE' => "source_code='UNIV'",
'TAUX_HORAIRE_HETD' => '', 'TAUX_HORAIRE_HETD' => '',
'TBL' => '', 'TBL' => '',
'TYPE_AGREMENT' => '', 'TYPE_AGREMENT' => '',
'TYPE_AGREMENT_STATUT' => '', 'TYPE_AGREMENT_STATUT' => '',
'TYPE_CONTRAT' => '', 'TYPE_CONTRAT' => '',
'TYPE_DOTATION' => '', 'TYPE_DOTATION' => "SOURCE_CODE IN ('dotation-initiale','dotation-complementaire','abondement')",
'TYPE_HEURES' => '', 'TYPE_HEURES' => '',
'TYPE_INTERVENANT' => '', 'TYPE_INTERVENANT' => '',
'TYPE_INTERVENTION' => "code IN ('CM','TD','TP','Stage','Projet','Mémoire')", 'TYPE_INTERVENTION' => "code IN ('CM','TD','TP','Stage','Projet','Mémoire')",
...@@ -60,7 +69,7 @@ class DataGen ...@@ -60,7 +69,7 @@ class DataGen
'TYPE_STRUCTURE' => '', 'TYPE_STRUCTURE' => '',
'TYPE_VALIDATION' => '', 'TYPE_VALIDATION' => '',
'TYPE_VOLUME_HORAIRE' => '', 'TYPE_VOLUME_HORAIRE' => '',
'UTILISATEUR' => "username = 'admin'", 'UTILISATEUR' => "username = '".self::OSE_USER."'",
'WF_ETAPE' => '', 'WF_ETAPE' => '',
'WF_ETAPE_DEP' => '', 'WF_ETAPE_DEP' => '',
]; ];
...@@ -308,19 +317,15 @@ class DataGen ...@@ -308,19 +317,15 @@ class DataGen
return 'TYPE_HEURES_ID_SEQ.CURRVAL'; return 'TYPE_HEURES_ID_SEQ.CURRVAL';
} }
if ('DOMAINE_FONCTIONNEL_ID' == $column){
return "(SELECT id FROM domaine_fonctionnel WHERE source_code = ''000'')";
}
if ('STRUCTURE_ID' == $column){
return "(SELECT id FROM structure WHERE source_code = ''UNIV'')";
}
if ('PRIVILEGE_ID' == $column){ if ('PRIVILEGE_ID' == $column){
$cppSql = "SELECT cp.code || '-' || p.code FROM privilege p JOIN categorie_privilege cp ON cp.id = p.categorie_id WHERE p.id = privilege_id"; $cppSql = "SELECT cp.code || '-' || p.code FROM privilege p JOIN categorie_privilege cp ON cp.id = p.categorie_id WHERE p.id = privilege_id";
return "(SELECT p.id FROM privilege p JOIN categorie_privilege cp ON p.categorie_id = cp.id WHERE cp.code || ''-'' || p.code = ''' ||($cppSql)|| ''')"; return "(SELECT p.id FROM privilege p JOIN categorie_privilege cp ON p.categorie_id = cp.id WHERE cp.code || ''-'' || p.code = ''' ||($cppSql)|| ''')";
} }
if ('ROLE_ID' == $column && $table == 'AFFECTATION'){
return "(SELECT id FROM role WHERE code = ''administrateur'')";
}
if ($def['constraint_table']) { if ($def['constraint_table']) {
......
...@@ -16,6 +16,7 @@ class DdlGen ...@@ -16,6 +16,7 @@ class DdlGen
const CONSTRAINTS = 'Clés étrangères'; const CONSTRAINTS = 'Clés étrangères';
const INDEXES = 'Indexs'; const INDEXES = 'Indexs';
const TRIGGERS = 'Triggers'; const TRIGGERS = 'Triggers';
const JOBS = 'Jobs';
use EntityManagerAwareTrait; use EntityManagerAwareTrait;
...@@ -107,6 +108,71 @@ class DdlGen ...@@ -107,6 +108,71 @@ class DdlGen
} }
} }
} }
$this->ddl[self::VIEWS]['SRC_INTERVENANT'] = "CREATE OR REPLACE VIEW src_intervenant AS
SELECT
null source_code,
null nom_usuel,
null nom_patronymique,
null prenom,
null date_naissance,
null critere_recherche,
null structure_id,
null civilite_id,
null annee_id
FROM
dual;";
$this->ddl[self::JOBS] = [];
$this->ddl[self::JOBS]['OSE_CHARGENS_CALCUL_EFFECTIFS'] = "BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'OSE_CHARGENS_CALCUL_EFFECTIFS',
job_type => 'STORED_PROCEDURE',
job_action => 'OSE_CHARGENS.CALC_ALL_EFFECTIFS',
number_of_arguments => 0,
start_date => TO_TIMESTAMP_TZ('2017-04-27 17:04:05.788458000 EUROPE/PARIS','YYYY-MM-DD HH24:MI:SS.FF TZR'),
repeat_interval => 'FREQ=DAILY;BYHOUR=20;BYMINUTE=0;BYSECOND=0',
end_date => NULL,
enabled => TRUE,
auto_drop => FALSE,
comments => 'Calcul général des effectifs des charges d''enseignement'
);
END;
/";
$this->ddl[self::JOBS]['OSE_FORMULE_REFRESH'] = "BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'OSE_FORMULE_REFRESH',
job_type => 'STORED_PROCEDURE',
job_action => 'OSE_FORMULE.CALCULER_TOUT',
number_of_arguments => 1,
start_date => TO_TIMESTAMP_TZ('2014-12-09 10:25:17.032495000 EUROPE/PARIS','YYYY-MM-DD HH24:MI:SS.FF TZR'),
repeat_interval => 'FREQ=DAILY;BYDAY=MON,TUE,WED,THU,FRI,SAT,SUN;BYHOUR=5;BYMINUTE=0;BYSECOND=0',
end_date => NULL,
enabled => TRUE,
auto_drop => FALSE,
comments => 'Recalcul général de la formule de calcul'
);
END;
/";
$this->ddl[self::JOBS]['MAJ_ALL_TBL'] = "BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'MAJ_ALL_TBL',
job_type => 'STORED_PROCEDURE',
job_action => 'OSE_DIVERS.CALCULER_TABLEAUX_BORD',
number_of_arguments => 0,
start_date => TO_TIMESTAMP_TZ('2017-11-06 16:03:22.734108000 EUROPE/PARIS','YYYY-MM-DD HH24:MI:SS.FF TZR'),
repeat_interval => 'FREQ=DAILY;BYHOUR=2,14;BYMINUTE=0;BYSECOND=0',
end_date => NULL,
enabled => TRUE,
auto_drop => FALSE,
comments => 'Mise à jour de tous les tableaux de bord (hors formule de calcul)'
);
END;
/";
} }
...@@ -137,6 +203,8 @@ class DdlGen ...@@ -137,6 +203,8 @@ class DdlGen
$content = $this->comment1('DDL de la base de données OSE'); $content = $this->comment1('DDL de la base de données OSE');
$content .= "\nSET DEFINE OFF;\n\n\n";
foreach ($this->ddl as $type => $query) { foreach ($this->ddl as $type => $query) {
$content .= $this->comment1($type); $content .= $this->comment1($type);
foreach ($query as $name => $oddl) { foreach ($query as $name => $oddl) {
...@@ -221,7 +289,10 @@ class DdlGen ...@@ -221,7 +289,10 @@ class DdlGen
$q = "SELECT $q = "SELECT
table_name object_name, table_name object_name,
DBMS_METADATA.get_ddl ('TABLE', table_name, user) object_ddl DBMS_METADATA.get_ddl ('TABLE', table_name, user)
|| CASE WHEN table_name like 'TBL_%' THEN
'\nALTER TABLE ' || table_name || ' NOLOGGING;'
ELSE '' END object_ddl
FROM FROM
ALL_TABLES ALL_TABLES
WHERE WHERE
......
<?php
$config = require __dir__ . '/../config.local.php';
if ($config['global']['affichageErreurs']) {
error_reporting(E_ALL);
}
putenv("NLS_LANGUAGE=FRENCH");
return [
'doctrine' => [
'connection' => [
'orm_default' => [
'params' => [
'host' => $config['bdd']['host'],
'port' => $config['bdd']['port'],
'dbname' => $config['bdd']['dbname'],
'user' => $config['bdd']['username'],
'password' => $config['bdd']['password'],
'charset' => 'AL32UTF8',
],
],
],
'configuration' => [
'orm_default' => [
'metadata_cache' => 'array',
// 'query_cache' => 'array',
'result_cache' => 'array',
'hydration_cache' => 'array',
'generate_proxies' => $config['bdd']['generateProxies'],
],
],
],
'view_manager' => [
'display_not_found_reason' => $config['global']['affichageErreurs'],
'display_exceptions' => $config['global']['affichageErreurs'],
],
'cli_config' => [
'scheme' => $config['global']['scheme'],
'domain' => $config['global']['domain'],
],
];
\ No newline at end of file
<?php <?php
/**
* Configuration globale du module UnicaenApp. $config = require __dir__ . '/../config.local.php';
*
* Copiez ce fichier dans le répertoire "config/autoload" de l'application,
* enlevez l'extension ".dist" et adaptez son contenu à vos besoins.
*/
return [ return [
'unicaen-app' => [ 'unicaen-app' => [
...@@ -16,14 +13,63 @@ return [ ...@@ -16,14 +13,63 @@ return [
'desc' => "Organisation des Services d'Enseignement", 'desc' => "Organisation des Services d'Enseignement",
'version' => "6.1", 'version' => "6.1",
'date' => "20/12/2017", 'date' => "20/12/2017",
'contact' => ['mail' => "assistance-ose@unicaen.fr", /*'tel' => "01 02 03 04 05"*/], 'contact' => ['mail' => $config['liens']['contactAssistance']],
'mentionsLegales' => "http://gest.unicaen.fr/acces-direct/mentions-legales/", 'mentionsLegales' => $config['liens']['mentionsLegales'],
'informatiqueEtLibertes' => "http://gest.unicaen.fr/acces-direct/informatique-et-libertes/", 'informatiqueEtLibertes' => $config['liens']['informatiqueEtLibertes'],
], ],
/** /**
* Période d'exécution de la requête de rafraîchissement de la session utilisateur, en millisecondes. * Période d'exécution de la requête de rafraîchissement de la session utilisateur, en millisecondes.
*/ */
'session_refresh_period' => 600000, // 10*60*1000 ms = 10 min 'session_refresh_period' => 600000, // 10*60*1000 ms = 10 min
'ldap' => [
'connection' => [
'default' => [
'params' => [
'host' => $config['ldap']['host'],
'username' => $config['ldap']['username'],
'password' => $config['ldap']['password'],
'baseDn' => $config['ldap']['baseDn'],
'bindRequiresDn' => $config['ldap']['bindRequiresDn'],
'accountFilterFormat' => "(&(objectClass=posixAccount)(" . $config['ldap']['loginAttribute'] . "=%s))",
'port' => $config['ldap']['port'],
],
],
],
'dn' => [
'UTILISATEURS_BASE_DN' => $config['ldap']['utilisateursBaseDN'],
'UTILISATEURS_DESACTIVES_BASE_DN' => $config['ldap']['utilisateursDesactivesBaseDN'],
'GROUPS_BASE_DN' => $config['ldap']['groupsBaseDN'],
'STRUCTURES_BASE_DN' => $config['ldap']['structuresBaseDN'],
],
'filters' => [
'LOGIN_FILTER' => '(' . $config['ldap']['loginAttribute'] . '=%s)',
'LOGIN_OR_NAME_FILTER' => '(|(' . $config['ldap']['loginAttribute'] . '=%s)(cn=%s*))',
'FILTER_STRUCTURE_DN' => '(%s)',
'FILTER_STRUCTURE_CODE_ENTITE' => '(' . $config['ldap']['structureCode'] . '=%s)',
'NO_INDIVIDU_FILTER' => '(' . $config['ldap']['utilisateurCode'] . '=%08s)',
],
'utilisateur' => [
'LOGIN' => $config['ldap']['loginAttribute'],
'FILTER' => $config['ldap']['utilisateurFiltre'],
'CODE' => $config['ldap']['utilisateurCode'],
],
],
/**
* Options concernant l'envoi de mail par l'application
*/
'mail' => [
// transport des mails
'transport_options' => [
'host' => $config['mail']['smtpHost'],
'port' => $config['mail']['smtpPort'],
],
// adresses à substituer à celles des destinataires originaux ('CURRENT_USER' équivaut à l'utilisateur connecté)
'redirect_to' => $config['mail']['redirection'],
// désactivation totale de l'envoi de mail par l'application
'do_not_send' => $config['mail']['envoiDesactive'],
],
], ],
]; ];
\ No newline at end of file
<?php <?php
/**
* UnicaenAuth Global Configuration $config = require __dir__ . '/../config.local.php';
*
* If you have a ./config/autoload/ directory set up for your project, you can
* drop this config file in it and change the values as you wish.
*/
$settings = [ $settings = [
/** /**
* Flag indiquant si l'utilisateur authenitifié avec succès via l'annuaire LDAP doit * Flag indiquant si l'utilisateur authenitifié avec succès via l'annuaire LDAP doit
...@@ -21,7 +18,18 @@ $settings = [ ...@@ -21,7 +18,18 @@ $settings = [
'enable_privileges' => true, 'enable_privileges' => true,
'entity_manager_name' => 'doctrine.entitymanager.orm_default', // nom du gestionnaire d'entités à utiliser 'entity_manager_name' => 'doctrine.entitymanager.orm_default', // nom du gestionnaire d'entités à utiliser
];
if ($config['cas']['actif']) {
$settings['cas']['connection']['default']['params'] = [
'hostname' => $config['cas']['host'],
'port' => $config['cas']['port'],
'version' => $config['cas']['version'],
'uri' => $config['cas']['uri'],
'debug' => $config['cas']['debug'],
]; ];
}
$config = [ $config = [
'unicaen-auth' => $settings, 'unicaen-auth' => $settings,
......
<?php
return [
/* Paramètres généraux */
'global' => [
/* Accès en mode HTTP ou HTTPS */
'scheme' => 'http',
/* Adresse d'accès à OSE (sans mentionner http://, par exemple ose.unicaen.fr) */
'domain' => 'ose.unicaen.fr',
/* Affichage complet des erreurs (false en production) */
'affichageErreurs' => true,
],
/* Liens divers */
'liens' => [
/* Mail d'assistance OSE de votre établissement */
'contactAssistance' => 'assistance-ose@unicaen.fr',
/* Page web des mentions légales de votre établissement */
'mentionsLegales' => "http://gest.unicaen.fr/acces-direct/mentions-legales/",
/* Page web mentionnant vos règles "informatique et liberté" */
'informatiqueEtLibertes' => "http://gest.unicaen.fr/acces-direct/informatique-et-libertes/",
],
/* Base de données */
'bdd' => [
/* IP ou nom DNS du serveur de base de données */
'host' => 'xxx.unicaen.fr',
/* Port d'accès au serveur */
'port' => 9999,
/* Nom de la base de données */
'dbname' => 'dbname',
/* Nom d'utilisateur */
'username' => 'ose',
/* Mot de passe */
'password' => 'password',
/* Générer systématiquement les proxies de la base de données (utile uniquement en mode développement) */
'generateProxies' => true,
],
/* Configuration LDAP */
'ldap' => [
/* IP ou nom DNS de la machine hébergeant le serveur LDAP */
'host' => 'ldap.unicaen.fr',
/* UID d'accès au serveur (format uid=nom_utilisateur,ou=system,dc=mon_dc,dc=fr*/
'username' => "uid=xxx,ou=system,dc=unicaen,dc=fr",
/* Mot de passe de l'utilisateur système */
'password' => 'password',
/* DN par défaut */
'baseDn' => 'ou=people,dc=unicaen,dc=fr',
/* Port d'accès au serveur */
'port' => 389,
/* bindRequiresDn */
'bindRequiresDn' => true,
/* Attribut LDAP correspondant au LOGIN de l'utilisateur */
'loginAttribute' => 'supannAliasLogin',
/* Code de l'utilisateur.
* à rappchcher ensuite de intervenant.utilisateurCode pour faire la correspondance utilisateur => intervenant */
'utilisateurCode' => 'supannEmpId',
/* Filtre pour la recherche d'utilisateurs */
'utilisateurFiltre' => '(eduPersonAffiliation=member)(!(eduPersonAffiliation=student))',
/* DN des utilisateurs */
'utilisateursBaseDN' => 'ou=people,dc=unicaen,dc=fr',
/* DN des utilisateurs désactivés (si besoin) */
'utilisateursDesactivesBaseDN' => 'ou=deactivated,dc=unicaen,dc=fr',
/* DN pour les groupes d'utilisateurs */
'groupsBaseDN' => 'ou=groups,dc=unicaen,dc=fr',
/* DN pour les structures présentes dans le LDAP (si besoin) */
'structuresBaseDN' => 'ou=structures,dc=unicaen,dc=fr',
/* Attribut correspondant au code de la structure */
'structureCode' => 'supannCodeEntite',
],
/* Envoi de mails */
'mail' => [
/* IP ou nom DNS du serveur SMTP */
'smtpHost' => 'smtp.xxx.fr',
/* Port du serveur SMTP (généralement, 25) */
'smtpPort' => 25,
/* Mails utilisés pour la redirection.
* Fournir sous forme de tableau, CURRENT_USER enverra les mails à l'utilisateur connecté qui a déclenché l'action) */
'redirection' => ['mail@mon-domaine.fr'],
/* Envoi de mail activé ou non (OUI en production, normalement) */
'envoiDesactive' => false,
],
/* CAS */
'cas' => [
/* Détermine si OSE est cassifiée ou pas */
'actif' => false,
/* IP ou nom DNS du serveur CAS */
'host' => 'cas.xxx.fr',
/* Port */
'port' => 443,
/* Version du serveur CAS */
'version' => '2.0',
/* URI éventuelle */
'uri' => '',
/* Mode débogage (pour les tests uniquement) */
'debug' => false,
],
];
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
<!DOCTYPE html>
<html>
<head>
<title>Guide de migration vers la v1.1</title>
<meta charset="UTF-8">
</head>
<body>
<h1>Guide de migration vers la v1.1</h1>
<h2>TODO au niveau de la BDD</h2>
<ul>
<li>Penser à mettre à jour le contenu de la table TYPE_ROLE</li>
<li>Penser à déclarer comme admin. Bertrand, Bruno, Laurent</li>
</ul>
<h2>TODO BDD AVANT migration :</h2>
<ul>
<li>Supprimer la table TYPE_ROLE_PHP_ROLE</li>
<li>Supprimer VRolePersonnel</li>
</ul>
</body>
</html>
\ No newline at end of file
SELECT SELECT
i.id i_id, tas.id,
a.annee_id, si.libelle statut_intervenant,
ta.code type_agrement, ta.code type_agrement,
i.nom_usuel || ' ' || i.prenom intervenant, tas.obligatoire,
s.libelle_court structure, tas.premier_recrutement,
a.obligatoire, tas.histo_destruction
a.agrement_id
FROM FROM
tbl_agrement a type_agrement_statut tas
JOIN type_agrement ta ON ta.id = a.type_agrement_id JOIN type_agrement ta ON ta.id = tas.type_agrement_id
JOIN intervenant i ON i.id = a.intervenant_id JOIN statut_intervenant si ON si.id = tas.statut_intervenant_id
LEFT JOIN structure s ON s.id = a.structure_id ORDER BY
WHERE statut_intervenant,
1=1 type_agrement
AND i.id = 548 \ No newline at end of file
;
WITH i_s AS (
SELECT DISTINCT
fr.intervenant_id,
ep.structure_id
FROM
formule_resultat fr
JOIN type_volume_horaire tvh ON tvh.code = 'PREVU' AND tvh.id = fr.type_volume_horaire_id
JOIN etat_volume_horaire evh ON evh.code = 'valide' AND evh.id = fr.etat_volume_horaire_id
JOIN formule_resultat_service frs ON frs.formule_resultat_id = fr.id
JOIN service s ON s.id = frs.service_id
JOIN element_pedagogique ep ON ep.id = s.element_pedagogique_id
WHERE
frs.total > 0
)
SELECT
i.annee_id annee_id,
tas.type_agrement_id type_agrement_id,
i.id intervenant_id,
null structure_id,
tas.obligatoire obligatoire,
a.id agrement_id
FROM
type_agrement ta
JOIN type_agrement_statut tas ON tas.type_agrement_id = ta.id
AND 1 = ose_divers.comprise_entre( tas.histo_creation, tas.histo_destruction )
JOIN intervenant i ON 1 = ose_divers.comprise_entre(i.histo_creation, i.histo_destruction )
AND (tas.premier_recrutement IS NULL OR NVL(i.premier_recrutement,0) = tas.premier_recrutement)
AND i.statut_id = tas.statut_intervenant_id
LEFT JOIN agrement a ON a.type_agrement_id = ta.id
AND a.intervenant_id = i.id
AND 1 = ose_divers.comprise_entre( a.histo_creation, a.histo_destruction )
WHERE
ta.code = 'CONSEIL_ACADEMIQUE'
and i.id = 548
\ No newline at end of file
...@@ -2,44 +2,42 @@ ...@@ -2,44 +2,42 @@
SELECT 'DROP TRIGGER ' || trigger_name || ';' dsql SELECT 'DROP TRIGGER ' || trigger_name || ';' dsql
FROM ALL_TRIGGERS WHERE owner='DEPLOY' FROM ALL_TRIGGERS WHERE owner='DEPLOY'
UNION ALL UNION SELECT 'ALTER TABLE ' || table_name || ' DROP CONSTRAINT ' || constraint_name || ';' dsql
SELECT 'ALTER TABLE ' || table_name || ' DROP CONSTRAINT ' || constraint_name || ';' dsql
FROM ALL_CONSTRAINTS WHERE owner='DEPLOY' AND constraint_type = 'R' FROM ALL_CONSTRAINTS WHERE owner='DEPLOY' AND constraint_type = 'R'
UNION ALL UNION SELECT 'DROP SEQUENCE ' || sequence_name || ';' dsql
SELECT 'DROP SEQUENCE ' || sequence_name || ';' dsql
FROM ALL_SEQUENCES WHERE sequence_owner='DEPLOY' FROM ALL_SEQUENCES WHERE sequence_owner='DEPLOY'
UNION ALL UNION SELECT 'DROP VIEW ' || view_name || ';' dsql
SELECT 'DROP VIEW ' || view_name || ';' dsql
FROM ALL_VIEWS WHERE owner = 'DEPLOY' FROM ALL_VIEWS WHERE owner = 'DEPLOY'
UNION ALL UNION SELECT 'DROP MATERIALIZED VIEW ' || mview_name || ';' dsql
SELECT 'DROP MATERIALIZED VIEW ' || mview_name || ';' dsql
FROM ALL_MVIEWS WHERE owner = 'DEPLOY' FROM ALL_MVIEWS WHERE owner = 'DEPLOY'
UNION ALL UNION SELECT 'DROP INDEX ' || index_name || ';' dsql
SELECT 'DROP INDEX ' || index_name || ';' dsql
FROM ALL_INDEXES WHERE owner = 'DEPLOY' FROM ALL_INDEXES WHERE owner = 'DEPLOY'
UNION ALL UNION SELECT 'DROP PACKAGE ' || object_name || ';' dsql
SELECT 'DROP PACKAGE ' || object_name || ';' dsql
FROM USER_OBJECTS WHERE object_type = 'PACKAGE' FROM USER_OBJECTS WHERE object_type = 'PACKAGE'
UNION ALL UNION SELECT 'DROP TABLE ' || table_name || ';' dsql
SELECT 'DROP TABLE ' || table_name || ';' dsql
FROM ALL_TABLES WHERE owner='DEPLOY' FROM ALL_TABLES WHERE owner='DEPLOY'
-- répétition pour ne rien oublier!!! -- répétition pour ne rien oublier!!!
UNION ALL UNION SELECT 'DROP TABLE ' || table_name || ';' dsql
SELECT 'DROP TABLE ' || table_name || ';' dsql
FROM ALL_TABLES WHERE owner='DEPLOY' FROM ALL_TABLES WHERE owner='DEPLOY'
;
\ No newline at end of file -- jobs
--UNION SELECT '
--/
--BEGIN
-- DBMS_SCHEDULER.DROP_JOB(job_name => ''MAJ_ALL_TBL'', defer => false, force => true);
-- DBMS_SCHEDULER.DROP_JOB(job_name => ''OSE_CHARGENS_CALCUL_EFFECTIFS'', defer => false, force => true);
-- DBMS_SCHEDULER.DROP_JOB(job_name => ''OSE_FORMULE_REFRESH'', defer => false, force => true);
-- DBMS_SCHEDULER.DROP_JOB(job_name => ''OSE_SRC_SYNC'', defer => false, force => true);
-- DBMS_SCHEDULER.DROP_JOB(job_name => ''PURGE_EM_NON_FC'', defer => false, force => true);
--END;
--' dsql
--FROM dual
--;
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -88,7 +88,6 @@ return [ ...@@ -88,7 +88,6 @@ return [
'Application\Entity\Db\Interfaces\TypeCentreCoutAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/TypeCentreCoutAwareInterface.php', 'Application\Entity\Db\Interfaces\TypeCentreCoutAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/TypeCentreCoutAwareInterface.php',
'Application\Entity\Db\Interfaces\CiviliteAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/CiviliteAwareInterface.php', 'Application\Entity\Db\Interfaces\CiviliteAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/CiviliteAwareInterface.php',
'Application\Entity\Db\Interfaces\MotifModificationServiceDuAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/MotifModificationServiceDuAwareInterface.php', 'Application\Entity\Db\Interfaces\MotifModificationServiceDuAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/MotifModificationServiceDuAwareInterface.php',
'Application\Entity\Db\Interfaces\TypeStructureAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/TypeStructureAwareInterface.php',
'Application\Entity\Db\Interfaces\VolumeHoraireAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/VolumeHoraireAwareInterface.php', 'Application\Entity\Db\Interfaces\VolumeHoraireAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/VolumeHoraireAwareInterface.php',
'Application\Entity\Db\Interfaces\VServiceValideAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/VServiceValideAwareInterface.php', 'Application\Entity\Db\Interfaces\VServiceValideAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/VServiceValideAwareInterface.php',
'Application\Entity\Db\Interfaces\ElementPedagogiqueAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/ElementPedagogiqueAwareInterface.php', 'Application\Entity\Db\Interfaces\ElementPedagogiqueAwareInterface' => __DIR__ . '/src/Application/Entity/Db/Interfaces/ElementPedagogiqueAwareInterface.php',
...@@ -213,7 +212,6 @@ return [ ...@@ -213,7 +212,6 @@ return [
'Application\Entity\Db\Traits\FormuleServiceAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/FormuleServiceAwareTrait.php', 'Application\Entity\Db\Traits\FormuleServiceAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/FormuleServiceAwareTrait.php',
'Application\Entity\Db\Traits\AgrementAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/AgrementAwareTrait.php', 'Application\Entity\Db\Traits\AgrementAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/AgrementAwareTrait.php',
'Application\Entity\Db\Traits\DepartementAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/DepartementAwareTrait.php', 'Application\Entity\Db\Traits\DepartementAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/DepartementAwareTrait.php',
'Application\Entity\Db\Traits\TypeStructureAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/TypeStructureAwareTrait.php',
'Application\Entity\Db\Traits\VIndicDiffDossierAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/VIndicDiffDossierAwareTrait.php', 'Application\Entity\Db\Traits\VIndicDiffDossierAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/VIndicDiffDossierAwareTrait.php',
'Application\Entity\Db\Traits\FormuleResultatServiceAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/FormuleResultatServiceAwareTrait.php', 'Application\Entity\Db\Traits\FormuleResultatServiceAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/FormuleResultatServiceAwareTrait.php',
'Application\Entity\Db\Traits\ContratAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/ContratAwareTrait.php', 'Application\Entity\Db\Traits\ContratAwareTrait' => __DIR__ . '/src/Application/Entity/Db/Traits/ContratAwareTrait.php',
...@@ -260,7 +258,6 @@ return [ ...@@ -260,7 +258,6 @@ return [
'Application\Entity\Db\GroupeTypeFormation' => __DIR__ . '/src/Application/Entity/Db/GroupeTypeFormation.php', 'Application\Entity\Db\GroupeTypeFormation' => __DIR__ . '/src/Application/Entity/Db/GroupeTypeFormation.php',
'Application\Entity\Db\Contrat' => __DIR__ . '/src/Application/Entity/Db/Contrat.php', 'Application\Entity\Db\Contrat' => __DIR__ . '/src/Application/Entity/Db/Contrat.php',
'Application\Entity\Db\TblPaiement' => __DIR__ . '/src/Application/Entity/Db/TblPaiement.php', 'Application\Entity\Db\TblPaiement' => __DIR__ . '/src/Application/Entity/Db/TblPaiement.php',
'Application\Entity\Db\TypeStructure' => __DIR__ . '/src/Application/Entity/Db/TypeStructure.php',
'Application\Entity\Db\TblServiceSaisie' => __DIR__ . '/src/Application/Entity/Db/TblServiceSaisie.php', 'Application\Entity\Db\TblServiceSaisie' => __DIR__ . '/src/Application/Entity/Db/TblServiceSaisie.php',
'Application\Entity\Db\MiseEnPaiement' => __DIR__ . '/src/Application/Entity/Db/MiseEnPaiement.php', 'Application\Entity\Db\MiseEnPaiement' => __DIR__ . '/src/Application/Entity/Db/MiseEnPaiement.php',
'Application\Entity\Db\AdresseIntervenant' => __DIR__ . '/src/Application/Entity/Db/AdresseIntervenant.php', 'Application\Entity\Db\AdresseIntervenant' => __DIR__ . '/src/Application/Entity/Db/AdresseIntervenant.php',
...@@ -436,7 +433,6 @@ return [ ...@@ -436,7 +433,6 @@ return [
'Application\Service\Traits\DotationServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/DotationServiceAwareTrait.php', 'Application\Service\Traits\DotationServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/DotationServiceAwareTrait.php',
'Application\Service\Traits\AgrementServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/AgrementServiceAwareTrait.php', 'Application\Service\Traits\AgrementServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/AgrementServiceAwareTrait.php',
'Application\Service\Traits\DepartementServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/DepartementServiceAwareTrait.php', 'Application\Service\Traits\DepartementServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/DepartementServiceAwareTrait.php',
'Application\Service\Traits\TypeStructureServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/TypeStructureServiceAwareTrait.php',
'Application\Service\Traits\FormuleResultatServiceServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/FormuleResultatServiceServiceAwareTrait.php', 'Application\Service\Traits\FormuleResultatServiceServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/FormuleResultatServiceServiceAwareTrait.php',
'Application\Service\Traits\ContratServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/ContratServiceAwareTrait.php', 'Application\Service\Traits\ContratServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/ContratServiceAwareTrait.php',
'Application\Service\Traits\DossierServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/DossierServiceAwareTrait.php', 'Application\Service\Traits\DossierServiceAwareTrait' => __DIR__ . '/src/Application/Service/Traits/DossierServiceAwareTrait.php',
...@@ -477,7 +473,6 @@ return [ ...@@ -477,7 +473,6 @@ return [
'Application\Service\StatutIntervenantService' => __DIR__ . '/src/Application/Service/StatutIntervenantService.php', 'Application\Service\StatutIntervenantService' => __DIR__ . '/src/Application/Service/StatutIntervenantService.php',
'Application\Service\GroupeTypeFormationService' => __DIR__ . '/src/Application/Service/GroupeTypeFormationService.php', 'Application\Service\GroupeTypeFormationService' => __DIR__ . '/src/Application/Service/GroupeTypeFormationService.php',
'Application\Service\ContratService' => __DIR__ . '/src/Application/Service/ContratService.php', 'Application\Service\ContratService' => __DIR__ . '/src/Application/Service/ContratService.php',
'Application\Service\TypeStructureService' => __DIR__ . '/src/Application/Service/TypeStructureService.php',
'Application\Service\MiseEnPaiementService' => __DIR__ . '/src/Application/Service/MiseEnPaiementService.php', 'Application\Service\MiseEnPaiementService' => __DIR__ . '/src/Application/Service/MiseEnPaiementService.php',
'Application\Service\UtilisateurService' => __DIR__ . '/src/Application/Service/UtilisateurService.php', 'Application\Service\UtilisateurService' => __DIR__ . '/src/Application/Service/UtilisateurService.php',
'Application\Service\EtapeService' => __DIR__ . '/src/Application/Service/EtapeService.php', 'Application\Service\EtapeService' => __DIR__ . '/src/Application/Service/EtapeService.php',
......
...@@ -359,7 +359,7 @@ return [ ...@@ -359,7 +359,7 @@ return [
Assertion\ChargensAssertion::class => Assertion\ChargensAssertion::class, Assertion\ChargensAssertion::class => Assertion\ChargensAssertion::class,
], ],
'factories' => [ 'factories' => [
Service\Factory\SeuilChargeServiceFactory::class => Service\Factory\SeuilChargeServiceFactory::class, Service\SeuilChargeService::class => Service\Factory\SeuilChargeServiceFactory::class,
Provider\Chargens\ChargensProvider::class => Provider\Chargens\ChargensProviderFactory::class, Provider\Chargens\ChargensProvider::class => Provider\Chargens\ChargensProviderFactory::class,
], ],
], ],
......
...@@ -109,7 +109,6 @@ return [ ...@@ -109,7 +109,6 @@ return [
'service_manager' => [ 'service_manager' => [
'invokables' => [ 'invokables' => [
Service\StructureService::class => Service\StructureService::class, Service\StructureService::class => Service\StructureService::class,
Service\TypeStructureService::class => Service\TypeStructureService::class,
], ],
], ],
'view_helpers' => [ 'view_helpers' => [
......
...@@ -92,8 +92,9 @@ class LdapConnecteur extends AbstractService ...@@ -92,8 +92,9 @@ class LdapConnecteur extends AbstractService
/* @var $foundUsers People[] */ /* @var $foundUsers People[] */
foreach ($foundUsers as $ldapPeople) { foreach ($foundUsers as $ldapPeople) {
$result[] = [ $id = $ldapPeople->getData(strtolower($this->getUtilisateurLogin()));
'id' => $ldapPeople->getData(strtolower($this->getUtilisateurLogin())), $result[$id] = [
'id' => $id,
'label' => $ldapPeople->getCn(), 'label' => $ldapPeople->getCn(),
'extra' => " - " . implode(" - ", [ 'extra' => " - " . implode(" - ", [
current($ldapPeople->getAffectationsAdmin($this->mapperStructure, true)), current($ldapPeople->getAffectationsAdmin($this->mapperStructure, true)),
...@@ -102,7 +103,7 @@ class LdapConnecteur extends AbstractService ...@@ -102,7 +103,7 @@ class LdapConnecteur extends AbstractService
} }
} }
return array_values($result); return $result;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment