mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-12 01:20:36 +01:00
Allineamento add combinazioni
This commit is contained in:
parent
344e116b90
commit
ba2109c042
@ -10,13 +10,13 @@ switch (filter('op')) {
|
||||
$nome = post('nome');
|
||||
|
||||
// Ricerca combinazione con nome indicato
|
||||
$esistente = (new Combinazione())->getByName($nome)->id_record;
|
||||
if (isset($combinazione)) {
|
||||
$esistente = Combinazione::find($esistente)->where('id', '!=', $combinazione->id);
|
||||
}
|
||||
$combinazione_new = (new Combinazione())->getByName($nome)->id_record;
|
||||
|
||||
if (!$esistente) {
|
||||
if (!empty($combinazione_new) && !empty($id_record) && $combinazione_new != $id_record){
|
||||
flash()->error(tr('Questo nome è già stato utilizzato per un altra combinazione.'));
|
||||
} else {
|
||||
$combinazione = $combinazione ?: Combinazione::build();
|
||||
$combinazione->name = $nome;
|
||||
$combinazione->codice = post('codice');
|
||||
$combinazione->id_categoria = post('id_categoria');
|
||||
$combinazione->id_sottocategoria = post('id_sottocategoria');
|
||||
@ -30,8 +30,6 @@ switch (filter('op')) {
|
||||
$combinazione->attributi()->sync((array) post('attributi'));
|
||||
|
||||
flash()->info(tr('Combinazione aggiornata correttamente!'));
|
||||
} else {
|
||||
flash()->error(tr('Combinazione esistente con lo stesso nome!'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
use Models\Module;
|
||||
|
||||
$numero_varianti = $combinazione->articoli()->count();
|
||||
|
||||
@ -27,16 +28,16 @@ echo '
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">';
|
||||
if (!empty($record['id_categoria'])) {
|
||||
if (!empty($combinazione->id_categoria)) {
|
||||
echo '
|
||||
'.Modules::link('Categorie articoli', $record['id_categoria'], null, null, 'class="pull-right"');
|
||||
'.Modules::link('Categorie articoli', $combinazione->id_categoria, null, null, 'class="pull-right"');
|
||||
}
|
||||
echo '
|
||||
{[ "type": "select", "label": "'.tr('Categoria').'", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|'.(new Module())->getByName('Categorie articoli')->id_record.'" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Sottocategoria').'", "name": "id_sottocategoria", "value": "$id_sottocategoria$", "ajax-source": "sottocategorie", "select-options": '.json_encode(['id_categoria' => $record['id_categoria']]).' ]}
|
||||
{[ "type": "select", "label": "'.tr('Sottocategoria').'", "name": "id_sottocategoria", "value": "$id_sottocategoria$", "ajax-source": "sottocategorie", "select-options": '.json_encode(['id_categoria' => $combinazione->id_categoria]).' ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -227,6 +227,30 @@ class Combinazione extends Model
|
||||
->first()->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Imposta l'attributo name della combinazione.
|
||||
*/
|
||||
public function setNameAttribute($value)
|
||||
{
|
||||
$table = database()->table($this->table.'_lang');
|
||||
|
||||
$translated = $table
|
||||
->where('id_record', '=', $this->id)
|
||||
->where('id_lang', '=', setting('Lingua'));
|
||||
|
||||
if ($translated->count() > 0) {
|
||||
$translated->update([
|
||||
'name' => $value
|
||||
]);
|
||||
} else {
|
||||
$table->insert([
|
||||
'id_record' => $this->id,
|
||||
'id_lang' => setting('Lingua'),
|
||||
'name' => $value
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ritorna l'id della combinazione a partire dal nome.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user