2021-08-31 15:46:14 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
use Modules\CombinazioniArticoli\Combinazione;
|
|
|
|
|
|
|
|
include_once __DIR__.'/../../core.php';
|
|
|
|
|
|
|
|
switch (filter('op')) {
|
|
|
|
case 'add':
|
|
|
|
case 'update':
|
|
|
|
$nome = post('nome');
|
|
|
|
|
|
|
|
// Ricerca combinazione con nome indicato
|
2024-03-20 11:13:28 +01:00
|
|
|
$combinazione_new = (new Combinazione())->getByField('name', $nome);
|
2021-08-31 15:46:14 +02:00
|
|
|
|
2024-03-22 15:52:24 +01:00
|
|
|
if (!empty($combinazione_new) && !empty($id_record) && $combinazione_new != $id_record) {
|
2024-03-07 16:20:32 +01:00
|
|
|
flash()->error(tr('Questo nome è già stato utilizzato per un altra combinazione.'));
|
|
|
|
} else {
|
2024-03-08 13:10:32 +01:00
|
|
|
if (empty($combinazione)) {
|
|
|
|
$combinazione = Combinazione::build();
|
|
|
|
$id_record = $dbo->lastInsertedID();
|
|
|
|
}
|
2024-03-20 11:13:28 +01:00
|
|
|
$combinazione->setTranslation('name', $nome);
|
2021-08-31 15:46:14 +02:00
|
|
|
$combinazione->codice = post('codice');
|
2024-04-12 17:12:05 +02:00
|
|
|
$combinazione->id_categoria = post('id_categoria')?: null;
|
|
|
|
$combinazione->id_sottocategoria = post('id_sottocategoria')?: null;
|
2021-08-31 15:46:14 +02:00
|
|
|
$combinazione->save();
|
|
|
|
|
|
|
|
$id_record = $combinazione->id;
|
|
|
|
|
2024-03-22 15:52:24 +01:00
|
|
|
$database->query('INSERT INTO `mg_combinazioni_lang` (`id_record`, `id_lang`, `name`) VALUES ('.$id_record.', '.prepare(Models\Locale::getDefault()->id).', \''.post('nome').'\')');
|
2024-03-01 09:54:39 +01:00
|
|
|
|
2021-08-31 15:46:14 +02:00
|
|
|
// Selezione attributi per la combinazione
|
2021-11-12 19:25:25 +01:00
|
|
|
$combinazione->attributi()->sync((array) post('attributi'));
|
2021-08-31 15:46:14 +02:00
|
|
|
|
|
|
|
flash()->info(tr('Combinazione aggiornata correttamente!'));
|
|
|
|
}
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'delete':
|
|
|
|
$combinazione->delete();
|
|
|
|
|
|
|
|
flash()->info(tr('Combinazione rimossa correttamente!'));
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
2021-12-13 09:35:13 +01:00
|
|
|
case 'edit-variante':
|
|
|
|
$valori = (array) filter('attributo');
|
|
|
|
$id_articolo = filter('id_articolo');
|
|
|
|
|
|
|
|
$database->delete('mg_articolo_attributo', ['id_articolo' => $id_articolo]);
|
2023-08-04 14:54:28 +02:00
|
|
|
|
|
|
|
foreach ($valori as $valore) {
|
2021-12-13 09:35:13 +01:00
|
|
|
$database->insert('mg_articolo_attributo', [
|
|
|
|
'id_articolo' => $id_articolo,
|
|
|
|
'id_valore' => $valore,
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
flash()->info(tr('Variante modificata correttamente!'));
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'add-variante':
|
2021-12-01 10:44:02 +01:00
|
|
|
$combinazione->generaVariante((array) filter('attributo'), filter('id_articolo'));
|
2021-08-31 15:46:14 +02:00
|
|
|
|
|
|
|
flash()->info(tr('Variante aggiunta correttamente!'));
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
2021-12-17 10:52:21 +01:00
|
|
|
case 'remove-variante':
|
|
|
|
$id_articolo = filter('id_articolo');
|
|
|
|
|
|
|
|
$database->delete('mg_articolo_attributo', ['id_articolo' => $id_articolo]);
|
|
|
|
$database->update('mg_articoli', ['id_combinazione' => null], ['id' => $id_articolo]);
|
|
|
|
|
|
|
|
flash()->info(tr('Variante rimossa correttamente!'));
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
2021-08-31 15:46:14 +02:00
|
|
|
case 'genera-varianti':
|
|
|
|
$combinazione->generaTutto();
|
|
|
|
|
|
|
|
flash()->info(tr('Varianti generate correttamente!'));
|
|
|
|
|
|
|
|
break;
|
|
|
|
}
|