From 269b6dd2b043283d513a662f38b60920c57ec595 Mon Sep 17 00:00:00 2001 From: Adrien RENARD Date: Fri, 22 Dec 2023 22:38:56 +0100 Subject: [PATCH] Debug last commit --- functions/functions_contrats.php | 25 +++++++++++ public_html_admin/contrats.php | 10 +++++ public_html_admin/css/contrats.css | 36 ++++++++++++++++ public_html_admin/js/clients.js | 6 ++- public_html_admin/js/contrats.js | 43 +++++++++++++++++++ public_html_admin/js/livraisons.js | 6 ++- .../templates/contrats/contrat_modal_view.tpl | 31 +++++++++---- .../contrat_modal_view_tab_paniers.tpl | 22 ++++++++++ .../livraisons/livraisons_secondbar.tpl | 14 +++--- 9 files changed, 174 insertions(+), 19 deletions(-) create mode 100644 public_html_admin/css/contrats.css create mode 100644 public_html_admin/templates/contrats/contrat_modal_view_tab_paniers.tpl diff --git a/functions/functions_contrats.php b/functions/functions_contrats.php index 930b620..a22fb8d 100644 --- a/functions/functions_contrats.php +++ b/functions/functions_contrats.php @@ -119,6 +119,8 @@ function getContratDatas($id) { $i["frequence_print"] = CONTRATS_FREQUENCES[$i["frequence"]]; if($i["frequence"] == "quinz") $i["frequence_print"] .= " (groupe ".$i["quinz_groupe"].')'; + + $i["paniers_livres"] = getContratPaniersLivres($id); } else { $er = "
sql: ".$sql."
error: ".getReadableVar($r['erreur']); @@ -128,6 +130,29 @@ function getContratDatas($id) { return $i; } +function getContratPaniersLivres($id) { + $list = array(); + + $sql = getLivraisonsPaniersSelectBaseSQL() + ." WHERE ".LIVRAISONS_PANIERS_TABLE.".`contrat`=".intval($id) + ." ORDER BY ".LIVRAISONS_TABLE.".`date` ASC"; + + $r = $GLOBALS['db_admin']['man']->select($sql); + + if(!$r['erreur']) { + foreach($r['datas'] as $i) { + $i["livraison_date_print"] = formatDate($i["livraison_date"], "mysql_date", "print_date"); + $list[$i['livraison_ref']] = $i; + } + } + else { + $er = "
sql: ".$sql."
error: ".getReadableVar($r['erreur']); + $GLOBALS['errors'][] = "Une erreur est survenue durant la récupération de la liste des paniers livrés du contrat dans le base de données !".$er; + } + + return $list; +} + function getContratLastPanier($id) { $i = false; diff --git a/public_html_admin/contrats.php b/public_html_admin/contrats.php index e70d724..de09138 100644 --- a/public_html_admin/contrats.php +++ b/public_html_admin/contrats.php @@ -37,6 +37,15 @@ if(isset($_REQUEST["ref"]) && (int)$_REQUEST["ref"]>0 && $action) { switch($action) { // AJAX GET DATAS case "getDatas": die(json_encode($infos)); break; + // MODAL VIEW - GET TAB + case "modalView_getTab": { + $GLOBALS['smarty'] -> assign('infos', $infos); + $tabs = array( + "paniers" => "contrats/contrat_modal_view_tab_paniers.tpl" + ); + if(isset($_REQUEST['tab']) && array_key_exists($_REQUEST['tab'], $tabs)) die( $GLOBALS['smarty']->fetch($tabs[$_REQUEST['tab']]) ); + die("NO TAB"); + } break; // EDIT case "edit": { $datas = getContratDatasFromRequest(); @@ -140,6 +149,7 @@ switch($action) { // TEMPLATE $GLOBALS['template'] = 'contrats/contrats_list.tpl'; $jsFiles[] = PUBLIC_HTML_ADMIN.'js/contrats.js'; + $cssFiles[] = PUBLIC_HTML_ADMIN.'css/contrats.css'; // REQUIRED LISTS $GLOBALS['smarty'] -> assign('paniers_groupes_list', $groupesList); diff --git a/public_html_admin/css/contrats.css b/public_html_admin/css/contrats.css new file mode 100644 index 0000000..51b674f --- /dev/null +++ b/public_html_admin/css/contrats.css @@ -0,0 +1,36 @@ +/* MODAL & FORM LIVRAISON */ + +#modalViewContrat { overflow: hidden; } + +#modalViewContrat div.modal-header { border-bottom: none; padding-bottom: 5px; } + +#modalViewContrat .formContrat { margin: -15px; } + +/* NAV TABS */ + +.formContrat ul.nav.nav-tabs { padding-left: 10px; } + +div.formContratTabs > div.tab { + display: none; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + overflow-y: scroll; +} + +div.formContratTabs > div.tab.active { display: block; } + +div.formContratTabs > div.tab span.nullChild { display: block; padding: 10px; } + +div.formContratTabs > div.tab span.nullChild { display: block; padding: 10px; } + +/* TAB INFOS */ + +div.formContratTabs > div.tabInfos table tr:first-child > th, +div.formContratTabs > div.tabInfos table tr:first-child > td { border-top: none; } + +div.formContratTabs > div.tabInfos table { margin-bottom: 0; } +div.formContratTabs > div.tabInfos table th { width: 200px; } + +/* TAB PANIERS */ + +div.formContratTabs > div.tabPaniers table { margin-bottom: 0; } diff --git a/public_html_admin/js/clients.js b/public_html_admin/js/clients.js index 0d29645..51514c8 100644 --- a/public_html_admin/js/clients.js +++ b/public_html_admin/js/clients.js @@ -160,9 +160,13 @@ function loadDatasInViewClientModal(id) { } function clearViewClientModal() { - currentViewClient = 0; modalViewClient.find("small.db_ref > span").html(""); + modalViewClient.find("ul.formClientTabs > li").removeClass('active hide'); + modalViewClient.find("ul.formClientTabs > li:first-child").addClass('active'); + modalViewClient.find("div.formClientTabs > div.tab").removeClass("active"); + modalViewClient.find("div.formClientTabs > div.tab:first-child").addClass("active"); + modalViewClient.find("td.nom").html(""); modalViewClient.find("td.tel").html(""); modalViewClient.find("td.email").html(""); diff --git a/public_html_admin/js/contrats.js b/public_html_admin/js/contrats.js index 2c6cace..7f0fe7a 100644 --- a/public_html_admin/js/contrats.js +++ b/public_html_admin/js/contrats.js @@ -137,6 +137,31 @@ function initViewContrat() { currentViewContrat = id; loadDatasInViewContratModal(id); }); + + var form = modalViewContrat.find("div.formContrat"); + + // TABS + form.find("a.formContratTabBtn").click(function(e) { + e.preventDefault(); + + // BTN + if(!$(this).parent().hasClass("active")) { + form.find("ul.formContratTabs > li").removeClass('active'); + $(this).parent().addClass("active"); + } + + // TAB + var tab = form.find("div.tab."+$(this).attr("tab")); + if(tab.length>0) { + if(tab.hasClass("active")) return; + + form.find("div.formContratTabs > div.tab").removeClass("active"); + tab.addClass("active"); + } + }); + resizeFormContrat(form); + $( window ).on( "resize", function() { resizeFormContrat(form) }); + // CANCEL modalViewContrat.on('hidden.bs.modal', function (e) { @@ -145,6 +170,11 @@ function initViewContrat() { }); } +function resizeFormContrat(form) { + var wh = window.innerHeight; + form.find("div.formContratTabs div.tab").css("max-height", (wh-180)+"px"); +} + function loadDatasInViewContratModal(id) { datas = { 'ref' : id, @@ -152,6 +182,7 @@ function loadDatasInViewContratModal(id) { }; $.post( contratsBaseURL, datas, function( result ) { var datas = JSON.parse(result); + console.log(datas); modalViewContrat.find("small.db_ref > span").html(datas.ref); @@ -187,6 +218,11 @@ function loadDatasInViewContratModal(id) { modalViewContrat.find("td.nb_panier_livre").html(nb_panier_livre); modalViewContrat.find("td.nb_panier_restant").html(datas.nb_paniers_restants + " / " + datas.nb_paniers); + // PANIERS + $.post(contratsBaseURL, { 'ref' : id, 'action' : 'modalView_getTab', 'tab' : 'paniers' }, function(result) { + modalViewContrat.find("div.tabPaniers").html(result); + }).fail(function() { alert(srvErrorMsg+" (load modal view client - tab paniers)"); }); + modalViewContrat.modal('show'); }).fail(function() { alert(srvErrorMsg+" (load modal view contrat)"); }); } @@ -194,6 +230,11 @@ function loadDatasInViewContratModal(id) { function clearViewContratModal() { modalViewContrat.find("small.db_ref > span").html(""); + modalViewContrat.find("ul.formContratTabs > li").removeClass('active hide'); + modalViewContrat.find("ul.formContratTabs > li:first-child").addClass('active'); + modalViewContrat.find("div.formContratTabs > div.tab").removeClass("active"); + modalViewContrat.find("div.formContratTabs > div.tab:first-child").addClass("active"); + modalViewContrat.find("td.nom").html(""); modalViewContrat.find("td.tel").html(""); modalViewContrat.find("td.email").html(""); @@ -207,6 +248,8 @@ function clearViewContratModal() { modalViewContrat.find("td.nb_panier_livre").html(""); modalViewContrat.find("td.nb_panier_restant").html(""); + + modalViewContrat.find("div.tabPaniers").html(""); } /***** FORM CONTRAT *****/ diff --git a/public_html_admin/js/livraisons.js b/public_html_admin/js/livraisons.js index 8fc220b..d0de3ee 100644 --- a/public_html_admin/js/livraisons.js +++ b/public_html_admin/js/livraisons.js @@ -77,15 +77,17 @@ $(document).ready( function() { function initFiltresLivraisons() { // console.log("INIT FILTRES LIVRAISONS"); + loadValue = filtreLivraisonGroupe.attr("load_value"); filtreLivraisonGroupe.change(function(e) { $(this).blur(); document.location = "?groupe="+parseInt($(this).val()); - }); + }).val(loadValue); + loadValue = filtreLivraisonArchive.attr("load_value"); filtreLivraisonArchive.change(function(e) { $(this).blur(); document.location = "?archive="+parseInt($(this).val()); - }); + }).val(loadValue); } /***** VIEW LIVRAISON *****/ diff --git a/public_html_admin/templates/contrats/contrat_modal_view.tpl b/public_html_admin/templates/contrats/contrat_modal_view.tpl index a3bcdb0..6208ac4 100644 --- a/public_html_admin/templates/contrats/contrat_modal_view.tpl +++ b/public_html_admin/templates/contrats/contrat_modal_view.tpl @@ -10,15 +10,28 @@ Fiche contrat - - - - - - - - - + diff --git a/public_html_admin/templates/contrats/contrat_modal_view_tab_paniers.tpl b/public_html_admin/templates/contrats/contrat_modal_view_tab_paniers.tpl new file mode 100644 index 0000000..fa78628 --- /dev/null +++ b/public_html_admin/templates/contrats/contrat_modal_view_tab_paniers.tpl @@ -0,0 +1,22 @@ + + + + + + + + + + {foreach from=$infos.paniers_livres item=i} + + + + + + {foreachelse} + + + + {/foreach} + +
datepanierlieu
{$i.livraison_date_print}{$i.panier_type_nom}{$i.lieu_depot_nom}
aucun panier
\ No newline at end of file diff --git a/public_html_admin/templates/livraisons/livraisons_secondbar.tpl b/public_html_admin/templates/livraisons/livraisons_secondbar.tpl index be0eea8..f0f4ae8 100644 --- a/public_html_admin/templates/livraisons/livraisons_secondbar.tpl +++ b/public_html_admin/templates/livraisons/livraisons_secondbar.tpl @@ -10,15 +10,15 @@