Correzione Dettagli Cliente in aggiunta Intervento
This commit is contained in:
parent
ace89cd3ca
commit
a8bd65086d
4
mail.php
4
mail.php
|
@ -28,7 +28,7 @@ $smtp = $template->account;
|
||||||
$body = $module->replacePlaceholders($id_record, $template['body']);
|
$body = $module->replacePlaceholders($id_record, $template['body']);
|
||||||
$subject = $module->replacePlaceholders($id_record, $template['subject']);
|
$subject = $module->replacePlaceholders($id_record, $template['subject']);
|
||||||
|
|
||||||
$emails = explode( ';', $module->replacePlaceholders($id_record, '{email}') );
|
$emails = explode(';', $module->replacePlaceholders($id_record, '{email}'));
|
||||||
$id_anagrafica = $module->replacePlaceholders($id_record, '{id_anagrafica}');
|
$id_anagrafica = $module->replacePlaceholders($id_record, '{id_anagrafica}');
|
||||||
|
|
||||||
// Campi mancanti
|
// Campi mancanti
|
||||||
|
@ -84,7 +84,7 @@ echo '
|
||||||
|
|
||||||
$idx = 0;
|
$idx = 0;
|
||||||
|
|
||||||
foreach( $emails as $email ){
|
foreach ($emails as $email) {
|
||||||
echo '
|
echo '
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
{[ "type": "email", "name": "destinatari['.$idx++.']", "value": "'.$email.'", "icon-before": "choice|email", "extra": "onkeyup=\'aggiungiDestinatario();\'", "class": "destinatari", "required": 1 ]}
|
{[ "type": "email", "name": "destinatari['.$idx++.']", "value": "'.$email.'", "icon-before": "choice|email", "extra": "onkeyup=\'aggiungiDestinatario();\'", "class": "destinatari", "required": 1 ]}
|
||||||
|
|
|
@ -313,7 +313,6 @@ echo '
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- DETTAGLI CLIENTE -->
|
<!-- DETTAGLI CLIENTE -->
|
||||||
<div class="box box-success collapsable collapsed-box">
|
<div class="box box-success collapsable collapsed-box">
|
||||||
<div class="box-header with-border">
|
<div class="box-header with-border">
|
||||||
|
@ -325,12 +324,11 @@ echo '
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="box-body" id="dettagli_ciente">
|
<div class="box-body" id="dettagli_cliente">
|
||||||
Prima seleziona un cliente...
|
'.tr('Prima seleziona un cliente').'...
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- PULSANTI -->
|
<!-- PULSANTI -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12 text-right">
|
<div class="col-md-12 text-right">
|
||||||
|
@ -416,25 +414,26 @@ echo '
|
||||||
|
|
||||||
// Gestione della modifica dell\'anagrafica
|
// Gestione della modifica dell\'anagrafica
|
||||||
anagrafica.change(function() {
|
anagrafica.change(function() {
|
||||||
updateSelectOption("idanagrafica", $(this).val());
|
let value = $(this).val();
|
||||||
session_set("superselect,idanagrafica", $(this).val(), 0);
|
updateSelectOption("idanagrafica", value);
|
||||||
|
session_set("superselect,idanagrafica",value, 0);
|
||||||
|
|
||||||
let value = !$(this).val();
|
let selected = !$(this).val();
|
||||||
let placeholder = value ? "'.tr('Seleziona prima un cliente').'" : "'.tr("Seleziona un'opzione").'";
|
let placeholder = selected ? "'.tr('Seleziona prima un cliente').'" : "'.tr("Seleziona un'opzione").'";
|
||||||
|
|
||||||
sede.setDisabled(value)
|
sede.setDisabled(selected)
|
||||||
.getElement().selectReset(placeholder);
|
.getElement().selectReset(placeholder);
|
||||||
|
|
||||||
preventivo.setDisabled(value)
|
preventivo.setDisabled(selected)
|
||||||
.getElement().selectReset(placeholder);
|
.getElement().selectReset(placeholder);
|
||||||
|
|
||||||
contratto.setDisabled(value)
|
contratto.setDisabled(selected)
|
||||||
.getElement().selectReset(placeholder);
|
.getElement().selectReset(placeholder);
|
||||||
|
|
||||||
ordine.setDisabled(value)
|
ordine.setDisabled(selected)
|
||||||
.getElement().selectReset(placeholder);
|
.getElement().selectReset(placeholder);
|
||||||
|
|
||||||
input("idimpianti").setDisabled(value);
|
input("idimpianti").setDisabled(selected);
|
||||||
|
|
||||||
let data = anagrafica.getData();
|
let data = anagrafica.getData();
|
||||||
if (data) {
|
if (data) {
|
||||||
|
@ -447,12 +446,12 @@ echo '
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data !== undefined) {
|
if (data !== undefined) {
|
||||||
//Carico nel panel i dettagli del cliente
|
// Carico nel panel i dettagli del cliente
|
||||||
$.get("'.base_path().'/modules/interventi/ajax_details.php?op=dettagli&id_anagrafica="+$(this).val(), function(data){
|
$.get("'.base_path().'/ajax_complete.php?module=Interventi&op=dettagli&id_anagrafica=" + value, function(data){
|
||||||
$("#dettagli_ciente").html(data);
|
$("#dettagli_cliente").html(data);
|
||||||
});
|
});
|
||||||
}else{
|
} else {
|
||||||
$("#dettagli_ciente").html("Prima seleziona un cliente...");
|
$("#dettagli_cliente").html("'.tr('Seleziona prima un cliente').'...");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,112 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Models\Module;
|
||||||
|
use Modules\Anagrafiche\Anagrafica;
|
||||||
|
use Modules\Contratti\Contratto;
|
||||||
|
use Modules\Fatture\Fattura;
|
||||||
|
use Modules\Preventivi\Preventivo;
|
||||||
|
|
||||||
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
$id_anagrafica = get('id_anagrafica');
|
||||||
|
$op = get('op');
|
||||||
|
$numero_documenti = 5;
|
||||||
|
|
||||||
|
switch ($op) {
|
||||||
|
case 'dettagli':
|
||||||
|
// Informazioni sui contratti
|
||||||
|
$modulo_contratti = Module::get('Contratti');
|
||||||
|
if ($modulo_contratti->permission != '-') {
|
||||||
|
// Contratti attivi per l'anagrafica
|
||||||
|
$contratti = Contratto::where('idanagrafica', '=', $id_anagrafica)
|
||||||
|
->whereHas('stato', function ($query) {
|
||||||
|
$query->where('is_pianificabile', '=', 1);
|
||||||
|
})
|
||||||
|
->latest()->take($numero_documenti)->get();
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<b>'.tr('Contratti').':</b><ul>';
|
||||||
|
if (!$contratti->isEmpty()) {
|
||||||
|
foreach ($contratti as $contratto) {
|
||||||
|
echo '
|
||||||
|
<li>'.$contratto->getReference().' ['.$contratto->stato->descrizione.']: '.dateFormat($contratto->data_accettazione).' - '.dateFormat($contratto->data_conclusione).'</li>';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo '
|
||||||
|
<li>'.tr('Nessun contratto attivo per questo cliente').'</li>';
|
||||||
|
}
|
||||||
|
echo '
|
||||||
|
</ul>
|
||||||
|
</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Informazioni sui preventivi
|
||||||
|
$modulo_preventivi = Module::get('Preventivi');
|
||||||
|
if ($modulo_preventivi->permission != '-') {
|
||||||
|
// Preventivi attivi
|
||||||
|
$preventivi = Preventivo::where('idanagrafica', '=', $id_anagrafica)
|
||||||
|
->whereHas('stato', function ($query) {
|
||||||
|
$query->where('is_pianificabile', '=', 1);
|
||||||
|
})
|
||||||
|
->latest()->take($numero_documenti)->get();
|
||||||
|
echo '
|
||||||
|
<div class="col-md-4">
|
||||||
|
<b>'.tr('Preventivi').':</b><ul>';
|
||||||
|
if (!$preventivi->isEmpty()) {
|
||||||
|
foreach ($preventivi as $preventivo) {
|
||||||
|
echo '
|
||||||
|
<li>'.$preventivo->getReference().' ['.$preventivo->stato->descrizione.']</li>';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo '
|
||||||
|
<li>'.tr('Nessun preventivo attivo per questo cliente').'</li>';
|
||||||
|
}
|
||||||
|
echo '
|
||||||
|
</ul>
|
||||||
|
</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Informazioni sui preventivi
|
||||||
|
$modulo_fatture_vendita = Module::get('Fatture di vendita');
|
||||||
|
if ($modulo_fatture_vendita->permission != '-') {
|
||||||
|
// Fatture attive
|
||||||
|
$fatture = Fattura::where('idanagrafica', '=', $id_anagrafica)
|
||||||
|
->whereHas('stato', function ($query) {
|
||||||
|
$query->whereIn('descrizione', ['Emessa', 'Parzialmente pagato']);
|
||||||
|
})
|
||||||
|
->latest()->take($numero_documenti)->get();
|
||||||
|
echo '
|
||||||
|
<div class="col-md-4">
|
||||||
|
<b>'.tr('Fatture').':</b><ul>';
|
||||||
|
if (!$fatture->isEmpty()) {
|
||||||
|
foreach ($fatture as $fattura) {
|
||||||
|
$scadenze = $fattura->scadenze;
|
||||||
|
$da_pagare = $scadenze->sum('da_pagare') - $scadenze->sum('pagato');
|
||||||
|
echo '
|
||||||
|
<li>'.$fattura->getReference().': '.moneyFormat($da_pagare).'</li>';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo '
|
||||||
|
<li>'.tr('Nessuna fattura attiva per questo cliente').'</li>';
|
||||||
|
}
|
||||||
|
echo '
|
||||||
|
</ul>
|
||||||
|
</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Note dell'anagrafica
|
||||||
|
$anagrafica = Anagrafica::find($id_anagrafica);
|
||||||
|
$note_anagrafica = $anagrafica->note;
|
||||||
|
echo '
|
||||||
|
<div class="col-md-12">
|
||||||
|
<p><b>'.tr('Note interne sul cliente').':</b></p>
|
||||||
|
'.(!empty($note_anagrafica) ? $note_anagrafica : tr('Nessuna nota interna per questo cliente')).'
|
||||||
|
</div>';
|
||||||
|
|
||||||
|
echo '
|
||||||
|
</div>';
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
|
@ -1,74 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
|
||||||
|
|
||||||
$id_anagrafica = get('id_anagrafica');
|
|
||||||
$op = get('op');
|
|
||||||
|
|
||||||
switch ($op) {
|
|
||||||
case 'dettagli':
|
|
||||||
echo "
|
|
||||||
<div class='row'>";
|
|
||||||
|
|
||||||
//Contratti attivi
|
|
||||||
$rs_contratti = $dbo->fetchArray("SELECT co_contratti.id AS id, CONCAT('Contratto ', numero, ' del ', DATE_FORMAT(data_bozza, '%d/%m/%Y'), ' - ', co_contratti.nome, ' [', (SELECT `descrizione` FROM `co_staticontratti` WHERE `co_staticontratti`.`id` = `idstato`) , ']') AS descrizione FROM co_contratti INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica WHERE idstato IN (SELECT `id` FROM `co_staticontratti` WHERE is_pianificabile=1) AND co_contratti.idanagrafica=".prepare($id_anagrafica));
|
|
||||||
|
|
||||||
echo "
|
|
||||||
<div class='col-md-4'>
|
|
||||||
<b>CONTRATTI:</b><hr style='margin-top:5px;margin-bottom:15px;'>";
|
|
||||||
if (sizeof($rs_contratti) > 0) {
|
|
||||||
foreach ($rs_contratti as $contratto) {
|
|
||||||
echo "
|
|
||||||
<div class='alert alert-info' style='margin-bottom: 10px;'>
|
|
||||||
".$contratto['descrizione'].'
|
|
||||||
</div>';
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
echo 'Nessun contratto per questo cliente...';
|
|
||||||
}
|
|
||||||
echo '
|
|
||||||
</div>';
|
|
||||||
|
|
||||||
//Fatture emesse o parzialnente pagate
|
|
||||||
$rs_documenti = $dbo->fetchArray("SELECT co_documenti.id AS id, CONCAT('Fattura ', numero_esterno, ' del ', DATE_FORMAT(data, '%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idstatodocumento IN(SELECT id FROM co_statidocumento WHERE descrizione IN('Emessa', 'Parzialmente pagato')) AND idanagrafica=".prepare($id_anagrafica));
|
|
||||||
|
|
||||||
echo "
|
|
||||||
<div class='col-md-4'>
|
|
||||||
<b>Fatture:</b><hr style='margin-top:5px;margin-bottom:15px;'>";
|
|
||||||
if (sizeof($rs_documenti) > 0) {
|
|
||||||
foreach ($rs_documenti as $documento) {
|
|
||||||
$rs_scadenze = $dbo->fetchArray('SELECT * FROM co_scadenziario WHERE iddocumento='.prepare($documento['id']));
|
|
||||||
|
|
||||||
echo "
|
|
||||||
<div class='alert alert-info' style='margin-bottom: 10px;'>
|
|
||||||
".$documento['descrizione'].'<br>';
|
|
||||||
foreach ($rs_scadenze as $scadenza) {
|
|
||||||
echo Translator::dateToLocale($scadenza['scadenza']).' - '.Translator::numberToLocale($scadenza['da_pagare']).' €<br>';
|
|
||||||
}
|
|
||||||
echo '
|
|
||||||
</div>';
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
echo 'Nessuna fattura per questo cliente...';
|
|
||||||
}
|
|
||||||
echo '
|
|
||||||
</div>';
|
|
||||||
|
|
||||||
//Note dell'anagrafica
|
|
||||||
$rs_anagrafica = $dbo->fetchOne('SELECT note FROM an_anagrafiche WHERE idanagrafica='.prepare($id_anagrafica));
|
|
||||||
|
|
||||||
if ($rs_anagrafica['note'] != '') {
|
|
||||||
echo "
|
|
||||||
<div class='col-md-4'>
|
|
||||||
<b>NOTE CLIENTE:</b><hr style='margin-top:5px;margin-bottom:15px;'>
|
|
||||||
<div class='alert alert-info' style='margin-bottom: 10px;'>".$rs_anagrafica['note'].'</div>
|
|
||||||
</div>';
|
|
||||||
} else {
|
|
||||||
echo 'Nessuna nota per questo cliente...';
|
|
||||||
}
|
|
||||||
|
|
||||||
echo '
|
|
||||||
</div>';
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
Loading…
Reference in New Issue