diff --git a/data/Sql/Agrements.sql b/data/Sql/Agrements.sql index 87eb9094f536dbb0a73f13b273e35fdf1583d6de..a24d02279655bde5ba12f7764f7e1f5bc9feba00 100644 --- a/data/Sql/Agrements.sql +++ b/data/Sql/Agrements.sql @@ -5,7 +5,9 @@ select tas.premier_recrutement from type_agrement ta - LEFT JOIN Type_Agrement_Statut tas ON tas.type_agrement_id = ta.id + LEFT JOIN Type_Agrement_Statut tas ON + tas.type_agrement_id = ta.id + AND 1 = ose_divers.comprise_entre( tas.histo_creation, tas.histo_destruction ) LEFT JOIN statut_intervenant si ON si.id = tas.statut_intervenant_id ORDER BY ta_code, si_libelle, premier_recrutement \ No newline at end of file diff --git a/data/Sql/Workflow.sql b/data/Sql/Workflow.sql index f432df25e5a014a9ae9f424f740b1ca4fa8aeafc..9a504d04e0c9f42fa41c0e7b7709f3c1cd04beb2 100644 --- a/data/Sql/Workflow.sql +++ b/data/Sql/Workflow.sql @@ -8,12 +8,20 @@ join intervenant i on i.id = ie.intervenant_id join wf_etape e on e.id = ie.etape_id left join structure s on s.id = ie.structure_id where - i.source_code = '19010' + i.source_code = '2298' --and ie.structure_id is null AND i.annee_id = 2015 order by e.ordre; +SELECT + * +FROM + wf_etape + JOIN + + + /** * Création d'une nouvelle étape. */ @@ -40,8 +48,8 @@ values ( */ begin - --ose_workflow.update_intervenant_etapes(7992); - ose_workflow.update_all_intervenants_etapes; + ose_workflow.update_intervenant_etapes(35465); + --ose_workflow.update_all_intervenants_etapes; end; / diff --git a/module/Application/autoload_classmap.php b/module/Application/autoload_classmap.php index fdf4ac25ea9240c5954baab93f44aeaaab0860ce..56f5cf4fb36ae62cfc85fee0a1348f00a6713187 100644 --- a/module/Application/autoload_classmap.php +++ b/module/Application/autoload_classmap.php @@ -682,7 +682,6 @@ return array( 'Application\Assertion\ValidationServiceAssertion' => __DIR__ . '/src/Application/Assertion/ValidationServiceAssertion.php', 'Application\Assertion\ValidationDossierAssertion' => __DIR__ . '/src/Application/Assertion/ValidationDossierAssertion.php', 'Application\Assertion\ServiceAssertion' => __DIR__ . '/src/Application/Assertion/ServiceAssertion.php', - 'Application\Assertion\TestAssertion' => __DIR__ . '/src/Application/Assertion/TestAssertion.php', 'Application\Assertion\ValidationEnsRefAbstractAssertion' => __DIR__ . '/src/Application/Assertion/ValidationEnsRefAbstractAssertion.php', 'Application\Assertion\MiseEnPaiementAssertion' => __DIR__ . '/src/Application/Assertion/MiseEnPaiementAssertion.php', 'Application\Assertion\FichierAssertion' => __DIR__ . '/src/Application/Assertion/FichierAssertion.php', @@ -739,7 +738,6 @@ return array( 'Application\Rule\AbstractRulesEvaluator' => __DIR__ . '/src/Application/Rule/AbstractRulesEvaluator.php', 'Application\Rule\RulesEvaluatorInterface' => __DIR__ . '/src/Application/Rule/RulesEvaluatorInterface.php', 'Application\Rule\AbstractRule' => __DIR__ . '/src/Application/Rule/AbstractRule.php', - 'Application\Acl\DrhRole' => __DIR__ . '/src/Application/Acl/DrhRole.php', 'Application\Acl\EtablissementRole' => __DIR__ . '/src/Application/Acl/EtablissementRole.php', 'Application\Acl\Role' => __DIR__ . '/src/Application/Acl/Role.php', 'Application\Acl\ComposanteRole' => __DIR__ . '/src/Application/Acl/ComposanteRole.php', diff --git a/module/Application/config/agrement.config.php b/module/Application/config/agrement.config.php index ac561aa12a6c6f796464090d69769161650d5865..a187fdb07e0dcb5807e90f1a6b8b21ea64f84dc4 100644 --- a/module/Application/config/agrement.config.php +++ b/module/Application/config/agrement.config.php @@ -211,7 +211,7 @@ return [ ], 'controllers' => [ 'invokables' => [ - 'Application\Controller\Agrement' => 'Application\Controller\AgrementController', + 'Application\Controller\Agrement' => Controller\AgrementController::class, ], ], 'service_manager' => [ @@ -226,12 +226,12 @@ return [ ], 'view_helpers' => [ 'invokables' => [ - 'agrement' => 'Application\View\Helper\AgrementViewHelper', + 'agrement' => View\Helper\AgrementViewHelper::class, ], ], 'form_elements' => [ 'invokables' => [ - 'AgrementSaisieForm' => 'Application\Form\Agrement\Saisie', + 'AgrementSaisieForm' => Form\Agrement\Saisie::class, ], ], ]; diff --git a/module/Application/config/contrat.config.php b/module/Application/config/contrat.config.php index a13bc4911aa880ac8221ad6f77a633eae81c7bac..a7ee5633b4f8fbdcc321a10070ab3f530e845bd5 100644 --- a/module/Application/config/contrat.config.php +++ b/module/Application/config/contrat.config.php @@ -171,30 +171,6 @@ return [ ], ], ], -// 'navigation' => array( -// 'default' => array( -// 'home' => array( -// 'pages' => array( -// 'contrat' => array( -// 'label' => 'Contrat et avenants', -// 'title' => "Contrat et avenants de l'intervenant", -// 'route' => 'contrat/voir', -// 'withtarget' => true, -// 'resource' => 'controller/Application\Controller\Contrat:voir', -// 'pages' => array( -// 'exporter-contrat' => array( -// 'label' => "Exporter", -// 'title' => "Exporter le contrat de l'intervenant au format PDF", -// 'route' => 'contrat/exporter', -// 'withtarget' => true, -// 'resource' => 'controller/Application\Controller\Contrat:exporter', -// ), -// ), -// ), -// ), -// ), -// ), -// ), 'bjyauthorize' => [ 'guards' => [ 'BjyAuthorize\Guard\Controller' => [ diff --git a/module/Application/config/indicateur.config.php b/module/Application/config/indicateur.config.php index d2f2c4a8c810a78842efb8a54c30e3e7311c2bf8..101ca69b389e9f9afa0db1a0fbe8486b6b5aecba 100644 --- a/module/Application/config/indicateur.config.php +++ b/module/Application/config/indicateur.config.php @@ -4,7 +4,6 @@ namespace Application; use Application\Acl\AdministrateurRole; use Application\Acl\ComposanteRole; -use Application\Acl\DrhRole; use UnicaenAuth\Guard\PrivilegeController; return [ @@ -129,7 +128,7 @@ return [ 'result-item-donnees-perso-modif', 'purger-indicateur-donnees-perso-modif' ], - 'roles' => ['user', ComposanteRole::ROLE_ID, DrhRole::ROLE_ID, AdministrateurRole::ROLE_ID], + 'roles' => ['user', ComposanteRole::ROLE_ID, AdministrateurRole::ROLE_ID], ], ], ], diff --git a/module/Application/config/intervenant.config.php b/module/Application/config/intervenant.config.php index 64ee067ac2952a33114857e1103b824e8b5fea09..c4558723f91546f2c8b6c913cd330b96093f9f18 100644 --- a/module/Application/config/intervenant.config.php +++ b/module/Application/config/intervenant.config.php @@ -542,7 +542,7 @@ return [ [ 'controller' => 'Application\Controller\Intervenant', 'action' => ['formule-totaux-hetd'], - 'roles' => $R_ALL, + 'roles' => [R_ADMINISTRATEUR, R_COMPOSANTE, R_ETABLISSEMENT, R_INTERVENANT], ], [ 'controller' => 'Application\Controller\Intervenant', diff --git a/module/Application/config/module.config.php b/module/Application/config/module.config.php index 67aaab0d3baa18988e5dd4ae862f6fba530f56c5..65846085adf6c0237fdee6dd3583929a7705e604 100755 --- a/module/Application/config/module.config.php +++ b/module/Application/config/module.config.php @@ -4,30 +4,27 @@ namespace Application; const R_ADMINISTRATEUR = Acl\AdministrateurRole::ROLE_ID; const R_COMPOSANTE = Acl\ComposanteRole::ROLE_ID; -const R_DRH = Acl\DrhRole::ROLE_ID; const R_ETABLISSEMENT = Acl\EtablissementRole::ROLE_ID; const R_INTERVENANT = Acl\IntervenantRole::ROLE_ID; const R_INTERVENANT_EXTERIEUR = Acl\IntervenantExterieurRole::ROLE_ID; -$R_ALL = [R_ADMINISTRATEUR, R_COMPOSANTE, R_DRH, R_ETABLISSEMENT, R_INTERVENANT]; - $main = [ 'doctrine' => [ 'connection' => [ 'orm_default' => [ - 'driverClass' => 'Doctrine\DBAL\Driver\OCI8\Driver', + 'driverClass' => \Doctrine\DBAL\Driver\OCI8\Driver::class, ], ], 'driver' => [ 'orm_default_driver' => [ - 'class' => 'Doctrine\ORM\Mapping\Driver\XmlDriver', + 'class' => \Doctrine\ORM\Mapping\Driver\XmlDriver::class, 'paths' => [ __DIR__ . '/../src/Application/Entity/Db/Mapping', ], ], 'orm_default' => [ - 'class' => 'Doctrine\ORM\Mapping\Driver\DriverChain', + 'class' => \Doctrine\ORM\Mapping\Driver\DriverChain::class, 'drivers' => [ 'Application\Entity\Db' => 'orm_default_driver', ], @@ -36,7 +33,7 @@ $main = [ 'eventmanager' => [ 'orm_default' => [ 'subscribers' => [ - 'Doctrine\DBAL\Event\Listeners\OracleSessionInit', + \Doctrine\DBAL\Event\Listeners\OracleSessionInit::class, 'UnicaenApp\HistoriqueListener', ], ], @@ -53,7 +50,7 @@ $main = [ 'router' => [ 'routes' => [ 'home' => [ - 'type' => 'Zend\Mvc\Router\Http\Literal', + 'type' => 'Literal', 'options' => [ 'route' => '/', 'defaults' => [ @@ -112,7 +109,7 @@ $main = [ 'bjyauthorize' => [ 'identity_provider' => 'ApplicationIdentityProvider', - 'role_providers' => [ + 'role_providers' => [ 'ApplicationRoleProvider' => [ Acl\Role::class, @@ -120,18 +117,14 @@ $main = [ Acl\ComposanteRole::class, - Acl\DrhRole::class, Acl\EtablissementRole::class, Acl\IntervenantRole::class, Acl\IntervenantExterieurRole::class, Acl\IntervenantPermanentRole::class, ], ], - 'rule_providers' => [ -// 'Application\Provider\Rule\PrivilegeRuleProvider' => [], - ], - 'guards' => [ - 'BjyAuthorize\Guard\Controller' => [ + 'guards' => [ + \BjyAuthorize\Guard\Controller::class => [ [ 'controller' => 'Application\Controller\Index', 'action' => ['changement-annee'], @@ -151,14 +144,10 @@ $main = [ 'ApplicationSource' => Service\Source::class, 'ApplicationAffectation' => Service\Affectation::class, 'ApplicationRole' => Service\Role::class, - 'UnicaenAuth\Service\Privilege' => Service\PrivilegeService::class, 'ApplicationPays' => Service\Pays::class, 'ApplicationDepartement' => Service\Departement::class, 'IntervenantNavigationPageVisibility' => Service\IntervenantNavigationPageVisibility::class, - 'TestAssertion' => Assertion\TestAssertion::class, - ], - 'aliases' => [ - 'PrivilegeProvider' => 'UnicaenAuth\Service\Privilege', + 'UnicaenAuth\Service\Privilege' => Service\PrivilegeService::class, ], 'factories' => [ 'navigation' => Service\NavigationFactoryFactory::class, diff --git a/module/Application/config/service.config.php b/module/Application/config/service.config.php index c26b4502442447c2fdb57f96f8a665981d7a7c9f..7182eb5004a088519fa2764ce0c77db2d748ac5a 100644 --- a/module/Application/config/service.config.php +++ b/module/Application/config/service.config.php @@ -271,7 +271,7 @@ return [ ], [ 'controller' => 'Application\Controller\Service', 'action' => ['resume','resume-refresh','recherche'], - 'roles' => [R_ADMINISTRATEUR, R_COMPOSANTE, R_DRH, R_ETABLISSEMENT] + 'roles' => [R_ADMINISTRATEUR, R_COMPOSANTE, R_ETABLISSEMENT] ], [ 'controller' => 'Application\Controller\ServiceReferentiel', 'action' => ['index', 'saisie', 'suppression', 'rafraichir-ligne', 'initialisation', 'constatation'], diff --git a/module/Application/src/Application/Acl/DrhRole.php b/module/Application/src/Application/Acl/DrhRole.php deleted file mode 100644 index da48740903f787118e23b8121a04fd226f5a441e..0000000000000000000000000000000000000000 --- a/module/Application/src/Application/Acl/DrhRole.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php - -namespace Application\Acl; - -use Application\Entity\Db\Interfaces\PersonnelAwareInterface; -use Application\Entity\Db\Traits\PersonnelAwareTrait; - -/** - * Rôle père de tous les rôles "composante". - * - * @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr> - */ -class DrhRole extends Role implements PersonnelAwareInterface -{ - use PersonnelAwareTrait; - - const ROLE_ID = 'drh'; - - public function __construct($id = self::ROLE_ID, $parent = Role::ROLE_ID, $name = 'DRH', $description = null, $selectable = true) - { - parent::__construct($id, $parent, $name, $description, $selectable); - } -} diff --git a/module/Application/src/Application/Assertion/AgrementAssertion.php b/module/Application/src/Application/Assertion/AgrementAssertion.php index da9d07792146e8399df9adf425a02422204320e5..bdc5eb5a37152fafba2f9a859dbf31c04c02ed9e 100644 --- a/module/Application/src/Application/Assertion/AgrementAssertion.php +++ b/module/Application/src/Application/Assertion/AgrementAssertion.php @@ -169,30 +169,5 @@ class AgrementAssertion extends OldAbstractAssertion implements WorkflowInterven return $wf; } - - /** - * @return NecessiteAgrementRule - */ - private function getRuleNecessiteAgrement() - { - $rule = $this->getServiceAgrement()->getRuleNecessiteAgrement(); - $rule - ->setIntervenant($this->resource->getIntervenant()) - ->setTypeAgrement($this->resource->getType()); - - return $rule; - } - - /** - * @return AgrementFourniRule - */ - private function getRuleAgrementFourni() - { - $rule = $this->getServiceAgrement()->getRuleAgrementFourni(); - $rule - ->setIntervenant($this->resource->getIntervenant()) - ->setTypeAgrement($this->resource->getType()); - - return $rule; - } + } \ No newline at end of file diff --git a/module/Application/src/Application/Assertion/ServiceAssertion.php b/module/Application/src/Application/Assertion/ServiceAssertion.php index c49603248da8a3290ff5429add3d045fce2df71d..730566462a08abd40a1442392ba2df40540fabc2 100644 --- a/module/Application/src/Application/Assertion/ServiceAssertion.php +++ b/module/Application/src/Application/Assertion/ServiceAssertion.php @@ -4,7 +4,6 @@ namespace Application\Assertion; use Application\Acl\AdministrateurRole; use Application\Acl\ComposanteRole; -use Application\Acl\DrhRole; use Application\Acl\EtablissementRole; use Application\Acl\IntervenantRole; use Application\Entity\Db\Intervenant; @@ -187,15 +186,6 @@ class ServiceAssertion extends OldAbstractAssertion } } - /********************************************************* - * Rôle DRH - *********************************************************/ - if ($this->role instanceof DrhRole) { - if ('read' == $this->privilege) { - return true; // ils voient tout à la DRH - } - } - return false; } diff --git a/module/Application/src/Application/Assertion/ServiceReferentielAssertion.php b/module/Application/src/Application/Assertion/ServiceReferentielAssertion.php index b2e110a28150679b52837c050a083c0ea10e1023..92a7ff9743ae0b50e5e147235385b7c49ddfb2af 100644 --- a/module/Application/src/Application/Assertion/ServiceReferentielAssertion.php +++ b/module/Application/src/Application/Assertion/ServiceReferentielAssertion.php @@ -4,7 +4,6 @@ namespace Application\Assertion; use Application\Acl\AdministrateurRole; use Application\Acl\ComposanteRole; -use Application\Acl\DrhRole; use Application\Acl\EtablissementRole; use Application\Acl\IntervenantRole; use Application\Acl\IntervenantPermanentRole; @@ -157,15 +156,6 @@ class ServiceReferentielAssertion extends OldAbstractAssertion } } - /********************************************************* - * Rôle DRH - *********************************************************/ - if ($this->role instanceof DrhRole){ - if ('read' == $this->privilege) { - return true; // ils voient tout à la DRH - } - } - return true; } diff --git a/module/Application/src/Application/Assertion/TestAssertion.php b/module/Application/src/Application/Assertion/TestAssertion.php deleted file mode 100644 index f4bd19fa39d781547e24d1f5afb9623eda3179f4..0000000000000000000000000000000000000000 --- a/module/Application/src/Application/Assertion/TestAssertion.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php - -namespace Application\Assertion; - -use Application\Entity\Db\Service; -use Zend\Permissions\Acl\Acl; -use Zend\Permissions\Acl\Resource\ResourceInterface; -use Zend\Permissions\Acl\Role\RoleInterface; - -/** - * Description of TestAssertion - * - * @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr> - */ -class TestAssertion extends OldAbstractAssertion -{ - /** - * @var Service - */ - protected $resource; - - /** - * Returns true if and only if the assertion conditions are met - * - * This method is passed the ACL, Role, Resource, and privilege to which the authorization query applies. If the - * $role, $resource, or $privilege parameters are null, it means that the query applies to all Roles, Resources, or - * privileges, respectively. - * - * @param Acl $acl - * @param RoleInterface $role - * @param ResourceInterface $resource - * @param string $privilege - * @return bool - */ - public function assert(Acl $acl, RoleInterface $role = null, ResourceInterface $resource = null, $privilege = null) - { - parent::assert($acl, $role, $resource, $privilege); -var_dump($acl->getRoles()); -// var_dump($acl); -// var_dump($role); -// var_dump($resource); -// var_dump($privilege); - - return true; - } -} \ No newline at end of file diff --git a/module/Application/src/Application/Provider/Role/RoleProvider.php b/module/Application/src/Application/Provider/Role/RoleProvider.php index 65565323a1ce387b419f94b8180208a3d74be4ff..9423d52558bde2105cda9d265532d988e3f3d803 100644 --- a/module/Application/src/Application/Provider/Role/RoleProvider.php +++ b/module/Application/src/Application/Provider/Role/RoleProvider.php @@ -80,8 +80,6 @@ class RoleProvider implements ProviderInterface, EntityManagerAwareInterface $roles[$r->getRoleId()] = $r; $r = new \Application\Acl\ComposanteRole(); $roles[$r->getRoleId()] = $r; - $r = new \Application\Acl\DrhRole(); - $roles[$r->getRoleId()] = $r; $r = new \Application\Acl\EtablissementRole(); $roles[$r->getRoleId()] = $r; $r = new \Application\Acl\IntervenantRole(); @@ -121,31 +119,28 @@ class RoleProvider implements ProviderInterface, EntityManagerAwareInterface /* @var $dbRole \Application\Entity\Db\Role */ $roleId = $dbRole->getRoleId(); - $roleClass = 'Application\Acl\Role'; + $roleClass = \Application\Acl\Role::class; $parent = 'user'; /** @deprecated */ if ($roleId == 'gestionnaire-composante') { - $roleClass = 'Application\Acl\GestionnaireComposanteRole'; + $roleClass = \Application\Acl\GestionnaireComposanteRole::class; $parent = 'composante'; } if ($roleId == 'directeur-composante') { - $roleClass = 'Application\Acl\DirecteurComposanteRole'; + $roleClass = \Application\Acl\DirecteurComposanteRole::class; $parent = 'composante'; } if ($roleId == 'administrateur') { - $roleClass = 'Application\Acl\AdministrateurRole'; + $roleClass = \Application\Acl\AdministrateurRole::class; } if ($roleId == 'responsable-composante') { - $roleClass = 'Application\Acl\ResponsableComposanteRole'; + $roleClass = \Application\Acl\ResponsableComposanteRole::class; $parent = 'composante'; } if ($roleId == 'superviseur-etablissement') { - $roleClass = 'Application\Acl\EtablissementRole'; + $roleClass = \Application\Acl\EtablissementRole::class; $parent = 'etablissement'; } - if ($roleId == 'gestionnaire-drh') { - $roleClass = 'Application\Acl\DrhRole'; - } /* FIN de deprecated */ $role = new $roleClass($roleId, $parent, $dbRole->getLibelle()); @@ -206,10 +201,10 @@ class RoleProvider implements ProviderInterface, EntityManagerAwareInterface /** @deprecated */ if ($statut->getTypeIntervenant()->getCode() === \Application\Entity\Db\TypeIntervenant::CODE_PERMANENT) { $parent = \Application\Acl\IntervenantPermanentRole::ROLE_ID; - $roleClass = 'Application\Acl\IntervenantPermanentRole'; + $roleClass = \Application\Acl\IntervenantPermanentRole::class; } else { $parent = \Application\Acl\IntervenantExterieurRole::ROLE_ID; - $roleClass = 'Application\Acl\IntervenantExterieurRole'; + $roleClass = \Application\Acl\IntervenantExterieurRole::class; } $si[] = [ 'statut-id' => $statut->getId(), diff --git a/module/Application/src/Application/Service/Agrement.php b/module/Application/src/Application/Service/Agrement.php index b1d9eaf498ab3e0116b094ee7b2eabdc9087654c..1673bd0144f0fc679691fdab45df44b024d61c18 100644 --- a/module/Application/src/Application/Service/Agrement.php +++ b/module/Application/src/Application/Service/Agrement.php @@ -23,7 +23,7 @@ class Agrement extends AbstractEntityService */ public function getEntityClass() { - return 'Application\Entity\Db\Agrement'; + return AgrementEntity::class; } /** diff --git a/module/Application/view/application/intervenant/rechercher.phtml b/module/Application/view/application/intervenant/rechercher.phtml index 5490fd434cb9c1633955c4acd57dcde371331b15..79ee7422609480b62b76708fee9845078bfa2b03 100644 --- a/module/Application/view/application/intervenant/rechercher.phtml +++ b/module/Application/view/application/intervenant/rechercher.phtml @@ -6,8 +6,9 @@ <div style="padding:1em"> <div class="intervenant-recherche"> <div class="critere"> - Saisissez le nom suivi éventuellement du prénom (2 lettres au moins) : - <input id="critere" class="form-control input" type="text" /> + Saisissez le nom suivi éventuellement du prénom (2 lettres au moins) :<br /> + <input id="critere" class="form-control input" type="text" style="width:15em;display:inline" /> + <span class="loading" id="intervenant-recherche-loading" style="display: none"> </span> </div> <div class="recherche" data-url="<?php echo $this->url('intervenant/recherche') ?>"> diff --git a/public/js/app.js b/public/js/app.js index 271e18e8b64f715d88305463e2e4b5c3e18208c9..caa94b4dad4d9008f4f6d88576a67f28ef73c070 100755 --- a/public/js/app.js +++ b/public/js/app.js @@ -112,16 +112,14 @@ $.widget("ose.intervenantRecherche", { { var that = this; - if (critere.length > 1) { - if (that.getElementRecherche().find('.loading').length == 0){ - that.getElementRecherche().prepend('<div class="loading"></div>'); - } + that.getElementLoading().show(); that.getElementRecherche().refresh({critere: critere}, function( response, status, xhr ){ if ( status == "error" ) { - var msg = "Sorry but there was an error: "; + var msg = "Désolé mais une erreur est survenue: "; that.getElementRecherche().html( msg + xhr.status + " " + xhr.statusText + xhr.responseText ); } + that.getElementLoading().hide(); }); } }, @@ -142,6 +140,7 @@ $.widget("ose.intervenantRecherche", { getElementCritere: function(){ return this.element.find( "#critere" ); }, getElementRecherche : function () { return this.element.find('.recherche'); }, + getElementLoading: function(){ return this.element.find('#intervenant-recherche-loading'); }, }); $(function ()