Compare commits

..

No commits in common. "b1fabe9804ba2249294e641d04488621f7fe12ad" and "22f5d8f535662988611528151236af017f9fc5c3" have entirely different histories.

11 changed files with 159 additions and 227 deletions

View File

@ -8,7 +8,7 @@ abstract class BddConstant
const DEFAULT_TABLE_PREFIX = "*PREFIX*"; const DEFAULT_TABLE_PREFIX = "*PREFIX*";
const DEFAULT_CLIENT_GROUP_NAME = "Nom du groupe"; const DEFAULT_CLIENT_GROUP_NAME = "Nom du groupe";
const DEFAULT_ADMIN_ID_NEXTCLOUD = 'admin'; const DEFAULT_ADMIN_ID_NEXTCLOUD = 'admin';
const DEFAULT_ADMIN_APP_ID_NEXTCLOUD = "Johann"; const DEFAULT_ADMIN_APP_ID_NEXTCLOUD = "admin";
const ISLEAVEPROPERTYONVCALENDAR = "ISLEAVE"; const ISLEAVEPROPERTYONVCALENDAR = "ISLEAVE";

View File

@ -25,15 +25,13 @@ declare(strict_types=1);
namespace OCA\Gestion\Listener; namespace OCA\Gestion\Listener;
use Exception;
use OCA\DAV\Events\CalendarObjectCreatedEvent; use OCA\DAV\Events\CalendarObjectCreatedEvent;
use OCA\Gestion\Service\GestionService; use OCA\Gestion\Service\GestionService;
use OCP\EventDispatcher\Event; use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener; use OCP\EventDispatcher\IEventListener;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
class CalendarObjectCreatedListener implements IEventListener class CalendarObjectCreatedListener implements IEventListener {
{
/** @var LoggerInterface */ /** @var LoggerInterface */
private $logger; private $logger;
@ -42,27 +40,18 @@ class CalendarObjectCreatedListener implements IEventListener
private $gestionService; private $gestionService;
public function __construct( public function __construct(
LoggerInterface $logger, LoggerInterface $logger,GestionService $gestionService) {
GestionService $gestionService
) {
$this->logger = $logger; $this->logger = $logger;
$this->gestionService = $gestionService; $this->gestionService = $gestionService;
} }
public function handle(Event $event): void public function handle(Event $event): void {
{
if (!($event instanceof CalendarObjectCreatedEvent)) { if (!($event instanceof CalendarObjectCreatedEvent)) {
return; return;
} }
$calendarData = $event->getObjectData(); $calendarData = $event->getObjectData();
try { $vCalendarString = $calendarData["calendardata"];
$vCalendarString = $calendarData["calendardata"]; $this->gestionService->HandleCreatedCalendarObject($vCalendarString);
$this->gestionService->HandleCreatedCalendarObject($vCalendarString);
} 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());
}
} }
} }

View File

@ -25,15 +25,13 @@ declare(strict_types=1);
namespace OCA\Gestion\Listener; namespace OCA\Gestion\Listener;
use Exception;
use OCA\DAV\Events\CalendarObjectMovedEvent; use OCA\DAV\Events\CalendarObjectMovedEvent;
use OCA\Gestion\Service\GestionService; use OCA\Gestion\Service\GestionService;
use OCP\EventDispatcher\Event; use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener; use OCP\EventDispatcher\IEventListener;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
class CalendarObjectMovedListener implements IEventListener class CalendarObjectMovedListener implements IEventListener {
{
/** @var LoggerInterface */ /** @var LoggerInterface */
private $logger; private $logger;
@ -42,28 +40,19 @@ class CalendarObjectMovedListener implements IEventListener
private $gestionService; private $gestionService;
public function __construct( public function __construct(
LoggerInterface $logger, LoggerInterface $logger,GestionService $gestionService) {
GestionService $gestionService
) {
$this->logger = $logger; $this->logger = $logger;
$this->gestionService = $gestionService; $this->gestionService = $gestionService;
} }
public function handle(Event $event): void public function handle(Event $event): void {
{
if (!($event instanceof CalendarObjectMovedEvent)) { if (!($event instanceof CalendarObjectMovedEvent)) {
return; return;
} }
$calendarData = $event->getObjectData(); $calendarData = $event->getObjectData();
try { $targetCalendarId = $event->getTargetCalendarId();
$targetCalendarId = $event->getTargetCalendarId(); $vCalendarString = $calendarData["calendardata"];
$vCalendarString = $calendarData["calendardata"]; $this->gestionService->HandleCalendarObjectMoved($vCalendarString,$targetCalendarId);
$this->gestionService->HandleCalendarObjectMoved($vCalendarString, $targetCalendarId);
} catch (\OC\OCS\Exception $e) {
$this->logger->debug("Error while handling calendar object moved event: " . $e->getMessage());
} catch (\Throwable $e) {
$this->logger->debug("Error while handling calendar object moved event: " . $e->getMessage());
}
} }
} }

View File

@ -25,7 +25,6 @@ declare(strict_types=1);
namespace OCA\Gestion\Listener; namespace OCA\Gestion\Listener;
use Exception;
use OCA\DAV\Events\CalendarObjectCreatedEvent; use OCA\DAV\Events\CalendarObjectCreatedEvent;
use OCA\DAV\Events\CalendarObjectUpdatedEvent; use OCA\DAV\Events\CalendarObjectUpdatedEvent;
use OCA\Gestion\Service\GestionService; use OCA\Gestion\Service\GestionService;
@ -33,8 +32,7 @@ use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener; use OCP\EventDispatcher\IEventListener;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
class CalendarObjectUpdatedListener implements IEventListener class CalendarObjectUpdatedListener implements IEventListener {
{
/** @var LoggerInterface */ /** @var LoggerInterface */
private $logger; private $logger;
@ -43,27 +41,18 @@ class CalendarObjectUpdatedListener implements IEventListener
private $gestionService; private $gestionService;
public function __construct( public function __construct(
LoggerInterface $logger, LoggerInterface $logger,GestionService $gestionService) {
GestionService $gestionService
) {
$this->logger = $logger; $this->logger = $logger;
$this->gestionService = $gestionService; $this->gestionService = $gestionService;
} }
public function handle(Event $event): void public function handle(Event $event): void {
{
if (!($event instanceof CalendarObjectUpdatedEvent)) { if (!($event instanceof CalendarObjectUpdatedEvent)) {
return; return;
} }
$calendarData = $event->getObjectData(); $calendarData = $event->getObjectData();
try { $vCalendarString = $calendarData["calendardata"];
$vCalendarString = $calendarData["calendardata"]; $this->gestionService->HandleUpdatedCalendarObject($vCalendarString);
$this->gestionService->HandleUpdatedCalendarObject($vCalendarString);
} catch (\OC\OCS\Exception $e) {
$this->logger->debug("Error while handling updated calendar object: " . $e->getMessage());
} catch (\Throwable $e) {
$this->logger->debug("Error while handling updated calendar object: " . $e->getMessage());
}
} }
} }

View File

@ -42,7 +42,7 @@ class CareCertificatePdfHandler extends FPDF {
function Header() function Header()
{ {
if($this->logo != "nothing"){ if($this->logo != "nothing"){
$this->Image($this->imagePath."logo.png", 10, 10, 75, 25); $this->Image($this->imagePath."logo.png", 10, 10,50,35);
} }
else{ else{
$this->Cell(55,30,''); $this->Cell(55,30,'');

View File

@ -42,7 +42,7 @@ class PacemakerCertificatePdfHandler extends FPDF {
function Header() function Header()
{ {
if($this->logo != "nothing"){ if($this->logo != "nothing"){
$this->Image($this->imagePath."logo.png", 10, 10, 75, 25); $this->Image($this->imagePath."logo.png", 10, 10, 50,35);
} }
else{ else{
$this->Cell(55,30,''); $this->Cell(55,30,'');

View File

@ -40,7 +40,7 @@ class DevisPdfHandler extends FPDF {
function Header() function Header()
{ {
if($this->logo != "nothing"){ if($this->logo != "nothing"){
$this->Image($this->logoPath."logo.png", 10, 10, 75, 25); $this->Image($this->logoPath."logo.png", 2, 2, 50,35);
} }
else{ else{
$this->Cell(55,30,''); $this->Cell(55,30,'');

View File

@ -26,7 +26,6 @@ declare(strict_types=1);
namespace OCA\Gestion\Service; namespace OCA\Gestion\Service;
use Exception;
use OCA\Gestion\Constants\BddConstant; use OCA\Gestion\Constants\BddConstant;
use OCA\Gestion\Constants\DevisMentionConstant; use OCA\Gestion\Constants\DevisMentionConstant;
use OCA\Gestion\Constants\VCalendarPropertyConstant; use OCA\Gestion\Constants\VCalendarPropertyConstant;
@ -35,80 +34,76 @@ use OCP\IUserSession;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use OCA\Gestion\Helpers\VCalendarHelpers; use OCA\Gestion\Helpers\VCalendarHelpers;
class GestionService class GestionService {
{ /** @var Bdd */
/** @var Bdd */ private $gestionBdd;
private $gestionBdd;
/** @var LoggerInterface */ /** @var LoggerInterface */
private $logger; private $logger;
/** @var TalkService */ /** @var TalkService */
private $talkService; private $talkService;
private $userConnectedUuid; private $userConnectedUuid;
public function __construct( public function __construct(
Bdd $gestionBdd, Bdd $gestionBdd,
LoggerInterface $logger, LoggerInterface $logger,
TalkService $talkService, TalkService $talkService,
IUserSession $userSession IUserSession $userSession) {
) { $this->logger = $logger;
$this->logger = $logger; $this->gestionBdd = $gestionBdd;
$this->gestionBdd = $gestionBdd;
$this->talkService = $talkService; $this->talkService = $talkService;
try { try{
$this->userConnectedUuid = $userSession->getUser()->getUID(); $this->userConnectedUuid = $userSession->getUser()->getUID();
} catch (Exception) { }
catch(Exception){
$this->userConnectedUuid = BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD; $this->userConnectedUuid = BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD;
} }
} }
private function GetIsCalendarPendingFromVCalendarString(string $vCalendarString): bool private function GetIsCalendarPendingFromVCalendarString(string $vCalendarString): bool{
{
$isCalendarPending = false; $isCalendarPending = false;
$isCalendarPendingValue = VCalendarHelpers::GetValueFromKeyInVCalendarString(VCalendarPropertyConstant::PROPERTY_IS_CALENDAR_PENDING, $vCalendarString); $isCalendarPendingValue = VCalendarHelpers::GetValueFromKeyInVCalendarString(VCalendarPropertyConstant::PROPERTY_IS_CALENDAR_PENDING, $vCalendarString);
if ($isCalendarPendingValue == "1") { if($isCalendarPendingValue == "1"){
$isCalendarPending = true; $isCalendarPending = true;
} }
return $isCalendarPending; return $isCalendarPending;
} }
private function GetIsLeaveFromVCalendarString(string $vCalendarString): bool private function GetIsLeaveFromVCalendarString(string $vCalendarString): bool{
{
$isLeave = false; $isLeave = false;
$isLeaveValue = VCalendarHelpers::GetValueFromKeyInVCalendarString(VCalendarPropertyConstant::PROPERTY_IS_LEAVE, $vCalendarString); $isLeaveValue = VCalendarHelpers::GetValueFromKeyInVCalendarString(VCalendarPropertyConstant::PROPERTY_IS_LEAVE, $vCalendarString);
if ($isLeaveValue == "1") { if($isLeaveValue == "1"){
$isLeave = true; $isLeave = true;
} }
return $isLeave; return $isLeave;
} }
private function GetCalendarSummaryFromVCalendarString(string $vCalendarString): string private function GetCalendarSummaryFromVCalendarString(string $vCalendarString): string
{ {
$summaryValue = "Nom du défunt"; $summaryValue = "Nom du défunt";
$value = VCalendarHelpers::GetValueFromKeyInVCalendarString("SUMMARY", $vCalendarString); $value = VCalendarHelpers::GetValueFromKeyInVCalendarString("SUMMARY", $vCalendarString);
if ($value !== "") { if($value !== ""){
$summaryValue = trim($value); $summaryValue = trim($value);
} }
return $summaryValue; return $summaryValue;
} }
private function GetThanatoIdFromVCalendarString(string $vCalendarString) private function GetThanatoIdFromVCalendarString(string $vCalendarString)
{ {
$thanatoId = 0; $thanatoId = 0;
$organizerName = $this->getPrincipalUsernameFromVCalendarString($vCalendarString); $organizerName = $this->getPrincipalUsernameFromVCalendarString($vCalendarString);
if ($organizerName != null) { if($organizerName != null){
$thanatoIdFromDb = $this->gestionBdd->getThanatoIdByUserUuid($organizerName); $thanatoIdFromDb = $this->gestionBdd->getThanatoIdByUserUuid($organizerName);
if ($thanatoIdFromDb != null) { if($thanatoIdFromDb != null){
$thanatoId = $thanatoIdFromDb; $thanatoId = $thanatoIdFromDb;
} }
} }
return $thanatoId; return $thanatoId;
} }
private function getPrincipalUsernameFromVCalendarString(string $vCalendarString) private function getPrincipalUsernameFromVCalendarString(string $vCalendarString){
{
$calendarUuid = VCalendarHelpers::GetValueFromKeyInVCalendarString("UID", $vCalendarString); $calendarUuid = VCalendarHelpers::GetValueFromKeyInVCalendarString("UID", $vCalendarString);
$principalUsername = $this->gestionBdd->getCalendarOrganizerNameByCalendarObjectUuid($calendarUuid); $principalUsername = $this->gestionBdd->getCalendarOrganizerNameByCalendarObjectUuid($calendarUuid);
return $principalUsername; return $principalUsername;
@ -123,17 +118,15 @@ class GestionService
return $names; return $names;
} }
private function IsDevisAlreadyCreated($clientId, $locationId, $thanatoId, $defuntName, $calendarUuid = "not-related") private function IsDevisAlreadyCreated($clientId,$locationId,$thanatoId,$defuntName,$calendarUuid="not-related"){
{
$defuntId = $this->gestionBdd->getLastDefuntIdByName($defuntName); $defuntId = $this->gestionBdd->getLastDefuntIdByName($defuntName);
$devisId = $this->gestionBdd->getLastDevisIdFromVCalendarProperty($thanatoId, $clientId, $locationId, $defuntId, $calendarUuid); $devisId = $this->gestionBdd->getLastDevisIdFromVCalendarProperty($thanatoId,$clientId,$locationId,$defuntId,$calendarUuid);
return $devisId != null; return $devisId != null;
} }
private function GetDevisCommentFromVCalendarString(string $vCalendarString) private function GetDevisCommentFromVCalendarString(string $vCalendarString){
{
$commentValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("COMMENT", $vCalendarString); $commentValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("COMMENT", $vCalendarString);
if ($commentValue == "") { if($commentValue == ""){
$commentValue = "Commentaire"; $commentValue = "Commentaire";
} }
return $commentValue; return $commentValue;
@ -142,55 +135,51 @@ class GestionService
private function GetCalendarUuidFromVCalendarString(string $vCalendarString): string private function GetCalendarUuidFromVCalendarString(string $vCalendarString): string
{ {
$calendarUuid = VCalendarHelpers::GetValueFromKeyInVCalendarString("UID", $vCalendarString); $calendarUuid = VCalendarHelpers::GetValueFromKeyInVCalendarString("UID", $vCalendarString);
if ($calendarUuid == "") { if($calendarUuid == ""){
$calendarUuid = $this->gestionBdd::DEFAULT_CALENDAR_UUID_FOR_DEVIS; $calendarUuid = $this->gestionBdd::DEFAULT_CALENDAR_UUID_FOR_DEVIS;
} }
return $calendarUuid; return $calendarUuid;
} }
private function GetCalendarDateFromVCalendarString(string $vCalendarString) private function GetCalendarDateFromVCalendarString(string $vCalendarString){
{ $calendarStartDate = VCalendarHelpers::GetDateStartOrDateEndFromVCalendarString('DTSTART',$vCalendarString);
$calendarStartDate = VCalendarHelpers::GetDateStartOrDateEndFromVCalendarString('DTSTART', $vCalendarString);
$calendarStartDate = $calendarStartDate->format('Y-m-d'); $calendarStartDate = $calendarStartDate->format('Y-m-d');
return $calendarStartDate; return $calendarStartDate;
} }
public function HandleCalendarObjectMovedToTrash(string $vCalendarString) public function HandleCalendarObjectMovedToTrash(string $vCalendarString){
{
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString); $calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
$devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid); $devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid);
if ($devis != null) { if($devis != null){
$this->gestionBdd->updateDevisMentionToCanceled($devis['id']); $this->gestionBdd->updateDevisMentionToCanceled($devis['id']);
} }
return true; return true;
} }
private function UpdateDevisDataByVCalendarString($devis, $vCalendarString) private function UpdateDevisDataByVCalendarString($devis,$vCalendarString){
{
$requestedDefuntName = $this->GetCalendarSummaryFromVCalendarString($vCalendarString); $requestedDefuntName = $this->GetCalendarSummaryFromVCalendarString($vCalendarString);
$defuntId = $this->gestionBdd->createOrUpdateDefuntByNameAndReturnDefuntId($devis['defunt_id'], $devis['defunt_nom'], $requestedDefuntName); $defuntId = $this->gestionBdd->createOrUpdateDefuntByNameAndReturnDefuntId($devis['defunt_id'],$devis['defunt_nom'],$requestedDefuntName);
$this->gestionBdd->updateDevisDefunt($devis['id'], $defuntId, $devis['defunt_id']); $this->gestionBdd->updateDevisDefunt($devis['id'],$defuntId,$devis['defunt_id']);
$requestedClientId = $this->GetClientIdFromVCalendarString($vCalendarString); $requestedClientId = $this->GetClientIdFromVCalendarString($vCalendarString);
$this->gestionBdd->updateDevisClient($devis['id'], $requestedClientId, $devis['client_id']); $this->gestionBdd->updateDevisClient($devis['id'],$requestedClientId,$devis['client_id']);
$requestLocationId = $this->GetLocationIdFromVCalendarString($vCalendarString); $requestLocationId = $this->GetLocationIdFromVCalendarString($vCalendarString);
$this->gestionBdd->updateDevisLieu($devis['id'], $requestLocationId, $devis['lieu_id']); $this->gestionBdd->updateDevisLieu($devis['id'],$requestLocationId,$devis['lieu_id']);
$requestedDevisComment = $this->GetDevisCommentFromVCalendarString($vCalendarString); $requestedDevisComment = $this->GetDevisCommentFromVCalendarString($vCalendarString);
$this->gestionBdd->updateDevisComment($devis['id'], $requestedDevisComment, $devis['comment']); $this->gestionBdd->updateDevisComment($devis['id'],$requestedDevisComment,$devis['comment']);
$requestedDevisDate = $this->GetCalendarDateFromVCalendarString($vCalendarString); $requestedDevisDate = $this->GetCalendarDateFromVCalendarString($vCalendarString);
$this->gestionBdd->updateDevisDate($devis['id'], $requestedDevisDate); $this->gestionBdd->updateDevisDate($devis['id'],$requestedDevisDate);
$articlesValue = $this->GetArticlesNameFromVCalendarString($vCalendarString); $articlesValue = $this->GetArticlesNameFromVCalendarString($vCalendarString);
if (!empty($articlesValue)) { if(!empty($articlesValue)){
$articleIds = $this->gestionBdd->getArticleIdsByArticleReferences($articlesValue); $articleIds = $this->gestionBdd->getArticleIdsByArticleReferences($articlesValue);
$this->gestionBdd->updateDevisArticles($devis['id'], $articleIds); $this->gestionBdd->updateDevisArticles($devis['id'],$articleIds);
} }
} }
private function CheckIfDevisIsAlreadyUpdated($devis, $vCalendarString) private function CheckIfDevisIsAlreadyUpdated($devis,$vCalendarString){
{
$requestedDefuntName = $this->GetCalendarSummaryFromVCalendarString($vCalendarString); $requestedDefuntName = $this->GetCalendarSummaryFromVCalendarString($vCalendarString);
$requestedClientId = $this->GetClientIdFromVCalendarString($vCalendarString); $requestedClientId = $this->GetClientIdFromVCalendarString($vCalendarString);
$requestLocationId = $this->GetLocationIdFromVCalendarString($vCalendarString); $requestLocationId = $this->GetLocationIdFromVCalendarString($vCalendarString);
@ -200,155 +189,131 @@ class GestionService
$requestedDevisDate = $this->GetCalendarDateFromVCalendarString($vCalendarString); $requestedDevisDate = $this->GetCalendarDateFromVCalendarString($vCalendarString);
$articleDevis = $this->gestionBdd->getProduitDevisByDevisId($devis['id']); $articleDevis = $this->gestionBdd->getProduitDevisByDevisId($devis['id']);
$articleDevisIds = []; $articleDevisIds = [];
foreach ($articleDevis as $currentArticleDevis) { foreach($articleDevis as $currentArticleDevis){
$articleDevisIds[] = $currentArticleDevis['produit_id']; $articleDevisIds[] = $currentArticleDevis['produit_id'];
} }
sort($requestedArticleIds); sort($requestedArticleIds);
sort($articleDevisIds); sort($articleDevisIds);
return return
$devis['defunt_nom'] == $requestedDefuntName && $devis['defunt_nom'] == $requestedDefuntName &&
$devis['client_id'] == $requestedClientId && $devis['client_id'] == $requestedClientId &&
$devis['lieu_id'] == $requestLocationId && $devis['lieu_id'] == $requestLocationId &&
$devis['comment'] == $requestedDevisComment && $devis['comment'] == $requestedDevisComment &&
$requestedArticleIds == $articleDevisIds && $requestedArticleIds == $articleDevisIds &&
$devis['date'] == $requestedDevisDate; $devis['date'] == $requestedDevisDate;
} }
public function HandleUpdatedCalendarObject(string $vCalendarString) public function HandleUpdatedCalendarObject(string $vCalendarString){
{ $isCalendarForLeave = $this->GetIsLeaveFromVCalendarString($vCalendarString);
try { if($isCalendarForLeave){
$isCalendarForLeave = $this->GetIsLeaveFromVCalendarString($vCalendarString); //from devis calendar to leave calendar
if ($isCalendarForLeave) {
//from devis calendar to leave calendar
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
$devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid);
if ($devis != null) {
$this->gestionBdd->updateDevisMentionToCanceled($devis['id']);
}
return;
}
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString); $calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
$devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid); $devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid);
if ($devis != null) { if($devis != null){
$isDevisAlreadyUpdated = $this->CheckIfDevisIsAlreadyUpdated($devis, $vCalendarString); $this->gestionBdd->updateDevisMentionToCanceled($devis['id']);
if ($isDevisAlreadyUpdated) {
return true;
}
$devisIsAlreadyFactured = $devis['mentions'] == DevisMentionConstant::FACTURED || $devis['mentions'] == DevisMentionConstant::FACTURED_FORMATTED;
$this->UpdateDevisDataByVCalendarString($devis, $vCalendarString);
if ($devisIsAlreadyFactured == false) {
$userName = $this->GetThanatoNameFromVCalendarString($vCalendarString);
$devisTalkMessage = $this->gestionBdd->getDevisTalkRoomMessage($devis['id'], $userName);
$this->talkService->sendDevisTalkNotifications($devisTalkMessage, $userName, $this->userConnectedUuid);
}
} else {
//update from calendar leave or calendar pending to calendar devis
$this->HandleCreatedCalendarObject($vCalendarString);
} }
} catch (\OC\OCS\Exception $e) { return;
$this->logger->debug("Error while handling created calendar object: " . $e->getMessage()); }
} catch (\Throwable $e) { $calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
$this->logger->debug("Error while handling created calendar object: " . $e->getMessage()); $devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid);
if($devis != null){
$isDevisAlreadyUpdated = $this->CheckIfDevisIsAlreadyUpdated($devis,$vCalendarString);
if($isDevisAlreadyUpdated){
return true;
}
$devisIsAlreadyFactured = $devis['mentions'] == DevisMentionConstant::FACTURED || $devis['mentions'] == DevisMentionConstant::FACTURED_FORMATTED;
$this->UpdateDevisDataByVCalendarString($devis,$vCalendarString);
if($devisIsAlreadyFactured == false){
$userName = $this->GetThanatoNameFromVCalendarString($vCalendarString);
$devisTalkMessage = $this->gestionBdd->getDevisTalkRoomMessage($devis['id'],$userName);
$this->talkService->sendDevisTalkNotifications($devisTalkMessage,$userName,$this->userConnectedUuid);
}
}
else{
//update from calendar leave or calendar pending to calendar devis
$this->HandleCreatedCalendarObject($vCalendarString);
} }
return true; return true;
} }
public function HandleCalendarObjectMoved(string $vCalendarString, $targetCalendarId) public function HandleCalendarObjectMoved(string $vCalendarString,$targetCalendarId){
{ $calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
try { $isCalendarForLeave = $this->GetIsLeaveFromVCalendarString($vCalendarString);
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString); $isCalendarDevis = $isCalendarForLeave == false;
$isCalendarForLeave = $this->GetIsLeaveFromVCalendarString($vCalendarString); if($isCalendarDevis){
$isCalendarDevis = $isCalendarForLeave == false; $devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid);
if ($isCalendarDevis) { if($devis != null){
$devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid); $userPrincipalName = $this->gestionBdd->getCalendarPrincipalNameByCalendarId($targetCalendarId);
if ($devis != null) { if($userPrincipalName != null){
$userPrincipalName = $this->gestionBdd->getCalendarPrincipalNameByCalendarId($targetCalendarId); $thanatoId = $this->gestionBdd->getThanatoIdByUserUuid($userPrincipalName);
if ($userPrincipalName != null) { if($thanatoId != null){
$thanatoId = $this->gestionBdd->getThanatoIdByUserUuid($userPrincipalName); $thanatoHasBeenChanged = $thanatoId != $devis["id_thanato"];
if ($thanatoId != null) { if($thanatoHasBeenChanged){
$thanatoHasBeenChanged = $thanatoId != $devis["id_thanato"]; $this->gestionBdd->updateDevisThanato($devis['id'],$thanatoId);
if ($thanatoHasBeenChanged) {
$this->gestionBdd->updateDevisThanato($devis['id'], $thanatoId);
}
} }
} }
} }
} }
} catch (\OC\OCS\Exception $e) {
$this->logger->debug("Error while handling calendar object moved event: " . $e->getMessage());
} catch (\Throwable $e) {
$this->logger->debug("Error while handling calendar object moved event: " . $e->getMessage());
} }
} }
public function HandleCreatedCalendarObject(string $vCalendarString) public function HandleCreatedCalendarObject(string $vCalendarString){
{ $isCalendarForLeave = $this->GetIsLeaveFromVCalendarString($vCalendarString);
try { if($isCalendarForLeave){
$isCalendarForLeave = $this->GetIsLeaveFromVCalendarString($vCalendarString); return;
if ($isCalendarForLeave) {
return;
}
$isCalendarPending = $this->GetIsCalendarPendingFromVCalendarString($vCalendarString);
if ($isCalendarPending) {
return;
}
$calendarSummary = $this->GetCalendarSummaryFromVCalendarString($vCalendarString);
$clientId = $this->GetClientIdFromVCalendarString($vCalendarString);
$locationId = $this->GetLocationIdFromVCalendarString($vCalendarString);
$thanatoId = $this->GetThanatoIdFromVCalendarString($vCalendarString);
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
$userName = $this->GetThanatoNameFromVCalendarString($vCalendarString);
$devisAlreadyCreated = $this->IsDevisAlreadyCreated($clientId, $locationId, $thanatoId, $calendarSummary, $calendarUuid);
if ($devisAlreadyCreated) {
return;
}
$defuntId = $this->gestionBdd->insertDefuntByNameAndReturnId($calendarSummary);
$calendarStartDate = $this->GetCalendarDateFromVCalendarString($vCalendarString);
$devisComment = $this->GetDevisCommentFromVCalendarString($vCalendarString);
$devisId = $this->gestionBdd->insertDevisFromVCalendarAndReturnId($thanatoId, $clientId, $locationId, $defuntId, $calendarUuid, $calendarStartDate, $devisComment);
$articlesValue = $this->GetArticlesNameFromVCalendarString($vCalendarString);
if (!empty($articlesValue)) {
$articleIds = $this->gestionBdd->getArticleIdsByArticleReferences($articlesValue);
$this->gestionBdd->insertDevisArticleFromDevisIdAndArticlesIdArray($devisId, $articleIds);
}
$devisTalkMessage = $this->gestionBdd->getDevisTalkRoomMessage($devisId, $userName);
$this->talkService->sendDevisTalkNotifications($devisTalkMessage, $userName, $this->userConnectedUuid);
$this->gestionBdd->createDevisTrajetFromVCalendar($devisId, $userName);
} 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());
} }
$isCalendarPending = $this->GetIsCalendarPendingFromVCalendarString($vCalendarString);
if($isCalendarPending){
return;
}
$calendarSummary = $this->GetCalendarSummaryFromVCalendarString($vCalendarString);
$clientId = $this->GetClientIdFromVCalendarString($vCalendarString);
$locationId = $this->GetLocationIdFromVCalendarString($vCalendarString);
$thanatoId = $this->GetThanatoIdFromVCalendarString($vCalendarString);
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
$userName = $this->GetThanatoNameFromVCalendarString($vCalendarString);
$devisAlreadyCreated = $this->IsDevisAlreadyCreated($clientId,$locationId,$thanatoId,$calendarSummary,$calendarUuid);
if($devisAlreadyCreated){
return;
}
$defuntId = $this->gestionBdd->insertDefuntByNameAndReturnId($calendarSummary);
$calendarStartDate = $this->GetCalendarDateFromVCalendarString($vCalendarString);
$devisComment = $this->GetDevisCommentFromVCalendarString($vCalendarString);
$devisId = $this->gestionBdd->insertDevisFromVCalendarAndReturnId($thanatoId,$clientId,$locationId,$defuntId,$calendarUuid,$calendarStartDate,$devisComment);
$articlesValue = $this->GetArticlesNameFromVCalendarString($vCalendarString);
if(!empty($articlesValue)){
$articleIds = $this->gestionBdd->getArticleIdsByArticleReferences($articlesValue);
$this->gestionBdd->insertDevisArticleFromDevisIdAndArticlesIdArray($devisId, $articleIds);
}
$devisTalkMessage = $this->gestionBdd->getDevisTalkRoomMessage($devisId,$userName);
$this->talkService->sendDevisTalkNotifications($devisTalkMessage,$userName,$this->userConnectedUuid);
$this->gestionBdd->createDevisTrajetFromVCalendar($devisId,$userName);
} }
private function GetThanatoNameFromVCalendarString($vCalendarString) private function GetThanatoNameFromVCalendarString($vCalendarString){
{
$thanatoName = $this->getPrincipalUsernameFromVCalendarString($vCalendarString); $thanatoName = $this->getPrincipalUsernameFromVCalendarString($vCalendarString);
return $thanatoName ?? BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD; return $thanatoName ?? BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD;
} }
private function GetClientIdFromVCalendarString(string $vCalendarString) private function GetClientIdFromVCalendarString(string $vCalendarString){
{
$this->logger->debug($vCalendarString); $this->logger->debug($vCalendarString);
$clientValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("CLIENT", $vCalendarString); $clientValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("CLIENT", $vCalendarString);
if ($clientValue == null || $clientValue == "") { if($clientValue == null || $clientValue == ""){
$clientValue = 0; $clientValue = 0;
} }
return (int) $clientValue; return (int)$clientValue;
} }
private function GetLocationIdFromVCalendarString(string $vCalendarString) private function GetLocationIdFromVCalendarString(string $vCalendarString){
{
$locationValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("LOCATION", $vCalendarString); $locationValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("LOCATION", $vCalendarString);
if ($locationValue == null || $locationValue == "") { if($locationValue == null || $locationValue == ""){
$locationValue = 0; $locationValue = 0;
} }
return (int) $locationValue; return (int)$locationValue;
} }
private function GetArticlesNameFromVCalendarString(string $vCalendarString): array private function GetArticlesNameFromVCalendarString(string $vCalendarString): array {
{
$devisArticleValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("DESCRIPTION", $vCalendarString); $devisArticleValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("DESCRIPTION", $vCalendarString);
$articles = explode('\;', $devisArticleValue); $articles = explode('\;', $devisArticleValue);
$mapped = array_map('trim', $articles); $mapped = array_map('trim', $articles);

View File

@ -54,7 +54,7 @@ class InvoiceGroupPdfHandler extends FPDF {
function Header() function Header()
{ {
if($this->logo != "nothing"){ if($this->logo != "nothing"){
$this->Image($this->logoPath."logo.png", 2, 2, 75, 25); $this->Image($this->logoPath."logo.png", 2, 2, 50,35);
} }
else{ else{
$this->Cell(55,30,''); $this->Cell(55,30,'');

View File

@ -45,7 +45,7 @@ class InvoicePdfHandler extends FPDF {
function Header() function Header()
{ {
if($this->logo != "nothing"){ if($this->logo != "nothing"){
$this->Image($this->logoPath."logo.png", 10, 10, 75, 25); $this->Image($this->logoPath."logo.png", 2, 2, 50,35);
} }
else{ else{
$this->Cell(55,30,''); $this->Cell(55,30,'');

View File

@ -171,7 +171,7 @@ class InvoiceRecapService {
// logo : 80 de largeur et 55 de hauteur // logo : 80 de largeur et 55 de hauteur
if($doesLogoExist){ if($doesLogoExist){
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25); $pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
} }
//adresse de mon entreprise //adresse de mon entreprise
@ -276,7 +276,7 @@ class InvoiceRecapService {
$pdf->SetMargins(0,0,10); $pdf->SetMargins(0,0,10);
if($doesLogoExist){ if($doesLogoExist){
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25); $pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
} }
//adresse de mon entreprise //adresse de mon entreprise
@ -588,7 +588,7 @@ class InvoiceRecapService {
// logo : 80 de largeur et 55 de hauteur // logo : 80 de largeur et 55 de hauteur
if($doesLogoExist){ if($doesLogoExist){
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25); $pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
} }
//adresse de mon entreprise //adresse de mon entreprise
@ -691,7 +691,7 @@ class InvoiceRecapService {
$pdf->SetAutoPagebreak(False); $pdf->SetAutoPagebreak(False);
$pdf->SetMargins(0,0,10); $pdf->SetMargins(0,0,10);
if($doesLogoExist){ if($doesLogoExist){
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25); $pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
} }
//adresse de mon entreprise //adresse de mon entreprise