Loading module/Oscar/src/Oscar/Controller/AdministrationController.php +8 −6 Original line number Diff line number Diff line Loading @@ -349,7 +349,6 @@ class AdministrationController extends AbstractOscarController implements UsePro return $this->getResponseInternalError($e->getMessage()); } return $this->jsonOutput(['tvas' => $this->getProjectGrantService()->getTVAsForJson()]); break; case 'POST': Loading Loading @@ -381,7 +380,6 @@ class AdministrationController extends AbstractOscarController implements UsePro } catch (\Exception $e) { return $this->getResponseInternalError($e->getMessage()); } break; default: return $this->getResponseBadRequest("Erreur d'API"); Loading @@ -404,15 +402,19 @@ class AdministrationController extends AbstractOscarController implements UsePro $this->flashMessenger()->addSuccessMessage('Les référentiels PCRU ont été mis à jour'); $this->redirect()->toRoute('administration/accueil'); return []; case "iso-3166-update": return []; default: return $this->getResponseBadRequest(); } return []; } /** * Liste des pays ISO 3166 * * @return array|\Zend\Http\Response * @throws OscarException */ public function paysIso3166Action() { $this->getOscarUserContextService()->check(Privileges::MAINTENANCE_MENU_ADMIN); Loading module/Oscar/src/Oscar/Controller/ProjectGrantController.php +0 −2 Original line number Diff line number Diff line Loading @@ -2786,10 +2786,8 @@ class ProjectGrantController extends AbstractOscarController implements UseNotif */ public function pcruListAction() { $this->getOscarUserContextService()->check(Privileges::MAINTENANCE_PCRU_LIST); $accessUpload = $this->getOscarUserContextService()->hasPrivileges(Privileges::MAINTENANCE_PCRU_UPLOAD); $pcruInfos = $this->getProjectGrantService()->getPCRUService()->getPcruInfos(); $methods = $this->getHttpXMethod(); Loading module/Oscar/src/Oscar/Entity/Organization.php +7 −0 Original line number Diff line number Diff line Loading @@ -342,6 +342,13 @@ class Organization implements ResourceInterface, IConnectedObject $this->setDateCreated(new \DateTime()); } public function getCodePcru(){ if( $this->getSiret() ) return $this->getSiret(); if( $this->getTvaintra() ) return $this->getTvaintra(); if( $this->getDuns() ) return $this->getDuns(); return null; } public function isClose() { return $this->getDateEnd() && $this->getDateEnd() <= new \DateTime(); Loading module/Oscar/src/Oscar/Entity/OrganizationRepository.php +19 −0 Original line number Diff line number Diff line Loading @@ -138,4 +138,23 @@ class OrganizationRepository extends EntityRepository implements IConnectedRepos ->setParameter('search', '%"'.$connector.'";s:'.strlen($value).':"'.$value.'";%'); return $qb; } /** * @param $code * @return Organization|null * @throws NoResultException * @throws \Doctrine\ORM\NonUniqueResultException */ public function getOrganizationByCodePCRU( $code ) :?Organization { $qb = $this->getEntityManager()->createQueryBuilder('o') ->select('o') ->from(Organization::class, 'o') ->where('o.siret = :code OR o.duns = :code OR o.tvaintra = :code') ->getQuery() ->setParameter('code', $code) ; return $qb->getSingleResult(); } } No newline at end of file module/Oscar/src/Oscar/Factory/ActivityPcruInfoFromActivityFactory.php +10 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ class ActivityPcruInfoFromActivityFactory // Intitulé du rôle "Laboratoire" pour PCRU $roleStructureToFind = $this->oscarConfigurationService->getOptionalConfiguration('pcru_unite_role', 'Laboratoire'); $rolePartnerToFind = $this->oscarConfigurationService->getOptionalConfiguration('pcru_patner_role', 'Financeur'); // Donnèes trouvées $codeUniteLabintel = ""; Loading @@ -58,7 +59,6 @@ class ActivityPcruInfoFromActivityFactory $activityPcruInfos->addError("Aucune structure $roleStructureToFind pour cette activité."); } $organizationsParsed = []; /** @var ActivityOrganization $unite */ foreach ($activity->getOrganizationsWithRole($roleStructureToFind) as $unite) { Loading @@ -69,6 +69,14 @@ class ActivityPcruInfoFromActivityFactory } } $partners = []; /** @var ActivityOrganization $partner */ foreach ($activity->getOrganizationsWithRole($rolePartnerToFind) as $partner) { if( $partner->getOrganization()->getCodePcru() ){ $partners[] = $partner->getOrganization()->getCodePcru(); } } if( $codeUniteLabintel == "" ){ $activityPcruInfos->addError("Le $roleStructureToFind (".implode(', ', $organizationsParsed).") n'a pas de code LABINTEL"); } Loading Loading @@ -121,6 +129,7 @@ class ActivityPcruInfoFromActivityFactory ->setDocumentPath($documentSigned) ->setDocumentId($documentId) ->setSigleUnite($sigleUnit) ->setPartenaires(implode('|', $partners)) ->setPoleCompetivite($activity->getPcruPoleCompetitiviteStr()) ->setNumContratTutelleGestionnaire($activity->getOscarNum()) ->setValidePoleCompetivite($activity->isPcruPolePoleCompetitiviteStr()) Loading Loading
module/Oscar/src/Oscar/Controller/AdministrationController.php +8 −6 Original line number Diff line number Diff line Loading @@ -349,7 +349,6 @@ class AdministrationController extends AbstractOscarController implements UsePro return $this->getResponseInternalError($e->getMessage()); } return $this->jsonOutput(['tvas' => $this->getProjectGrantService()->getTVAsForJson()]); break; case 'POST': Loading Loading @@ -381,7 +380,6 @@ class AdministrationController extends AbstractOscarController implements UsePro } catch (\Exception $e) { return $this->getResponseInternalError($e->getMessage()); } break; default: return $this->getResponseBadRequest("Erreur d'API"); Loading @@ -404,15 +402,19 @@ class AdministrationController extends AbstractOscarController implements UsePro $this->flashMessenger()->addSuccessMessage('Les référentiels PCRU ont été mis à jour'); $this->redirect()->toRoute('administration/accueil'); return []; case "iso-3166-update": return []; default: return $this->getResponseBadRequest(); } return []; } /** * Liste des pays ISO 3166 * * @return array|\Zend\Http\Response * @throws OscarException */ public function paysIso3166Action() { $this->getOscarUserContextService()->check(Privileges::MAINTENANCE_MENU_ADMIN); Loading
module/Oscar/src/Oscar/Controller/ProjectGrantController.php +0 −2 Original line number Diff line number Diff line Loading @@ -2786,10 +2786,8 @@ class ProjectGrantController extends AbstractOscarController implements UseNotif */ public function pcruListAction() { $this->getOscarUserContextService()->check(Privileges::MAINTENANCE_PCRU_LIST); $accessUpload = $this->getOscarUserContextService()->hasPrivileges(Privileges::MAINTENANCE_PCRU_UPLOAD); $pcruInfos = $this->getProjectGrantService()->getPCRUService()->getPcruInfos(); $methods = $this->getHttpXMethod(); Loading
module/Oscar/src/Oscar/Entity/Organization.php +7 −0 Original line number Diff line number Diff line Loading @@ -342,6 +342,13 @@ class Organization implements ResourceInterface, IConnectedObject $this->setDateCreated(new \DateTime()); } public function getCodePcru(){ if( $this->getSiret() ) return $this->getSiret(); if( $this->getTvaintra() ) return $this->getTvaintra(); if( $this->getDuns() ) return $this->getDuns(); return null; } public function isClose() { return $this->getDateEnd() && $this->getDateEnd() <= new \DateTime(); Loading
module/Oscar/src/Oscar/Entity/OrganizationRepository.php +19 −0 Original line number Diff line number Diff line Loading @@ -138,4 +138,23 @@ class OrganizationRepository extends EntityRepository implements IConnectedRepos ->setParameter('search', '%"'.$connector.'";s:'.strlen($value).':"'.$value.'";%'); return $qb; } /** * @param $code * @return Organization|null * @throws NoResultException * @throws \Doctrine\ORM\NonUniqueResultException */ public function getOrganizationByCodePCRU( $code ) :?Organization { $qb = $this->getEntityManager()->createQueryBuilder('o') ->select('o') ->from(Organization::class, 'o') ->where('o.siret = :code OR o.duns = :code OR o.tvaintra = :code') ->getQuery() ->setParameter('code', $code) ; return $qb->getSingleResult(); } } No newline at end of file
module/Oscar/src/Oscar/Factory/ActivityPcruInfoFromActivityFactory.php +10 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ class ActivityPcruInfoFromActivityFactory // Intitulé du rôle "Laboratoire" pour PCRU $roleStructureToFind = $this->oscarConfigurationService->getOptionalConfiguration('pcru_unite_role', 'Laboratoire'); $rolePartnerToFind = $this->oscarConfigurationService->getOptionalConfiguration('pcru_patner_role', 'Financeur'); // Donnèes trouvées $codeUniteLabintel = ""; Loading @@ -58,7 +59,6 @@ class ActivityPcruInfoFromActivityFactory $activityPcruInfos->addError("Aucune structure $roleStructureToFind pour cette activité."); } $organizationsParsed = []; /** @var ActivityOrganization $unite */ foreach ($activity->getOrganizationsWithRole($roleStructureToFind) as $unite) { Loading @@ -69,6 +69,14 @@ class ActivityPcruInfoFromActivityFactory } } $partners = []; /** @var ActivityOrganization $partner */ foreach ($activity->getOrganizationsWithRole($rolePartnerToFind) as $partner) { if( $partner->getOrganization()->getCodePcru() ){ $partners[] = $partner->getOrganization()->getCodePcru(); } } if( $codeUniteLabintel == "" ){ $activityPcruInfos->addError("Le $roleStructureToFind (".implode(', ', $organizationsParsed).") n'a pas de code LABINTEL"); } Loading Loading @@ -121,6 +129,7 @@ class ActivityPcruInfoFromActivityFactory ->setDocumentPath($documentSigned) ->setDocumentId($documentId) ->setSigleUnite($sigleUnit) ->setPartenaires(implode('|', $partners)) ->setPoleCompetivite($activity->getPcruPoleCompetitiviteStr()) ->setNumContratTutelleGestionnaire($activity->getOscarNum()) ->setValidePoleCompetivite($activity->isPcruPolePoleCompetitiviteStr()) Loading