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

- Fix : Fréquence de rappel pour les validateurs

parent 59dcd259
Loading
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -54,13 +54,15 @@ class OscarTimesheetRecallsCommand extends OscarAdvancedCommandAbstract

        $purge = $input->getOption('purge');
        if( $purge === null ){
            if($this->ask("Reset complet des procédures de rappel ?")){
            $recalls = $this->getOrganizationService()->getEntityManager()->getRepository(RecallDeclaration::class)->findAll();
            if($this->ask("Reset complet des procédures de rappel ? (y)")){
                foreach ($recalls as $r) {
                    $this->getOrganizationService()->getEntityManager()->remove($r);
                }
                $this->getOrganizationService()->getEntityManager()->flush();
                die();
            } else {
                $this->getIO()->writeln("Annulé");
            }
        }

@@ -106,6 +108,7 @@ class OscarTimesheetRecallsCommand extends OscarAdvancedCommandAbstract
                $validator->getId(),
                $period->getYear(),
                $period->getMonth(),
                $processDate,
                $force);

            if( $result['mailSend'] ){
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ class RecallDeclaration
     * @var string
     * @ORM\Column(type="text",nullable=true)
     */
    private string $history = "";
    private ?string $history = null;

    /**
     * Historique des envois.
+5 −4
Original line number Diff line number Diff line
@@ -2821,7 +2821,7 @@ class TimesheetService implements UseOscarUserContextService, UseOscarConfigurat
     * @return array
     * @throws OscarException
     */
    public function recallValidatorProcess(int $validatorId, int $year, int $month, bool $force = false): array
    public function recallValidatorProcess(int $validatorId, int $year, int $month, \DateTime $processDate, bool $force = false): array
    {
        $result = [];
        $validator = $this->getPersonService()->getPersonById($validatorId, true);
@@ -2852,7 +2852,6 @@ class TimesheetService implements UseOscarUserContextService, UseOscarConfigurat
            $result['days_beetween'] = '#';
            $result['needSend'] = false;
            $result['ignoreForce'] = false;
            $processDate = new \DateTime();

            if (count($recalls) == 1) {
                /** @var RecallDeclaration $recallSend */
@@ -2860,6 +2859,7 @@ class TimesheetService implements UseOscarUserContextService, UseOscarConfigurat

                $daysBetweenRecalls = $this->getOscarConfigurationService()->getvalidatorsRelanceJour1();
                $lastSend = $recallSend->getLastSend();
                $infos = "Relancé le " . $lastSend->format('Y-m-d');

                /** @var \DateInterval $interval */
                $interval = $lastSend->diff($processDate);
@@ -2870,7 +2870,7 @@ class TimesheetService implements UseOscarUserContextService, UseOscarConfigurat
                    $result['recall_info'] = "Relance";
                } else {
                    $result['needSend'] = false;
                    $result['recall_info'] = "Pas de relance (delai avant relance)";
                    $result['recall_info'] = "Pas de relance (Dernier envoi $infos)";
                }
            } else {
                if (count($recalls) == 0) {
@@ -2900,10 +2900,11 @@ class TimesheetService implements UseOscarUserContextService, UseOscarConfigurat
                    $force
                );
                $result['mailSend'] = true;
                $result['recall_info'] = "Fait";
                return array_merge($result, $repport);
            }
        } else {
            $result['recall_info'] = "Rien a valider";
            $result['recall_info'] = "Rien a valider pour cette période";
        }

        return $result;
+13 −10
Original line number Diff line number Diff line
@@ -24,7 +24,8 @@
                <h3><i class="icon-calendar"></i> Déclarant, conflit</h3>
                <p>
                    Envoyée à <strong>J+</strong>
                    <input type="number" name="declarersRelanceConflitJour" value="<?= $declarersRelanceConflitJour ?>"/>
                    <input type="number" name="declarersRelanceConflitJour"
                           value="<?= $declarersRelanceConflitJour ?>"/>
                </p>
                <textarea name="declarersRelanceConflitMessage" id="" cols="30" rows="10"
                          class="form-control"><?= $declarersRelanceConflitMessage ?></textarea>
@@ -33,15 +34,16 @@

        <div class="row">
            <div class="col-md-4">
                <h3><i class="icon-calendar"></i> Validateur scientifique, première relance</h3>
                <h3><i class="icon-calendar"></i> Validateur</h3>
                <p>
                    Envoyée à <strong>J+</strong>
                    Jour entre chaque rappel
                    <input type="number" name="validatorsRelanceJour1" value="<?= $validatorsRelanceJour1 ?>"/>
                </p>
                <textarea name="validatorsRelance1" id="" cols="30" rows="10"
                          class="form-control"><?= $validatorsRelance1 ?></textarea>
            </div>
            <div class="col-md-4">
                <div style="visibility: hidden">
                    <h3><i class="icon-calendar"></i> Validateur scientifique, Deuxième relance</h3>
                    <p>
                        Envoyée à <strong>J+</strong>
@@ -51,6 +53,7 @@
                              class="form-control"><?= $validatorsRelance2 ?></textarea>
                </div>
            </div>
        </div>

        <button type="submit" class="btn btn-primary">
            Enregistrer