diff --git a/gestion/lib/Service/Devis/Pdf/DevisPdfService.php b/gestion/lib/Service/Devis/Pdf/DevisPdfService.php index 5c48951..adca6b4 100644 --- a/gestion/lib/Service/Devis/Pdf/DevisPdfService.php +++ b/gestion/lib/Service/Devis/Pdf/DevisPdfService.php @@ -150,6 +150,31 @@ class DevisPdfService { $devisByYearFolder ]; } + /** + * Genere simplement le dossier de defunt et client pour le devis pour le user connecter + */ + public function generateClientAndDefuntFolder($devisId,$idNextCloud){ + $storage = $this->rootFolder->getUserFolder($idNextCloud); + $configs = json_decode($this->gestionBdd->getConfiguration(self::DEFAULT_NEXTCLOUD_ADMIN)); + $currentConfig = $configs[0]; + $devisPdfData = $this->gestionBdd->getDevisPdfDataByDevisId($devisId); + if($devisPdfData == null){ + return null; + } + + $clean_folder = html_entity_decode(string: $currentConfig->path).'/'; + $devisPdfDataFormatted = $this->formatDevisDataToPdfDataFormat($devisPdfData,$currentConfig); + $devisPdfFolders = $this->getDevisPdfFolder($devisPdfDataFormatted,$clean_folder); + + foreach($devisPdfFolders as $folder){ + try { + $storage->newFolder($folder); + } + catch(\OCP\Files\NotPermittedException $e) { + + } + } + } private function GetMultipleDevisFilename($multipleDevisData,$month,$year,$type = DevisExportTypeConstant::TYPE_SINGLE){ $filename = ""; diff --git a/gestion/lib/Service/GestionService.php b/gestion/lib/Service/GestionService.php index c6112f3..53aa809 100644 --- a/gestion/lib/Service/GestionService.php +++ b/gestion/lib/Service/GestionService.php @@ -34,6 +34,7 @@ use OCA\Gestion\Db\Bdd; use OCP\IUserSession; use Psr\Log\LoggerInterface; use OCA\Gestion\Helpers\VCalendarHelpers; +use OCA\Gestion\Service\Devis\Pdf\DevisPdfService; class GestionService { @@ -48,15 +49,22 @@ class GestionService private $userConnectedUuid; + /** @var DevisPdfService */ + private $devisPdfService; + public function __construct( Bdd $gestionBdd, LoggerInterface $logger, TalkService $talkService, - IUserSession $userSession + IUserSession $userSession, + DevisPdfService $devisPdfService + ) { $this->logger = $logger; $this->gestionBdd = $gestionBdd; $this->talkService = $talkService; + $this->devisPdfService = $devisPdfService; + try { $this->userConnectedUuid = $userSession->getUser()->getUID(); } catch (Exception) { @@ -325,12 +333,14 @@ class GestionService $devisTalkMessage = $this->gestionBdd->getDevisTalkRoomMessage($devisId, $userName); $this->talkService->sendDevisTalkNotifications($devisTalkMessage, $userName, $this->userConnectedUuid); $this->gestionBdd->createDevisTrajetFromVCalendar($devisId, $userName); + $this->devisPdfService->generateClientAndDefuntFolder($devisId , $this->userConnectedUuid); } catch (\OC\OCS\Exception $e) { $this->logger->debug("Error while handling created calendar object: " . $e->getMessage()); } catch (\Throwable $e) { $this->logger->debug("Error while handling created calendar object: " . $e->getMessage()); } } + private function GetThanatoNameFromVCalendarString($vCalendarString) {