Generates the necessary folder for defunt and the client

This commit is contained in:
narindraezway 2025-07-09 13:48:45 +03:00
parent f46dcf75da
commit c144fbed37
2 changed files with 36 additions and 1 deletions

View File

@ -150,6 +150,31 @@ class DevisPdfService {
$devisByYearFolder $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){ private function GetMultipleDevisFilename($multipleDevisData,$month,$year,$type = DevisExportTypeConstant::TYPE_SINGLE){
$filename = ""; $filename = "";

View File

@ -34,6 +34,7 @@ use OCA\Gestion\Db\Bdd;
use OCP\IUserSession; use OCP\IUserSession;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use OCA\Gestion\Helpers\VCalendarHelpers; use OCA\Gestion\Helpers\VCalendarHelpers;
use OCA\Gestion\Service\Devis\Pdf\DevisPdfService;
class GestionService class GestionService
{ {
@ -48,15 +49,22 @@ class GestionService
private $userConnectedUuid; private $userConnectedUuid;
/** @var DevisPdfService */
private $devisPdfService;
public function __construct( public function __construct(
Bdd $gestionBdd, Bdd $gestionBdd,
LoggerInterface $logger, LoggerInterface $logger,
TalkService $talkService, TalkService $talkService,
IUserSession $userSession IUserSession $userSession,
DevisPdfService $devisPdfService
) { ) {
$this->logger = $logger; $this->logger = $logger;
$this->gestionBdd = $gestionBdd; $this->gestionBdd = $gestionBdd;
$this->talkService = $talkService; $this->talkService = $talkService;
$this->devisPdfService = $devisPdfService;
try { try {
$this->userConnectedUuid = $userSession->getUser()->getUID(); $this->userConnectedUuid = $userSession->getUser()->getUID();
} catch (Exception) { } catch (Exception) {
@ -325,6 +333,7 @@ class GestionService
$devisTalkMessage = $this->gestionBdd->getDevisTalkRoomMessage($devisId, $userName); $devisTalkMessage = $this->gestionBdd->getDevisTalkRoomMessage($devisId, $userName);
$this->talkService->sendDevisTalkNotifications($devisTalkMessage, $userName, $this->userConnectedUuid); $this->talkService->sendDevisTalkNotifications($devisTalkMessage, $userName, $this->userConnectedUuid);
$this->gestionBdd->createDevisTrajetFromVCalendar($devisId, $userName); $this->gestionBdd->createDevisTrajetFromVCalendar($devisId, $userName);
$this->devisPdfService->generateClientAndDefuntFolder($devisId , $this->userConnectedUuid);
} catch (\OC\OCS\Exception $e) { } catch (\OC\OCS\Exception $e) {
$this->logger->debug("Error while handling created calendar object: " . $e->getMessage()); $this->logger->debug("Error while handling created calendar object: " . $e->getMessage());
} catch (\Throwable $e) { } catch (\Throwable $e) {
@ -332,6 +341,7 @@ class GestionService
} }
} }
private function GetThanatoNameFromVCalendarString($vCalendarString) private function GetThanatoNameFromVCalendarString($vCalendarString)
{ {
$thanatoName = $this->getPrincipalUsernameFromVCalendarString($vCalendarString); $thanatoName = $this->getPrincipalUsernameFromVCalendarString($vCalendarString);