mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-08 14:36:05 +01:00
667b343f62
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.
62 lines
1.7 KiB
PHP
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;
|
|
}
|