getDesactivateOpentalentSiteWeb() === true && $this->networkUtils->isCMFAndActiveNow($parameters->getOrganization()) ) { throw new \RuntimeException('This structure is currently active in the CMF network, the website can not be disabled.'); } } /** * @param Parameters $parameters * @throws Exception */ public function prePersist($parameters): void{ if( $this->previousData() && $this->previousData()->getAdvancedEducationNotationType() !== $parameters->getAdvancedEducationNotationType() ){ $this->onParametersChange->onAdvancedEducationNotationTypeChange($parameters); } //La date de début d'activité change if( $this->previousData() && $this->previousData()->getMusicalDate() != $parameters->getMusicalDate() ){ $this->onParametersChange->onMusicalDateChange( $parameters->getOrganization(), $this->previousData()->getMusicalDate() ); } } /** * @param Parameters $parameters */ public function postPersist($parameters): void{ //La note maximale du suivi pédagogique change if( $this->previousData() && $this->previousData()->getAverage() !== $parameters->getAverage() ){ $this->messageBus->dispatch( new AverageChange($parameters->getId()) ); } // Le customDomain a été modifié, on met à jour le site typo3 (s'il est actif) if( $this->previousData() && !$parameters->getDesactivateOpentalentSiteWeb() && $this->previousData()->getCustomDomain() !== $parameters->getCustomDomain() ){ $this->messageBus->dispatch( new Typo3UpdateCommand($parameters->getOrganization()->getId()) ); } // Le site web opentalent a été désactivé / réactivé if( $this->previousData() && $this->previousData()->getDesactivateOpentalentSiteWeb() !== $parameters->getDesactivateOpentalentSiteWeb() ){ if ($parameters->getDesactivateOpentalentSiteWeb()) { $this->messageBus->dispatch( new Typo3DeleteCommand($parameters->getOrganization()->getId()) ); } else { $this->messageBus->dispatch( new Typo3UndeleteCommand($parameters->getOrganization()->getId()) ); $this->messageBus->dispatch( new Typo3UpdateCommand($parameters->getOrganization()->getId()) ); } } } public function remove($data, array $context = []): void { throw new Exception('not supported', 500); } }