Commit 86671465 authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

- Formulaire intermédiaire pour la création de données PCRU, Fix Hydrator et...

- Formulaire intermédiaire pour la création de données PCRU, Fix Hydrator et transmission des référenciels typés
parent 6f19aeef
Loading
Loading
Loading
Loading
Loading
+18 −5
Original line number Diff line number Diff line
@@ -2850,11 +2850,26 @@ class ProjectGrantController extends AbstractOscarController implements UseNotif
        /** @var Activity $activity */
        $activity = $this->getActivityFromRoute();

        if( $this->params()->fromQuery("a") == "beta" ){
        if( $this->params()->fromQuery("a") == "activate" ){

            // Formulaire
            $form = new ActivityInfosPcruForm($this->getProjectGrantService(), $activity);
            $preview = $this->getProjectGrantService()->getPCRUService()->getPreview($activity);
            $pcruInfos = $preview['infos'];
            $form->init();
            $form->bind($preview['infos']);
            $form->bind($pcruInfos);

            if( $this->getRequest()->getMethod() == "POST" ){
                $posted = $this->getRequest()->getPost();
                $form->setData($posted);
                if( $form->isValid() ){

                    $this->getProjectGrantService()->getPCRUService()->activateActivity($activity, $pcruInfos);
                    return $this->redirect()->toRoute('contract/pcru-infos', ['id' => $activity->getId() ]);
                } else {

                }
            }

            $preview['form'] = $form;
            $preview['activity'] = $activity;
@@ -2870,12 +2885,10 @@ class ProjectGrantController extends AbstractOscarController implements UseNotif
        $method = $this->getHttpXMethod();

        if ($method == 'POST') {
            die("A FACTORISER");
            $action = $this->params()->fromPost('action');
            $this->getOscarUserContextService()->check(Privileges::ACTIVITY_PCRU_ACTIVATE, $activity);
            switch ($action) {
                case 'activate-pcru':
                    $this->getProjectGrantService()->getPCRUService()->activateActivity($activity);
                    break;

                case 'add-pool':
                    $this->getProjectGrantService()->getPCRUService()->addToPool($activity);
+37 −36
Original line number Diff line number Diff line
@@ -99,9 +99,9 @@ class ActivityPcruInfos

    /**
     * @var boolean
     * @ORM\Column(type="boolean")
     * @ORM\Column(type="boolean", name="cordinateurconsortium")
     */
    private $cordinateurConsortium = false;
    private $coordinateurConsortium = false;

    /**
     * @var string
@@ -145,8 +145,8 @@ class ActivityPcruInfos


    /**
     * @var float Durée en mois (min 0.5)
     * @ORM\Column(type="float", nullable=true)
     * @var string Durée en mois (min 0.5)
     * @ORM\Column(type="string", nullable=true)
     */
    private $duree;

@@ -163,22 +163,22 @@ class ActivityPcruInfos
    private $dateFin;

    /**
     * @var float Montant reçu (par l'unité)
     * @ORM\Column(type="float", nullable=true)
     * @var string Montant reçu (par l'unité)
     * @ORM\Column(type="string", nullable=true)
     */
    private $montantPercuUnite = 0.0;
    private $montantPercuUnite = "";

    /**
     * @var float Coût/Frais
     * @ORM\Column(type="float", nullable=true)
     * @var string Coût/Frais
     * @ORM\Column(type="string", nullable=true)
     */
    private $coutTotalEtude = 0.0;
    private $coutTotalEtude = "";

    /**
     * @var float Montant total (du contrat)
     * @ORM\Column(type="float", nullable=true)
     * @var string Montant total (du contrat)
     * @ORM\Column(type="string", nullable=true)
     */
    private $montantTotal = 0.0;
    private $montantTotal = "";

    /**
     * @var boolean Validé par le pôle de compétivité
@@ -294,7 +294,8 @@ class ActivityPcruInfos
        );
    }

    public function toArray() :array {
    public function toArray() :array
    {
        $out = [];
        $out['Objet'] = $this->getObjet();
        $out['CodeUniteLabintel'] = $this->getCodeUniteLabintel();
@@ -306,7 +307,7 @@ class ActivityPcruInfos
        $out['ContratsAssocies'] = $this->getContratsAssocies();
        $out['ResponsableScientifique'] = $this->getResponsableScientifique();
        $out['EmployeurResponsableScientifique'] = $this->getEmployeurResponsableScientifique();
        $out['CoordinateurConsortium'] = $this->isCordinateurConsortium() ? 'True' : 'False';
        $out['CoordinateurConsortium'] = $this->isCoordinateurConsortium() ? 'True' : 'False';
        $out['Partenaires'] = $this->getPartenaires();
        $out['PartenairePrincipal'] = "Part inconnu"; // TODO
        $out['IdPartenairePrincipal'] = $this->getIdPartenairePrincipal();
@@ -594,7 +595,7 @@ class ActivityPcruInfos
    /**
     * @return PcruTypeContract
     */
    public function getTypeContrat()
    public function getTypeContrat() :?PcruTypeContract
    {
        return $this->typeContrat;
    }
@@ -602,7 +603,7 @@ class ActivityPcruInfos
    /**
     * @param PcruTypeContract $typeContrat
     */
    public function setTypeContrat($typeContrat): self
    public function setTypeContrat( PcruTypeContract $typeContrat): self
    {
        $this->typeContrat = $typeContrat;
        return $this;
@@ -679,17 +680,17 @@ class ActivityPcruInfos
    /**
     * @return bool
     */
    public function isCordinateurConsortium(): bool
    public function isCoordinateurConsortium(): bool
    {
        return $this->cordinateurConsortium;
        return $this->coordinateurConsortium;
    }

    /**
     * @param bool $cordinateurConsortium
     * @param bool $coordinateurConsortium
     */
    public function setCordinateurConsortium(bool $cordinateurConsortium): self
    public function setCoordinateurConsortium(bool $coordinateurConsortium): self
    {
        $this->cordinateurConsortium = $cordinateurConsortium;
        $this->coordinateurConsortium = $coordinateurConsortium;
        return $this;
    }

@@ -801,7 +802,7 @@ class ActivityPcruInfos
    }

    /**
     * @return float
     * @return string
     */
    public function getDuree()
    {
@@ -809,7 +810,7 @@ class ActivityPcruInfos
    }

    /**
     * @param float $duree
     * @param string $duree
     */
    public function setDuree($duree): self
    {
@@ -862,51 +863,51 @@ class ActivityPcruInfos
    }

    /**
     * @return float
     * @return string
     */
    public function getMontantPercuUnite(): float
    public function getMontantPercuUnite(): string
    {
        return $this->montantPercuUnite;
    }

    /**
     * @param float $montantPercuUnite
     * @param string $montantPercuUnite
     */
    public function setMontantPercuUnite(float $montantPercuUnite): self
    public function setMontantPercuUnite(string $montantPercuUnite): self
    {
        $this->montantPercuUnite = $montantPercuUnite;
        return $this;
    }

    /**
     * @return float
     * @return string
     */
    public function getCoutTotalEtude(): float
    public function getCoutTotalEtude(): string
    {
        return $this->coutTotalEtude;
    }

    /**
     * @param float $coutTotalEtude
     * @param string $coutTotalEtude
     */
    public function setCoutTotalEtude(float $coutTotalEtude): self
    public function setCoutTotalEtude(string $coutTotalEtude): self
    {
        $this->coutTotalEtude = $coutTotalEtude;
        return $this;
    }

    /**
     * @return float
     * @return string
     */
    public function getMontantTotal(): float
    public function getMontantTotal(): string
    {
        return $this->montantTotal;
    }

    /**
     * @param float $montantTotal
     * @param string $montantTotal
     */
    public function setMontantTotal(float $montantTotal): self
    public function setMontantTotal(string $montantTotal): self
    {
        $this->montantTotal = $montantTotal;
        return $this;
+0 −1
Original line number Diff line number Diff line
@@ -12,7 +12,6 @@ use Doctrine\ORM\Mapping as ORM;

/**
 * @package Oscar\Entity
 * @ORM\Entity
 * @ORM\Entity(repositoryClass="Oscar\Entity\PcruSourceFinancementRepository")
 * @ORM\Table(uniqueConstraints={@ORM\UniqueConstraint(name="sourcefinancementlabel_idx", columns={"label"})})
 */
+10 −3
Original line number Diff line number Diff line
@@ -10,9 +10,7 @@ namespace Oscar\Entity;

use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\NoResultException;
use Oscar\Connector\IConnectedRepository;
use Oscar\Import\Activity\FieldStrategy\FieldImportOrganizationStrategy;
use Oscar\Import\Data\DataExtractorOrganization;


class PcruSourceFinancementRepository extends EntityRepository
{
@@ -23,4 +21,13 @@ class PcruSourceFinancementRepository extends EntityRepository
        $entities = $query->getQuery()->getResult();
        return array_map('current', $entities);
    }

    /**
     * @param string $label
     * @return PcruSourceFinancement|null
     */
    public function getByLabel( string $label ): ?PcruSourceFinancement
    {
        return $this->findOneByLabel($label);
    }
}
 No newline at end of file
+9 −0
Original line number Diff line number Diff line
@@ -25,6 +25,15 @@ class PcruTypeContractRepository extends EntityRepository
        return array_map('current', $entities);
    }

    /**
     * @param string $label
     * @return PcruTypeContract
     */
    public function getPcruTypeContratByLabel( string $label ): ?PcruTypeContract
    {
        return $this->findOneBy(['label' => $label]);
    }

    public function getArrayDatasJoined(): array
    {
        $query = $this->createQueryBuilder('ptc')->orderBy("ptc.label", "ASC");
Loading