@@ -416,25 +414,26 @@ echo '
// Gestione della modifica dell\'anagrafica
anagrafica.change(function() {
- updateSelectOption("idanagrafica", $(this).val());
- session_set("superselect,idanagrafica", $(this).val(), 0);
+ let value = $(this).val();
+ updateSelectOption("idanagrafica", value);
+ session_set("superselect,idanagrafica",value, 0);
- let value = !$(this).val();
- let placeholder = value ? "'.tr('Seleziona prima un cliente').'" : "'.tr("Seleziona un'opzione").'";
+ let selected = !$(this).val();
+ let placeholder = selected ? "'.tr('Seleziona prima un cliente').'" : "'.tr("Seleziona un'opzione").'";
- sede.setDisabled(value)
+ sede.setDisabled(selected)
.getElement().selectReset(placeholder);
- preventivo.setDisabled(value)
+ preventivo.setDisabled(selected)
.getElement().selectReset(placeholder);
- contratto.setDisabled(value)
+ contratto.setDisabled(selected)
.getElement().selectReset(placeholder);
- ordine.setDisabled(value)
+ ordine.setDisabled(selected)
.getElement().selectReset(placeholder);
- input("idimpianti").setDisabled(value);
+ input("idimpianti").setDisabled(selected);
let data = anagrafica.getData();
if (data) {
@@ -447,12 +446,12 @@ echo '
}
if (data !== undefined) {
- //Carico nel panel i dettagli del cliente
- $.get("'.base_path().'/modules/interventi/ajax_details.php?op=dettagli&id_anagrafica="+$(this).val(), function(data){
- $("#dettagli_ciente").html(data);
+ // Carico nel panel i dettagli del cliente
+ $.get("'.base_path().'/ajax_complete.php?module=Interventi&op=dettagli&id_anagrafica=" + value, function(data){
+ $("#dettagli_cliente").html(data);
});
- }else{
- $("#dettagli_ciente").html("Prima seleziona un cliente...");
+ } else {
+ $("#dettagli_cliente").html("'.tr('Seleziona prima un cliente').'...");
}
});
diff --git a/modules/interventi/ajax/complete.php b/modules/interventi/ajax/complete.php
new file mode 100644
index 000000000..3119159a4
--- /dev/null
+++ b/modules/interventi/ajax/complete.php
@@ -0,0 +1,112 @@
+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 '
+
+
+
'.tr('Contratti').':';
+ if (!$contratti->isEmpty()) {
+ foreach ($contratti as $contratto) {
+ echo '
+ - '.$contratto->getReference().' ['.$contratto->stato->descrizione.']: '.dateFormat($contratto->data_accettazione).' - '.dateFormat($contratto->data_conclusione).'
';
+ }
+ } else {
+ echo '
+ - '.tr('Nessun contratto attivo per questo cliente').'
';
+ }
+ echo '
+
+
';
+ }
+
+ // 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 '
+
+
'.tr('Preventivi').':';
+ if (!$preventivi->isEmpty()) {
+ foreach ($preventivi as $preventivo) {
+ echo '
+ - '.$preventivo->getReference().' ['.$preventivo->stato->descrizione.']
';
+ }
+ } else {
+ echo '
+ - '.tr('Nessun preventivo attivo per questo cliente').'
';
+ }
+ echo '
+
+
';
+ }
+
+ // 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 '
+
+
'.tr('Fatture').':';
+ if (!$fatture->isEmpty()) {
+ foreach ($fatture as $fattura) {
+ $scadenze = $fattura->scadenze;
+ $da_pagare = $scadenze->sum('da_pagare') - $scadenze->sum('pagato');
+ echo '
+ - '.$fattura->getReference().': '.moneyFormat($da_pagare).'
';
+ }
+ } else {
+ echo '
+ - '.tr('Nessuna fattura attiva per questo cliente').'
';
+ }
+ echo '
+
+
';
+ }
+
+ // Note dell'anagrafica
+ $anagrafica = Anagrafica::find($id_anagrafica);
+ $note_anagrafica = $anagrafica->note;
+ echo '
+
+
'.tr('Note interne sul cliente').':
+ '.(!empty($note_anagrafica) ? $note_anagrafica : tr('Nessuna nota interna per questo cliente')).'
+
';
+
+ echo '
+
';
+
+ break;
+}
diff --git a/modules/interventi/ajax_details.php b/modules/interventi/ajax_details.php
deleted file mode 100644
index 33f6a082f..000000000
--- a/modules/interventi/ajax_details.php
+++ /dev/null
@@ -1,74 +0,0 @@
-";
-
- //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 "
-
-
CONTRATTI:
";
- if (sizeof($rs_contratti) > 0) {
- foreach ($rs_contratti as $contratto) {
- echo "
-
- ".$contratto['descrizione'].'
-
';
- }
- } else {
- echo 'Nessun contratto per questo cliente...';
- }
- echo '
-
';
-
- //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 "
-
-
Fatture:
";
- if (sizeof($rs_documenti) > 0) {
- foreach ($rs_documenti as $documento) {
- $rs_scadenze = $dbo->fetchArray('SELECT * FROM co_scadenziario WHERE iddocumento='.prepare($documento['id']));
-
- echo "
-
- ".$documento['descrizione'].'
';
- foreach ($rs_scadenze as $scadenza) {
- echo Translator::dateToLocale($scadenza['scadenza']).' - '.Translator::numberToLocale($scadenza['da_pagare']).' €
';
- }
- echo '
-
';
- }
- } else {
- echo 'Nessuna fattura per questo cliente...';
- }
- echo '
-
';
-
- //Note dell'anagrafica
- $rs_anagrafica = $dbo->fetchOne('SELECT note FROM an_anagrafiche WHERE idanagrafica='.prepare($id_anagrafica));
-
- if ($rs_anagrafica['note'] != '') {
- echo "
-
-
NOTE CLIENTE:
-
".$rs_anagrafica['note'].'
-
';
- } else {
- echo 'Nessuna nota per questo cliente...';
- }
-
- echo '
-