Compare commits
18 Commits
b50cc81efd
...
dfc01a9901
Author | SHA1 | Date |
---|---|---|
|
dfc01a9901 | |
|
4526e03c2f | |
|
198c811ca2 | |
|
e878389e8f | |
|
4f7143a00e | |
|
ba24c716fd | |
|
7e6e0c2da8 | |
|
e1a482ac3f | |
|
28d0918abe | |
|
0826bad471 | |
|
7430959edd | |
|
6fbb22f87f | |
|
caf42e56d2 | |
|
9bc0bea386 | |
|
5da299d04a | |
|
391808f57b | |
|
d09d7eefac | |
|
fe53d09151 |
|
@ -1634,6 +1634,13 @@ body:not(.sidebar-collapse) .sidebar .nav-treeview .nav-treeview .nav-link {
|
|||
display:none !important;
|
||||
}
|
||||
|
||||
/** Fix per stile tema bootstrap-datetimepicker **/
|
||||
.bootstrap-datetimepicker-widget table td,
|
||||
.bootstrap-datetimepicker-widget table th{
|
||||
padding: 0 !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
.navbar-left {
|
||||
display: inline-block;
|
||||
|
|
|
@ -386,10 +386,10 @@ if (empty($record) || !$has_access) {
|
|||
<div>
|
||||
<i class="fa fa-'.$icon.' bg-'.$color.'"></i>
|
||||
<div class="timeline-item">
|
||||
<span class="time"><i class="fa fa-clock-o"></i> '.Carbon::parse($operation['created_at'])->diffForHumans().'</small></span>
|
||||
<span class="time"><i class="fa fa-clock-o"></i> '.Carbon::parse($operation['created_at'])->diffForHumans().'</span>
|
||||
<h4 class="timeline-header">'.$description.'</h4>
|
||||
<div class="timeline-body">
|
||||
<span class="badge badge-default"><i class="fa fa-user"></i> '.$operation['username'].'
|
||||
<span class="badge badge-default"><i class="fa fa-user"></i> '.$operation['username'].'</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>';
|
||||
|
@ -397,17 +397,16 @@ if (empty($record) || !$has_access) {
|
|||
echo '
|
||||
<div>
|
||||
<i class="fa fa-clock-o bg-gray"></i>
|
||||
</div>
|
||||
</div>';
|
||||
</div>';
|
||||
} else {
|
||||
echo '
|
||||
<div class="alert alert-info">
|
||||
<i class="fa fa-info-circle"></i>
|
||||
<b>'.tr('Informazione:').'</b> '.tr('Nessun log disponibile per questa scheda').'.
|
||||
</div>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
|
|
|
@ -111,10 +111,12 @@ switch (post('op')) {
|
|||
// Modifica articolo
|
||||
case 'update':
|
||||
$qta = post('qta');
|
||||
$codice = post('codice');
|
||||
$descrizione = post('descrizione');
|
||||
|
||||
// Inserisco l'articolo e avviso se esiste un altro articolo con stesso codice.
|
||||
$numero_codice = Articolo::where([
|
||||
['codice', $value],
|
||||
['codice', $codice],
|
||||
['id', '<>', $id_record],
|
||||
])->count();
|
||||
if ($numero_codice > 0) {
|
||||
|
|
|
@ -121,17 +121,41 @@ switch (post('op')) {
|
|||
|
||||
case 'delete-bulk':
|
||||
foreach ($id_records as $id) {
|
||||
$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id` FROM `co_documenti` INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id` WHERE `co_righe_documenti`.`idarticolo` = '.prepare($id).'
|
||||
|
||||
UNION SELECT `dt_ddt`.`id` FROM `dt_ddt` INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id` WHERE `dt_righe_ddt`.`idarticolo` = '.prepare($id).')
|
||||
|
||||
UNION SELECT `or_ordini`.`id` FROM `or_ordini` INNER JOIN `or_righe_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` WHERE `or_righe_ordini`.`idarticolo` = '.prepare($id).')
|
||||
|
||||
UNION SELECT `co_contratti`.`id` FROM `co_contratti` INNER JOIN `co_righe_contratti` ON `co_righe_contratti`.`idcontratto` = `co_contratti`.`id` WHERE `co_righe_contratti`.`idarticolo` = '.prepare($id).')
|
||||
|
||||
UNION SELECT `co_preventivi`.`id` FROM `co_preventivi` INNER JOIN `co_righe_preventivi` ON `co_righe_preventivi`.`idpreventivo` = `co_preventivi`.`id` WHERE `co_righe_preventivi`.`idarticolo` = '.prepare($id).')
|
||||
|
||||
UNION SELECT `in_interventi`.`id` FROM `in_interventi` INNER JOIN `in_righe_interventi` ON `in_righe_interventi`.`idintervento` = `in_interventi`.`id` WHERE `in_righe_interventi`.`idarticolo` = '.prepare($id).')');
|
||||
$elementi = $dbo->fetchArray('
|
||||
SELECT `co_documenti`.`id` FROM `co_documenti`
|
||||
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
|
||||
WHERE `co_righe_documenti`.`idarticolo` = '.prepare($id).'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT `dt_ddt`.`id` FROM `dt_ddt`
|
||||
INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idddt` = `dt_ddt`.`id`
|
||||
WHERE `dt_righe_ddt`.`idarticolo` = '.prepare($id).'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT `or_ordini`.`id` FROM `or_ordini`
|
||||
INNER JOIN `or_righe_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id`
|
||||
WHERE `or_righe_ordini`.`idarticolo` = '.prepare($id).'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT `co_contratti`.`id` FROM `co_contratti`
|
||||
INNER JOIN `co_righe_contratti` ON `co_righe_contratti`.`idcontratto` = `co_contratti`.`id`
|
||||
WHERE `co_righe_contratti`.`idarticolo` = '.prepare($id).'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT `co_preventivi`.`id` FROM `co_preventivi`
|
||||
INNER JOIN `co_righe_preventivi` ON `co_righe_preventivi`.`idpreventivo` = `co_preventivi`.`id`
|
||||
WHERE `co_righe_preventivi`.`idarticolo` = '.prepare($id).'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT `in_interventi`.`id` FROM `in_interventi`
|
||||
INNER JOIN `in_righe_interventi` ON `in_righe_interventi`.`idintervento` = `in_interventi`.`id`
|
||||
WHERE `in_righe_interventi`.`idarticolo` = '.prepare($id)
|
||||
);
|
||||
|
||||
if (!empty($elementi)) {
|
||||
$dbo->query('UPDATE `mg_articoli` SET `deleted_at` = NOW() WHERE `id` = '.prepare($id).Modules::getAdditionalsQuery($id_module));
|
||||
|
|
|
@ -73,13 +73,15 @@ switch (filter('op')) {
|
|||
|
||||
$database->delete('mg_articolo_attributo', ['id_articolo' => $id_articolo]);
|
||||
$database->update('mg_articoli', ['id_combinazione' => null], ['id' => $id_articolo]);
|
||||
Modules\Articoli\Articolo::find($id_articolo)->delete();
|
||||
|
||||
flash()->info(tr('Variante rimossa correttamente!'));
|
||||
|
||||
break;
|
||||
|
||||
case 'genera-varianti':
|
||||
$combinazione->generaTutto();
|
||||
$nome_articolo = $combinazione->getTranslation('title');
|
||||
$combinazione->generaTutto($nome_articolo);
|
||||
|
||||
flash()->info(tr('Varianti generate correttamente!'));
|
||||
|
||||
|
|
|
@ -87,7 +87,7 @@ class Combinazione extends Model
|
|||
/**
|
||||
* Metodo per generare dinamicamente una variante dell'articolo per la combinazione corrente.
|
||||
*/
|
||||
public function generaVariante($valori_attributi, $id_articolo = null)
|
||||
public function generaVariante($valori_attributi, $id_articolo = null, $nome_articolo = null)
|
||||
{
|
||||
$database = database();
|
||||
|
||||
|
@ -100,6 +100,7 @@ class Combinazione extends Model
|
|||
if ($articoli->isEmpty()) {
|
||||
$articolo = Articolo::build($this->codice);
|
||||
$articolo->id_combinazione = $this->id;
|
||||
$articolo->name = $nome_articolo;
|
||||
|
||||
$articolo->id_categoria = $this->id_categoria;
|
||||
$articolo->id_sottocategoria = $this->id_sottocategoria;
|
||||
|
@ -120,8 +121,8 @@ class Combinazione extends Model
|
|||
$articolo->save();
|
||||
}
|
||||
}
|
||||
$database->query("INSERT INTO `mg_articoli_lang` (`id_record`, `id_lang`, `title`) VALUES ('".$articolo->id."', ".\Models\Locale::getDefault()->id.", '".implode("', '", $variante)."')");
|
||||
$articolo->codice = $this->codice.'-'.implode('|', $variante);
|
||||
$database->query("INSERT INTO `mg_articoli_lang` (`id_record`, `id_lang`, `title`) VALUES ('".$articolo->id."', ".\Models\Locale::getDefault()->id.", '".$nome_articolo."')");
|
||||
$articolo->codice = $this->codice.' - '.implode('|', $variante);
|
||||
$articolo->save();
|
||||
}
|
||||
|
||||
|
@ -144,7 +145,7 @@ class Combinazione extends Model
|
|||
/**
|
||||
* Metodo per la generazione di tutte le varianti disponibili per la combinazione corrente.
|
||||
*/
|
||||
public function generaTutto()
|
||||
public function generaTutto($nome_articolo = null)
|
||||
{
|
||||
if ($this->articoli()->count() !== 0) {
|
||||
return;
|
||||
|
@ -162,7 +163,7 @@ class Combinazione extends Model
|
|||
|
||||
// Generazione delle singole varianti
|
||||
foreach ($varianti as $variante) {
|
||||
$this->generaVariante($variante);
|
||||
$this->generaVariante($variante, null, $nome_articolo);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -217,9 +218,10 @@ class Combinazione extends Model
|
|||
// Filtro campi combinazioni
|
||||
$combo = collect($values)->filter(fn ($value, $key) => in_array($key, self::$campi_combinazione));
|
||||
|
||||
// Aggiornamento dati combinazioni
|
||||
database()->table('mg_combinazioni')
|
||||
->where('id', $this->id)
|
||||
->update($combo->toArray());
|
||||
foreach ($combo as $key => $value) {
|
||||
if (!empty($value)) {
|
||||
database()->query('UPDATE mg_combinazioni SET '.$key.' = ? WHERE id = ?', [$value, $this->id]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -181,7 +181,7 @@ if ($dir == 'entrata' && $fattura->stato->id == $id_stato_bozza) {
|
|||
if (($assicurazione_crediti->totale + $fattura->totale) >= $assicurazione_crediti->fido_assicurato) {
|
||||
echo '
|
||||
<div class="alert alert-warning text-center">
|
||||
<i class="fa fa-exclamation-triangle"></i> '.tr('Attenzone! Il fido assicurato per questo cliente è stato superato!').'<br>('.moneyFormat($assicurazione_crediti->totale + $fattura->totale, 2).' / '.moneyFormat($assicurazione_crediti->fido_assicurato, 2).')
|
||||
<i class="fa fa-exclamation-triangle"></i> '.tr('Attenzione! Il fido assicurato per questo cliente è stato superato!').'<br>('.moneyFormat($assicurazione_crediti->totale + $fattura->totale, 2).' / '.moneyFormat($assicurazione_crediti->fido_assicurato, 2).')
|
||||
'.Plugins::link('Assicurazione crediti', $fattura->idanagrafica).'
|
||||
</div>';
|
||||
}
|
||||
|
|
|
@ -19,11 +19,6 @@
|
|||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
echo '
|
||||
<button type="button" class="btn btn-primary" onclick="if( confirm(\'Duplicare questo impianto?\') ){ $(\'#copia-impianto\').submit(); }"> <i class="fa fa-copy"></i> '.tr('Duplica impianto').'</button>
|
||||
|
||||
<button type="button" class="btn btn-primary" onclick="if( confirm(\'Confermando, tutte le checklist della categoria verranno importate in questo impianto. Continuare?\') ){ $(\'#check-impianto\').submit(); }"> <i class="fa fa-refresh"></i> '.tr('Importa checklist categoria').'</button>';
|
||||
|
||||
// Duplica impianto
|
||||
echo '
|
||||
<form action="" method="post" id="copia-impianto">
|
||||
|
@ -37,4 +32,8 @@ echo '
|
|||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="op" value="sync_checklist">
|
||||
<input type="hidden" name="id_categoria" value="'.$record['id_categoria'].'">
|
||||
</form>';
|
||||
</form>
|
||||
|
||||
<button type="button" class="btn btn-primary" onclick="if( confirm(\'Duplicare questo impianto?\') ){ $(\'#copia-impianto\').submit(); }"> <i class="fa fa-copy"></i> '.tr('Duplica impianto').'</button>
|
||||
|
||||
<button type="button" class="btn btn-primary" onclick="if( confirm(\'Confermando, tutte le checklist della categoria verranno importate in questo impianto. Continuare?\') ){ $(\'#check-impianto\').submit(); }"> <i class="fa fa-refresh"></i> '.tr('Importa checklist categoria').'</button>';
|
||||
|
|
|
@ -118,7 +118,7 @@ if (!empty($documento)) {
|
|||
<td>';
|
||||
echo input([
|
||||
'type' => 'ckeditor',
|
||||
'label' => tr('descrizione'),
|
||||
'label' => tr('Descrizione'),
|
||||
'name' => 'descrizione',
|
||||
'required' => 1,
|
||||
'extra' => 'rows="2"',
|
||||
|
@ -175,7 +175,7 @@ echo '
|
|||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<table class="table table-hover table-condensed table-bordered text-center">
|
||||
<table class="table table-hover table-condensed table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:17%;">'.tr('Banca accredito').'</th>
|
||||
|
@ -209,7 +209,7 @@ foreach ($scadenze as $i => $scadenza) {
|
|||
echo '
|
||||
<tr class="'.$class.'">
|
||||
<input type="hidden" name="id_scadenza['.$i.']" value="'.$scadenza['id'].'">
|
||||
<td align="center">
|
||||
<td>
|
||||
'.($dir == 'entrata' ?
|
||||
'{[ "type": "select", "name": "id_banca_azienda['.$i.']", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "'.$scadenza['id_banca_azienda'].'", "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'" ]}'
|
||||
:
|
||||
|
@ -217,7 +217,7 @@ foreach ($scadenze as $i => $scadenza) {
|
|||
').'
|
||||
</td>
|
||||
|
||||
<td align="center">
|
||||
<td>
|
||||
'.($dir == 'entrata' ?
|
||||
'{[ "type": "select", "name": "id_banca_controparte['.$i.']", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "value": "'.$scadenza['id_banca_controparte'].'", "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'"]}'
|
||||
:
|
||||
|
@ -229,11 +229,11 @@ foreach ($scadenze as $i => $scadenza) {
|
|||
{[ "type": "select", "name": "id_pagamento['.$i.']", "values": "query=SELECT `co_pagamenti`.`id`, `fe_modalita_pagamento_lang`.`title` as descrizione FROM `fe_modalita_pagamento` LEFT JOIN `fe_modalita_pagamento_lang` ON (`fe_modalita_pagamento_lang`.`id_record` = `fe_modalita_pagamento`.`codice` AND `fe_modalita_pagamento_lang`.`id_lang` = '.Models\Locale::getDefault()->id.') INNER JOIN `co_pagamenti` ON `fe_modalita_pagamento`.`codice` = `co_pagamenti`.`codice_modalita_pagamento_fe` GROUP BY title", "value": "'.$pagamento.'" ]}
|
||||
</td>
|
||||
|
||||
<td align="center">
|
||||
<td>
|
||||
{[ "type": "date", "name": "scadenza['.$i.']", "value": "'.$scadenza['scadenza'].'", "readonly": 1 ]}
|
||||
</td>
|
||||
|
||||
<td align="center">
|
||||
<td>
|
||||
{[ "type": "date", "name": "data_concordata['.$i.']", "value": "'.$scadenza['data_concordata'].'" ]}
|
||||
</td>
|
||||
|
||||
|
@ -245,7 +245,7 @@ foreach ($scadenze as $i => $scadenza) {
|
|||
{[ "type": "number", "name": "pagato['.$i.']", "decimals": 2, "value": "'.numberFormat($scadenza['pagato']).'" ]}
|
||||
</td>
|
||||
|
||||
<td align="center">
|
||||
<td>
|
||||
<a onclick="launch_modal(\''.tr('Registra contabile pagamento').'\', \''.base_path().'/add.php?id_module='.$id_modulo_prima_nota.'&id_scadenze='.$scadenza['id'].'\');" class="btn btn-sm btn-primary">
|
||||
<i class="fa fa-euro"></i> '.($dir == 'entrata' ? tr('Incassa') : tr('Paga')).'
|
||||
</a>
|
||||
|
@ -301,14 +301,14 @@ echo '
|
|||
<tbody id="scadenza-template">
|
||||
<tr class="danger">
|
||||
<input type="hidden" name="id_scadenza[-id-]" value="">
|
||||
<td align="center">
|
||||
<td>
|
||||
'.($dir == 'entrata' ?
|
||||
'{[ "type": "select", "name": "id_banca_azienda[-id-]", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "icon-after": "add|'.$id_modulo_banche.'|id_anagrafica='.$anagrafica_azienda->id.'" ]}'
|
||||
:
|
||||
'{[ "type": "select", "name": "id_banca_controparte[-id-]", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).', "icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'"]}
|
||||
').'
|
||||
</td>
|
||||
<td align="center">
|
||||
<td>
|
||||
'.($dir == 'entrata' ?
|
||||
'{[ "type": "select", "name": "id_banca_controparte[-id-]", "ajax-source": "banche", "select-options":'.json_encode(['id_anagrafica' => $scadenza['idanagrafica']]).',"icon-after": "add|'.$id_modulo_banche.'|idanagrafica='.$record['idanagrafica'].'"]}'
|
||||
:
|
||||
|
@ -320,11 +320,11 @@ echo '
|
|||
{[ "type": "select", "name": "id_pagamento[-id-]", "values": "query=SELECT `co_pagamenti`.`id`, `fe_modalita_pagamento_lang`.`title` as descrizione FROM `fe_modalita_pagamento` LEFT JOIN `fe_modalita_pagamento_lang` ON (`fe_modalita_pagamento_lang`.`id_record` = `fe_modalita_pagamento`.`codice` AND `fe_modalita_pagamento_lang`.`id_lang` = '.Models\Locale::getDefault()->id.') INNER JOIN `co_pagamenti` ON `fe_modalita_pagamento`.`codice` = `co_pagamenti`.`codice_modalita_pagamento_fe` GROUP BY title"]}
|
||||
</td>
|
||||
|
||||
<td align="center">
|
||||
<td>
|
||||
{[ "type": "date", "name": "scadenza[-id-]" ]}
|
||||
</td>
|
||||
|
||||
<td align="center">
|
||||
<td>
|
||||
{[ "type": "date", "name": "data_concordata[-id-]" ]}
|
||||
</td>
|
||||
|
||||
|
@ -336,7 +336,7 @@ echo '
|
|||
{[ "type": "number", "name": "pagato[-id-]", "decimals": 2 ]}
|
||||
</td>
|
||||
|
||||
<td align="center">
|
||||
<td>
|
||||
<a onclick="launch_modal(\''.tr('Registra contabile pagamento').'\', \''.base_path().'/add.php?id_module='.$id_modulo_prima_nota.'&id_scadenze=-id-\');" class="btn btn-sm btn-primary">
|
||||
<i class="fa fa-euro"></i> '.($dir == 'entrata' ? tr('Incassa') : tr('Paga')).'
|
||||
</a>
|
||||
|
|
|
@ -258,18 +258,29 @@ echo '
|
|||
const tr = $(trigger).closest("tr");
|
||||
const id_componente = tr.data("id");
|
||||
|
||||
if(confirm("'.tr('Vuoi sostituire questo componente?').'")) {
|
||||
swal({
|
||||
title: "'.tr('Vuoi sostituire questo componente?').'",
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonText: "'.tr('Sì').'"
|
||||
}).then(function () {
|
||||
redirect("'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=sostituisci&backto=record-edit&id_plugin='.$id_plugin.'&id_componente=" + id_componente + "&hash=tab_'.$structure->id.'");
|
||||
}
|
||||
}).catch(swal.noop);
|
||||
|
||||
}
|
||||
|
||||
function rimuoviComponente(trigger) {
|
||||
const tr = $(trigger).closest("tr");
|
||||
const id_componente = tr.data("id");
|
||||
|
||||
if(confirm("'.tr('Vuoi eliminare questo componente?').'")){
|
||||
swal({
|
||||
title: "'.tr('Vuoi eliminare questo componente?').'",
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonText: "'.tr('Sì').'"
|
||||
}).then(function () {
|
||||
redirect("'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=rimuovi&backto=record-edit&id_plugin='.$id_plugin.'&id_componente=" + id_componente + "&hash=tab_'.$structure->id.'");
|
||||
}
|
||||
}).catch(swal.noop);
|
||||
}
|
||||
|
||||
</script>';
|
||||
|
|
|
@ -102,7 +102,7 @@ if (!empty($elementi)) {
|
|||
'_NUM_' => count($elementi),
|
||||
]).'</h3>
|
||||
<div class="card-tools pull-right">
|
||||
<button type="button" class="btn btn-tool" data-widget="collapse"><i class="fa fa-plus"></i></button>
|
||||
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fa fa-plus"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
|
|
@ -4443,6 +4443,8 @@ class Validator
|
|||
'ò' => 'o',
|
||||
'ù' => 'u',
|
||||
'‐' => '-',
|
||||
'✓' => '-',
|
||||
'●' => '-',
|
||||
]);
|
||||
|
||||
return $string;
|
||||
|
|
|
@ -14,8 +14,6 @@ $(document).ready(function (){
|
|||
$("#link-tab_'.$id_plugin.'").addClass("disabled");
|
||||
})
|
||||
</script>';
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
echo '
|
||||
|
|
|
@ -470,29 +470,6 @@ ORDER BY
|
|||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'GROUP_CONCAT(\' \',`an_tipianagrafiche_lang`.`title`)' WHERE `zz_modules`.`name` = 'Anagrafiche' AND `zz_views`.`name` = 'Tipo';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'GROUP_CONCAT(\' \',`an_relazioni_lang`.`title`)' WHERE `zz_modules`.`name` = 'Anagrafiche' AND `zz_views`.`name` = 'color_title_Relazione';
|
||||
|
||||
-- Allineamento vista Articoli
|
||||
UPDATE `zz_modules` SET `options` = "
|
||||
SELECT
|
||||
|select|
|
||||
FROM
|
||||
`mg_articoli`
|
||||
LEFT JOIN `mg_articoli_lang` ON (`mg_articoli_lang`.`id_record` = `mg_articoli`.`id` AND `mg_articoli_lang`.|lang|)
|
||||
LEFT JOIN `an_anagrafiche` ON `mg_articoli`.`id_fornitore` = `an_anagrafiche`.`idanagrafica`
|
||||
LEFT JOIN `co_iva` ON `mg_articoli`.`idiva_vendita` = `co_iva`.`id`
|
||||
LEFT JOIN (SELECT SUM(`or_righe_ordini`.`qta` - `or_righe_ordini`.`qta_evasa`) AS qta_impegnata, `or_righe_ordini`.`idarticolo` FROM `or_righe_ordini` INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine` = `or_tipiordine`.`id` INNER JOIN `or_statiordine` ON `or_ordini`.`idstatoordine` = `or_statiordine`.`id` WHERE `or_tipiordine`.`dir` = 'entrata' AND `or_righe_ordini`.`confermato` = 1 AND `or_statiordine`.`impegnato` = 1 GROUP BY `idarticolo`) a ON `a`.`idarticolo` = `mg_articoli`.`id`
|
||||
LEFT JOIN (SELECT SUM(`or_righe_ordini`.`qta` - `or_righe_ordini`.`qta_evasa`) AS qta_ordinata, `or_righe_ordini`.`idarticolo` FROM `or_righe_ordini` INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine` = `or_tipiordine`.`id` INNER JOIN `or_statiordine` ON `or_ordini`.`idstatoordine` = `or_statiordine`.`id` WHERE `or_tipiordine`.`dir` = 'uscita' AND `or_righe_ordini`.`confermato` = 1 AND `or_statiordine`.`impegnato` = 1
|
||||
GROUP BY `idarticolo`) ordini_fornitore ON `ordini_fornitore`.`idarticolo` = `mg_articoli`.`id`
|
||||
LEFT JOIN `mg_categorie` ON `mg_articoli`.`id_categoria` = `mg_categorie`.`id`
|
||||
LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.|lang|)
|
||||
LEFT JOIN `mg_categorie` AS sottocategorie ON `mg_articoli`.`id_sottocategoria` = `sottocategorie`.`id`
|
||||
LEFT JOIN `mg_categorie_lang` AS sottocategorie_lang ON (`sottocategorie`.`id` = `sottocategorie_lang`.`id_record` AND `sottocategorie_lang`.|lang|)
|
||||
LEFT JOIN (SELECT `co_iva`.`percentuale` AS perc, `co_iva`.`id`, `zz_settings`.`nome` FROM `co_iva` INNER JOIN `zz_settings` ON `co_iva`.`id`=`zz_settings`.`valore`)AS iva ON `iva`.`nome`= 'Iva predefinita'
|
||||
WHERE
|
||||
1=1 AND(`mg_articoli`.`deleted_at`) IS NULL
|
||||
HAVING
|
||||
2=2
|
||||
ORDER BY
|
||||
`mg_articoli_lang`.`title`" WHERE `name` = 'Articoli';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`mg_articoli_lang`.`title`' WHERE `zz_modules`.`name` = 'Articoli' AND `zz_views`.`name` = 'Descrizione';
|
||||
|
||||
-- Allineamento vista Aspetto beni
|
||||
|
|
|
@ -83,4 +83,30 @@ INSERT INTO `zz_settings_lang` (`id_lang`, `id_record`, `title`, `help`) VALUES
|
|||
-- Fix plugin Ddt del cliente
|
||||
UPDATE `zz_plugins` SET `options` = '{ \"main_query\": [ { \"type\": \"table\", \"fields\": \"Numero, Data, Descrizione, Qtà\", \"query\": \"SELECT `dt_ddt`.`id`, (CASE WHEN `dt_tipiddt`.`dir` = \'entrata\' THEN (SELECT `id` FROM `zz_modules` WHERE `name` = \'Ddt in uscita\') ELSE (SELECT `id` FROM `zz_modules` WHERE `name` = \'Ddt in entrata\') END) AS _link_module_, `dt_ddt`.`id` AS _link_record_, IF(`dt_ddt`.`numero_esterno` = \'\', `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`) AS Numero, DATE_FORMAT(`dt_ddt`.`data`, \'%d/%m/%Y\') AS Data, `dt_righe_ddt`.`descrizione` AS `Descrizione`, REPLACE(REPLACE(REPLACE(FORMAT(`dt_righe_ddt`.`qta`, 2), \',\', \'#\'), \'.\', \',\'), \'#\', \'.\') AS `Qtà` FROM `dt_ddt` LEFT JOIN `dt_righe_ddt` ON `dt_ddt`.`id`=`dt_righe_ddt`.`idddt` JOIN `dt_tipiddt` ON `dt_ddt`.`idtipoddt` = `dt_tipiddt`.`id` WHERE `dt_ddt`.`idanagrafica`=|id_parent| ORDER BY `dt_ddt`.`id` DESC\"} ]}' WHERE `zz_plugins`.`name` = 'Ddt del cliente';
|
||||
|
||||
UPDATE `em_templates_lang` SET `body` = '<p>Spett.le {ragione_sociale},</p>\n\n<p>da un riscontro contabile, ci risulta che la fattura numero {numero} a Voi intestata, riporti il mancato pagamento delle seguenti rate:</p>\n\n<p>{scadenze_fatture_scadute}</p>\n\n<p>La sollecitiamo pertanto di provvedere quanto prima a regolarizzare la sua situazione contabile. A tal proposito, il pagamento potrà essere effettuato tramite {pagamento}.</p>\n\n<p>Se ha già provveduto al pagamento, ritenga nulla la presente.</p>\n\n<p> </p>\n\n<p>La ringraziamo e le porgiamo i nostri saluti.</p>' WHERE `em_templates_lang`.`title` = 'Sollecito di pagamento';
|
||||
UPDATE `em_templates_lang` SET `body` = '<p>Spett.le {ragione_sociale},</p>\n\n<p>da un riscontro contabile, ci risulta che la fattura numero {numero} a Voi intestata, riporti il mancato pagamento delle seguenti rate:</p>\n\n<p>{scadenze_fatture_scadute}</p>\n\n<p>La sollecitiamo pertanto di provvedere quanto prima a regolarizzare la sua situazione contabile. A tal proposito, il pagamento potrà essere effettuato tramite {pagamento}.</p>\n\n<p>Se ha già provveduto al pagamento, ritenga nulla la presente.</p>\n\n<p> </p>\n\n<p>La ringraziamo e le porgiamo i nostri saluti.</p>' WHERE `em_templates_lang`.`title` = 'Sollecito di pagamento';
|
||||
|
||||
-- Allineamento vista Articoli
|
||||
UPDATE `zz_modules` SET `options` = "
|
||||
SELECT
|
||||
|select|
|
||||
FROM
|
||||
`mg_articoli`
|
||||
LEFT JOIN `mg_articoli_lang` ON (`mg_articoli_lang`.`id_record` = `mg_articoli`.`id` AND `mg_articoli_lang`.|lang|)
|
||||
LEFT JOIN `an_anagrafiche` ON `mg_articoli`.`id_fornitore` = `an_anagrafiche`.`idanagrafica`
|
||||
LEFT JOIN `co_iva` ON `mg_articoli`.`idiva_vendita` = `co_iva`.`id`
|
||||
LEFT JOIN (SELECT SUM(`or_righe_ordini`.`qta` - `or_righe_ordini`.`qta_evasa`) AS qta_impegnata, `or_righe_ordini`.`idarticolo` FROM `or_righe_ordini` INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine` = `or_tipiordine`.`id` INNER JOIN `or_statiordine` ON `or_ordini`.`idstatoordine` = `or_statiordine`.`id` WHERE `or_tipiordine`.`dir` = 'entrata' AND `or_righe_ordini`.`confermato` = 1 AND `or_statiordine`.`impegnato` = 1 GROUP BY `idarticolo`) a ON `a`.`idarticolo` = `mg_articoli`.`id`
|
||||
LEFT JOIN (SELECT SUM(`or_righe_ordini`.`qta` - `or_righe_ordini`.`qta_evasa`) AS qta_ordinata, `or_righe_ordini`.`idarticolo` FROM `or_righe_ordini` INNER JOIN `or_ordini` ON `or_righe_ordini`.`idordine` = `or_ordini`.`id` INNER JOIN `or_tipiordine` ON `or_ordini`.`idtipoordine` = `or_tipiordine`.`id` INNER JOIN `or_statiordine` ON `or_ordini`.`idstatoordine` = `or_statiordine`.`id` WHERE `or_tipiordine`.`dir` = 'uscita' AND `or_righe_ordini`.`confermato` = 1 AND `or_statiordine`.`impegnato` = 1
|
||||
GROUP BY `idarticolo`) ordini_fornitore ON `ordini_fornitore`.`idarticolo` = `mg_articoli`.`id`
|
||||
LEFT JOIN `mg_categorie` ON `mg_articoli`.`id_categoria` = `mg_categorie`.`id`
|
||||
LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.|lang|)
|
||||
LEFT JOIN `mg_categorie` AS sottocategorie ON `mg_articoli`.`id_sottocategoria` = `sottocategorie`.`id`
|
||||
LEFT JOIN `mg_categorie_lang` AS sottocategorie_lang ON (`sottocategorie`.`id` = `sottocategorie_lang`.`id_record` AND `sottocategorie_lang`.|lang|)
|
||||
LEFT JOIN (SELECT `co_iva`.`percentuale` AS perc, `co_iva`.`id`, `zz_settings`.`nome` FROM `co_iva` INNER JOIN `zz_settings` ON `co_iva`.`id`=`zz_settings`.`valore`)AS iva ON `iva`.`nome`= 'Iva predefinita'
|
||||
WHERE
|
||||
1=1 AND(`mg_articoli`.`deleted_at`) IS NULL
|
||||
GROUP BY
|
||||
`mg_articoli`.`id`
|
||||
HAVING
|
||||
2=2
|
||||
ORDER BY
|
||||
`mg_articoli_lang`.`title`" WHERE `name` = 'Articoli';
|
Loading…
Reference in New Issue