Migliorati controlli categorie e sottocategorie

This commit is contained in:
Luca 2020-03-18 22:24:18 +01:00
parent c7bb21eedc
commit eeb3178f0a
3 changed files with 39 additions and 9 deletions

View File

@ -59,7 +59,7 @@ switch (filter('op')) {
'_TYPE_' => 'categoria',
]));
} else {
flash()->error(tr('Esistono ancora alcuni articoli sotto questa categoria!'));
flash()->error(tr('Esistono alcuni articoli collegati a questa categoria. Impossibile eliminarla.'));
}
break;

View File

@ -74,16 +74,41 @@ include_once __DIR__.'/../../core.php';
<?php
$res = $dbo->fetchNum('SELECT * FROM `mg_articoli` WHERE `id_categoria`='.prepare($id_record).' OR `id_sottocategoria`='.prepare($id_record).' OR `id_sottocategoria` IN (SELECT id FROM `mg_categorie` WHERE `parent`='.prepare($id_record).')');
$elementi = $dbo->fetchArray('SELECT `mg_articoli`.`id`, `mg_articoli`.`codice`, `mg_articoli`.`barcode`, `mg_articoli`.`deleted_at` FROM `mg_articoli` WHERE `id_categoria`='.prepare($id_record).' OR `id_sottocategoria`='.prepare($id_record).' OR `id_sottocategoria` IN (SELECT id FROM `mg_categorie` WHERE `parent`='.prepare($id_record).')');
if ($res) {
if (!empty($elementi)) {
echo '
<div class="alert alert-danger">
<p>'.tr('Ci sono '.count($res).' articoli collegati a questa categoria. Non è possibile eliminarla.').'</p>
</div>';
} else {
<div class="box box-warning collapsable collapsed-box">
<div class="box-header with-border">
<h3 class="box-title"><i class="fa fa-warning"></i> '.tr('Articoli collegati: _NUM_', [
'_NUM_' => count($elementi),
]).'</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-plus"></i></button>
</div>
</div>
<div class="box-body">
<ul>';
foreach ($elementi as $elemento) {
$descrizione = tr('Articolo _CODICE_ _DELETED_AT_', [
'_CODICE_' => !empty($elemento['codice']) ? $elemento['codice'] : $elemento['barcode'],
'_DELETED_AT_' => (!empty($elemento['deleted_at']) ? tr('Eliminato il:').' '.Translator::dateToLocale($elemento['deleted_at']) : ''),
]);
$modulo = 'Articoli';
$id = $elemento['id'];
echo '
<li>'.Modules::link($modulo, $id, $descrizione).'</li>';
}
echo '
</ul>
</div>
</div>';
}else {
echo '
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> '.tr('Elimina').'
</a>';
}
}

View File

@ -4,7 +4,12 @@ include_once __DIR__.'/../../core.php';
$subcategorie = $dbo->fetchArray('SELECT * FROM `mg_categorie` WHERE `parent`='.prepare($id_record).' ORDER BY nome ASC ');
foreach ($subcategorie as $sub) {
$n_articoli = $dbo->fetchNum('SELECT * FROM `mg_articoli` WHERE `id_sottocategoria`='.prepare($sub['id']));
echo '
<tr>
<td>'.$sub['nome'].'</td>
@ -12,7 +17,7 @@ foreach ($subcategorie as $sub) {
<td>'.$sub['nota'].'</td>
<td>
<a class="btn btn-warning btn-sm" title="Modifica riga" onclick="launch_modal(\''.tr('Modifica sottocategoria').'\', \''.$rootdir.'/add.php?id_module='.$id_module.'&id_record='.$sub['id'].'&id_original='.$id_record.'\');"><i class="fa fa-edit"></i></a>
<a class="btn btn-sm btn-danger ask" data-backto="record-edit" data-id="'.$sub['id'].'">
<a class="btn btn-sm btn-danger ask '.(($n_articoli>0) ? 'disabled tip' : '').'" data-backto="record-edit" data-id="'.$sub['id'].'" title="'.(($n_articoli>0) ? 'Sottocategoria collegata a '.$n_articoli.' articoli' : '' ).'">
<i class="fa fa-trash"></i>
</a>
</td>