🐛 fix(SignClient): Corrige la méthode pour obtenir le lien de signature.

 feat(Dashboard): Affiche les services actifs du client sur le tableau de bord.

 feat(Dashboard): Ajoute la traduction pour les types de services.
```
This commit is contained in:
Serreau Jovann
2025-10-16 11:43:31 +02:00
parent 24aeb47843
commit 6111703481
5 changed files with 24 additions and 11 deletions

2
.env
View File

@@ -75,5 +75,5 @@ AMAZON_SES_SECRET=BD63dADmgFJJPnjlT9utRDlvcOh8pRH3eOZXsyhNL/F3
CLOUDFLARE_TOKEN=4mqx9d7ynvoeCaXonJA07U19rH8gGhctqp7j2Lch
MAILCOW_KEY=DF0E7E-0FD059-16226F-8ECFF1-E558B3
DEV_URL=https://1fc91cb07736.ngrok-free.app
DEV_URL=https://a8afd3b350a5.ngrok-free.app
SENTRY_BACKEND=https://dcf4ed12f5844686f088838f26082bf0@o4510197735948288.ingest.de.sentry.io/4510197737979984

View File

@@ -2,6 +2,7 @@
namespace App\Controller\Artemis;
use App\Entity\Customer;
use App\Entity\CustomerAdvertPayment;
use App\Repository\CustomerAdvertPaymentRepository;
use App\Repository\CustomerDevisRepository;
@@ -29,7 +30,9 @@ class DashboardController extends AbstractController
$advertList = [];
$devisList = [];
$remaining_amount = 0;
$services = [];
if(in_array("ROLE_CUSTOMER",$this->getUser()->getRoles())) {
/** @var Customer $customer */
$customer = $this->getUser()->getCustomers()[0];
foreach ($customerOrderRepository->findBy(['customer'=>$customer]) as $order) {
$amount = 0;
@@ -48,7 +51,7 @@ class DashboardController extends AbstractController
foreach ($customerAdvertPaymentRepository->findBy(['customer'=>$customer]) as $order) {
$amount = 0;
foreach ($order->getCustomerAdvertPaymentLines() as $customerOrderLine) {
$amount += (1.*20*$customerOrderLine->getPriceHt());
$amount += (1.20*$customerOrderLine->getPriceHt());
}
if($order->getState() != "pay") {
$remaining_amount = $remaining_amount + $amount;
@@ -79,12 +82,26 @@ class DashboardController extends AbstractController
'file' => $uploaderHelper->asset($order,'devis')
];
}
foreach ($customer->getCustomerDns() as $customerDns) {
$type = "dns";
if($customerDns->getCustomerDnsEmails()->count() > 0) {
$type = $type."_email";
}
$services[] = [
"type" => $type,
'name' => $customerDns->getNdd(),
'status' => 'actif'
];
}
}
return $this->render('artemis/dashboard.twig',[
'invoiceList' => $invoiceList,
'advertList' => $advertList,
'devisList' => $devisList,
'active_services' => $services,
'remaining_amount' => $remaining_amount,
]);
}

View File

@@ -115,7 +115,7 @@ class SignClient
public function getLinkSign(?string $submittersId)
{
$submissionData = $this->docuseal->getSubmission($submittersId);
$submissionData = $this->docuseal->getSubmitter($submittersId);
return "https://signature.esy-web.dev/s/" . $submissionData['slug'];
}

View File

@@ -23,12 +23,6 @@
{'description': 'Abonnement E-mail Premium', 'due_date': '2026-01-01', 'amount': 5.00},
] %}
{# NOUVELLE DONNÉE STATIQUE: Liste des domaines et sites #}
{% set active_services = [
{'name': 'monsiteprincipal.com', 'type': 'Nom de Domaine + Hébergement', 'status': 'Actif'},
{'name': 'mon-blog-pro.fr', 'type': 'Nom de Domaine', 'status': 'Actif'},
{'name': 'projet-beta.net', 'type': 'Nom de Domaine', 'status': 'Expiré'},
] %}
{# FIN des Données Statiques #}
@@ -120,9 +114,9 @@
<li class="flex justify-between items-center">
<div class="pr-2">
<p class="font-medium text-indigo-600 dark:text-indigo-400 truncate" title="{{ service.name }}">{{ service.name }}</p>
<p class="text-xs text-gray-500 dark:text-gray-400">{{ service.type }}</p>
<p class="text-xs text-gray-500 dark:text-gray-400">{{ service.type|trans }}</p>
</div>
{% set status_class = service.status == 'Actif' ? 'bg-green-100 text-green-800 dark:bg-green-800 dark:text-green-100' : 'bg-red-100 text-red-800 dark:bg-red-800 dark:text-red-100' %}
{% set status_class = service.status == 'actif' ? 'bg-green-100 text-green-800 dark:bg-green-800 dark:text-green-100' : 'bg-red-100 text-red-800 dark:bg-red-800 dark:text-red-100' %}
<span class="px-2 py-0.5 text-xs font-semibold rounded-full {{ status_class }}">{{ service.status }}</span>
</li>
{% endfor %}

View File

@@ -77,3 +77,5 @@ administrator: Adminisateur
customer_group: Groupe d'accée
customer_settings: Paramétres
ech_created: Crée - En attends de validation
dns: Nom de domaine
dns_email: Nom de Domaine + Emails