From a79864a2b9b99aff6baf17cb188de23248662c00 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Wed, 5 Sep 2018 10:05:23 +0200 Subject: [PATCH] Miglioramento riferimenti --- modules/anagrafiche/ajax/search.php | 2 +- modules/anagrafiche/api/retrieve.php | 4 +- modules/anagrafiche/edit.php | 137 +++++++++++++++------------ modules/articoli/edit.php | 41 +++++--- modules/banche/actions.php | 2 +- modules/banche/edit.php | 1 + modules/beni/edit.php | 4 +- modules/causali/edit.php | 3 +- modules/contratti/edit.php | 40 +++++--- modules/ddt/edit.php | 48 ++++++---- modules/interventi/edit.php | 40 +++++--- modules/ordini/edit.php | 39 +++++--- modules/porti/edit.php | 5 +- modules/preventivi/edit.php | 39 +++++--- 14 files changed, 253 insertions(+), 152 deletions(-) diff --git a/modules/anagrafiche/ajax/search.php b/modules/anagrafiche/ajax/search.php index 1a9ae8c76..36c417d68 100644 --- a/modules/anagrafiche/ajax/search.php +++ b/modules/anagrafiche/ajax/search.php @@ -52,7 +52,7 @@ foreach ($rs as $r) { $result['link'] = ROOTDIR.'/editor.php?id_module='.$id_module.'&id_record='.$r['id']; $result['title'] = $r['ragione_sociale']; - $result['title'] .= ($r['deleted']) ? ' ('.tr('Eliminato').')': ''; + $result['title'] .= !empty($r['deleted_at']) ? ' ('.tr('Eliminato').')': ''; $result['category'] = 'Anagrafiche'; // Campi da evidenziare diff --git a/modules/anagrafiche/api/retrieve.php b/modules/anagrafiche/api/retrieve.php index 0974f4b09..34a2a0c6d 100644 --- a/modules/anagrafiche/api/retrieve.php +++ b/modules/anagrafiche/api/retrieve.php @@ -8,8 +8,8 @@ switch ($resource) { $order[] = 'idanagrafica'; } - if (empty($where['deleted'])) { - $where['deleted'] = 0; + if (empty($where['deleted_at'])) { + $where['deleted_at'] = null; } break; diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index d639cdf79..bd7cf726d 100644 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -26,7 +26,7 @@ if (!$cliente) { ?>
-
> +
> @@ -433,86 +433,99 @@ if (Settings::get('Azienda predefinita') == $id_record) {
'.tr('Per impostare il logo delle stampe, caricare un file con nome "Logo stampe"').'.
'; } -if (!$records[0]['deleted']) { - //fatture, ddt, preventivi, contratti, ordini, interventi, utenti collegati a questa anagrafica - $elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`idanagrafica` = '.prepare($id_record).' +// Collegamenti diretti +// Fatture, ddt, preventivi, contratti, ordini, interventi, utenti collegati a questa anagrafica +$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`idanagrafica` = '.prepare($id_record).' - UNION - SELECT `zz_users`.`id`, `zz_users`.`created_at` AS data, `zz_users`.`username` AS numero, 0 AS `numero_esterno`, "Utente" AS tipo_documento, 0 AS `dir` FROM `zz_users` WHERE `zz_users`.`idanagrafica` = '.prepare($id_record).' +UNION +SELECT `zz_users`.`id`, `zz_users`.`created_at` AS data, `zz_users`.`username` AS numero, 0 AS `numero_esterno`, "Utente" AS tipo_documento, 0 AS `dir` FROM `zz_users` WHERE `zz_users`.`idanagrafica` = '.prepare($id_record).' - UNION - SELECT `or_ordini`.`id`, `or_ordini`.`data`, `or_ordini`.`numero`, `or_ordini`.`numero_esterno`, `or_tipiordine`.`descrizione` AS tipo_documento, `or_tipiordine`.`dir` FROM `or_ordini` JOIN `or_tipiordine` ON `or_tipiordine`.`id` = `or_ordini`.`idtipoordine` WHERE `or_ordini`.`idanagrafica` = '.prepare($id_record).' +UNION +SELECT `or_ordini`.`id`, `or_ordini`.`data`, `or_ordini`.`numero`, `or_ordini`.`numero_esterno`, `or_tipiordine`.`descrizione` AS tipo_documento, `or_tipiordine`.`dir` FROM `or_ordini` JOIN `or_tipiordine` ON `or_tipiordine`.`id` = `or_ordini`.`idtipoordine` WHERE `or_ordini`.`idanagrafica` = '.prepare($id_record).' - UNION - SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`idanagrafica` = '.prepare($id_record).' +UNION +SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`idanagrafica` = '.prepare($id_record).' - UNION - SELECT `in_interventi`.`id`, `in_interventi`.`data_richiesta`, `in_interventi`.`codice` AS numero, 0 AS numero_esterno, "Intervento" AS tipo_documento, 0 AS dir FROM `in_interventi` JOIN `in_interventi_tecnici` ON `in_interventi`.`id` = `in_interventi_tecnici`.`idintervento` WHERE `in_interventi`.`id` IN (SELECT `idintervento` FROM `in_interventi_tecnici` WHERE `idtecnico` = '.prepare($id_record).' OR `in_interventi`.`idanagrafica` = '.prepare($id_record).' ) +UNION +SELECT `in_interventi`.`id`, `in_interventi`.`data_richiesta`, `in_interventi`.`codice` AS numero, 0 AS numero_esterno, "Intervento" AS tipo_documento, 0 AS dir FROM `in_interventi` JOIN `in_interventi_tecnici` ON `in_interventi`.`id` = `in_interventi_tecnici`.`idintervento` WHERE `in_interventi`.`id` IN (SELECT `idintervento` FROM `in_interventi_tecnici` WHERE `idtecnico` = '.prepare($id_record).' OR `in_interventi`.`idanagrafica` = '.prepare($id_record).' ) - UNION - SELECT `co_contratti`.`id`, `co_contratti`.`data_bozza`, `co_contratti`.`numero`, 0 AS numero_esterno , "Contratto" AS tipo_documento, 0 AS dir FROM `co_contratti` WHERE `co_contratti`.`id` IN (SELECT `idcontratto` FROM `co_contratti_promemoria` WHERE `idanagrafica` = '.prepare($id_record).') +UNION +SELECT `co_contratti`.`id`, `co_contratti`.`data_bozza`, `co_contratti`.`numero`, 0 AS numero_esterno , "Contratto" AS tipo_documento, 0 AS dir FROM `co_contratti` WHERE `co_contratti`.`id` IN (SELECT `idcontratto` FROM `co_contratti_promemoria` WHERE `idanagrafica` = '.prepare($id_record).') - UNION - SELECT `co_preventivi`.`id`, `co_preventivi`.`data_bozza`, `co_preventivi`.`numero`, 0 AS numero_esterno , "Preventivo" AS tipo_documento, 0 AS dir FROM `co_preventivi` WHERE `co_preventivi`.`id` IN (SELECT `idpreventivo` FROM `co_righe_preventivi` WHERE `idanagrafica` = '.prepare($id_record).') ORDER BY `data`'); +UNION +SELECT `co_preventivi`.`id`, `co_preventivi`.`data_bozza`, `co_preventivi`.`numero`, 0 AS numero_esterno , "Preventivo" AS tipo_documento, 0 AS dir FROM `co_preventivi` WHERE `co_preventivi`.`id` IN (SELECT `idpreventivo` FROM `co_righe_preventivi` WHERE `idanagrafica` = '.prepare($id_record).') ORDER BY `data`'); + +if (!empty($elementi)) { + echo ' +
+
+

'.tr('Documenti collegati: _NUM_', [ + '_NUM_' => count($elementi) + ]).'

+
+ +
+
+
+
    '; + + foreach ($elementi as $elemento) { + $descrizione = tr('_DOC_ _NUM_ del _DATE_', [ + '_DOC_' => $elemento['tipo_documento'], + '_NUM_' => !empty($elemento['numero_esterno']) ? $elemento['numero_esterno'] : $elemento['numero'], + '_DATE_' => Translator::dateToLocale($elemento['data']), + ]); + + //se non è un preventivo è un ddt o una fattura + //se non è un ddt è una fattura. + if (in_array($elemento['tipo_documento'], ['Utente'])) { + $modulo = 'Utenti e permessi'; + } elseif (in_array($elemento['tipo_documento'], ['Intervento'])) { + $modulo = 'Interventi'; + } elseif (in_array($elemento['tipo_documento'], ['Preventivo'])) { + $modulo = 'Preventivi'; + } elseif (in_array($elemento['tipo_documento'], ['Contratto'])) { + $modulo = 'Contratti'; + } elseif (in_array($elemento['tipo_documento'], ['Ordine cliente', 'Ordine fornitore'])) { + $modulo = ($elemento['dir'] == 'entrata') ? 'Ordini cliente' : 'Ordini fornitore'; + } elseif (in_array($elemento['tipo_documento'], ['Ddt di vendita', 'Ddt di acquisto'])) { + $modulo = ($elemento['dir'] == 'entrata') ? 'Ddt di vendita' : 'Ddt di acquisto'; + } else { + $modulo = ($elemento['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto'; + } + + $id = $elemento['id']; - if (!empty($elementi)) { echo ' -
    -

    '.tr('_NUM_ altr_I_ document_I_ collegat_I_', [ - '_NUM_' => count($elementi), - '_I_' => (count($elementi) > 1) ? tr('i') : tr('o'), - ]).':

    -
      '; +
    • '.Modules::link($modulo, $id, $descrizione).'
    • '; + } - foreach ($elementi as $elemento) { - $descrizione = tr('_DOC_ _NUM_ del _DATE_', [ - '_DOC_' => $elemento['tipo_documento'], - '_NUM_' => !empty($elemento['numero_esterno']) ? $elemento['numero_esterno'] : $elemento['numero'], - '_DATE_' => Translator::dateToLocale($elemento['data']), - ]); - - //se non è un preventivo è un ddt o una fattura - //se non è un ddt è una fattura. - if (in_array($elemento['tipo_documento'], ['Utente'])) { - $modulo = 'Utenti e permessi'; - } elseif (in_array($elemento['tipo_documento'], ['Intervento'])) { - $modulo = 'Interventi'; - } elseif (in_array($elemento['tipo_documento'], ['Preventivo'])) { - $modulo = 'Preventivi'; - } elseif (in_array($elemento['tipo_documento'], ['Contratto'])) { - $modulo = 'Contratti'; - } elseif (in_array($elemento['tipo_documento'], ['Ordine cliente', 'Ordine fornitore'])) { - $modulo = ($elemento['dir'] == 'entrata') ? 'Ordini cliente' : 'Ordini fornitore'; - } elseif (in_array($elemento['tipo_documento'], ['Ddt di vendita', 'Ddt di acquisto'])) { - $modulo = ($elemento['dir'] == 'entrata') ? 'Ddt di vendita' : 'Ddt di acquisto'; - } else { - $modulo = ($elemento['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto'; - } - - $id = $elemento['id']; + echo ' +
    +
    +
'; +} +if (empty($records[0]['deleted_at'])) { + if (!in_array($id_azienda, $tipi_anagrafica)) { + if (!empty($elementi)) { echo ' -
  • '.Modules::link($modulo, $id, $descrizione).'
  • '; +
    + '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'. +
    '; } echo ' - -

    '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale.').'

    -
    '; - } - - if (!in_array($id_azienda, $tipi_anagrafica)) { - echo ' - - '.tr('Elimina').' - '; + + '.tr('Elimina').' +'; } else { echo ' -
    '.tr('Questa è l\'anagrafica "Azienda" e non è possibile eliminarla').'.
    '; +
    '.tr('Questa è l\'anagrafica "Azienda" e non è possibile eliminarla').'.
    '; } } else { echo ' -
    '.tr('Questa anagrafica è stata eliminata').'.
    '; +
    '.tr('Questa anagrafica è stata eliminata').'.
    '; } ?> diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php index 9a03feed1..a4fbf13a1 100644 --- a/modules/articoli/edit.php +++ b/modules/articoli/edit.php @@ -340,19 +340,27 @@ $("#categoria").change( function(){ fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idarticolo` = '.prepare($id_record).') UNION -SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `idarticolo` = '.prepare($id_record).') UNION -SELECT `co_preventivi`.`id`, `co_preventivi`.`data_bozza`, `co_preventivi`.`numero`, 0 AS numero_esterno , "Preventivo" AS tipo_documento, 0 AS dir FROM `co_preventivi` WHERE `co_preventivi`.`id` IN (SELECT `idpreventivo` FROM `co_righe_preventivi` WHERE `idarticolo` = '.prepare($id_record).') ORDER BY `data`'); +// Collegamenti diretti +// Fatture, ddt, preventivi collegati a questo articolo +$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idarticolo` = '.prepare($id_record).') + +UNION SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `idarticolo` = '.prepare($id_record).') + +UNION SELECT `co_preventivi`.`id`, `co_preventivi`.`data_bozza`, `co_preventivi`.`numero`, 0 AS numero_esterno , "Preventivo" AS tipo_documento, 0 AS dir FROM `co_preventivi` WHERE `co_preventivi`.`id` IN (SELECT `idpreventivo` FROM `co_righe_preventivi` WHERE `idarticolo` = '.prepare($id_record).') ORDER BY `data`'); if (!empty($elementi)) { echo ' -
    -

    '.tr('_NUM_ altr_I_ document_I_ collegat_I_', [ - '_NUM_' => count($elementi), - '_I_' => (count($elementi) > 1) ? tr('i') : tr('o'), - ]).':

    -
      '; +
      +
      +

      '.tr('Documenti collegati: _NUM_', [ + '_NUM_' => count($elementi) + ]).'

      +
      + +
      +
      +
      +
        '; foreach ($elementi as $elemento) { $descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [ @@ -374,13 +382,20 @@ if (!empty($elementi)) { $id = $elemento['id']; echo ' -
      • '.Modules::link($modulo, $id, $descrizione).'
      • '; +
      • '.Modules::link($modulo, $id, $descrizione).'
      • '; } echo '
      -

      '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale.').'

      -
      '; +
      +
    '; +} + +if (!empty($elementi)) { + echo ' +
    + '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'. +
    '; } ?> diff --git a/modules/banche/actions.php b/modules/banche/actions.php index 9f23f317f..4be199e4c 100644 --- a/modules/banche/actions.php +++ b/modules/banche/actions.php @@ -59,7 +59,7 @@ switch (filter('op')) { ]); } else { $array = [ - 'deleted' => 1, + 'deleted_at' => date('Y-m-d H:i:s'), ]; $dbo->update('co_banche', $array, ['id' => $id_record]); diff --git a/modules/banche/edit.php b/modules/banche/edit.php index eb38582f4..b6f43bed8 100644 --- a/modules/banche/edit.php +++ b/modules/banche/edit.php @@ -46,6 +46,7 @@ include_once __DIR__.'/../../core.php'; fetchNum('SELECT idanagrafica FROM an_anagrafiche WHERE idbanca_vendite='.prepare($id_record).' UNION SELECT idanagrafica FROM an_anagrafiche WHERE idbanca_acquisti='.prepare($id_record)); diff --git a/modules/beni/edit.php b/modules/beni/edit.php index 3757c7aa2..abfd9be87 100644 --- a/modules/beni/edit.php +++ b/modules/beni/edit.php @@ -24,8 +24,10 @@ include_once __DIR__.'/../../core.php'; fetchNum('SELECT id FROM dt_ddt WHERE idaspettobeni='.prepare($id_record).' - UNION SELECT id FROM co_documenti WHERE idaspettobeni='.prepare($id_record)); + +UNION SELECT id FROM co_documenti WHERE idaspettobeni='.prepare($id_record)); if (!empty($documenti)) { echo ' diff --git a/modules/causali/edit.php b/modules/causali/edit.php index 1c0185add..0057bf7a9 100644 --- a/modules/causali/edit.php +++ b/modules/causali/edit.php @@ -23,8 +23,9 @@ include_once __DIR__.'/../../core.php'; fetchNum('SELECT id FROM dt_ddt WHERE idcausalet='.prepare($id_record).' - UNION SELECT id FROM co_documenti WHERE idcausalet='.prepare($id_record)); +UNION SELECT id FROM co_documenti WHERE idcausalet='.prepare($id_record)); if (!empty($documenti)) { echo ' diff --git a/modules/contratti/edit.php b/modules/contratti/edit.php index 02494e8a0..82c196466 100644 --- a/modules/contratti/edit.php +++ b/modules/contratti/edit.php @@ -385,18 +385,25 @@ if (!empty($records[0]['idcontratto_prev'])) { fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idcontratto` = '.prepare($id_record).') ORDER BY `data`'); -if (!empty($fatture)) { - echo ' -
    -

    '.tr('_NUM_ altr_I_ document_I_ collegat_I_', [ - '_NUM_' => count($fatture), - '_I_' => (count($fatture) > 1) ? tr('i') : tr('o'), - ]).':

    -
      '; +// Collegamenti diretti +// Fatture collegate a questo contratto +$elementi = $dbo->fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idcontratto` = '.prepare($id_record).') ORDER BY `data`'); - foreach ($fatture as $fattura) { +if (!empty($elementi)) { + echo ' +
      +
      +

      '.tr('Documenti collegati: _NUM_', [ + '_NUM_' => count($elementi) + ]).'

      +
      + +
      +
      +
      +
        '; + + foreach ($elementi as $fattura) { $descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [ '_DOC_' => $fattura['tipo_documento'], '_NUM_' => !empty($fattura['numero_esterno']) ? $fattura['numero_esterno'] : $fattura['numero'], @@ -412,8 +419,15 @@ if (!empty($fatture)) { echo '
      -

      '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale.').'

      -
      '; +
      +
    '; +} + +if (!empty($elementi)) { + echo ' +
    + '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'. +
    '; } ?> diff --git a/modules/ddt/edit.php b/modules/ddt/edit.php index fd3ce2918..4f314bc84 100644 --- a/modules/ddt/edit.php +++ b/modules/ddt/edit.php @@ -52,7 +52,7 @@ if ($module['name'] == 'Ddt di vendita') { } ?> - +
    - {[ "type": "select", "label": "", "name": "idstatoddt", "required": 1, "values": "query=SELECT * FROM dt_statiddt WHERE descrizione IN('Bozza', 'Evaso', 'Parzialmente evaso')", "value": "$idstatoddt$" ]} + {[ "type": "select", "label": "", "name": "idstatoddt", "required": 1, "values": "query=SELECT * FROM dt_statiddt WHERE descrizione IN('Bozza', 'Evaso', 'Parzialmente evaso')", "value": "$idstatoddt$" ]} ", "name": "note", "value": "$note$", "readonly": "" ]}
    - +
    {[ "type": "textarea", "label": "", "name": "note_aggiuntive", "help": "", "value": "$note_aggiuntive$" ]} @@ -229,18 +229,25 @@ include $docroot.'/modules/ddt/row-list.php'; fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idddt` = '.prepare($id_record).') ORDER BY `data`'); -if (!empty($fatture)) { - echo ' -
    -

    '.tr('_NUM_ altr_I_ document_I_ collegat_I_', [ - '_NUM_' => count($fatture), - '_I_' => (count($fatture) > 1) ? tr('i') : tr('o'), - ]).':

    -
      '; +// Collegamenti diretti +// Fatture collegate a questo ddt +$elementi = $dbo->fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idddt` = '.prepare($id_record).') ORDER BY `data`'); - foreach ($fatture as $fattura) { +if (!empty($elementi)) { + echo ' +
      +
      +

      '.tr('Documenti collegati: _NUM_', [ + '_NUM_' => count($elementi) + ]).'

      +
      + +
      +
      +
      +
        '; + + foreach ($elementi as $fattura) { $descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [ '_DOC_' => $fattura['tipo_documento'], '_NUM_' => !empty($fattura['numero_esterno']) ? $fattura['numero_esterno'] : $fattura['numero'], @@ -251,13 +258,20 @@ if (!empty($fatture)) { $id = $fattura['id']; echo ' -
      • '.Modules::link($modulo, $id, $descrizione).'
      • '; +
      • '.Modules::link($modulo, $id, $descrizione).'
      • '; } echo '
      -

      '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale.').'

      -
      '; +
      +
    '; +} + +if (!empty($elementi)) { + echo ' +
    + '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'. +
    '; } ?> diff --git a/modules/interventi/edit.php b/modules/interventi/edit.php index 75452c7dd..68ca98763 100644 --- a/modules/interventi/edit.php +++ b/modules/interventi/edit.php @@ -67,7 +67,7 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica']; $idcontratto = ''; $idcontratto_riga = ''; }*/ - + if (($idcontratto != '')) { echo ' '.Modules::link('Contratti', $idcontratto, null, null, 'class="pull-right"'); @@ -326,20 +326,25 @@ $_SESSION['superselect']['idanagrafica'] = $records[0]['idanagrafica']; fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idintervento` = '.prepare($id_record).') ORDER BY `data`'); -$fatture = $dbo->fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idintervento` = '.prepare($id_record).') ORDER BY `data`'); -if (!empty($fatture)) { +if (!empty($elementi)) { echo ' -
    -

    '.tr('_NUM_ altr_I_ document_I_ collegat_I_', [ - '_NUM_' => count($fatture), - '_I_' => (count($fatture) > 1) ? tr('i') : tr('o'), - ]).':

    -
      '; +
      +
      +

      '.tr('Documenti collegati: _NUM_', [ + '_NUM_' => count($elementi) + ]).'

      +
      + +
      +
      +
      +
        '; - foreach ($fatture as $fattura) { + foreach ($elementi as $fattura) { $descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [ '_DOC_' => $fattura['tipo_documento'], '_NUM_' => !empty($fattura['numero_esterno']) ? $fattura['numero_esterno'] : $fattura['numero'], @@ -350,13 +355,20 @@ if (!empty($fatture)) { $id = $fattura['id']; echo ' -
      • '.Modules::link($modulo, $id, $descrizione).'
      • '; +
      • '.Modules::link($modulo, $id, $descrizione).'
      • '; } echo '
      -

      '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale.').'

      -
      '; +
      +
    '; +} + +if (!empty($elementi)) { + echo ' +
    + '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'. +
    '; } ?> diff --git a/modules/ordini/edit.php b/modules/ordini/edit.php index 7b16820d4..5b932cae0 100644 --- a/modules/ordini/edit.php +++ b/modules/ordini/edit.php @@ -139,17 +139,25 @@ if ($module['name'] == 'Ordini cliente') { {( "name": "filelist_and_upload", "id_module": "", "id_record": "" )} fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idordine` = '.prepare($id_record).') UNION -SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `idordine` = '.prepare($id_record).') ORDER BY `data`'); +// Collegamenti diretti +// Fatture o ddt collegati a questo ordine +$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idordine` = '.prepare($id_record).') + +UNION SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `idordine` = '.prepare($id_record).') ORDER BY `data`'); + if (!empty($elementi)) { echo ' -
    -

    '.tr('_NUM_ altr_I_ document_I_ collegat_I_', [ - '_NUM_' => count($elementi), - '_I_' => (count($elementi) > 1) ? tr('i') : tr('o'), - ]).':

    -
      '; +
      +
      +

      '.tr('Documenti collegati: _NUM_', [ + '_NUM_' => count($elementi) + ]).'

      +
      + +
      +
      +
      +
        '; foreach ($elementi as $elemento) { $descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [ @@ -167,13 +175,20 @@ if (!empty($elementi)) { $id = $elemento['id']; echo ' -
      • '.Modules::link($modulo, $id, $descrizione).'
      • '; +
      • '.Modules::link($modulo, $id, $descrizione).'
      • '; } echo '
      -

      '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale.').'

      -
      '; +
      +
    '; +} + +if (!empty($elementi)) { + echo ' +
    + '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'. +
    '; } ?> diff --git a/modules/porti/edit.php b/modules/porti/edit.php index 506bf15fc..9a79905e0 100644 --- a/modules/porti/edit.php +++ b/modules/porti/edit.php @@ -23,9 +23,10 @@ include_once __DIR__.'/../../core.php'; fetchNum('SELECT id FROM dt_ddt WHERE idporto='.prepare($id_record).' - UNION SELECT id FROM co_documenti WHERE idporto='.prepare($id_record).' - UNION SELECT id FROM co_preventivi WHERE idporto='.prepare($id_record)); +UNION SELECT id FROM co_documenti WHERE idporto='.prepare($id_record).' +UNION SELECT id FROM co_preventivi WHERE idporto='.prepare($id_record)); if (!empty($documenti)) { echo ' diff --git a/modules/preventivi/edit.php b/modules/preventivi/edit.php index aed97fad4..a1ab67261 100644 --- a/modules/preventivi/edit.php +++ b/modules/preventivi/edit.php @@ -164,17 +164,23 @@ include $docroot.'/modules/preventivi/row-list.php'; fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idpreventivo` = '.prepare($id_record).') ORDER BY `data`'); -if (!empty($fatture)) { - echo ' -
    -

    '.tr('_NUM_ altr_I_ document_I_ collegat_I_', [ - '_NUM_' => count($fatture), - '_I_' => (count($fatture) > 1) ? tr('i') : tr('o'), - ]).':

    -
      '; +$elementi = $dbo->fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idpreventivo` = '.prepare($id_record).') ORDER BY `data`'); - foreach ($fatture as $fattura) { +if (!empty($elementi)) { + echo ' +
      +
      +

      '.tr('Documenti collegati: _NUM_', [ + '_NUM_' => count($elementi) + ]).'

      +
      + +
      +
      +
      +
        '; + + foreach ($elementi as $fattura) { $descrizione = tr('_DOC_ num. _NUM_ del _DATE_', [ '_DOC_' => $fattura['tipo_documento'], '_NUM_' => !empty($fattura['numero_esterno']) ? $fattura['numero_esterno'] : $fattura['numero'], @@ -185,13 +191,20 @@ if (!empty($fatture)) { $id = $fattura['id']; echo ' -
      • '.Modules::link($modulo, $id, $descrizione).'
      • '; +
      • '.Modules::link($modulo, $id, $descrizione).'
      • '; } echo '
      -

      '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale.').'

      -
      '; +
      +
    '; +} + +if (!empty($elementi)) { + echo ' +
    + '.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'. +
    '; } ?>