Merge branch 'fixes/fix-generate-order-pdf-when-creating-devis-from-agenda' into releases/release-h2f

This commit is contained in:
Tiavina 2025-02-24 17:54:42 +03:00
commit 799a365d30
5 changed files with 219 additions and 195 deletions

View File

@ -482,6 +482,7 @@ class OrderBdd {
OrderTypeConstant::ORDER_TYPE_DEVIS OrderTypeConstant::ORDER_TYPE_DEVIS
) )
); );
return true;
} }
public function getOrderProducts(){ public function getOrderProducts(){

View File

@ -26,11 +26,13 @@ declare(strict_types=1);
namespace OCA\Gestion\Service; namespace OCA\Gestion\Service;
use OCA\Gestion\Constants\BddConstant;
use OCA\Gestion\Constants\DevisMentionConstant; use OCA\Gestion\Constants\DevisMentionConstant;
use OCA\Gestion\Constants\OrderStatusConstant; use OCA\Gestion\Constants\OrderStatusConstant;
use OCA\Gestion\Constants\ThanatoTypeConstant; use OCA\Gestion\Constants\ThanatoTypeConstant;
use OCA\Gestion\Db\Bdd; use OCA\Gestion\Db\Bdd;
use OCA\Gestion\Db\OrderBdd; use OCA\Gestion\Db\OrderBdd;
use OCA\Gestion\Service\Order\OrderPdfService;
use Psr\Log\LoggerInterface; use Psr\Log\LoggerInterface;
use OCA\Gestion\Helpers\VCalendarHelpers; use OCA\Gestion\Helpers\VCalendarHelpers;
@ -44,13 +46,17 @@ class GestionService {
/** @var \OCA\Gestion\Db\OrderBdd */ /** @var \OCA\Gestion\Db\OrderBdd */
private $orderBdd; private $orderBdd;
private $orderPdfService;
public function __construct( public function __construct(
Bdd $gestionBdd, Bdd $gestionBdd,
OrderBdd $orderBdd, OrderBdd $orderBdd,
LoggerInterface $logger) { LoggerInterface $logger,
OrderPdfService $orderPdfService) {
$this->orderBdd = $orderBdd; $this->orderBdd = $orderBdd;
$this->logger = $logger; $this->logger = $logger;
$this->gestionBdd = $gestionBdd; $this->gestionBdd = $gestionBdd;
$this->orderPdfService = $orderPdfService;
} }
private function GetCalendarSummaryFromVCalendarString(string $vCalendarString): string private function GetCalendarSummaryFromVCalendarString(string $vCalendarString): string
@ -166,15 +172,23 @@ class GestionService {
$calendarStartDate = $this->GetCalendarDateFromVCalendarString($vCalendarString); $calendarStartDate = $this->GetCalendarDateFromVCalendarString($vCalendarString);
$devisDate = $calendarStartDate->format('Y-m-d'); $devisDate = $calendarStartDate->format('Y-m-d');
$devisId = $this->gestionBdd->insertDevisFromVCalendarAndReturnId($thanatoId,$clientId,$locationId,$defuntId,$calendarUuid,$devisDate,$userName); $devisId = $this->gestionBdd->insertDevisFromVCalendarAndReturnId($thanatoId,$clientId,$locationId,$defuntId,$calendarUuid,$devisDate,$userName);
$thanatoIsSubcontractor = $thanato["fk_thanato_type_key"] === ThanatoTypeConstant::THANATO_TYPE_SUBCONTRACTOR;
if($thanatoIsSubcontractor){
$this->orderBdd->createOrderFromDevisIdAndDate($devisId,$calendarStartDate,$userName);
}
$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->insertDevisArticleFromDevisIdAndArticlesIdArray($devisId, $articleIds); $this->gestionBdd->insertDevisArticleFromDevisIdAndArticlesIdArray($devisId, $articleIds);
} }
$thanatoIsSubcontractor = $thanato["fk_thanato_type_key"] === ThanatoTypeConstant::THANATO_TYPE_SUBCONTRACTOR;
if($thanatoIsSubcontractor){
$orderCreated = $this->orderBdd->createOrderFromDevisIdAndDate($devisId,$calendarStartDate,$userName);
if($orderCreated){
$order = $this->orderBdd->getOrderByDevisId($devisId);
$this->logger->debug(json_encode($order));
if($order != null){
$this->orderPdfService->generateOrderPdfByOrderId($order['id'],BddConstant::DEFAULT_ADMIN_APP_ID_NEXTCLOUD);
$this->orderPdfService->generateOrderPdfByOrderId($order['id'],BddConstant::DEFAULT_ADMIN_ID_NEXTCLOUD);
}
}
}
$this->gestionBdd->createDevisTrajetFromVCalendar($devisId,$userName); $this->gestionBdd->createDevisTrajetFromVCalendar($devisId,$userName);
} }

View File

@ -25,6 +25,7 @@ declare(strict_types=1);
*/ */
namespace OCA\Gestion\Service\Order; namespace OCA\Gestion\Service\Order;
require_once __DIR__ . '/../../../vendor/autoload.php';
use DateTime; use DateTime;
use OCA\Gestion\Constants\BddConstant; use OCA\Gestion\Constants\BddConstant;

View File

@ -151,7 +151,6 @@ class OrderService {
$orderDetails["devis_date"] = $orderDetails["order_date"]; $orderDetails["devis_date"] = $orderDetails["order_date"];
} }
$orderDetails["products"] = $orderProducts; $orderDetails["products"] = $orderProducts;
var_dump($orderDetails);
return $orderDetails; return $orderDetails;
} }

View File

@ -1,40 +1,6 @@
<?php if(isset($_['groups']) && !in_array('admin', $_['groups'])) : ?> <?php
<ul class="app-navigation"> $currentUserIsAdmin = (isset($_['groups']) && in_array('admin', $_['groups']));
<li class="app-navigation-entry"><span class="navmarg"></span><b><?php p($l->t('Manage'));?></b></li> ?>
<li class="app-navigation-entry">
<ul class="app-navigation">
<li class="app-navigation-entry"><span class="navmarg icon-contacts-dark"></span><a class="a-entry" href="<?php echo($_['url']['index']); ?>"><?php p($l->t('Customers'));?></a>
<div class="app-navigation-entry-utils">
<ul>
<li class="app-navigation-entry-utils-counter"><span id="statsclient"><div class="loader"></div></span></li>
</ul>
</div>
</li>
<li class="app-navigation-entry"><span class="navmarg icon-contacts-dark"></span><a href="<?php echo($_['url']['defunt']); ?>">Défunts</a>
<div class="app-navigation-entry-utils">
<ul>
<li class="app-navigation-entry-utils-counter"><span id="statsdefunts"><div class="loader"></div></span></li>
</ul>
</div>
</li>
<li class="app-navigation-entry"><span class="navmarg icon-template-add"></span><a href="<?php echo($_['url']['devis']); ?>"><?php p($l->t('Quotes'));?></a>
<div class="app-navigation-entry-utils">
<ul>
<li class="app-navigation-entry-utils-counter"><span id="statsdevis"><div class="loader"></div></span></li>
</ul>
</div>
</li>
<li class="app-navigation-entry"><span class="navmarg icon-toggle-pictures"></span><a href="<?php echo($_['url']['lieu']); ?>">Lieux</a>
<div class="app-navigation-entry-utils">
<ul>
<li class="app-navigation-entry-utils-counter"><span id="statslieu"><div class="loader"></div></span></li>
</ul>
</div>
</li>
</ul>
</li>
</ul>
<?php else: ?>
<ul class="app-navigation"> <ul class="app-navigation">
<li class="app-navigation-entry"><span class="navmarg"></span><b><?php p($l->t('Manage')); ?></b></li> <li class="app-navigation-entry"><span class="navmarg"></span><b><?php p($l->t('Manage')); ?></b></li>
<li class="app-navigation-entry"> <li class="app-navigation-entry">
@ -51,7 +17,9 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="statsclient"><div class="loader"></div></span> <span id="statsclient">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -64,11 +32,14 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="statslieu"><div class="loader"></div></span> <span id="statslieu">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
<?php if ($currentUserIsAdmin): ?>
<li class="app-navigation-entry-submenu"> <li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span> <span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['produit']); ?>"> <a class="a-entry-submenu" href="<?php echo ($_['url']['produit']); ?>">
@ -77,7 +48,9 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="statsproduit"><div class="loader"></div></span> <span id="statsproduit">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -90,7 +63,8 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="clientGroupDiscountStat"><div class="loader"></div> <span id="clientGroupDiscountStat">
<div class="loader"></div>
</li> </li>
</ul> </ul>
</div> </div>
@ -103,7 +77,9 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="clientGroupFacturationStat"><div class="loader"></div></span> <span id="clientGroupFacturationStat">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -116,11 +92,13 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="clientGroupStat"><div class="loader"> <span id="clientGroupStat">
<div class="loader">
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
<?php endif; ?>
<li class="app-navigation-entry-submenu"> <li class="app-navigation-entry-submenu">
<span class="navmarg icon-template-add"></span> <span class="navmarg icon-template-add"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['devis']); ?>"> <a class="a-entry-submenu" href="<?php echo ($_['url']['devis']); ?>">
@ -129,11 +107,14 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="statsdevis"><div class="loader"></div></span> <span id="statsdevis">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
<?php if ($currentUserIsAdmin): ?>
<li class="app-navigation-entry-submenu"> <li class="app-navigation-entry-submenu">
<span class="navmarg icon-toggle-pictures"></span> <span class="navmarg icon-toggle-pictures"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['facture']); ?>"> <a class="a-entry-submenu" href="<?php echo ($_['url']['facture']); ?>">
@ -142,11 +123,14 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="statsfacture"><div class="loader"></div></span> <span id="statsfacture">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
<?php endif; ?>
<li class="app-navigation-entry-submenu"> <li class="app-navigation-entry-submenu">
<span class="navmarg icon-toggle-pictures"></span> <span class="navmarg icon-toggle-pictures"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['statistique']); ?>"> <a class="a-entry-submenu" href="<?php echo ($_['url']['statistique']); ?>">
@ -155,6 +139,7 @@
</li> </li>
</ul> </ul>
</li> </li>
<?php if ($currentUserIsAdmin): ?>
<li class="app-navigation-entry app-navigation-entry-main-menu"> <li class="app-navigation-entry app-navigation-entry-main-menu">
<span class="navmarg icon-contacts-dark"></span> <span class="navmarg icon-contacts-dark"></span>
<a class="a-entry">Achats</a> <a class="a-entry">Achats</a>
@ -167,7 +152,9 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="providerStat"><div class="loader"></div></span> <span id="providerStat">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -180,7 +167,9 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="orerProductStat"><div class="loader"></div></span> <span id="orerProductStat">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -193,7 +182,9 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="thanatoProductFeeStat"><div class="loader"></div></span> <span id="thanatoProductFeeStat">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -206,13 +197,16 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="orderStat"><div class="loader"></div></span> <span id="orderStat">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
</ul> </ul>
</li> </li>
<?php endif; ?>
<li class="app-navigation-entry app-navigation-entry-main-menu"> <li class="app-navigation-entry app-navigation-entry-main-menu">
<span class="navmarg icon-contacts-dark"></span> <span class="navmarg icon-contacts-dark"></span>
<a class="a-entry">Défunts</a> <a class="a-entry">Défunts</a>
@ -225,11 +219,14 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="statsdefunts"><div class="loader"></div></span> <span id="statsdefunts">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
<?php if ($currentUserIsAdmin): ?>
<li class="app-navigation-entry-submenu"> <li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span> <span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['article']); ?>"> <a class="a-entry-submenu" href="<?php echo ($_['url']['article']); ?>">
@ -238,7 +235,9 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="statsarticles"><div class="loader"></div></span> <span id="statsarticles">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -251,13 +250,17 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="statsbibliotheque"><div class="loader"></div></span> <span id="statsbibliotheque">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
<?php endif; ?>
</ul> </ul>
</li> </li>
<?php if ($currentUserIsAdmin): ?>
<li class="app-navigation-entry app-navigation-entry-main-menu"> <li class="app-navigation-entry app-navigation-entry-main-menu">
<span class="navmarg icon-contacts-dark"></span> <span class="navmarg icon-contacts-dark"></span>
<a class="a-entry">Thanatopracteurs</a> <a class="a-entry">Thanatopracteurs</a>
@ -270,7 +273,9 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="statsthanato"><div class="loader"></div></span> <span id="statsthanato">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -283,7 +288,9 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="statstrajet"><div class="loader"></div></span> <span id="statstrajet">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
@ -296,14 +303,16 @@
<div class="app-navigation-entry-utils-submenu"> <div class="app-navigation-entry-utils-submenu">
<ul> <ul>
<li class="app-navigation-entry-utils-counter"> <li class="app-navigation-entry-utils-counter">
<span id="vehicleStat"><div class="loader"></div></span> <span id="vehicleStat">
<div class="loader"></div>
</span>
</li> </li>
</ul> </ul>
</div> </div>
</li> </li>
</ul> </ul>
</li> </li>
<?php endif; ?>
</ul> </ul>
</li> </li>
</ul> </ul>
<?php endif; ?>