finish thanato stat , wip vehicule
This commit is contained in:
parent
9253a69ade
commit
26ab3baffb
File diff suppressed because one or more lines are too long
@ -2592,25 +2592,33 @@ class PageController extends Controller {
|
|||||||
if(empty($thanatoIdsToExport)){
|
if(empty($thanatoIdsToExport)){
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
$exportData = $this->myDb->getExportThanatoStatisticData($thanatoIdsToExport);
|
$month = $month ?? date('m');
|
||||||
|
$year = $year ?? date('Y');
|
||||||
|
$exportData = $this->myDb->getExportThanatoStatisticData($thanatoIdsToExport,$month,$year);
|
||||||
try{
|
try{
|
||||||
$current_config = json_decode($this->myDb->getConfiguration($this->idNextcloud));
|
$current_config = json_decode($this->myDb->getConfiguration($this->idNextcloud));
|
||||||
$clean_folder = html_entity_decode($current_config[0]->path).'/';
|
$clean_folder = html_entity_decode($current_config[0]->path).'/';
|
||||||
$_clean_folder = $clean_folder.'STATISTIQUES/THANATOS/';
|
$thanatoList = $this->myDb->getThanatoByIds($thanatoIdsToExport);
|
||||||
try {
|
$thanatoFolders = $this->exportThanatoStatisticService->getThanatoStatisticFolders($thanatoList,$year);
|
||||||
$this->storage->newFolder($_clean_folder);
|
|
||||||
}
|
|
||||||
catch(\OCP\Files\NotPermittedException $e) {
|
|
||||||
|
|
||||||
}
|
|
||||||
$fileHeader = $this->exportThanatoStatisticService->getExportThanatoFileHeader();
|
$fileHeader = $this->exportThanatoStatisticService->getExportThanatoFileHeader();
|
||||||
$fileContent = $this->exportThanatoStatisticService->populateExportDataIntoFileContent($exportData,$fileHeader);
|
$fileContent = $this->exportThanatoStatisticService->populateExportDataIntoFileContent($exportData,$fileHeader);
|
||||||
$filename = $this->exportThanatoStatisticService->getFilename($thanatoIdsToExport);
|
$filename = $this->exportThanatoStatisticService->getFilename($thanatoList,$month,$year);
|
||||||
$fileNamePath = $_clean_folder."STAT-THANATOS-" . $filename . '.csv';
|
$filenames = [];
|
||||||
$this->storage->newFile($fileNamePath);
|
foreach($thanatoFolders as $thanatoFolder){
|
||||||
$file = $this->storage->get($fileNamePath);
|
$fullPath = $clean_folder.$thanatoFolder;
|
||||||
$file->putContent($fileContent);
|
try {
|
||||||
return $fileNamePath;
|
$this->storage->newFolder($fullPath);
|
||||||
|
}
|
||||||
|
catch(\OCP\Files\NotPermittedException $e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
$fileNamePath = $fullPath."STAT-THANATOS-" . $filename . '.csv';
|
||||||
|
$this->storage->newFile($fileNamePath);
|
||||||
|
$file = $this->storage->get($fileNamePath);
|
||||||
|
$file->putContent($fileContent);
|
||||||
|
$filenames[] = $fileNamePath;
|
||||||
|
}
|
||||||
|
return $filenames;
|
||||||
}
|
}
|
||||||
catch(\OCP\Files\NotFoundException $e) { }
|
catch(\OCP\Files\NotFoundException $e) { }
|
||||||
|
|
||||||
|
|||||||
@ -1754,7 +1754,8 @@ class Bdd {
|
|||||||
$sql = "SELECT
|
$sql = "SELECT
|
||||||
thanato.id,
|
thanato.id,
|
||||||
thanato.nom as thanato_nom,
|
thanato.nom as thanato_nom,
|
||||||
thanato.prenom as thanato_prenom
|
thanato.prenom as thanato_prenom,
|
||||||
|
thanato.fk_thanato_type_key as fk_thanato_type_key
|
||||||
FROM ".$this->tableprefix."thanato as thanato
|
FROM ".$this->tableprefix."thanato as thanato
|
||||||
WHERE thanato.id IN ($sqlConditionsPlaceholder)";
|
WHERE thanato.id IN ($sqlConditionsPlaceholder)";
|
||||||
$thanatoList = $this->execSQLNoJsonReturn(
|
$thanatoList = $this->execSQLNoJsonReturn(
|
||||||
@ -2019,18 +2020,16 @@ class Bdd {
|
|||||||
$this->calculer_distance_trajet($ligne_trajet->id_trajet, $idNextcloud);
|
$this->calculer_distance_trajet($ligne_trajet->id_trajet, $idNextcloud);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getExportThanatoStatisticData(array $thanatoIds){
|
public function getExportThanatoStatisticData(array $thanatoIds,$month,$year){
|
||||||
$devisList = $this->getDevisListByThanatoIds($thanatoIds);
|
$devisList = $this->getDevisListByThanatoIds($thanatoIds,$month,$year);
|
||||||
$devisListGroupedByDateAndThenByThanato = $this->getDevisListGroupedByDateAndThenByThanato($devisList);
|
$devisListGroupedByDateAndThenByThanato = $this->getDevisListGroupedByDateAndThenByThanato($devisList);
|
||||||
return $devisListGroupedByDateAndThenByThanato;
|
return $devisListGroupedByDateAndThenByThanato;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function getDevisListByThanatoIds(array $thanatoIds){
|
private function getDevisListByThanatoIds(array $thanatoIds,$month,$year){
|
||||||
if(empty($thanatoIds)){
|
if(empty($thanatoIds)){
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
$currentYear = date('Y');
|
|
||||||
$currentMonth = date('m');
|
|
||||||
|
|
||||||
$sqlConditionsPlaceholder = implode(',', array_fill(0, count($thanatoIds), '?'));
|
$sqlConditionsPlaceholder = implode(',', array_fill(0, count($thanatoIds), '?'));
|
||||||
$sql = "SELECT
|
$sql = "SELECT
|
||||||
@ -2044,6 +2043,7 @@ class Bdd {
|
|||||||
devis.id_thanato as id_thanato,
|
devis.id_thanato as id_thanato,
|
||||||
thanato.nom as nom_thanato,
|
thanato.nom as nom_thanato,
|
||||||
thanato.prenom as prenom_thanato,
|
thanato.prenom as prenom_thanato,
|
||||||
|
thanato.fk_thanato_type_key as fk_thanato_type_key,
|
||||||
defunt.nom as nom_defunt,
|
defunt.nom as nom_defunt,
|
||||||
lieu.nom as nom_lieu,
|
lieu.nom as nom_lieu,
|
||||||
lieu.latitude as lieu_latitude,
|
lieu.latitude as lieu_latitude,
|
||||||
@ -2051,21 +2051,26 @@ class Bdd {
|
|||||||
client.nom as nom_client,
|
client.nom as nom_client,
|
||||||
client.entreprise as client_entreprise,
|
client.entreprise as client_entreprise,
|
||||||
client.adresse as client_adresse,
|
client.adresse as client_adresse,
|
||||||
facture.num as facture_num
|
facture.num as facture_num,
|
||||||
|
orders.id as order_id,
|
||||||
|
orders.order_full_number,
|
||||||
|
orders.fk_order_status_key,
|
||||||
|
orders.fk_order_type_key
|
||||||
FROM ".$this->tableprefix."devis as devis
|
FROM ".$this->tableprefix."devis as devis
|
||||||
LEFT JOIN ".$this->tableprefix."thanato as thanato on devis.id_thanato = thanato.id
|
LEFT JOIN ".$this->tableprefix."thanato as thanato on devis.id_thanato = thanato.id
|
||||||
LEFT JOIN ".$this->tableprefix."lieu as lieu on devis.id_lieu = lieu.id
|
LEFT JOIN ".$this->tableprefix."lieu as lieu on devis.id_lieu = lieu.id
|
||||||
LEFT JOIN ".$this->tableprefix."defunt as defunt on devis.id_defunt = defunt.id
|
LEFT JOIN ".$this->tableprefix."defunt as defunt on devis.id_defunt = defunt.id
|
||||||
LEFT JOIN ".$this->tableprefix."client as client on devis.id_client = client.id
|
LEFT JOIN ".$this->tableprefix."client as client on devis.id_client = client.id
|
||||||
LEFT JOIN ".$this->tableprefix."facture as facture on devis.id = facture.id_devis
|
LEFT JOIN ".$this->tableprefix."facture as facture on devis.id = facture.id_devis
|
||||||
|
LEFT JOIN ".$this->tableprefix."orders as orders on devis.id = orders.fk_devis_id
|
||||||
WHERE YEAR(devis.date) = ? AND
|
WHERE YEAR(devis.date) = ? AND
|
||||||
MONTH(devis.date) = ? AND
|
MONTH(devis.date) = ? AND
|
||||||
devis.id_thanato IN ($sqlConditionsPlaceholder) AND
|
devis.id_thanato IN ($sqlConditionsPlaceholder) AND
|
||||||
devis.mentions = ?
|
(devis.mentions = ? OR devis.mentions = ?)
|
||||||
ORDER BY devis.date ASC;";
|
ORDER BY devis.date ASC;";
|
||||||
$devisList = $this->execSQLNoJsonReturn(
|
$devisList = $this->execSQLNoJsonReturn(
|
||||||
$sql,
|
$sql,
|
||||||
array_merge([$currentYear, $currentMonth],$thanatoIds,["facturé"]));
|
array_merge([$year, $month],$thanatoIds,[DevisMentionConstant::FACTURED,DevisMentionConstant::FACTURED_FORMATTED]));
|
||||||
return $devisList;
|
return $devisList;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2085,7 +2090,7 @@ class Bdd {
|
|||||||
$devisListGroupedByDateAndThenByThanato[$devisThanatoId][$devisDate] = [
|
$devisListGroupedByDateAndThenByThanato[$devisThanatoId][$devisDate] = [
|
||||||
'total_distance' => 0,
|
'total_distance' => 0,
|
||||||
"devis" => [],
|
"devis" => [],
|
||||||
"devisId" => []
|
"devisId" => [],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
$devisListGroupedByDateAndThenByThanato[$devisThanatoId][$devisDate]["devis"][] = $devis;
|
$devisListGroupedByDateAndThenByThanato[$devisThanatoId][$devisDate]["devis"][] = $devis;
|
||||||
@ -2095,13 +2100,16 @@ class Bdd {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function setDevisProduitsList($devis){
|
private function setDevisProduitsList($devis){
|
||||||
$produitsList = $this->getProduitsDevisByDevisId($devis['id']);
|
$produitsList = $this->getDevisProduits($devis['id']);
|
||||||
|
$totalPrice = 0;
|
||||||
foreach($produitsList as $produit){
|
foreach($produitsList as $produit){
|
||||||
if (!isset($devis['produits'])) {
|
if (!isset($devis['produits'])) {
|
||||||
$devis['produits'] = [];
|
$devis['produits'] = [];
|
||||||
}
|
}
|
||||||
$devis['produits'][] = $produit;
|
$devis['produits'][] = $produit;
|
||||||
|
$totalPrice += $produit['produit_price'];
|
||||||
}
|
}
|
||||||
|
$devis['total_price'] = $totalPrice;
|
||||||
return $devis;
|
return $devis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -26,6 +26,8 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace OCA\Gestion\Service;
|
namespace OCA\Gestion\Service;
|
||||||
|
|
||||||
|
use OCA\Gestion\Constants\OrderTypeConstant;
|
||||||
|
use OCA\Gestion\Constants\ThanatoTypeConstant;
|
||||||
use OCA\Gestion\Db\Bdd;
|
use OCA\Gestion\Db\Bdd;
|
||||||
use OCA\Gestion\Helpers\FileExportHelpers;
|
use OCA\Gestion\Helpers\FileExportHelpers;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
@ -44,11 +46,19 @@ class ExportThanatoStatisticService {
|
|||||||
$this->gestionBdd = $gestionBdd;
|
$this->gestionBdd = $gestionBdd;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getFilename(array $thanatoIds){
|
public function getThanatoStatisticFolders($thanatoList,$year){
|
||||||
$thanatoList = $this->gestionBdd->getThanatoByIds($thanatoIds);
|
$thanatoStatFolders = ['STATISTIQUES/THANATOS/'];
|
||||||
$currentYear = date('Y');
|
foreach($thanatoList as $thanato){
|
||||||
$currentMonth = date('m');
|
if($thanato['fk_thanato_type_key'] == ThanatoTypeConstant::THANATO_TYPE_SUBCONTRACTOR){
|
||||||
$filename = "$currentYear-$currentMonth-";
|
$thanatoStatFolders[] = 'STATISTIQUES/FOURNISSEURS/'.$year.'/';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $thanatoStatFolders;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFilename(array $thanatoList,$month,$year){
|
||||||
|
$filename = "$year-$month-";
|
||||||
foreach($thanatoList as $thanato){
|
foreach($thanatoList as $thanato){
|
||||||
$filename .= $thanato['thanato_nom'] . '-' . $thanato['thanato_prenom'] . '--';
|
$filename .= $thanato['thanato_nom'] . '-' . $thanato['thanato_prenom'] . '--';
|
||||||
}
|
}
|
||||||
@ -71,6 +81,8 @@ class ExportThanatoStatisticService {
|
|||||||
'LIEU'.';'.
|
'LIEU'.';'.
|
||||||
'POMPES FUNEBRES'.';'.
|
'POMPES FUNEBRES'.';'.
|
||||||
'ADRESSE'.';'.
|
'ADRESSE'.';'.
|
||||||
|
'BON DE COMMANDE'.';'.
|
||||||
|
'TOTAL ACHAT'.';'.
|
||||||
'DISTANCE TOTALE KM'.';'.
|
'DISTANCE TOTALE KM'.';'.
|
||||||
"\n";
|
"\n";
|
||||||
return $fileHeader;
|
return $fileHeader;
|
||||||
@ -105,6 +117,8 @@ class ExportThanatoStatisticService {
|
|||||||
''.';'.
|
''.';'.
|
||||||
''.';'.
|
''.';'.
|
||||||
''.';'.
|
''.';'.
|
||||||
|
''.';'.
|
||||||
|
''.';'.
|
||||||
utf8_decode(html_entity_decode("$distance"))."\n";
|
utf8_decode(html_entity_decode("$distance"))."\n";
|
||||||
return $fileContent;
|
return $fileContent;
|
||||||
}
|
}
|
||||||
@ -121,6 +135,15 @@ class ExportThanatoStatisticService {
|
|||||||
|
|
||||||
private function populateDevisDataIntoThanatoExportFileContent(string $fileContent,array $devis){
|
private function populateDevisDataIntoThanatoExportFileContent(string $fileContent,array $devis){
|
||||||
$produitAsString = $this->getFormatDevisProduitsAsString($devis["produits"]);
|
$produitAsString = $this->getFormatDevisProduitsAsString($devis["produits"]);
|
||||||
|
$orderFullNumber = "";
|
||||||
|
$totalOrderPrice = "";
|
||||||
|
$isDevisDoneBySubContractor = $devis['fk_order_type_key'] == OrderTypeConstant::ORDER_TYPE_DEVIS &&
|
||||||
|
$devis['order_id'] != null && $devis["fk_thanato_type_key"] == ThanatoTypeConstant::THANATO_TYPE_SUBCONTRACTOR;
|
||||||
|
|
||||||
|
if($isDevisDoneBySubContractor){
|
||||||
|
$orderFullNumber = $devis["order_full_number"];
|
||||||
|
$totalOrderPrice = $devis["total_price"];
|
||||||
|
}
|
||||||
$fileContent = $fileContent.
|
$fileContent = $fileContent.
|
||||||
FileExportHelpers::FormatTextForExport($devis["facture_num"]).';'.
|
FileExportHelpers::FormatTextForExport($devis["facture_num"]).';'.
|
||||||
FileExportHelpers::FormatTextForExport($devis['nom_thanato'] . ' ' . $devis['prenom_thanatho']).';'.
|
FileExportHelpers::FormatTextForExport($devis['nom_thanato'] . ' ' . $devis['prenom_thanatho']).';'.
|
||||||
@ -132,7 +155,10 @@ class ExportThanatoStatisticService {
|
|||||||
FileExportHelpers::FormatTextForExport($devis["nom_defunt"]).';'.
|
FileExportHelpers::FormatTextForExport($devis["nom_defunt"]).';'.
|
||||||
FileExportHelpers::FormatTextForExport($devis["nom_lieu"] ?? "").';'.
|
FileExportHelpers::FormatTextForExport($devis["nom_lieu"] ?? "").';'.
|
||||||
FileExportHelpers::FormatTextForExport($devis["nom_client"] ?? "").';'.
|
FileExportHelpers::FormatTextForExport($devis["nom_client"] ?? "").';'.
|
||||||
FileExportHelpers::FormatTextForExport($devis["client_adresse"] ?? "")."\n";
|
FileExportHelpers::FormatTextForExport($devis["client_adresse"] ?? "").';'.
|
||||||
|
FileExportHelpers::FormatTextForExport($orderFullNumber).';'.
|
||||||
|
"$totalOrderPrice".';'.
|
||||||
|
''.';'."\n";
|
||||||
|
|
||||||
return $fileContent;
|
return $fileContent;
|
||||||
|
|
||||||
|
|||||||
81
gestion/src/js/listener/thanatoListener.js
Normal file
81
gestion/src/js/listener/thanatoListener.js
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
import {showError, showSuccess } from "@nextcloud/dialogs";
|
||||||
|
import {baseUrl,showLoader,hideLoader} from "../modules/mainFunction.mjs";
|
||||||
|
import { Devis } from "../objects/devis.mjs";
|
||||||
|
import DataTable from "datatables.net";
|
||||||
|
import { Thanatopracteur } from "../objects/thanatopracteur.mjs";
|
||||||
|
window.addEventListener("DOMContentLoaded", function () {
|
||||||
|
|
||||||
|
const today = new Date();
|
||||||
|
const currentMonth = today.getMonth() + 1;
|
||||||
|
const currentYear = today.getFullYear();
|
||||||
|
this.document.getElementById("monthSelect").value = currentMonth;
|
||||||
|
this.document.getElementById("yearSelect").value = currentYear;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('body').on('click', '#showExportThanatoModal', function () {
|
||||||
|
var oTable = $('.tabledt').dataTable();
|
||||||
|
var rowcollection = oTable.$(".thanatoToExport:checked", {"page": "all"});
|
||||||
|
let thanatoIdsToExport = [];
|
||||||
|
rowcollection.each(function(index,elem){
|
||||||
|
var checkbox_value = $(elem).val();
|
||||||
|
thanatoIdsToExport.push(checkbox_value);
|
||||||
|
});
|
||||||
|
|
||||||
|
if(thanatoIdsToExport.length == 0){
|
||||||
|
showError(t('gestion', "Veuillez choisir au moins une ligne de thanato"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$('#exportThanatoModal').show();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('body').on('click', '#closeExportThanatoModal', function () {
|
||||||
|
$('#exportThanatoModal').hide();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('body').on('click', '#exportThanatosStat', function () {
|
||||||
|
var oTable = $('.tabledt').dataTable();
|
||||||
|
var rowcollection = oTable.$(".thanatoToExport:checked", {"page": "all"});
|
||||||
|
let thanatoIdsToExport = [];
|
||||||
|
rowcollection.each(function(index,elem){
|
||||||
|
var checkbox_value = $(elem).val();
|
||||||
|
thanatoIdsToExport.push(checkbox_value);
|
||||||
|
});
|
||||||
|
|
||||||
|
if(thanatoIdsToExport.length == 0){
|
||||||
|
$('#exportThanatoModal').hide();
|
||||||
|
showError(t('gestion', "Veuillez choisir au moins une ligne de thanato"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var today = new Date();
|
||||||
|
var monthValue = document.getElementById("monthSelect").value ?? today.getMonth() + 1;
|
||||||
|
var yearValue = document.getElementById("yearSelect").value ?? today.getFullYear();
|
||||||
|
let exportThanatoPayload = {
|
||||||
|
thanatoIdsToExport: thanatoIdsToExport,
|
||||||
|
month: monthValue,
|
||||||
|
year: yearValue
|
||||||
|
}
|
||||||
|
|
||||||
|
showLoader();
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: baseUrl + '/thanatopracteur/exportThanatoStatistic',
|
||||||
|
type: 'POST',
|
||||||
|
contentType: 'application/json',
|
||||||
|
data: JSON.stringify(exportThanatoPayload)
|
||||||
|
}).done(function (response) {
|
||||||
|
$('#exportThanatoModal').hide();
|
||||||
|
let datatable = new DataTable('.tabledt');
|
||||||
|
Thanatopracteur.loadThanatoDT(datatable);
|
||||||
|
if(response.length == 0){
|
||||||
|
showError(t('gestion', "Erreur dans l'export des statistiques"));
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
response.forEach(fileName => {
|
||||||
|
showSuccess('Sauvegardé dans' + fileName);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}).always(function () {
|
||||||
|
hideLoader();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -2,7 +2,7 @@ import "@nextcloud/dialogs/dist/index.css";
|
|||||||
import "datatables.net-dt/css/jquery.dataTables.css";
|
import "datatables.net-dt/css/jquery.dataTables.css";
|
||||||
import "../css/mycss.css";
|
import "../css/mycss.css";
|
||||||
import "./listener/main_listener";
|
import "./listener/main_listener";
|
||||||
|
import "./listener/thanatoListener";
|
||||||
import DataTable from "datatables.net";
|
import DataTable from "datatables.net";
|
||||||
import { globalConfiguration, optionDatatable } from "./modules/mainFunction.mjs";
|
import { globalConfiguration, optionDatatable } from "./modules/mainFunction.mjs";
|
||||||
import { Thanatopracteur } from "./objects/thanatopracteur.mjs";
|
import { Thanatopracteur } from "./objects/thanatopracteur.mjs";
|
||||||
|
|||||||
@ -13,8 +13,10 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="d-flex jsutify-content-end">
|
<div class="d-flex justify-content-end">
|
||||||
<button class="btn btn-secondary" id="exportThanatoData">Export thanato stat</button>
|
<button id="showExportThanatoModal" class="btn btn-secondary" data-toggle="modal" data-target="#exportThanatoModal">
|
||||||
|
Export stat
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<table id="client" class="display tabledt" style="font-size:11px;">
|
<table id="client" class="display tabledt" style="font-size:11px;">
|
||||||
<thead>
|
<thead>
|
||||||
@ -33,4 +35,44 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
<div class="modal" id="exportThanatoModal" tabindex="-1">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title">Choisir le mois et l'année pour l'export</h5>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="d-flex align-items-center gap-2">
|
||||||
|
<select class="form-select w-auto" name="month" id="monthSelect">
|
||||||
|
<option value="1">Janvier</option>
|
||||||
|
<option value="2">Février</option>
|
||||||
|
<option value="3">Mars</option>
|
||||||
|
<option value="4">Avril</option>
|
||||||
|
<option value="5">Mai</option>
|
||||||
|
<option value="6">Juin</option>
|
||||||
|
<option value="7">Juillet</option>
|
||||||
|
<option value="8">Août</option>
|
||||||
|
<option value="9">Septembre</option>
|
||||||
|
<option value="10">Octobre</option>
|
||||||
|
<option value="11">Novembre</option>
|
||||||
|
<option value="12">Décembre</option>
|
||||||
|
</select>
|
||||||
|
<select class="form-select w-auto" name="year" id="yearSelect">
|
||||||
|
<?php
|
||||||
|
$currentYear = date('Y');
|
||||||
|
for ($year = $currentYear; $year >= $currentYear - 10; $year--) {
|
||||||
|
echo '<option value="' . $year . '"';
|
||||||
|
echo '>' . $year . '</option>';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button id="closeExportThanatoModal" type="button" class="btn btn-secondary">Annuler</button>
|
||||||
|
<button id="exportThanatosStat" type="button" class="btn btn-primary">Exporter</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -13,6 +13,7 @@
|
|||||||
<div id="app-content-wrapper">
|
<div id="app-content-wrapper">
|
||||||
<?php print_unescaped($this->inc('content/changelog')); ?>
|
<?php print_unescaped($this->inc('content/changelog')); ?>
|
||||||
<?php print_unescaped($this->inc('content/thanatopracteur')); ?>
|
<?php print_unescaped($this->inc('content/thanatopracteur')); ?>
|
||||||
|
<?php print_unescaped($this->inc('loader')); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
Loading…
x
Reference in New Issue
Block a user