Fix #592
This commit is contained in:
parent
5aa795553b
commit
4a6ac3c870
|
@ -2,9 +2,27 @@
|
||||||
|
|
||||||
namespace Common;
|
namespace Common;
|
||||||
|
|
||||||
|
use Models\Hook;
|
||||||
|
|
||||||
abstract class HookManager
|
abstract class HookManager
|
||||||
{
|
{
|
||||||
abstract public function manage();
|
abstract public function manage();
|
||||||
|
|
||||||
abstract public function response($results);
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,6 @@ 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'];
|
$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)) {
|
if (!empty($idanagrafica)) {
|
||||||
|
|
||||||
$array = explode(',', $idanagrafica);
|
$array = explode(',', $idanagrafica);
|
||||||
foreach ($array as $value) {
|
foreach ($array as $value) {
|
||||||
flash()->warning(tr('Attenzione: il codice fiscale _COD_ è già stato censito _LINK_', [
|
flash()->warning(tr('Attenzione: il codice fiscale _COD_ è già stato censito _LINK_', [
|
||||||
|
@ -89,7 +88,6 @@ switch (post('op')) {
|
||||||
'_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
|
'_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$anagrafica->codice_fiscale = strtoupper(post('codice_fiscale'));
|
$anagrafica->codice_fiscale = strtoupper(post('codice_fiscale'));
|
||||||
}
|
}
|
||||||
|
@ -109,7 +107,6 @@ switch (post('op')) {
|
||||||
'_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
|
'_LINK_' => Modules::link('Anagrafiche', $value, null, null, ''),
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$anagrafica->partita_iva = post('piva');
|
$anagrafica->partita_iva = post('piva');
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,13 +234,6 @@ class Anagrafica extends Model
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function fixRagioneSociale()
|
|
||||||
{
|
|
||||||
if (!empty($this->cognome) || !empty($this->nome)) {
|
|
||||||
$this->ragione_sociale = $this->cognome.' '.$this->nome;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Metodi statici
|
// Metodi statici
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -262,5 +255,10 @@ class Anagrafica extends Model
|
||||||
return $codice;
|
return $codice;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function fixRagioneSociale()
|
||||||
|
{
|
||||||
|
if (!empty($this->cognome) || !empty($this->nome)) {
|
||||||
|
$this->ragione_sociale = $this->cognome.' '.$this->nome;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -311,8 +311,6 @@ $rs_prezzo_medio = $dbo->fetchOne('SELECT ((SUM(subtotale)-SUM(sconto))/SUM(qta)
|
||||||
$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_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_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) {
|
if (count($rs_prezzo_min) > 0) {
|
||||||
echo '
|
echo '
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -337,7 +335,6 @@ if (count($rs_prezzo_min) > 0) {
|
||||||
<td>'.((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')).'</td>
|
<td>'.((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')).'</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
|
|
||||||
echo '
|
echo '
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
@ -446,7 +443,6 @@ if (!empty($elementi)) {
|
||||||
'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'.
|
'.tr('Eliminando questo documento si potrebbero verificare problemi nelle altre sezioni del gestionale').'.
|
||||||
</div>';
|
</div>';
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<a class="btn btn-danger ask" data-backto="record-list">
|
<a class="btn btn-danger ask" data-backto="record-list">
|
||||||
|
|
|
@ -27,9 +27,9 @@ $sedi = $dbo->fetchArray('(SELECT "0" AS id, "Sede legale" AS nomesede) UNION (S
|
||||||
|
|
||||||
// Lettura eventuali movimenti ad una propria sede (nel caso di movimenti fra sedi della mia azienda)
|
// Lettura eventuali movimenti ad una propria sede (nel caso di movimenti fra sedi della mia azienda)
|
||||||
if ($sede['id'] != 0) {
|
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");
|
$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 {
|
} 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");
|
$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 '
|
echo '
|
||||||
|
|
|
@ -167,8 +167,7 @@ switch (get('op')) {
|
||||||
(!empty($r['data_scadenza'] and $r['data_scadenza'] != '0000-00-00 00:00:00') ? '<br><small>'.tr('entro il: ').''.Translator::dateToLocale($r['data_scadenza']).'</small>' : '').'
|
(!empty($r['data_scadenza'] and $r['data_scadenza'] != '0000-00-00 00:00:00') ? '<br><small>'.tr('entro il: ').''.Translator::dateToLocale($r['data_scadenza']).'</small>' : '').'
|
||||||
</div>';
|
</div>';
|
||||||
}
|
}
|
||||||
}
|
} ?>
|
||||||
?>
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(".request").shorten({
|
$(".request").shorten({
|
||||||
moreText: '<?php echo tr('Mostra tutto'); ?>',
|
moreText: '<?php echo tr('Mostra tutto'); ?>',
|
||||||
|
|
|
@ -128,7 +128,7 @@ function aggiorna_scadenziario($iddocumento, $totale_pagato, $data_pagamento, $i
|
||||||
$add_query = 'AND id='.prepare($idscadenza);
|
$add_query = 'AND id='.prepare($idscadenza);
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = "SELECT * FROM co_scadenziario WHERE iddocumento='$iddocumento' AND ABS(pagato) < ABS(da_pagare) ".$add_query." ORDER BY scadenza ASC";
|
$query = "SELECT * FROM co_scadenziario WHERE iddocumento='$iddocumento' AND ABS(pagato) < ABS(da_pagare) ".$add_query.' ORDER BY scadenza ASC';
|
||||||
$rs = $dbo->fetchArray($query);
|
$rs = $dbo->fetchArray($query);
|
||||||
$rimanente_da_pagare = abs($rs[0]['pagato']) + $totale_pagato;
|
$rimanente_da_pagare = abs($rs[0]['pagato']) + $totale_pagato;
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,13 @@
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
use Plugins\ImportFE\Interaction;
|
use Plugins\ImportFE\Interaction;
|
||||||
|
use Plugins\ImportFE\InvoiceHook;
|
||||||
|
|
||||||
$list = Interaction::listToImport();
|
$list = Interaction::listToImport();
|
||||||
|
|
||||||
|
// Aggiornamento cache hook
|
||||||
|
InvoiceHook::update($list);
|
||||||
|
|
||||||
$directory = Plugins\ImportFE\FatturaElettronica::getImportDirectory();
|
$directory = Plugins\ImportFE\FatturaElettronica::getImportDirectory();
|
||||||
|
|
||||||
if (!empty($list)) {
|
if (!empty($list)) {
|
||||||
|
|
|
@ -69,12 +69,15 @@ class FatturaElettronica
|
||||||
if (!isset(self::$directory)) {
|
if (!isset(self::$directory)) {
|
||||||
$module = Modules::get('Fatture di acquisto');
|
$module = Modules::get('Fatture di acquisto');
|
||||||
|
|
||||||
$plugin = $module->plugins->first(function ($value, $key) {
|
$plugins = $module->plugins;
|
||||||
|
if (!empty($plugins)) {
|
||||||
|
$plugin = $plugins->first(function ($value, $key) {
|
||||||
return $value->name == 'Fatturazione Elettronica';
|
return $value->name == 'Fatturazione Elettronica';
|
||||||
});
|
});
|
||||||
|
|
||||||
self::$directory = DOCROOT.'/'.$plugin->upload_directory;
|
self::$directory = DOCROOT.'/'.$plugin->upload_directory;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return self::$directory;
|
return self::$directory;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,12 +3,16 @@
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
use Plugins\ReceiptFE\Interaction;
|
use Plugins\ReceiptFE\Interaction;
|
||||||
|
use Plugins\ReceiptFE\ReceiptHook;
|
||||||
use Plugins\ReceiptFE\Ricevuta;
|
use Plugins\ReceiptFE\Ricevuta;
|
||||||
|
|
||||||
switch (filter('op')) {
|
switch (filter('op')) {
|
||||||
case 'import':
|
case 'import':
|
||||||
$list = Interaction::getReceiptList();
|
$list = Interaction::getReceiptList();
|
||||||
|
|
||||||
|
// Aggiornamento cache hook
|
||||||
|
ReceiptHook::update($list);
|
||||||
|
|
||||||
$results = [];
|
$results = [];
|
||||||
foreach ($list as $name) {
|
foreach ($list as $name) {
|
||||||
Interaction::getReceipt($name);
|
Interaction::getReceipt($name);
|
||||||
|
|
|
@ -66,6 +66,14 @@ class Hook extends Model
|
||||||
} else {
|
} else {
|
||||||
$results = $hook->manage();
|
$results = $hook->manage();
|
||||||
|
|
||||||
|
$this->updateCache($results);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $hook->response($results);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateCache($results)
|
||||||
|
{
|
||||||
// Rimozione cache precedente
|
// Rimozione cache precedente
|
||||||
$database = database();
|
$database = database();
|
||||||
$database->delete('zz_hook_cache', [
|
$database->delete('zz_hook_cache', [
|
||||||
|
@ -83,9 +91,6 @@ class Hook extends Model
|
||||||
$this->getCacheAttribute();
|
$this->getCacheAttribute();
|
||||||
}
|
}
|
||||||
|
|
||||||
return $hook->response($results);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getCacheAttribute()
|
public function getCacheAttribute()
|
||||||
{
|
{
|
||||||
if (!isset($this->cached)) {
|
if (!isset($this->cached)) {
|
||||||
|
|
Loading…
Reference in New Issue