Loading front/src/ContratTypePCRU.vue +4 −3 Original line number Diff line number Diff line Loading @@ -7,7 +7,9 @@ <div class="overlay" v-if="selectedPcru"> <div class="overlay-content" v-if="oscartypes.length"> <a class="overlay-closer" @click="handlerClose">Fermer</a> <h3>Correspondance</h3> <h3> <i class="icon-link-ext"></i> Correspondance</h3> <p>Choississez un type d'activité correspondant dans Oscar pour les contrats PCRI <strong></strong> : </p> <tree :tree="oscartypes[0]" @select="handlerSelect"></tree> Loading @@ -20,8 +22,7 @@ <div class="row"> <div class="col-md-6"> <h2>Types côté <strong>PCRU</strong></h2> <article class="card xs" v-for="t in pcrutypes" :key="t.id" :class="t.activitytype_id != null ? 'active' : 'disabled'"> <article class="card xs" v-for="t in pcrutypes" :key="t.id" :class="t.activitytype_id != null ? 'active' : 'disabled'"> <h3><code>[{{ t.id }}]</code> <strong>{{ t.label }}</strong> </h3> Loading front/src/remote/OscarRemoteData.js +1 −4 Original line number Diff line number Diff line Loading @@ -70,8 +70,7 @@ class OscarRemoteData { this.state.error = error; if (handlerError) { handlerError(error); } else { } else { this.debug(' > NO handlerError given'); } }) Loading @@ -81,7 +80,6 @@ class OscarRemoteData { } performPost(url, datas, handlerResponse = null, handlerError = null) { console.log("performPost", url, datas ); this.state.loading = true; this.getAxiosInstance().post(url, datas) .then(response => { Loading @@ -90,7 +88,6 @@ class OscarRemoteData { } }) .catch(error => { console.log(error); this.debug("[ERROR] " + error); if (handlerError) { handlerError(error); Loading module/Oscar/src/Oscar/Entity/ActivityPcruInfos.php +1 −1 Original line number Diff line number Diff line Loading @@ -245,7 +245,7 @@ class ActivityPcruInfos $out['SigleUnite'] = $this->getSigleUnite(); $out['NumContratTutelleGestionnaire'] = $this->getNumContratTutelleGestionnaire(); $out['Equipe'] = $this->getEquipe(); $out['TypeContrat'] = $this->getTypeContrat() ? $this->getTypeContrat()->getLabel() : "ND"; $out['TypeContrat'] = $this->getTypeContrat() ? $this->getTypeContrat()->getLabel() : "Aucun"; $out['Acronyme'] = $this->getAcronyme(); $out['ContratsAssocies'] = $this->getContratsAssocies(); $out['ResponsableScientifique'] = $this->getResponsableScientifique(); Loading module/Oscar/src/Oscar/Entity/PcruTypeContractRepository.php +18 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ class PcruTypeContractRepository extends EntityRepository $entities = $query->getQuery()->getResult(); return array_map('current', $entities); } public function getArrayDatasJoined(): array { $query = $this->createQueryBuilder('ptc')->orderBy("ptc.label", "ASC"); Loading @@ -45,4 +46,21 @@ class PcruTypeContractRepository extends EntityRepository } return $out; } public function getPcruContractLabelByActivityType( ActivityType $activityType ): ?PcruTypeContract { try { $query = $this->createQueryBuilder('ptc') ->select('ptc.label label') ->where('ptc.activityType = :activityType') ->setParameter('activityType', $activityType) ->getQuery(); return $query->getSingleResult(); } catch (NoResultException $exception) { return null; } } } No newline at end of file module/Oscar/src/Oscar/Factory/ActivityPcruInfoFromActivityFactory.php +10 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ use Oscar\Entity\ActivityOrganization; use Oscar\Entity\ActivityPcruInfos; use Oscar\Entity\ActivityPerson; use Oscar\Entity\ContractDocument; use Oscar\Entity\PcruTypeContract; use Oscar\Entity\PcruTypeContractRepository; use Oscar\Exception\OscarException; use Oscar\Service\OscarConfigurationService; Loading Loading @@ -69,7 +71,7 @@ class ActivityPcruInfoFromActivityFactory // Recherche automatique du responsable scientifique $roleRSToFind = $this->oscarConfigurationService ->getOptionalConfiguration('pcru_respscien_role', 'Responsable Scientifique'); ->getOptionalConfiguration('pcru_respscien_role', 'Responsable scientifique'); $responsable = ""; /** @var ActivityPerson $personActivity */ Loading @@ -92,6 +94,12 @@ class ActivityPcruInfoFromActivityFactory } } /** @var PcruTypeContractRepository $pcruContractTypeRepository */ $pcruContractTypeRepository = $this->entityManager->getRepository(PcruTypeContract::class); /** @var string $pcruContract */ $pcruContract = $pcruContractTypeRepository->getPcruContractLabelByActivityType($activity->getActivityType()); $activityPcruInfos->setActivity($activity) ->setDocumentPath($documentSigned) ->setSigleUnite($sigleUnit) Loading @@ -101,6 +109,7 @@ class ActivityPcruInfoFromActivityFactory ->setSourceFinancement($activity->getPcruSourceFinancementStr()) ->setResponsableScientifique($responsable) ->setCodeUniteLabintel($codeUniteLabintel) ->setTypeContrat($pcruContract) ->setObjet($activity->getLabel()) ->setAcronyme($activity->getAcronym()) ->setMontantTotal($activity->getAmount()) Loading Loading
front/src/ContratTypePCRU.vue +4 −3 Original line number Diff line number Diff line Loading @@ -7,7 +7,9 @@ <div class="overlay" v-if="selectedPcru"> <div class="overlay-content" v-if="oscartypes.length"> <a class="overlay-closer" @click="handlerClose">Fermer</a> <h3>Correspondance</h3> <h3> <i class="icon-link-ext"></i> Correspondance</h3> <p>Choississez un type d'activité correspondant dans Oscar pour les contrats PCRI <strong></strong> : </p> <tree :tree="oscartypes[0]" @select="handlerSelect"></tree> Loading @@ -20,8 +22,7 @@ <div class="row"> <div class="col-md-6"> <h2>Types côté <strong>PCRU</strong></h2> <article class="card xs" v-for="t in pcrutypes" :key="t.id" :class="t.activitytype_id != null ? 'active' : 'disabled'"> <article class="card xs" v-for="t in pcrutypes" :key="t.id" :class="t.activitytype_id != null ? 'active' : 'disabled'"> <h3><code>[{{ t.id }}]</code> <strong>{{ t.label }}</strong> </h3> Loading
front/src/remote/OscarRemoteData.js +1 −4 Original line number Diff line number Diff line Loading @@ -70,8 +70,7 @@ class OscarRemoteData { this.state.error = error; if (handlerError) { handlerError(error); } else { } else { this.debug(' > NO handlerError given'); } }) Loading @@ -81,7 +80,6 @@ class OscarRemoteData { } performPost(url, datas, handlerResponse = null, handlerError = null) { console.log("performPost", url, datas ); this.state.loading = true; this.getAxiosInstance().post(url, datas) .then(response => { Loading @@ -90,7 +88,6 @@ class OscarRemoteData { } }) .catch(error => { console.log(error); this.debug("[ERROR] " + error); if (handlerError) { handlerError(error); Loading
module/Oscar/src/Oscar/Entity/ActivityPcruInfos.php +1 −1 Original line number Diff line number Diff line Loading @@ -245,7 +245,7 @@ class ActivityPcruInfos $out['SigleUnite'] = $this->getSigleUnite(); $out['NumContratTutelleGestionnaire'] = $this->getNumContratTutelleGestionnaire(); $out['Equipe'] = $this->getEquipe(); $out['TypeContrat'] = $this->getTypeContrat() ? $this->getTypeContrat()->getLabel() : "ND"; $out['TypeContrat'] = $this->getTypeContrat() ? $this->getTypeContrat()->getLabel() : "Aucun"; $out['Acronyme'] = $this->getAcronyme(); $out['ContratsAssocies'] = $this->getContratsAssocies(); $out['ResponsableScientifique'] = $this->getResponsableScientifique(); Loading
module/Oscar/src/Oscar/Entity/PcruTypeContractRepository.php +18 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ class PcruTypeContractRepository extends EntityRepository $entities = $query->getQuery()->getResult(); return array_map('current', $entities); } public function getArrayDatasJoined(): array { $query = $this->createQueryBuilder('ptc')->orderBy("ptc.label", "ASC"); Loading @@ -45,4 +46,21 @@ class PcruTypeContractRepository extends EntityRepository } return $out; } public function getPcruContractLabelByActivityType( ActivityType $activityType ): ?PcruTypeContract { try { $query = $this->createQueryBuilder('ptc') ->select('ptc.label label') ->where('ptc.activityType = :activityType') ->setParameter('activityType', $activityType) ->getQuery(); return $query->getSingleResult(); } catch (NoResultException $exception) { return null; } } } No newline at end of file
module/Oscar/src/Oscar/Factory/ActivityPcruInfoFromActivityFactory.php +10 −1 Original line number Diff line number Diff line Loading @@ -10,6 +10,8 @@ use Oscar\Entity\ActivityOrganization; use Oscar\Entity\ActivityPcruInfos; use Oscar\Entity\ActivityPerson; use Oscar\Entity\ContractDocument; use Oscar\Entity\PcruTypeContract; use Oscar\Entity\PcruTypeContractRepository; use Oscar\Exception\OscarException; use Oscar\Service\OscarConfigurationService; Loading Loading @@ -69,7 +71,7 @@ class ActivityPcruInfoFromActivityFactory // Recherche automatique du responsable scientifique $roleRSToFind = $this->oscarConfigurationService ->getOptionalConfiguration('pcru_respscien_role', 'Responsable Scientifique'); ->getOptionalConfiguration('pcru_respscien_role', 'Responsable scientifique'); $responsable = ""; /** @var ActivityPerson $personActivity */ Loading @@ -92,6 +94,12 @@ class ActivityPcruInfoFromActivityFactory } } /** @var PcruTypeContractRepository $pcruContractTypeRepository */ $pcruContractTypeRepository = $this->entityManager->getRepository(PcruTypeContract::class); /** @var string $pcruContract */ $pcruContract = $pcruContractTypeRepository->getPcruContractLabelByActivityType($activity->getActivityType()); $activityPcruInfos->setActivity($activity) ->setDocumentPath($documentSigned) ->setSigleUnite($sigleUnit) Loading @@ -101,6 +109,7 @@ class ActivityPcruInfoFromActivityFactory ->setSourceFinancement($activity->getPcruSourceFinancementStr()) ->setResponsableScientifique($responsable) ->setCodeUniteLabintel($codeUniteLabintel) ->setTypeContrat($pcruContract) ->setObjet($activity->getLabel()) ->setAcronyme($activity->getAcronym()) ->setMontantTotal($activity->getAmount()) Loading