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.forEach(function(item, index){
executeHook(item);
executeHook(item, hooks.length);
});
},
});
});
function executeHook(hook){
$("#hooks").append("<li id=\"hook-loader-" + hook.id + "\"><a href=\"#\">'.tr('Hook _NAME_ in esecuzione', [
'_NAME_' => '\"" + hook.name + "\"',
]).'</a></li>");
function executeHook(hook, length){
$("#hooks").append(\'<li id="hook-loader-\' + hook.id + \'"><a href="#">'.tr('Hook "_NAME_" in esecuzione', [
'_NAME_' => '\' + hook.name + \'',
]).'</a></li>\');
$.ajax({
url: globals.rootdir + "/ajax.php",
@ -87,14 +87,24 @@ if (Auth::check()) {
result = JSON.parse(data);
$("#hook-loader-" + hook.id).remove();
$("#hooks").append("<li><a href=\"#\"><i class=\"" + result.icon + "\"></i> " + result.message + "</a></li>");
$("#hook-header").hide();
message = \'<li class="hook-element"><a href="\' + (result.link ? result.link : "#") + \'"><i class="\' + result.icon + \'"></i> \' + result.message + \'</a></li>\';
// Inserimento della notifica
if(result.notify) {
number = parseInt($("#hook-count").text());
hooks_count = $("#hooks-count");
number = parseInt(hooks_count.text());
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">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<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>
<ul class="dropdown-menu">
<li class="header" id="hook-header">'.tr('Caricamento in corso').'</li>
<li><ul class="menu" id="hooks">
</ul></li>

View File

@ -37,7 +37,7 @@ if (!empty($list)) {
}
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').'
</button>
</td>

View File

@ -37,7 +37,7 @@ echo '
<div class="row" >
<div class="col-md-6">
<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>
'.(!empty($codice_fiscale) ? (tr('Codice Fiscale').': '.$codice_fiscale.'<br>') : '').'
'.(!empty($partita_iva) ? (tr('Partita IVA').': '.$partita_iva.'<br>') : '').'
@ -168,41 +168,37 @@ if (!empty($righe)) {
}
$query .= ' ORDER BY descrizione ASC';
/*Visualizzo codici articoli*/
$codici_articoli = '';
//caso di un solo codice articolo
if (isset($riga['CodiceArticolo']) and empty($riga['CodiceArticolo'][0]['CodiceValore'])){
$riga['CodiceArticolo'][0]['CodiceValore'] = $riga['CodiceArticolo']['CodiceValore'];
$riga['CodiceArticolo'][0]['CodiceTipo'] = $riga['CodiceArticolo']['CodiceTipo'];
}
foreach ($riga['CodiceArticolo'] as $key => $item) {
foreach($item as $key => $name){
if($key == 'CodiceValore'){
if (!empty($item['CodiceValore'])){
$codici_articoli .= '<small>'.$item['CodiceValore'].' ('.$item['CodiceTipo'].')</small>';
if ( ($item['CodiceValore'] != end($riga['CodiceArticolo'][(count($riga['CodiceArticolo'])-1)])) AND (is_array($riga['CodiceArticolo'][1]))){
$codici_articoli .= ', ';
}
}
}
}
}
/*###*/
/*Visualizzo codici articoli*/
$codici_articoli = '';
//caso di un solo codice articolo
if (isset($riga['CodiceArticolo']) and empty($riga['CodiceArticolo'][0]['CodiceValore'])) {
$riga['CodiceArticolo'][0]['CodiceValore'] = $riga['CodiceArticolo']['CodiceValore'];
$riga['CodiceArticolo'][0]['CodiceTipo'] = $riga['CodiceArticolo']['CodiceTipo'];
}
foreach ($riga['CodiceArticolo'] as $key => $item) {
foreach ($item as $key => $name) {
if ($key == 'CodiceValore') {
if (!empty($item['CodiceValore'])) {
$codici_articoli .= '<small>'.$item['CodiceValore'].' ('.$item['CodiceTipo'].')</small>';
if (($item['CodiceValore'] != end($riga['CodiceArticolo'][(count($riga['CodiceArticolo']) - 1)])) and (is_array($riga['CodiceArticolo'][1]))) {
$codici_articoli .= ', ';
}
}
}
}
}
/*###*/
echo '
<tr>
<td>
'.$riga['Descrizione'].'<br>
'.(($codici_articoli!='') ? $codici_articoli.'<br>' : '').'
'.(($codici_articoli != '') ? $codici_articoli.'<br>' : '').'
<small>'.tr('Q.: _QTA_ _UM_', [
'_QTA_' => Translator::numberToLocale($riga['Quantita']),

View File

@ -70,7 +70,7 @@ class FatturaElettronica
$module = Modules::get('Fatture di acquisto');
$plugin = $module->plugins->first(function ($value, $key) {
return $value->name = 'Fatturazione Elettronica';
return $value->name == 'Fatturazione Elettronica';
});
self::$directory = DOCROOT.'/'.$plugin->upload_directory;

View File

@ -3,6 +3,7 @@
namespace Plugins\ImportFE;
use Common\HookManager;
use Modules;
class InvoiceHook extends HookManager
{
@ -17,8 +18,16 @@ class InvoiceHook extends HookManager
{
$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 [
'icon' => 'fa fa-file-text-o ',
'icon' => 'fa fa-file-text-o',
'link' => $link,
'message' => tr('Ci sono _NUM_ fatture remote da importare', [
'_NUM_' => $count,
]),

View File

@ -3,6 +3,7 @@
namespace Plugins\ReceiptFE;
use Common\HookManager;
use Modules;
class ReceiptHook extends HookManager
{
@ -17,8 +18,16 @@ class ReceiptHook extends HookManager
{
$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 [
'icon' => 'fa fa-dot-circle-o',
'link' => $link,
'message' => tr('Ci sono _NUM_ ricevute da importare', [
'_NUM_' => $count,
]),

View File

@ -46,12 +46,20 @@ class Hook extends Model
if ($this->is_cached) {
$results = $this->cache['results'];
// Interpretazione della cache
$results = json_decode($results, true);
} else {
$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);
database()->insert('zz_hook_cache', [
$database->insert('zz_hook_cache', [
'hook_id' => $this->id,
'results' => $cache,
]);