Commit 9ad4dead authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

- Mise à jour de l'exemple de document généré avec le total des dépenses, le...

- Mise à jour de l'exemple de document généré avec le total des dépenses, le reste (montant + pourcentage)
- Ajout d'une sortie JSON (à finaliser avec l'API)
parent 90d77c60
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ return array(
                ////////////////////////////////////////////////////////////////
                [   'controller' =>   'Activity',
                    'action' => ['show', 'show2', 'edit', 'new', 'duplicate','persons', 'organizations', 'makeProject',
                        'delete', 'visualization', 'documentsJson', 'activitiesOrganizations', 'changeProject',
                        'delete', 'visualization', 'documentsJson', 'activitiesOrganizations', 'changeProject', 'jsonApi',
                        'notifications', 'generateNotifications', 'generatedDocument', 'requestFor', 'adminDemande', 'api', 'gant', 'estimatedSpent','estimatedSpentExport', 'spentList', 'newInStructure', 'spentSynthesisActivity'],
                    'roles' => ['user'],
                ],
+7 −0
Original line number Diff line number Diff line
@@ -892,6 +892,13 @@ contract:
                defaults:
                    action: exportJSON

        json:
            type: segment
            options:
                route: /json/:id
                defaults:
                    action: jsonApi

        generatedocument:
            type: segment
            options:
+10 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ use Oscar\Entity\ValidationPeriodRepository;
use Oscar\Exception\OscarException;
use Oscar\Form\ProjectGrantForm;
use Oscar\Formatter\ActivityPaymentFormatter;
use Oscar\Formatter\ActivityToJsonFormatter;
use Oscar\Formatter\CSVDownloader;
use Oscar\Formatter\JSONFormatter;
use Oscar\Formatter\Spent\EstimatedSpentActivityHTMLFormater;
@@ -647,7 +648,16 @@ class ProjectGrantController extends AbstractOscarController implements UseNotif
        ];
    }

    public function jsonApiAction(){
        // Accès global au activité
        $this->getOscarUserContextService()->check(Privileges::ACTIVITY_SHOW);

        $activity = $this->getActivityFromRoute();
        $formatter = new ActivityToJsonFormatter();
        $json = $formatter->format($activity);
        return $this->jsonOutput($json);
        die("TODO : $activity");
    }

    /**
     * Génération automatique de documents.
+15 −1
Original line number Diff line number Diff line
@@ -414,6 +414,14 @@ class Activity implements ResourceInterface
        return $this->totalSpent;
    }

    public function getPercentSpent(){
        return 100 / $this->getAmount() * abs($this->getTotalSpent());
    }

    public function getRemainder(){
        return $this->getAmount() - abs($this->getTotalSpent());
    }

    /**
     * @param float $totalSpent
     */
@@ -1849,7 +1857,8 @@ class Activity implements ResourceInterface
            'amount' => $this->getAmount(),
            'pfi' => $this->getCodeEOTP(),
            'oscar' => $this->getOscarNum(),
            'montant' => number_format((double)$this->getAmount(), 2, ',', ' ') . $this->getCurrency()->getSymbol(),
            'montant' => number_format(
                (double)$this->getAmount(), 2, ',', ' ') . $this->getCurrency()->getSymbol(),
            'annee-debut' => $this->getDateStartStr('Y'),
            'annee-fin' => $this->getDateEndStr('Y'),
            'debut' => $this->getDateStartStr('d/m/Y'),
@@ -1865,6 +1874,11 @@ class Activity implements ResourceInterface

        $sluger = Slugify::create();

        // Dépenses
        $datas['total-depense'] = number_format($this->getTotalSpent(),2,',', ' '); // as $spent)
        $datas['total-depense-percent'] = number_format($this->getPercentSpent(),2, ',', ''); // as $spent)
        $datas['total-reste'] = number_format($this->getRemainder(),2, ',', ' ');


        $persons = [];

Loading