Compare commits
24 Commits
22f5d8f535
...
b1fabe9804
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b1fabe9804 | ||
|
|
26260359b6 | ||
|
|
f7cee028e6 | ||
|
|
2bbfe390eb | ||
|
|
b1bd756640 | ||
|
|
51890b88e9 | ||
|
|
19ae45d96e | ||
|
|
6ac8fc9ecc | ||
|
|
12a751c1c3 | ||
|
|
41c6e074b0 | ||
|
|
b34c0ff13a | ||
|
|
0276655040 | ||
|
|
5ab91d4be7 | ||
|
|
91c67452c2 | ||
|
|
31633b04d9 | ||
|
|
dc3da8d425 | ||
|
|
ea119f5c73 | ||
|
|
4bd86ae762 | ||
|
|
2c1e771472 | ||
|
|
c07c4aaf88 | ||
|
|
95be6e4827 | ||
|
|
e7c51a4d73 | ||
|
|
f509f5e988 | ||
|
|
f8ff4c6b3e |
@ -8,7 +8,7 @@ abstract class BddConstant
|
||||
const DEFAULT_TABLE_PREFIX = "*PREFIX*";
|
||||
const DEFAULT_CLIENT_GROUP_NAME = "Nom du groupe";
|
||||
const DEFAULT_ADMIN_ID_NEXTCLOUD = 'admin';
|
||||
const DEFAULT_ADMIN_APP_ID_NEXTCLOUD = "admin";
|
||||
const DEFAULT_ADMIN_APP_ID_NEXTCLOUD = "Johann";
|
||||
|
||||
const ISLEAVEPROPERTYONVCALENDAR = "ISLEAVE";
|
||||
|
||||
|
||||
@ -25,13 +25,15 @@ declare(strict_types=1);
|
||||
|
||||
namespace OCA\Gestion\Listener;
|
||||
|
||||
use Exception;
|
||||
use OCA\DAV\Events\CalendarObjectCreatedEvent;
|
||||
use OCA\Gestion\Service\GestionService;
|
||||
use OCP\EventDispatcher\Event;
|
||||
use OCP\EventDispatcher\IEventListener;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class CalendarObjectCreatedListener implements IEventListener {
|
||||
class CalendarObjectCreatedListener implements IEventListener
|
||||
{
|
||||
|
||||
/** @var LoggerInterface */
|
||||
private $logger;
|
||||
@ -40,18 +42,27 @@ class CalendarObjectCreatedListener implements IEventListener {
|
||||
private $gestionService;
|
||||
|
||||
public function __construct(
|
||||
LoggerInterface $logger,GestionService $gestionService) {
|
||||
LoggerInterface $logger,
|
||||
GestionService $gestionService
|
||||
) {
|
||||
$this->logger = $logger;
|
||||
$this->gestionService = $gestionService;
|
||||
}
|
||||
|
||||
public function handle(Event $event): void {
|
||||
public function handle(Event $event): void
|
||||
{
|
||||
if (!($event instanceof CalendarObjectCreatedEvent)) {
|
||||
return;
|
||||
}
|
||||
$calendarData = $event->getObjectData();
|
||||
try {
|
||||
$vCalendarString = $calendarData["calendardata"];
|
||||
$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());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -25,13 +25,15 @@ declare(strict_types=1);
|
||||
|
||||
namespace OCA\Gestion\Listener;
|
||||
|
||||
use Exception;
|
||||
use OCA\DAV\Events\CalendarObjectMovedEvent;
|
||||
use OCA\Gestion\Service\GestionService;
|
||||
use OCP\EventDispatcher\Event;
|
||||
use OCP\EventDispatcher\IEventListener;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class CalendarObjectMovedListener implements IEventListener {
|
||||
class CalendarObjectMovedListener implements IEventListener
|
||||
{
|
||||
|
||||
/** @var LoggerInterface */
|
||||
private $logger;
|
||||
@ -40,19 +42,28 @@ class CalendarObjectMovedListener implements IEventListener {
|
||||
private $gestionService;
|
||||
|
||||
public function __construct(
|
||||
LoggerInterface $logger,GestionService $gestionService) {
|
||||
LoggerInterface $logger,
|
||||
GestionService $gestionService
|
||||
) {
|
||||
$this->logger = $logger;
|
||||
$this->gestionService = $gestionService;
|
||||
}
|
||||
|
||||
public function handle(Event $event): void {
|
||||
public function handle(Event $event): void
|
||||
{
|
||||
if (!($event instanceof CalendarObjectMovedEvent)) {
|
||||
return;
|
||||
}
|
||||
$calendarData = $event->getObjectData();
|
||||
try {
|
||||
$targetCalendarId = $event->getTargetCalendarId();
|
||||
$vCalendarString = $calendarData["calendardata"];
|
||||
$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());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -25,6 +25,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace OCA\Gestion\Listener;
|
||||
|
||||
use Exception;
|
||||
use OCA\DAV\Events\CalendarObjectCreatedEvent;
|
||||
use OCA\DAV\Events\CalendarObjectUpdatedEvent;
|
||||
use OCA\Gestion\Service\GestionService;
|
||||
@ -32,7 +33,8 @@ use OCP\EventDispatcher\Event;
|
||||
use OCP\EventDispatcher\IEventListener;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class CalendarObjectUpdatedListener implements IEventListener {
|
||||
class CalendarObjectUpdatedListener implements IEventListener
|
||||
{
|
||||
|
||||
/** @var LoggerInterface */
|
||||
private $logger;
|
||||
@ -41,18 +43,27 @@ class CalendarObjectUpdatedListener implements IEventListener {
|
||||
private $gestionService;
|
||||
|
||||
public function __construct(
|
||||
LoggerInterface $logger,GestionService $gestionService) {
|
||||
LoggerInterface $logger,
|
||||
GestionService $gestionService
|
||||
) {
|
||||
$this->logger = $logger;
|
||||
$this->gestionService = $gestionService;
|
||||
}
|
||||
|
||||
public function handle(Event $event): void {
|
||||
public function handle(Event $event): void
|
||||
{
|
||||
if (!($event instanceof CalendarObjectUpdatedEvent)) {
|
||||
return;
|
||||
}
|
||||
$calendarData = $event->getObjectData();
|
||||
try {
|
||||
$vCalendarString = $calendarData["calendardata"];
|
||||
$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());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -42,7 +42,7 @@ class CareCertificatePdfHandler extends FPDF {
|
||||
function Header()
|
||||
{
|
||||
if($this->logo != "nothing"){
|
||||
$this->Image($this->imagePath."logo.png", 10, 10,50,35);
|
||||
$this->Image($this->imagePath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
else{
|
||||
$this->Cell(55,30,'');
|
||||
|
||||
@ -42,7 +42,7 @@ class PacemakerCertificatePdfHandler extends FPDF {
|
||||
function Header()
|
||||
{
|
||||
if($this->logo != "nothing"){
|
||||
$this->Image($this->imagePath."logo.png", 10, 10, 50,35);
|
||||
$this->Image($this->imagePath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
else{
|
||||
$this->Cell(55,30,'');
|
||||
|
||||
@ -40,7 +40,7 @@ class DevisPdfHandler extends FPDF {
|
||||
function Header()
|
||||
{
|
||||
if($this->logo != "nothing"){
|
||||
$this->Image($this->logoPath."logo.png", 2, 2, 50,35);
|
||||
$this->Image($this->logoPath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
else{
|
||||
$this->Cell(55,30,'');
|
||||
|
||||
@ -26,6 +26,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace OCA\Gestion\Service;
|
||||
|
||||
use Exception;
|
||||
use OCA\Gestion\Constants\BddConstant;
|
||||
use OCA\Gestion\Constants\DevisMentionConstant;
|
||||
use OCA\Gestion\Constants\VCalendarPropertyConstant;
|
||||
@ -34,7 +35,8 @@ use OCP\IUserSession;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use OCA\Gestion\Helpers\VCalendarHelpers;
|
||||
|
||||
class GestionService {
|
||||
class GestionService
|
||||
{
|
||||
/** @var Bdd */
|
||||
private $gestionBdd;
|
||||
|
||||
@ -50,19 +52,20 @@ class GestionService {
|
||||
Bdd $gestionBdd,
|
||||
LoggerInterface $logger,
|
||||
TalkService $talkService,
|
||||
IUserSession $userSession) {
|
||||
IUserSession $userSession
|
||||
) {
|
||||
$this->logger = $logger;
|
||||
$this->gestionBdd = $gestionBdd;
|
||||
$this->talkService = $talkService;
|
||||
try {
|
||||
$this->userConnectedUuid = $userSession->getUser()->getUID();
|
||||
}
|
||||
catch(Exception){
|
||||
} catch (Exception) {
|
||||
$this->userConnectedUuid = BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD;
|
||||
}
|
||||
}
|
||||
|
||||
private function GetIsCalendarPendingFromVCalendarString(string $vCalendarString): bool{
|
||||
private function GetIsCalendarPendingFromVCalendarString(string $vCalendarString): bool
|
||||
{
|
||||
$isCalendarPending = false;
|
||||
$isCalendarPendingValue = VCalendarHelpers::GetValueFromKeyInVCalendarString(VCalendarPropertyConstant::PROPERTY_IS_CALENDAR_PENDING, $vCalendarString);
|
||||
if ($isCalendarPendingValue == "1") {
|
||||
@ -71,7 +74,8 @@ class GestionService {
|
||||
return $isCalendarPending;
|
||||
}
|
||||
|
||||
private function GetIsLeaveFromVCalendarString(string $vCalendarString): bool{
|
||||
private function GetIsLeaveFromVCalendarString(string $vCalendarString): bool
|
||||
{
|
||||
$isLeave = false;
|
||||
$isLeaveValue = VCalendarHelpers::GetValueFromKeyInVCalendarString(VCalendarPropertyConstant::PROPERTY_IS_LEAVE, $vCalendarString);
|
||||
if ($isLeaveValue == "1") {
|
||||
@ -103,7 +107,8 @@ class GestionService {
|
||||
return $thanatoId;
|
||||
}
|
||||
|
||||
private function getPrincipalUsernameFromVCalendarString(string $vCalendarString){
|
||||
private function getPrincipalUsernameFromVCalendarString(string $vCalendarString)
|
||||
{
|
||||
$calendarUuid = VCalendarHelpers::GetValueFromKeyInVCalendarString("UID", $vCalendarString);
|
||||
$principalUsername = $this->gestionBdd->getCalendarOrganizerNameByCalendarObjectUuid($calendarUuid);
|
||||
return $principalUsername;
|
||||
@ -118,13 +123,15 @@ class GestionService {
|
||||
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);
|
||||
$devisId = $this->gestionBdd->getLastDevisIdFromVCalendarProperty($thanatoId, $clientId, $locationId, $defuntId, $calendarUuid);
|
||||
return $devisId != null;
|
||||
}
|
||||
|
||||
private function GetDevisCommentFromVCalendarString(string $vCalendarString){
|
||||
private function GetDevisCommentFromVCalendarString(string $vCalendarString)
|
||||
{
|
||||
$commentValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("COMMENT", $vCalendarString);
|
||||
if ($commentValue == "") {
|
||||
$commentValue = "Commentaire";
|
||||
@ -141,13 +148,15 @@ class GestionService {
|
||||
return $calendarUuid;
|
||||
}
|
||||
|
||||
private function GetCalendarDateFromVCalendarString(string $vCalendarString){
|
||||
private function GetCalendarDateFromVCalendarString(string $vCalendarString)
|
||||
{
|
||||
$calendarStartDate = VCalendarHelpers::GetDateStartOrDateEndFromVCalendarString('DTSTART', $vCalendarString);
|
||||
$calendarStartDate = $calendarStartDate->format('Y-m-d');
|
||||
return $calendarStartDate;
|
||||
}
|
||||
|
||||
public function HandleCalendarObjectMovedToTrash(string $vCalendarString){
|
||||
public function HandleCalendarObjectMovedToTrash(string $vCalendarString)
|
||||
{
|
||||
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
|
||||
$devis = $this->gestionBdd->getDevisByCalendarUuid($calendarUuid);
|
||||
if ($devis != null) {
|
||||
@ -156,7 +165,8 @@ class GestionService {
|
||||
return true;
|
||||
}
|
||||
|
||||
private function UpdateDevisDataByVCalendarString($devis,$vCalendarString){
|
||||
private function UpdateDevisDataByVCalendarString($devis, $vCalendarString)
|
||||
{
|
||||
$requestedDefuntName = $this->GetCalendarSummaryFromVCalendarString($vCalendarString);
|
||||
$defuntId = $this->gestionBdd->createOrUpdateDefuntByNameAndReturnDefuntId($devis['defunt_id'], $devis['defunt_nom'], $requestedDefuntName);
|
||||
$this->gestionBdd->updateDevisDefunt($devis['id'], $defuntId, $devis['defunt_id']);
|
||||
@ -179,7 +189,8 @@ class GestionService {
|
||||
}
|
||||
}
|
||||
|
||||
private function CheckIfDevisIsAlreadyUpdated($devis,$vCalendarString){
|
||||
private function CheckIfDevisIsAlreadyUpdated($devis, $vCalendarString)
|
||||
{
|
||||
$requestedDefuntName = $this->GetCalendarSummaryFromVCalendarString($vCalendarString);
|
||||
$requestedClientId = $this->GetClientIdFromVCalendarString($vCalendarString);
|
||||
$requestLocationId = $this->GetLocationIdFromVCalendarString($vCalendarString);
|
||||
@ -204,7 +215,9 @@ class GestionService {
|
||||
$devis['date'] == $requestedDevisDate;
|
||||
}
|
||||
|
||||
public function HandleUpdatedCalendarObject(string $vCalendarString){
|
||||
public function HandleUpdatedCalendarObject(string $vCalendarString)
|
||||
{
|
||||
try {
|
||||
$isCalendarForLeave = $this->GetIsLeaveFromVCalendarString($vCalendarString);
|
||||
if ($isCalendarForLeave) {
|
||||
//from devis calendar to leave calendar
|
||||
@ -229,15 +242,21 @@ class GestionService {
|
||||
$devisTalkMessage = $this->gestionBdd->getDevisTalkRoomMessage($devis['id'], $userName);
|
||||
$this->talkService->sendDevisTalkNotifications($devisTalkMessage, $userName, $this->userConnectedUuid);
|
||||
}
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
//update from calendar leave or calendar pending to calendar devis
|
||||
$this->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());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function HandleCalendarObjectMoved(string $vCalendarString,$targetCalendarId){
|
||||
public function HandleCalendarObjectMoved(string $vCalendarString, $targetCalendarId)
|
||||
{
|
||||
try {
|
||||
$calendarUuid = $this->GetCalendarUuidFromVCalendarString($vCalendarString);
|
||||
$isCalendarForLeave = $this->GetIsLeaveFromVCalendarString($vCalendarString);
|
||||
$isCalendarDevis = $isCalendarForLeave == false;
|
||||
@ -256,9 +275,16 @@ class GestionService {
|
||||
}
|
||||
}
|
||||
}
|
||||
} 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)
|
||||
{
|
||||
try {
|
||||
$isCalendarForLeave = $this->GetIsLeaveFromVCalendarString($vCalendarString);
|
||||
if ($isCalendarForLeave) {
|
||||
return;
|
||||
@ -289,14 +315,21 @@ class GestionService {
|
||||
$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());
|
||||
}
|
||||
}
|
||||
|
||||
private function GetThanatoNameFromVCalendarString($vCalendarString){
|
||||
private function GetThanatoNameFromVCalendarString($vCalendarString)
|
||||
{
|
||||
$thanatoName = $this->getPrincipalUsernameFromVCalendarString($vCalendarString);
|
||||
return $thanatoName ?? BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD;
|
||||
}
|
||||
|
||||
private function GetClientIdFromVCalendarString(string $vCalendarString){
|
||||
private function GetClientIdFromVCalendarString(string $vCalendarString)
|
||||
{
|
||||
$this->logger->debug($vCalendarString);
|
||||
$clientValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("CLIENT", $vCalendarString);
|
||||
if ($clientValue == null || $clientValue == "") {
|
||||
@ -305,7 +338,8 @@ class GestionService {
|
||||
return (int) $clientValue;
|
||||
}
|
||||
|
||||
private function GetLocationIdFromVCalendarString(string $vCalendarString){
|
||||
private function GetLocationIdFromVCalendarString(string $vCalendarString)
|
||||
{
|
||||
$locationValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("LOCATION", $vCalendarString);
|
||||
if ($locationValue == null || $locationValue == "") {
|
||||
$locationValue = 0;
|
||||
@ -313,7 +347,8 @@ class GestionService {
|
||||
return (int) $locationValue;
|
||||
}
|
||||
|
||||
private function GetArticlesNameFromVCalendarString(string $vCalendarString): array {
|
||||
private function GetArticlesNameFromVCalendarString(string $vCalendarString): array
|
||||
{
|
||||
$devisArticleValue = VCalendarHelpers::GetValueFromKeyInVCalendarString("DESCRIPTION", $vCalendarString);
|
||||
$articles = explode('\;', $devisArticleValue);
|
||||
$mapped = array_map('trim', $articles);
|
||||
|
||||
@ -54,7 +54,7 @@ class InvoiceGroupPdfHandler extends FPDF {
|
||||
function Header()
|
||||
{
|
||||
if($this->logo != "nothing"){
|
||||
$this->Image($this->logoPath."logo.png", 2, 2, 50,35);
|
||||
$this->Image($this->logoPath."logo.png", 2, 2, 75, 25);
|
||||
}
|
||||
else{
|
||||
$this->Cell(55,30,'');
|
||||
|
||||
@ -45,7 +45,7 @@ class InvoicePdfHandler extends FPDF {
|
||||
function Header()
|
||||
{
|
||||
if($this->logo != "nothing"){
|
||||
$this->Image($this->logoPath."logo.png", 2, 2, 50,35);
|
||||
$this->Image($this->logoPath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
else{
|
||||
$this->Cell(55,30,'');
|
||||
|
||||
@ -171,7 +171,7 @@ class InvoiceRecapService {
|
||||
|
||||
// logo : 80 de largeur et 55 de hauteur
|
||||
if($doesLogoExist){
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
|
||||
//adresse de mon entreprise
|
||||
@ -276,7 +276,7 @@ class InvoiceRecapService {
|
||||
$pdf->SetMargins(0,0,10);
|
||||
|
||||
if($doesLogoExist){
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
|
||||
//adresse de mon entreprise
|
||||
@ -588,7 +588,7 @@ class InvoiceRecapService {
|
||||
|
||||
// logo : 80 de largeur et 55 de hauteur
|
||||
if($doesLogoExist){
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
|
||||
//adresse de mon entreprise
|
||||
@ -691,7 +691,7 @@ class InvoiceRecapService {
|
||||
$pdf->SetAutoPagebreak(False);
|
||||
$pdf->SetMargins(0,0,10);
|
||||
if($doesLogoExist){
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 2, 2, 50,35);
|
||||
$pdf->Image($this->defaultImagePath."logo.png", 10, 10, 75, 25);
|
||||
}
|
||||
|
||||
//adresse de mon entreprise
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user