Loading CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ Journal des modifications 5.1.1 ----- - [FIX] Corrections suite à l'intégration du nouveau module Fichier. - [FIX] Suppression à tort des "attestations" du 1er dépôt à la place de celles du 2nd dépôt. - [FIX] Suppression physique de l'ancien fichier lors du changement de logo d'une structure. - [FIX] Correction et amélioration du calcul du nom de fichier du logo (existant ou nouveau) d'une structure. - Template de pagination : abandon du module/Application/view/paginator.phtml et généralisation du module/Application/view/application/paginator.phtml Loading module/Application/src/Application/Rule/SuppressionAttestationsRequiseRule.php +6 −26 Changes for module/Application/src/Application/Rule/SuppressionAttestationsRequiseRule.php: 6 added lines, 26 removed lines. Original line number Diff line number Diff line Loading @@ -16,44 +16,24 @@ use UnicaenApp\Exception\LogicException; */ class SuppressionAttestationsRequiseRule implements RuleInterface { /** * @var These */ private $these; /** * @var VersionFichier */ private $versionFichier; private These $these; private VersionFichier $versionFichier; /** * SuppressionAttestationsRequiseRule constructor. * * @param These $these * @param VersionFichier $versionFichier */ public function __construct(These $these, VersionFichier $versionFichier) { $this->these = $these; $this->versionFichier = $versionFichier; } /** * @return self */ public function execute() public function execute(): bool { // rien n'est fait ici return $this; return $this->computeSuppressionAttestationEstRequise(); } /** * Retourne un booléen indiquant si la remise d'un exemplaire papier est requise. * * @return bool * Calcule s'il est nécessaire de supprimer les réponses aux "attestations". */ public function computeEstRequise(): bool private function computeSuppressionAttestationEstRequise(): bool { $attestation = $this->these->getAttestationForVersion($this->versionFichier); Loading module/Application/src/Application/Service/These/TheseService.php +9 −9 Changes for module/Application/src/Application/Service/These/TheseService.php: 9 added lines, 9 removed lines. Original line number Diff line number Diff line Loading @@ -275,11 +275,11 @@ class TheseService extends BaseService implements ListenerAggregateInterface } $these->removeAttestation($attestation); $this->entityManager->remove($attestation); try { $this->entityManager->remove($attestation); $this->entityManager->flush($attestation); } catch (OptimisticLockException $e) { } catch (ORMException $e) { throw new RuntimeException("Erreur rencontrée lors de la suppression", null, $e); } } Loading @@ -306,7 +306,7 @@ class TheseService extends BaseService implements ListenerAggregateInterface $diffusionCorr = clone $diffusionOrig; $diffusionCorr->setVersionCorrigee(true); $diffusionCorr->setCreationAuto(true); $this->updateDiffusion($these, $diffusionCorr, $versionOrig); $this->updateDiffusion($these, $diffusionCorr, $versionCorr); } /** Loading @@ -322,8 +322,7 @@ class TheseService extends BaseService implements ListenerAggregateInterface // on teste si la réponse à l'autorisation de diffusion existante a changé de manière "importante" // (auquel cas, il sera nécessaire de tester s'il faut supprimer ou pas les attestations) $rule = new AutorisationDiffusionRule(); $rule->setDiffusion($diffusion); $rule->execute(); $rule->setDiffusion($diffusion)->execute(); $suppressionAttestationsAVerifier = $rule->computeChangementDeReponseImportant($this->entityManager); } else { $suppressionAttestationsAVerifier = false; Loading @@ -332,13 +331,14 @@ class TheseService extends BaseService implements ListenerAggregateInterface if (! $isUpdate) { $diffusion->setThese($these); $these->addDiffusion($diffusion); $this->entityManager->persist($diffusion); } try { if (! $isUpdate) { $this->entityManager->persist($diffusion); } $this->entityManager->flush($diffusion); } catch (OptimisticLockException $e) { } catch (ORMException $e) { throw new RuntimeException("Erreur rencontrée lors de l'enregistrement", null, $e); } Loading @@ -348,7 +348,7 @@ class TheseService extends BaseService implements ListenerAggregateInterface // if ($suppressionAttestationsAVerifier) { $rule = new SuppressionAttestationsRequiseRule($these, $version); $suppressionRequise = $rule->computeEstRequise(); $suppressionRequise = $rule->execute(); if ($suppressionRequise) { $this->deleteAttestationForVersion($these, $version); Loading Loading
CHANGELOG.md +1 −0 Changes for CHANGELOG.md: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ Journal des modifications 5.1.1 ----- - [FIX] Corrections suite à l'intégration du nouveau module Fichier. - [FIX] Suppression à tort des "attestations" du 1er dépôt à la place de celles du 2nd dépôt. - [FIX] Suppression physique de l'ancien fichier lors du changement de logo d'une structure. - [FIX] Correction et amélioration du calcul du nom de fichier du logo (existant ou nouveau) d'une structure. - Template de pagination : abandon du module/Application/view/paginator.phtml et généralisation du module/Application/view/application/paginator.phtml Loading
module/Application/src/Application/Rule/SuppressionAttestationsRequiseRule.php +6 −26 Changes for module/Application/src/Application/Rule/SuppressionAttestationsRequiseRule.php: 6 added lines, 26 removed lines. Original line number Diff line number Diff line Loading @@ -16,44 +16,24 @@ use UnicaenApp\Exception\LogicException; */ class SuppressionAttestationsRequiseRule implements RuleInterface { /** * @var These */ private $these; /** * @var VersionFichier */ private $versionFichier; private These $these; private VersionFichier $versionFichier; /** * SuppressionAttestationsRequiseRule constructor. * * @param These $these * @param VersionFichier $versionFichier */ public function __construct(These $these, VersionFichier $versionFichier) { $this->these = $these; $this->versionFichier = $versionFichier; } /** * @return self */ public function execute() public function execute(): bool { // rien n'est fait ici return $this; return $this->computeSuppressionAttestationEstRequise(); } /** * Retourne un booléen indiquant si la remise d'un exemplaire papier est requise. * * @return bool * Calcule s'il est nécessaire de supprimer les réponses aux "attestations". */ public function computeEstRequise(): bool private function computeSuppressionAttestationEstRequise(): bool { $attestation = $this->these->getAttestationForVersion($this->versionFichier); Loading
module/Application/src/Application/Service/These/TheseService.php +9 −9 Changes for module/Application/src/Application/Service/These/TheseService.php: 9 added lines, 9 removed lines. Original line number Diff line number Diff line Loading @@ -275,11 +275,11 @@ class TheseService extends BaseService implements ListenerAggregateInterface } $these->removeAttestation($attestation); $this->entityManager->remove($attestation); try { $this->entityManager->remove($attestation); $this->entityManager->flush($attestation); } catch (OptimisticLockException $e) { } catch (ORMException $e) { throw new RuntimeException("Erreur rencontrée lors de la suppression", null, $e); } } Loading @@ -306,7 +306,7 @@ class TheseService extends BaseService implements ListenerAggregateInterface $diffusionCorr = clone $diffusionOrig; $diffusionCorr->setVersionCorrigee(true); $diffusionCorr->setCreationAuto(true); $this->updateDiffusion($these, $diffusionCorr, $versionOrig); $this->updateDiffusion($these, $diffusionCorr, $versionCorr); } /** Loading @@ -322,8 +322,7 @@ class TheseService extends BaseService implements ListenerAggregateInterface // on teste si la réponse à l'autorisation de diffusion existante a changé de manière "importante" // (auquel cas, il sera nécessaire de tester s'il faut supprimer ou pas les attestations) $rule = new AutorisationDiffusionRule(); $rule->setDiffusion($diffusion); $rule->execute(); $rule->setDiffusion($diffusion)->execute(); $suppressionAttestationsAVerifier = $rule->computeChangementDeReponseImportant($this->entityManager); } else { $suppressionAttestationsAVerifier = false; Loading @@ -332,13 +331,14 @@ class TheseService extends BaseService implements ListenerAggregateInterface if (! $isUpdate) { $diffusion->setThese($these); $these->addDiffusion($diffusion); $this->entityManager->persist($diffusion); } try { if (! $isUpdate) { $this->entityManager->persist($diffusion); } $this->entityManager->flush($diffusion); } catch (OptimisticLockException $e) { } catch (ORMException $e) { throw new RuntimeException("Erreur rencontrée lors de l'enregistrement", null, $e); } Loading @@ -348,7 +348,7 @@ class TheseService extends BaseService implements ListenerAggregateInterface // if ($suppressionAttestationsAVerifier) { $rule = new SuppressionAttestationsRequiseRule($these, $version); $suppressionRequise = $rule->computeEstRequise(); $suppressionRequise = $rule->execute(); if ($suppressionRequise) { $this->deleteAttestationForVersion($these, $version); Loading