Miglioramento hook

This commit is contained in:
Thomas Zilio 2019-05-10 08:14:34 -07:00
parent 19564d5955
commit 239748f803
8 changed files with 80 additions and 46 deletions

View File

@ -65,16 +65,16 @@ if (Auth::check()) {
hooks = JSON.parse(data); hooks = JSON.parse(data);
hooks.forEach(function(item, index){ hooks.forEach(function(item, index){
executeHook(item); executeHook(item, hooks.length);
}); });
}, },
}); });
}); });
function executeHook(hook){ function executeHook(hook, length){
$("#hooks").append("<li id=\"hook-loader-" + hook.id + "\"><a href=\"#\">'.tr('Hook _NAME_ in esecuzione', [ $("#hooks").append(\'<li id="hook-loader-\' + hook.id + \'"><a href="#">'.tr('Hook "_NAME_" in esecuzione', [
'_NAME_' => '\"" + hook.name + "\"', '_NAME_' => '\' + hook.name + \'',
]).'</a></li>"); ]).'</a></li>\');
$.ajax({ $.ajax({
url: globals.rootdir + "/ajax.php", url: globals.rootdir + "/ajax.php",
@ -87,14 +87,24 @@ if (Auth::check()) {
result = JSON.parse(data); result = JSON.parse(data);
$("#hook-loader-" + hook.id).remove(); $("#hook-loader-" + hook.id).remove();
$("#hooks").append("<li><a href=\"#\"><i class=\"" + result.icon + "\"></i> " + result.message + "</a></li>"); message = \'<li class="hook-element"><a href="\' + (result.link ? result.link : "#") + \'"><i class="\' + result.icon + \'"></i> \' + result.message + \'</a></li>\';
$("#hook-header").hide();
// Inserimento della notifica
if(result.notify) { if(result.notify) {
number = parseInt($("#hook-count").text()); hooks_count = $("#hooks-count");
number = parseInt(hooks_count.text());
number = isNaN(number) ? 0 : number; number = isNaN(number) ? 0 : number;
$("#hook-count").text(parseInt(number) + 1); hooks_count.text(parseInt(number) + 1);
$("#hooks").prepend(message);
} else {
$("#hooks").append(message);
}
// Rimozione eventuale della rotella di caricamento
if($(".hook-element").length == hooks.length) {
$("#hooks-loading").hide();
} }
}, },
}); });

View File

@ -225,10 +225,12 @@ if (Auth::check()) {
<li class="dropdown notifications-menu"> <li class="dropdown notifications-menu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-bell-o"></i> <i class="fa fa-bell-o"></i>
<span class="label label-warning" id="hook-count"></span> <span class="label label-warning">
<span id="hooks-loading"><i class="fa fa-spinner fa-spin"></i></span>
<span id="hooks-count"></span>
</span>
</a> </a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li class="header" id="hook-header">'.tr('Caricamento in corso').'</li>
<li><ul class="menu" id="hooks"> <li><ul class="menu" id="hooks">
</ul></li> </ul></li>

View File

@ -37,7 +37,7 @@ if (!empty($list)) {
} }
echo ' echo '
<button type="button" class="btn btn-warning" '.((!extension_loaded('ssl') and strpos($element, 'p7m') !== false) ? 'disabled':'').' onclick="download(this, \''.$element.'\')"> <button type="button" class="btn btn-warning" '.((!extension_loaded('ssl') and strpos($element, 'p7m') !== false) ? 'disabled' : '').' onclick="download(this, \''.$element.'\')">
<i class="fa fa-download"></i> '.tr('Importa').' <i class="fa fa-download"></i> '.tr('Importa').'
</button> </button>
</td> </td>

View File

@ -37,7 +37,7 @@ echo '
<div class="row" > <div class="row" >
<div class="col-md-6"> <div class="col-md-6">
<h4>'. <h4>'.
$ragione_sociale.' '.( (empty($idanagrafica = $dbo->fetchOne('SELECT idanagrafica FROM an_anagrafiche WHERE ( codice_fiscale = '.prepare($codice_fiscale).' AND codice_fiscale != \'\' ) OR ( piva = '.prepare($partita_iva).' AND piva != \'\' ) ')['idanagrafica'])) ? '<span class="badge badge-success" >'.tr('Nuova').'</span>' : '<small>'.Modules::link('Anagrafiche', $idanagrafica, '', null, '')).'</small>'.'<br> $ragione_sociale.' '.((empty($idanagrafica = $dbo->fetchOne('SELECT idanagrafica FROM an_anagrafiche WHERE ( codice_fiscale = '.prepare($codice_fiscale).' AND codice_fiscale != \'\' ) OR ( piva = '.prepare($partita_iva).' AND piva != \'\' ) ')['idanagrafica'])) ? '<span class="badge badge-success" >'.tr('Nuova').'</span>' : '<small>'.Modules::link('Anagrafiche', $idanagrafica, '', null, '')).'</small>'.'<br>
<small> <small>
'.(!empty($codice_fiscale) ? (tr('Codice Fiscale').': '.$codice_fiscale.'<br>') : '').' '.(!empty($codice_fiscale) ? (tr('Codice Fiscale').': '.$codice_fiscale.'<br>') : '').'
'.(!empty($partita_iva) ? (tr('Partita IVA').': '.$partita_iva.'<br>') : '').' '.(!empty($partita_iva) ? (tr('Partita IVA').': '.$partita_iva.'<br>') : '').'
@ -168,41 +168,37 @@ if (!empty($righe)) {
} }
$query .= ' ORDER BY descrizione ASC'; $query .= ' ORDER BY descrizione ASC';
/*Visualizzo codici articoli*/ /*Visualizzo codici articoli*/
$codici_articoli = ''; $codici_articoli = '';
//caso di un solo codice articolo //caso di un solo codice articolo
if (isset($riga['CodiceArticolo']) and empty($riga['CodiceArticolo'][0]['CodiceValore'])){ if (isset($riga['CodiceArticolo']) and empty($riga['CodiceArticolo'][0]['CodiceValore'])) {
$riga['CodiceArticolo'][0]['CodiceValore'] = $riga['CodiceArticolo']['CodiceValore'];
$riga['CodiceArticolo'][0]['CodiceValore'] = $riga['CodiceArticolo']['CodiceValore']; $riga['CodiceArticolo'][0]['CodiceTipo'] = $riga['CodiceArticolo']['CodiceTipo'];
$riga['CodiceArticolo'][0]['CodiceTipo'] = $riga['CodiceArticolo']['CodiceTipo']; }
foreach ($riga['CodiceArticolo'] as $key => $item) {
} foreach ($item as $key => $name) {
if ($key == 'CodiceValore') {
foreach ($riga['CodiceArticolo'] as $key => $item) { if (!empty($item['CodiceValore'])) {
foreach($item as $key => $name){ $codici_articoli .= '<small>'.$item['CodiceValore'].' ('.$item['CodiceTipo'].')</small>';
if($key == 'CodiceValore'){
if (!empty($item['CodiceValore'])){ if (($item['CodiceValore'] != end($riga['CodiceArticolo'][(count($riga['CodiceArticolo']) - 1)])) and (is_array($riga['CodiceArticolo'][1]))) {
$codici_articoli .= '<small>'.$item['CodiceValore'].' ('.$item['CodiceTipo'].')</small>'; $codici_articoli .= ', ';
}
if ( ($item['CodiceValore'] != end($riga['CodiceArticolo'][(count($riga['CodiceArticolo'])-1)])) AND (is_array($riga['CodiceArticolo'][1]))){ }
$codici_articoli .= ', '; }
} }
} }
} /*###*/
}
}
/*###*/
echo ' echo '
<tr> <tr>
<td> <td>
'.$riga['Descrizione'].'<br> '.$riga['Descrizione'].'<br>
'.(($codici_articoli!='') ? $codici_articoli.'<br>' : '').' '.(($codici_articoli != '') ? $codici_articoli.'<br>' : '').'
<small>'.tr('Q.: _QTA_ _UM_', [ <small>'.tr('Q.: _QTA_ _UM_', [
'_QTA_' => Translator::numberToLocale($riga['Quantita']), '_QTA_' => Translator::numberToLocale($riga['Quantita']),

View File

@ -70,7 +70,7 @@ class FatturaElettronica
$module = Modules::get('Fatture di acquisto'); $module = Modules::get('Fatture di acquisto');
$plugin = $module->plugins->first(function ($value, $key) { $plugin = $module->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;

View File

@ -3,6 +3,7 @@
namespace Plugins\ImportFE; namespace Plugins\ImportFE;
use Common\HookManager; use Common\HookManager;
use Modules;
class InvoiceHook extends HookManager class InvoiceHook extends HookManager
{ {
@ -17,8 +18,16 @@ class InvoiceHook extends HookManager
{ {
$count = count($results); $count = count($results);
$module = Modules::get('Fatture di acquisto');
$plugin = $module->plugins->first(function ($value, $key) {
return $value->name == 'Fatturazione Elettronica';
});
$link = ROOTDIR.'/controller.php?id_module='.$module->id.'#tab_'.$plugin->id;
return [ return [
'icon' => 'fa fa-file-text-o ', 'icon' => 'fa fa-file-text-o',
'link' => $link,
'message' => tr('Ci sono _NUM_ fatture remote da importare', [ 'message' => tr('Ci sono _NUM_ fatture remote da importare', [
'_NUM_' => $count, '_NUM_' => $count,
]), ]),

View File

@ -3,6 +3,7 @@
namespace Plugins\ReceiptFE; namespace Plugins\ReceiptFE;
use Common\HookManager; use Common\HookManager;
use Modules;
class ReceiptHook extends HookManager class ReceiptHook extends HookManager
{ {
@ -17,8 +18,16 @@ class ReceiptHook extends HookManager
{ {
$count = count($results); $count = count($results);
$module = Modules::get('Fatture di vendita');
$plugin = $module->plugins->first(function ($value, $key) {
return $value->name == 'Ricevute FE';
});
$link = ROOTDIR.'/controller.php?id_module='.$module->id.'#tab_'.$plugin->id;
return [ return [
'icon' => 'fa fa-dot-circle-o', 'icon' => 'fa fa-dot-circle-o',
'link' => $link,
'message' => tr('Ci sono _NUM_ ricevute da importare', [ 'message' => tr('Ci sono _NUM_ ricevute da importare', [
'_NUM_' => $count, '_NUM_' => $count,
]), ]),

View File

@ -46,12 +46,20 @@ class Hook extends Model
if ($this->is_cached) { if ($this->is_cached) {
$results = $this->cache['results']; $results = $this->cache['results'];
// Interpretazione della cache
$results = json_decode($results, true); $results = json_decode($results, true);
} else { } else {
$results = $hook->manage(); $results = $hook->manage();
// Rimozione cache precedente
$database = database();
$database->delete('zz_hook_cache', [
'hook_id' => $this->id,
]);
// Aggiunta del risultato come cache
$cache = json_encode($results); $cache = json_encode($results);
database()->insert('zz_hook_cache', [ $database->insert('zz_hook_cache', [
'hook_id' => $this->id, 'hook_id' => $this->id,
'results' => $cache, 'results' => $cache,
]); ]);