Skip to content

Commit 3d7b4bd

Browse files
committed
fix: modifica nome categorie e sottocategorie per sottocategorie duplicate
1 parent b42804e commit 3d7b4bd

1 file changed

Lines changed: 30 additions & 30 deletions

File tree

modules/categorie/actions.php

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
}
3838

3939
// Verifica se esiste già una categoria con lo stesso nome
40-
$categoria_esistente = (new Categoria())->getByField('title', $nome);
40+
$categoria_esistente = Categoria::where('name', $nome)->where('id', '!=', $id_record)->where('parent', '=', $id_original)->first();
4141

4242
if (!empty($categoria_esistente) && $categoria_esistente != $id_record) {
4343
// Mostra un messaggio di errore con link alla categoria esistente
@@ -47,35 +47,36 @@
4747

4848
$link = Modules::link('Categorie', $categoria_esistente->id, $nome);
4949
flash()->error($message.': '.$link);
50-
break;
51-
}
52-
53-
if (isset($nome) && isset($nota) && isset($colore)) {
54-
$categoria->colore = $colore;
55-
$categoria->parent = $id_original ?: null;
56-
$categoria->is_articolo = $is_articolo;
57-
$categoria->is_impianto = $is_impianto;
58-
$categoria->save();
50+
} else {
5951

60-
$categoria->setTranslation('title', $nome);
61-
$categoria->setTranslation('note', $nota);
62-
// Aggiorna i flag delle sottocategorie se è un parent
63-
$subcategorie = Categoria::where('parent', '=', $id_record)->get();
64-
if (!empty($subcategorie)) {
65-
foreach ($subcategorie as $sub) {
66-
$sub->is_articolo = $is_articolo;
67-
$sub->is_impianto = $is_impianto;
68-
$sub->save();
52+
if (isset($nome) && isset($nota) && isset($colore)) {
53+
$categoria->colore = $colore;
54+
$categoria->parent = $id_original ?: null;
55+
$categoria->is_articolo = $is_articolo;
56+
$categoria->is_impianto = $is_impianto;
57+
$categoria->name = $nome;
58+
$categoria->save();
59+
60+
$categoria->setTranslation('title', $nome);
61+
$categoria->setTranslation('note', $nota);
62+
// Aggiorna i flag delle sottocategorie se è un parent
63+
$subcategorie = Categoria::where('parent', '=', $id_record)->get();
64+
if (!empty($subcategorie)) {
65+
foreach ($subcategorie as $sub) {
66+
$sub->is_articolo = $is_articolo;
67+
$sub->is_impianto = $is_impianto;
68+
$sub->save();
69+
}
70+
71+
flash()->info(tr('Salvataggio completato! Aggiornate anche _NUM_ sottocategorie.', [
72+
'_NUM_' => count($subcategorie),
73+
]));
74+
} else {
75+
flash()->info(tr('Salvataggio completato!'));
6976
}
70-
71-
flash()->info(tr('Salvataggio completato! Aggiornate anche _NUM_ sottocategorie.', [
72-
'_NUM_' => count($subcategorie),
73-
]));
7477
} else {
75-
flash()->info(tr('Salvataggio completato!'));
78+
flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio!'));
7679
}
77-
} else {
78-
flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio!'));
7980
}
8081

8182
// Redirect alla categoria se si sta modificando una sottocategoria
@@ -126,13 +127,12 @@
126127
]));
127128
}
128129

129-
if (isAjaxRequest()) {
130-
echo json_encode(['id' => $id_record, 'text' => $nome]);
131-
} else {
132-
// Redirect alla categoria se si sta aggiungendo una sottocategoria
130+
if (!empty($id_original)) {
133131
$database->commitTransaction();
134132
redirect_url(base_path_osm().'/editor.php?id_module='.$id_module.'&id_record='.($id_original ?: $id_record));
135133
exit;
134+
} else {
135+
echo json_encode(['id' => $id_record, 'text' => $nome]);
136136
}
137137

138138
break;

0 commit comments

Comments
 (0)