Migliorie listini cliente e impostazione listino predefinito
This commit is contained in:
parent
513e17e33d
commit
2d2bf85710
|
@ -79,6 +79,11 @@ class Anagrafica extends Model
|
|||
$model->tipologie = $tipologie;
|
||||
$model->save();
|
||||
|
||||
if ($model->isTipo('Cliente') && setting('Listino cliente predefinito')) {
|
||||
$model->id_listino = setting('Listino cliente predefinito');
|
||||
$model->save();
|
||||
}
|
||||
|
||||
return $model;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
include_once __DIR__.'/../../../core.php';
|
||||
|
||||
$id_listino = filter('id_listino');
|
||||
$listino = $dbo->selectOne('mg_listini', '*', ['id' => $id_listino]);
|
||||
$search = filter('search') ? filter('search')['value'] : null;
|
||||
$start = filter('start');
|
||||
$length = filter('length');
|
||||
|
@ -23,17 +24,19 @@ foreach ($articoli as $articolo) {
|
|||
'<input class="check" type="checkbox" id="'.$articolo['id'].'"/>',
|
||||
Modules::link('Articoli', $articolo['id_articolo'], $articolo['codice'], null, ''),
|
||||
$articolo['descrizione'],
|
||||
'<p class="text-center">'.dateFormat($articolo['data_scadenza']).'</div>',
|
||||
'<p class="text-right">'.($articolo['minimo_vendita'] != 0 ? moneyFormat($articolo['minimo_vendita']) : '-').'</div>',
|
||||
'<p class="text-right">'.moneyFormat($articolo['prezzo_unitario']).'</div>',
|
||||
'<p class="text-right">'.moneyFormat($articolo['prezzo_unitario_ivato']).'</div>',
|
||||
'<p class="text-right">'.($articolo['sconto_percentuale'] != 0 ? numberFormat($articolo['sconto_percentuale']).' %' : '-').'</div>',
|
||||
'<div class="text-center"><a class="btn btn-xs btn-warning" title="'.tr('Modifica articolo').'" onclick="modificaArticolo($(this), '.$articolo['id'].')">
|
||||
$articolo['data_scadenza'] ? '<p class="text-center">'.dateFormat($articolo['data_scadenza']).'</p>' : '<p class="text-muted text-center">'.dateFormat($listino['data_scadenza_predefinita']).'</p>',
|
||||
'<p class="text-right">'.($articolo['minimo_vendita'] != 0 ? moneyFormat($articolo['minimo_vendita']) : '-').'</p>',
|
||||
'<p class="text-right">'.moneyFormat($articolo['prezzo_unitario']).'</p>',
|
||||
'<p class="text-right">'.moneyFormat($articolo['prezzo_unitario_ivato']).'</p>',
|
||||
'<p class="text-right">'.($articolo['sconto_percentuale'] != 0 ? numberFormat($articolo['sconto_percentuale']).' %' : '-').'</p>',
|
||||
'<div class="text-center">
|
||||
<a class="btn btn-xs btn-warning" title="'.tr('Modifica articolo').'" onclick="modificaArticolo($(this), '.$articolo['id'].')">
|
||||
<i class="fa fa-edit"></i>
|
||||
</a>
|
||||
<a class="btn btn-xs btn-danger" title="'.tr('Rimuovi articolo').'" onclick="rimuoviArticolo('.$articolo['id'].')">
|
||||
<i class="fa fa-trash"></i>
|
||||
</a></div>',
|
||||
</a>
|
||||
</div>',
|
||||
];
|
||||
|
||||
$righe[] = $riga;
|
||||
|
|
|
@ -42,7 +42,7 @@ echo '
|
|||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type":"date", "label":"'.tr('Data scadenza default').'", "name":"data_scadenza_predefinita", "value":"$data_scadenza_predefinita$" ]}
|
||||
{[ "type":"date", "label":"'.tr('Data scadenza predefinita').'", "name":"data_scadenza_predefinita", "value":"$data_scadenza_predefinita$", "required":"1" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -17,21 +17,25 @@
|
|||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
use Modules\Articoli\Articolo;
|
||||
use Modules\ListiniCliente\Articolo as ArticoloListino;
|
||||
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
include_once __DIR__.'/../../../../core.php';
|
||||
|
||||
if (empty(get('id'))) {
|
||||
$listino = $dbo->selectOne('mg_listini', '*', ['id' => get('id_record')]);
|
||||
$data_scadenza = $listino['data_scadenza_predefinita'];
|
||||
$id_articolo = get('id_articolo');
|
||||
} else {
|
||||
$articolo = $dbo->selectOne('mg_listini_articoli', '*', ['id' => get('id')]);
|
||||
$data_scadenza = $articolo['data_scadenza'];
|
||||
$id_articolo = $articolo['id_articolo'];
|
||||
}
|
||||
|
||||
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');
|
||||
$prezzo_unitario = $prezzi_ivati ? $articolo['prezzo_unitario_ivato'] : $articolo['prezzo_unitario'];
|
||||
|
||||
if (empty(get('id'))) {
|
||||
$articolo = Articolo::find(get('id_articolo'));
|
||||
$data_scadenza = null;
|
||||
$id_articolo = get('id_articolo');
|
||||
$prezzo_unitario = $prezzi_ivati ? $articolo->prezzo_vendita_ivato : $articolo->prezzo_vendita;
|
||||
} else {
|
||||
$articolo_listino = ArticoloListino::find(get('id'));
|
||||
$data_scadenza = $articolo_listino->data_scadenza;
|
||||
$id_articolo = $articolo_listino->id_articolo;
|
||||
$prezzo_unitario = $prezzi_ivati ? $articolo_listino->prezzo_unitario_ivato : $articolo_listino->prezzo_unitario;
|
||||
}
|
||||
|
||||
echo '
|
||||
<form id="add_form" action="'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.get('id_record').'" method="post">
|
||||
|
@ -48,7 +52,7 @@ echo '
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
{[ "type":"date", "label":"'.tr('Data scadenza').'", "name":"data_scadenza", "value":"'.$data_scadenza.'", "required": "1" ]}
|
||||
{[ "type":"date", "label":"'.tr('Data scadenza').'", "name":"data_scadenza", "value":"'.$data_scadenza.'", "help": "'.tr('Se non valorizzata viene utilizzata la data di scadenza predefinita').'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
|
@ -56,7 +60,7 @@ echo '
|
|||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
{[ "type":"number", "label":"'.tr('Sconto percentuale').'", "name":"sconto_percentuale", "icon-after": "%", "value":"'.$articolo['sconto_percentuale'].'" ]}
|
||||
{[ "type":"number", "label":"'.tr('Sconto percentuale').'", "name":"sconto_percentuale", "icon-after": "%", "value":"'.$articolo_listino->sconto_percentuale.'" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -72,15 +76,8 @@ echo '
|
|||
?>
|
||||
|
||||
<script>
|
||||
var is_add = <?php echo empty(get('id')) ? '1' : '0'; ?>;
|
||||
|
||||
$(document).ready(function(){
|
||||
init();
|
||||
|
||||
// Inizializzazione prezzo di vendita articolo
|
||||
if (is_add) {
|
||||
$('#prezzo_unitario').val( $('#id_articolo').selectData().prezzo_vendita );
|
||||
}
|
||||
});
|
||||
content_was_modified = false;
|
||||
</script>
|
||||
|
|
|
@ -12,3 +12,12 @@ INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `
|
|||
|
||||
-- Modifica valore di default di Cifre decimali per quantità in stampa
|
||||
UPDATE `zz_settings` SET `valore` = '2' WHERE `zz_settings`.`nome` = 'Cifre decimali per quantità in stampa';
|
||||
|
||||
-- Fix campo data in listini
|
||||
ALTER TABLE `mg_listini_articoli` CHANGE `data_scadenza` `data_scadenza` DATE NULL;
|
||||
|
||||
-- Aggiunta importazione listini cliente
|
||||
INSERT INTO `zz_imports` (`name`, `class`) VALUES ('Listini cliente', 'Modules\\ListiniCliente\\Import\\CSV');
|
||||
|
||||
-- Aggiunta impostazione per definire il listino cliente predefinito
|
||||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `created_at`, `order`, `help`) VALUES (NULL, 'Listino cliente predefinito', '', 'query=SELECT id, nome AS descrizione FROM `mg_listini` ORDER BY descrizione ASC', '1', 'Generali', NULL, NULL, 'In fase di creazione anagrafica cliente collega il listino all\'anagrafica stessa');
|
Loading…
Reference in New Issue