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
)
);
return true;
}
public function getOrderProducts(){

View File

@ -26,11 +26,13 @@ declare(strict_types=1);
namespace OCA\Gestion\Service;
use OCA\Gestion\Constants\BddConstant;
use OCA\Gestion\Constants\DevisMentionConstant;
use OCA\Gestion\Constants\OrderStatusConstant;
use OCA\Gestion\Constants\ThanatoTypeConstant;
use OCA\Gestion\Db\Bdd;
use OCA\Gestion\Db\OrderBdd;
use OCA\Gestion\Service\Order\OrderPdfService;
use Psr\Log\LoggerInterface;
use OCA\Gestion\Helpers\VCalendarHelpers;
@ -44,13 +46,17 @@ class GestionService {
/** @var \OCA\Gestion\Db\OrderBdd */
private $orderBdd;
private $orderPdfService;
public function __construct(
Bdd $gestionBdd,
OrderBdd $orderBdd,
LoggerInterface $logger) {
LoggerInterface $logger,
OrderPdfService $orderPdfService) {
$this->orderBdd = $orderBdd;
$this->logger = $logger;
$this->gestionBdd = $gestionBdd;
$this->orderPdfService = $orderPdfService;
}
private function GetCalendarSummaryFromVCalendarString(string $vCalendarString): string
@ -166,15 +172,23 @@ class GestionService {
$calendarStartDate = $this->GetCalendarDateFromVCalendarString($vCalendarString);
$devisDate = $calendarStartDate->format('Y-m-d');
$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);
if(!empty($articlesValue)){
$articleIds = $this->gestionBdd->getArticleIdsByArticleReferences($articlesValue);
$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);
}

View File

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

View File

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

View File

@ -1,309 +1,318 @@
<?php if(isset($_['groups']) && !in_array('admin', $_['groups'])) : ?>
<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">
<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">
<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 app-navigation-entry-main-menu">
<span class="navmarg icon-contacts-dark"></span>
<a class="a-entry">Ventes</a>
<ul class="app-navigation-submenu">
<?php
$currentUserIsAdmin = (isset($_['groups']) && in_array('admin', $_['groups']));
?>
<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">
<ul class="app-navigation">
<li class="app-navigation-entry app-navigation-entry-main-menu">
<span class="navmarg icon-contacts-dark"></span>
<a class="a-entry">Ventes</a>
<ul class="app-navigation-submenu">
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-contacts-dark"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['index']); ?>">
<?php p($l->t('Customers')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<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-submenu">
<span class="navmarg icon-toggle-pictures"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['lieu']); ?>">
<?php p($l->t('Lieux')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statslieu">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<?php if ($currentUserIsAdmin): ?>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-contacts-dark"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['index']); ?>">
<?php p($l->t('Customers'));?>
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['produit']); ?>">
<?php p($l->t('Articles')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statsclient"><div class="loader"></div></span>
<span id="statsproduit">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['clientGroupDiscount']); ?>">
<?php p($l->t('Groupe Articles')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="clientGroupDiscountStat">
<div class="loader"></div>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['clientGroupFacturation']); ?>">
<?php p($l->t('Groupe clients')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="clientGroupFacturationStat">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['clientGroups']); ?>">
<?php p($l->t('Groupe tarifs')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="clientGroupStat">
<div class="loader">
</li>
</ul>
</div>
</li>
<?php endif; ?>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-template-add"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['devis']); ?>">
<?php p($l->t('Quotes')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statsdevis">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<?php if ($currentUserIsAdmin): ?>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-toggle-pictures"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['lieu']); ?>">
<?php p($l->t('Lieux'));?>
<a class="a-entry-submenu" href="<?php echo ($_['url']['facture']); ?>">
<?php p($l->t('Invoices')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statslieu"><div class="loader"></div></span>
<span id="statsfacture">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['produit']); ?>">
<?php p($l->t('Articles'));?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statsproduit"><div class="loader"></div></span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['clientGroupDiscount']); ?>">
<?php p($l->t('Groupe Articles'));?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="clientGroupDiscountStat"><div class="loader"></div>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['clientGroupFacturation']); ?>">
<?php p($l->t('Groupe clients'));?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="clientGroupFacturationStat"><div class="loader"></div></span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['clientGroups']); ?>">
<?php p($l->t('Groupe tarifs'));?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="clientGroupStat"><div class="loader">
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-template-add"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['devis']); ?>">
<?php p($l->t('Quotes'));?>
</a>
<div class="app-navigation-entry-utils-submenu">
<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-submenu">
<span class="navmarg icon-toggle-pictures"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['facture']); ?>">
<?php p($l->t('Invoices'));?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statsfacture"><div class="loader"></div></span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-toggle-pictures"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['statistique']); ?>">
<?php p($l->t('Statistics'));?>
</a>
</li>
</ul>
</li>
<?php endif; ?>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-toggle-pictures"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['statistique']); ?>">
<?php p($l->t('Statistics')); ?>
</a>
</li>
</ul>
</li>
<?php if ($currentUserIsAdmin): ?>
<li class="app-navigation-entry app-navigation-entry-main-menu">
<span class="navmarg icon-contacts-dark"></span>
<a class="a-entry">Achats</a>
<ul class="app-navigation-submenu">
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['provider']); ?>">
<?php p($l->t('Fournisseur'));?>
<a class="a-entry-submenu" href="<?php echo ($_['url']['provider']); ?>">
<?php p($l->t('Fournisseur')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="providerStat"><div class="loader"></div></span>
<span id="providerStat">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['orderProduct']); ?>">
<?php p($l->t('Articles'));?>
<a class="a-entry-submenu" href="<?php echo ($_['url']['orderProduct']); ?>">
<?php p($l->t('Articles')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="orerProductStat"><div class="loader"></div></span>
<span id="orerProductStat">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['thanatoProductFees']); ?>">
<?php p($l->t('Tarifs thanatos'));?>
<a class="a-entry-submenu" href="<?php echo ($_['url']['thanatoProductFees']); ?>">
<?php p($l->t('Tarifs thanatos')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="thanatoProductFeeStat"><div class="loader"></div></span>
<span id="thanatoProductFeeStat">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['orders']); ?>">
<?php p($l->t('Commandes'));?>
<a class="a-entry-submenu" href="<?php echo ($_['url']['orders']); ?>">
<?php p($l->t('Commandes')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="orderStat"><div class="loader"></div></span>
<span id="orderStat">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
</ul>
</li>
<li class="app-navigation-entry app-navigation-entry-main-menu">
<span class="navmarg icon-contacts-dark"></span>
<a class="a-entry">Défunts</a>
<ul class="app-navigation-submenu">
<?php endif; ?>
<li class="app-navigation-entry app-navigation-entry-main-menu">
<span class="navmarg icon-contacts-dark"></span>
<a class="a-entry">Défunts</a>
<ul class="app-navigation-submenu">
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-contacts-dark"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['defunt']); ?>">
<?php p($l->t('Défunts')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statsdefunts">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<?php if ($currentUserIsAdmin): ?>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-contacts-dark"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['defunt']); ?>">
<?php p($l->t('Défunts'));?>
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo ($_['url']['article']); ?>">
<?php p($l->t('Produits')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statsdefunts"><div class="loader"></div></span>
<span id="statsarticles">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['article']); ?>">
<?php p($l->t('Produits'));?>
<a class="a-entry-submenu" href="<?php echo ($_['url']['bibliotheque']); ?>">
<?php p($l->t('Bibliothèques')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statsarticles"><div class="loader"></div></span>
<span id="statsbibliotheque">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-category-integration"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['bibliotheque']); ?>">
<?php p($l->t('Bibliothèques'));?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statsbibliotheque"><div class="loader"></div></span>
</li>
</ul>
</div>
</li>
</ul>
</li>
<?php endif; ?>
</ul>
</li>
<?php if ($currentUserIsAdmin): ?>
<li class="app-navigation-entry app-navigation-entry-main-menu">
<span class="navmarg icon-contacts-dark"></span>
<a class="a-entry">Thanatopracteurs</a>
<ul class="app-navigation-submenu">
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-contacts-dark"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['thanatopracteur']); ?>">
<?php p($l->t('Thanatopracteurs'));?>
<a class="a-entry-submenu" href="<?php echo ($_['url']['thanatopracteur']); ?>">
<?php p($l->t('Thanatopracteurs')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statsthanato"><div class="loader"></div></span>
<span id="statsthanato">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-toggle-pictures"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['trajet']); ?>">
<?php p($l->t('Trajets'));?>
<a class="a-entry-submenu" href="<?php echo ($_['url']['trajet']); ?>">
<?php p($l->t('Trajets')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="statstrajet"><div class="loader"></div></span>
<span id="statstrajet">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
<li class="app-navigation-entry-submenu">
<span class="navmarg icon-toggle-pictures"></span>
<a class="a-entry-submenu" href="<?php echo($_['url']['vehicle']); ?>">
<?php p($l->t('Véhicules'));?>
<a class="a-entry-submenu" href="<?php echo ($_['url']['vehicle']); ?>">
<?php p($l->t('Véhicules')); ?>
</a>
<div class="app-navigation-entry-utils-submenu">
<ul>
<li class="app-navigation-entry-utils-counter">
<span id="vehicleStat"><div class="loader"></div></span>
<span id="vehicleStat">
<div class="loader"></div>
</span>
</li>
</ul>
</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<?php endif; ?>
<?php endif; ?>
</ul>
</li>
</ul>