Loading module/Oscar/src/Oscar/Command/OscarTimesheetRecallsCommand.php +5 −2 Original line number Diff line number Diff line Loading @@ -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é"); } } Loading Loading @@ -106,6 +108,7 @@ class OscarTimesheetRecallsCommand extends OscarAdvancedCommandAbstract $validator->getId(), $period->getYear(), $period->getMonth(), $processDate, $force); if( $result['mailSend'] ){ Loading module/Oscar/src/Oscar/Entity/RecallDeclaration.php +1 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ class RecallDeclaration * @var string * @ORM\Column(type="text",nullable=true) */ private string $history = ""; private ?string $history = null; /** * Historique des envois. Loading module/Oscar/src/Oscar/Service/TimesheetService.php +5 −4 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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 */ Loading @@ -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); Loading @@ -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) { Loading Loading @@ -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; Loading module/Oscar/view/oscar/administration/messages.phtml +13 −10 Original line number Diff line number Diff line Loading @@ -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> Loading @@ -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> Loading @@ -51,6 +53,7 @@ class="form-control"><?= $validatorsRelance2 ?></textarea> </div> </div> </div> <button type="submit" class="btn btn-primary"> Enregistrer Loading Loading
module/Oscar/src/Oscar/Command/OscarTimesheetRecallsCommand.php +5 −2 Original line number Diff line number Diff line Loading @@ -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é"); } } Loading Loading @@ -106,6 +108,7 @@ class OscarTimesheetRecallsCommand extends OscarAdvancedCommandAbstract $validator->getId(), $period->getYear(), $period->getMonth(), $processDate, $force); if( $result['mailSend'] ){ Loading
module/Oscar/src/Oscar/Entity/RecallDeclaration.php +1 −1 Original line number Diff line number Diff line Loading @@ -68,7 +68,7 @@ class RecallDeclaration * @var string * @ORM\Column(type="text",nullable=true) */ private string $history = ""; private ?string $history = null; /** * Historique des envois. Loading
module/Oscar/src/Oscar/Service/TimesheetService.php +5 −4 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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 */ Loading @@ -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); Loading @@ -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) { Loading Loading @@ -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; Loading
module/Oscar/view/oscar/administration/messages.phtml +13 −10 Original line number Diff line number Diff line Loading @@ -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> Loading @@ -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> Loading @@ -51,6 +53,7 @@ class="form-control"><?= $validatorsRelance2 ?></textarea> </div> </div> </div> <button type="submit" class="btn btn-primary"> Enregistrer Loading