diff --git a/include/src/HookManager.php b/include/src/HookManager.php
index 9a8631370..c00aefd88 100644
--- a/include/src/HookManager.php
+++ b/include/src/HookManager.php
@@ -2,9 +2,27 @@
namespace Common;
+use Models\Hook;
+
abstract class HookManager
{
abstract public function manage();
abstract public function response($results);
+
+ public static function update($results)
+ {
+ $hook = self::getHook();
+
+ $hook->updateCache($results);
+ }
+
+ protected static function getHook()
+ {
+ $class = get_called_class();
+
+ $hook = Hook::where('class', $class)->first();
+
+ return $hook;
+ }
}
diff --git a/modules/anagrafiche/actions.php b/modules/anagrafiche/actions.php
index ea18af4b2..9602258de 100644
--- a/modules/anagrafiche/actions.php
+++ b/modules/anagrafiche/actions.php
@@ -81,15 +81,13 @@ switch (post('op')) {
$idanagrafica = $dbo->fetchOne('SELECT GROUP_CONCAT(idanagrafica) AS idanagrafica FROM an_anagrafiche WHERE codice_fiscale = '.prepare(post('codice_fiscale')).' AND idanagrafica != '.prepare($id_record))['idanagrafica'];
if (!empty($idanagrafica)) {
-
$array = explode(',', $idanagrafica);
foreach ($array as $value) {
flash()->warning(tr('Attenzione: il codice fiscale _COD_ è già stato censito _LINK_', [
'_COD_' => post('codice_fiscale'),
- '_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
+ '_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
]));
}
-
} else {
$anagrafica->codice_fiscale = strtoupper(post('codice_fiscale'));
}
@@ -106,10 +104,9 @@ switch (post('op')) {
foreach ($array as $value) {
flash()->warning(tr('Attenzione: la partita IVA _IVA_ è già stata censita _LINK_', [
'_IVA_' => post('piva'),
- '_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
+ '_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
]));
}
-
} else {
$anagrafica->partita_iva = post('piva');
}
diff --git a/modules/anagrafiche/src/Anagrafica.php b/modules/anagrafiche/src/Anagrafica.php
index 19c1c12ee..038ac3af2 100644
--- a/modules/anagrafiche/src/Anagrafica.php
+++ b/modules/anagrafiche/src/Anagrafica.php
@@ -234,13 +234,6 @@ class Anagrafica extends Model
return $this;
}
- protected function fixRagioneSociale()
- {
- if (!empty($this->cognome) || !empty($this->nome)) {
- $this->ragione_sociale = $this->cognome.' '.$this->nome;
- }
- }
-
// Metodi statici
/**
@@ -262,5 +255,10 @@ class Anagrafica extends Model
return $codice;
}
-
+ protected function fixRagioneSociale()
+ {
+ if (!empty($this->cognome) || !empty($this->nome)) {
+ $this->ragione_sociale = $this->cognome.' '.$this->nome;
+ }
+ }
}
diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php
index 2380de462..701009b8e 100644
--- a/modules/articoli/edit.php
+++ b/modules/articoli/edit.php
@@ -308,10 +308,8 @@ echo '
';
$rs_prezzo_medio = $dbo->fetchOne('SELECT ((SUM(subtotale)-SUM(sconto))/SUM(qta)) AS prezzo FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id WHERE co_documenti.idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = \'uscita\') AND idarticolo='.prepare($id_record));
-$rs_prezzo_min = $dbo->fetchOne('SELECT ((subtotale-sconto)/qta) AS prezzo, co_documenti.data FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id WHERE co_documenti.idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = \'uscita\') AND idarticolo='.prepare($id_record).' ORDER BY ((subtotale-sconto)/qta) ASC' );
-$rs_prezzo_max = $dbo->fetchOne('SELECT ((subtotale-sconto)/qta) AS prezzo, co_documenti.data FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id WHERE co_documenti.idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = \'uscita\') AND idarticolo='.prepare($id_record).' ORDER BY ((subtotale-sconto)/qta) DESC' );
-
-
+$rs_prezzo_min = $dbo->fetchOne('SELECT ((subtotale-sconto)/qta) AS prezzo, co_documenti.data FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id WHERE co_documenti.idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = \'uscita\') AND idarticolo='.prepare($id_record).' ORDER BY ((subtotale-sconto)/qta) ASC');
+$rs_prezzo_max = $dbo->fetchOne('SELECT ((subtotale-sconto)/qta) AS prezzo, co_documenti.data FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id WHERE co_documenti.idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = \'uscita\') AND idarticolo='.prepare($id_record).' ORDER BY ((subtotale-sconto)/qta) DESC');
if (count($rs_prezzo_min) > 0) {
echo '
@@ -327,27 +325,26 @@ if (count($rs_prezzo_min) > 0) {
'.tr('Andamento prezzo').' |
';
- echo '
+ echo '
'.moneyFormat($rs_prezzo_min['prezzo']).' |
'.moneyFormat($rs_prezzo_medio['prezzo']).' |
'.moneyFormat($rs_prezzo_max['prezzo']).' |
- '.moneyFormat($rs_prezzo_max['prezzo']-$rs_prezzo_min['prezzo']).' |
- '.Translator::numberToLocale(((($rs_prezzo_max['prezzo']-$rs_prezzo_min['prezzo'])*100)/$rs_prezzo_medio['prezzo']), '2').' % |
- '.((strtotime($rs_prezzo_min['data'])==strtotime($rs_prezzo_max['data'])) ? 'N.D.' : ((strtotime($rs_prezzo_min['data'])
+ '.moneyFormat($rs_prezzo_max['prezzo'] - $rs_prezzo_min['prezzo']).' |
+ '.Translator::numberToLocale(((($rs_prezzo_max['prezzo'] - $rs_prezzo_min['prezzo']) * 100) / $rs_prezzo_medio['prezzo']), '2').' % |
+ '.((strtotime($rs_prezzo_min['data']) == strtotime($rs_prezzo_max['data'])) ? 'N.D.' : ((strtotime($rs_prezzo_min['data']) < strtotime($rs_prezzo_max['data'])) ? 'in aumento' : 'in diminuzione')).' |
|
';
-
- echo '
+ echo '
';
- } else {
- echo '
+} else {
+ echo '
'.tr('Questo articolo non è mai stato acquistato').'
';
- }
+}
echo '
@@ -445,9 +442,8 @@ if (!empty($elementi)) {
'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'.
';
-}else{
-
-?>
+} else {
+ ?>
diff --git a/modules/articoli/plugins/articoli.giacenze.php b/modules/articoli/plugins/articoli.giacenze.php
index ec88b4244..3cffffd41 100644
--- a/modules/articoli/plugins/articoli.giacenze.php
+++ b/modules/articoli/plugins/articoli.giacenze.php
@@ -22,15 +22,15 @@ $sedi = $dbo->fetchArray('(SELECT "0" AS id, "Sede legale" AS nomesede) UNION (S
fetchOne("SELECT SUM(mg_movimenti.qta) AS qta, IF(mg_movimenti.idsede_azienda= 0,'Sede legale',(CONCAT_WS(' - ',an_sedi.nomesede,an_sedi.citta))) as sede FROM mg_movimenti LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_azienda WHERE mg_movimenti.idarticolo=".prepare($id_record).' AND idsede_azienda='.prepare($sede['id']).' GROUP BY idsede_azienda');
+ // Lettura movimenti delle mie sedi
+ $qta_azienda = $dbo->fetchOne("SELECT SUM(mg_movimenti.qta) AS qta, IF(mg_movimenti.idsede_azienda= 0,'Sede legale',(CONCAT_WS(' - ',an_sedi.nomesede,an_sedi.citta))) as sede FROM mg_movimenti LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_azienda WHERE mg_movimenti.idarticolo=".prepare($id_record).' AND idsede_azienda='.prepare($sede['id']).' GROUP BY idsede_azienda');
- // Lettura eventuali movimenti ad una propria sede (nel caso di movimenti fra sedi della mia azienda)
- if($sede['id'] != 0){
- $qta_controparte = $dbo->fetchOne("SELECT SUM(mg_movimenti.qta) AS qta, IF(mg_movimenti.idsede_controparte= 0,'Sede legale',(CONCAT_WS(' - ',an_sedi.nomesede,an_sedi.citta))) as sede FROM mg_movimenti LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_controparte WHERE mg_movimenti.idarticolo=".prepare($id_record)." AND idsede_controparte=".prepare($sede['id'])." GROUP BY idsede_controparte");
- }else{
- $qta_controparte = $dbo->fetchOne("SELECT SUM(mg_movimenti.qta) AS qta, IF(mg_movimenti.idsede_controparte= 0,'Sede legale',(CONCAT_WS(' - ',an_sedi.nomesede,an_sedi.citta))) as sede FROM ((( mg_movimenti LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_controparte ) LEFT JOIN dt_ddt ON mg_movimenti.idddt = dt_ddt.id ) LEFT JOIN co_documenti ON mg_movimenti.iddocumento = co_documenti.id ) WHERE mg_movimenti.idarticolo=".prepare($id_record)." AND idsede_controparte=".prepare($sede['id'])." AND IFNULL( dt_ddt.idanagrafica, co_documenti.idanagrafica ) = ".prepare(setting('Azienda predefinita'))." GROUP BY idsede_controparte");
- }
+ // Lettura eventuali movimenti ad una propria sede (nel caso di movimenti fra sedi della mia azienda)
+ if ($sede['id'] != 0) {
+ $qta_controparte = $dbo->fetchOne("SELECT SUM(mg_movimenti.qta) AS qta, IF(mg_movimenti.idsede_controparte= 0,'Sede legale',(CONCAT_WS(' - ',an_sedi.nomesede,an_sedi.citta))) as sede FROM mg_movimenti LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_controparte WHERE mg_movimenti.idarticolo=".prepare($id_record).' AND idsede_controparte='.prepare($sede['id']).' GROUP BY idsede_controparte');
+ } else {
+ $qta_controparte = $dbo->fetchOne("SELECT SUM(mg_movimenti.qta) AS qta, IF(mg_movimenti.idsede_controparte= 0,'Sede legale',(CONCAT_WS(' - ',an_sedi.nomesede,an_sedi.citta))) as sede FROM ((( mg_movimenti LEFT JOIN an_sedi ON an_sedi.id = mg_movimenti.idsede_controparte ) LEFT JOIN dt_ddt ON mg_movimenti.idddt = dt_ddt.id ) LEFT JOIN co_documenti ON mg_movimenti.iddocumento = co_documenti.id ) WHERE mg_movimenti.idarticolo=".prepare($id_record).' AND idsede_controparte='.prepare($sede['id']).' AND IFNULL( dt_ddt.idanagrafica, co_documenti.idanagrafica ) = '.prepare(setting('Azienda predefinita')).' GROUP BY idsede_controparte');
+ }
echo '
diff --git a/modules/dashboard/actions.php b/modules/dashboard/actions.php
index 855ab3c13..c596eba65 100644
--- a/modules/dashboard/actions.php
+++ b/modules/dashboard/actions.php
@@ -167,8 +167,7 @@ switch (get('op')) {
(!empty($r['data_scadenza'] and $r['data_scadenza'] != '0000-00-00 00:00:00') ? '
'.tr('entro il: ').''.Translator::dateToLocale($r['data_scadenza']).'' : '').'
';
}
- }
- ?>
+ } ?>