1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2024-12-17 18:59:21 +01:00
openstamanager/modules/combinazioni_articoli/actions.php
Dasc3er 667b343f62 Aggiunta sistema di gestione Combinazioni Articoli
Introduzione moduli Combinazioni e Attributi Combinazioni, al fine di gestire le combinazioni di articoli (varianti) sulla base di Attributi liberamente impostabili.
Introduzione plugin dedicato alla visualizzazione delle Varianti Articolo.
Modifica del sistema di modifica degli Articoli per sincronizzare in automatico alcuni campi condivisi tra le varianti.
2021-08-31 15:46:14 +02:00

62 lines
1.7 KiB
PHP

<?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
$esistente = Combinazione::where('nome', '=', $nome);
if (isset($combinazione)) {
$esistente = $esistente->where('id', '!=', $combinazione->id);
}
$esistente = $esistente->count() !== 0;
if (!$esistente) {
$combinazione = $combinazione ?: Combinazione::build();
$combinazione->nome = $nome;
$combinazione->codice = post('codice');
$combinazione->id_categoria = post('id_categoria');
$combinazione->id_sottocategoria = post('id_sottocategoria');
$combinazione->save();
$id_record = $combinazione->id;
// Selezione attributi per la combinazione
if ($combinazione->articoli()->count() == 0) {
$combinazione->attributi()->sync((array) post('attributi'));
}
flash()->info(tr('Combinazione aggiornata correttamente!'));
} else {
flash()->error(tr('Combinazione esistente con lo stesso nome!'));
}
break;
case 'delete':
$combinazione->delete();
flash()->info(tr('Combinazione rimossa correttamente!'));
break;
case 'gestione-variante':
$combinazione->generaVariante((array) filter('attributo'));
flash()->info(tr('Variante aggiunta correttamente!'));
break;
case 'genera-varianti':
$combinazione->generaTutto();
flash()->info(tr('Varianti generate correttamente!'));
break;
}