refactor: aggiunta classe marchi e allineamento codice
This commit is contained in:
parent
3af079143c
commit
82e4925269
|
@ -37,10 +37,9 @@ echo '
|
||||||
|
|
||||||
<div class="col-md-9">';
|
<div class="col-md-9">';
|
||||||
|
|
||||||
$marchio = $dbo->fetchOne('SELECT `link`, `name` FROM mg_marchi WHERE id = '.$articolo->id_marchio);
|
|
||||||
// Articolo
|
// Articolo
|
||||||
echo '
|
echo '
|
||||||
'.($articolo->id_marchio ? '<p class="float-right"><i class="fa fa-tag"></i> '.($marchio['link']? '<a href="'.$marchio['link'].'" target="_blank" rel="noopener noreferrer"> '.$marchio['name'].'</a>' : $marchio['name']).'</p>' : '').
|
'.($articolo->id_marchio ? '<p class="float-right"><i class="fa fa-tag"></i> '.($articolo->marchio->name? '<a href="'.$articolo->marchio->link.'" target="_blank" rel="noopener noreferrer"> '.$articolo->marchio->name.'</a>' : $articolo->marchio->name).'</p>' : '').
|
||||||
($articolo->id_categoria ? '<p class="text-muted"> '.$articolo->categoria->getTranslation('title') : '').($articolo->id_sottocategoria ? ' <small><i class="fa fa-chevron-right"></i></small> '.$articolo->sottocategoria->getTranslation('title') : '').'</p>
|
($articolo->id_categoria ? '<p class="text-muted"> '.$articolo->categoria->getTranslation('title') : '').($articolo->id_sottocategoria ? ' <small><i class="fa fa-chevron-right"></i></small> '.$articolo->sottocategoria->getTranslation('title') : '').'</p>
|
||||||
<h4><b>'.$articolo->getTranslation('title').'</b> '.($articolo->attivo ? '<i class="fa fa-check text-success"></i>' : '<i class="fa fa-times text-danger"></i> ').'</h4>
|
<h4><b>'.$articolo->getTranslation('title').'</b> '.($articolo->attivo ? '<i class="fa fa-check text-success"></i>' : '<i class="fa fa-times text-danger"></i> ').'</h4>
|
||||||
<p><b>'.$articolo->codice.'</b> '.($articolo->barcode ? ' - <i class="fa fa-barcode"></i> '.$articolo->barcode.'</p>' : '').'</p>
|
<p><b>'.$articolo->codice.'</b> '.($articolo->barcode ? ' - <i class="fa fa-barcode"></i> '.$articolo->barcode.'</p>' : '').'</p>
|
||||||
|
|
|
@ -330,6 +330,11 @@ class Articolo extends Model
|
||||||
return $this->belongsTo(Categoria::class, 'id_sottocategoria');
|
return $this->belongsTo(Categoria::class, 'id_sottocategoria');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function marchio()
|
||||||
|
{
|
||||||
|
return $this->belongsTo(Marchio::class, 'id_marchio');
|
||||||
|
}
|
||||||
|
|
||||||
public function dettaglioFornitori()
|
public function dettaglioFornitori()
|
||||||
{
|
{
|
||||||
return $this->hasMany(DettaglioFornitore::class, 'id_articolo');
|
return $this->hasMany(DettaglioFornitore::class, 'id_articolo');
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||||
|
* Copyright (C) DevCode s.r.l.
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Modules\Articoli;
|
||||||
|
|
||||||
|
use Common\SimpleModelTrait;
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Traits\HierarchyTrait;
|
||||||
|
use Traits\RecordTrait;
|
||||||
|
|
||||||
|
class Marchio extends Model
|
||||||
|
{
|
||||||
|
use SimpleModelTrait;
|
||||||
|
use HierarchyTrait;
|
||||||
|
use RecordTrait;
|
||||||
|
|
||||||
|
protected $table = 'mg_marchi';
|
||||||
|
|
||||||
|
|
||||||
|
public static function build($nome = null)
|
||||||
|
{
|
||||||
|
$model = new static();
|
||||||
|
$model->name = $nome;
|
||||||
|
$model->save();
|
||||||
|
|
||||||
|
return $model;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function articoli()
|
||||||
|
{
|
||||||
|
return $this->hasMany(Articolo::class, 'id_marchio');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getModuleAttribute()
|
||||||
|
{
|
||||||
|
return 'Marchi';
|
||||||
|
}
|
||||||
|
}
|
|
@ -19,27 +19,55 @@
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
|
use Modules\Articoli\Marchio;
|
||||||
|
|
||||||
switch (post('op')) {
|
switch (post('op')) {
|
||||||
// Aggiorno informazioni di base marchio
|
// Aggiorno informazioni di base marchio
|
||||||
case 'update':
|
case 'update':
|
||||||
$dbo->update('mg_marchi', [
|
$nome = filter('name');
|
||||||
'name' => post('name'),
|
$link = filter('link');
|
||||||
'link' => post('link'),
|
|
||||||
], ['id' => $id_record]);
|
|
||||||
|
|
||||||
flash()->info(tr('Informazioni salvate correttamente!'));
|
$marchio_new = Marchio::where('name', '=', $nome)->first();
|
||||||
|
|
||||||
|
if (!empty($marchio_new)) {
|
||||||
|
flash()->error(tr('Questo nome è già stato utilizzato per un altro marchio.'));
|
||||||
|
} else {
|
||||||
|
$marchio = Marchio::find($id_record);
|
||||||
|
$marchio->name = $nome;
|
||||||
|
$marchio->link = $link;
|
||||||
|
$marchio->save();
|
||||||
|
|
||||||
|
flash()->info(tr('Marchio aggiornato!'));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isAjaxRequest()) {
|
||||||
|
echo json_encode(['id' => $id_record, 'text' => $nome]);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
// Aggiungo marchio
|
// Aggiungo marchio
|
||||||
case 'add':
|
case 'add':
|
||||||
$dbo->insert('mg_marchi', [
|
$nome = filter('name');
|
||||||
'name' => post('name'),
|
$link = filter('link');
|
||||||
'link' => post('link'),
|
|
||||||
]);
|
|
||||||
$id_record = $dbo->lastInsertedID();
|
|
||||||
|
|
||||||
flash()->info(tr('Aggiunto nuovo marchio!'));
|
$marchio_new = Marchio::where('name', '=', $nome)->first();
|
||||||
|
|
||||||
|
if (!empty($marchio_new)) {
|
||||||
|
flash()->error(tr('Questo nome è già stato utilizzato per un altro marchio.'));
|
||||||
|
} else {
|
||||||
|
$marchio = Marchio::build($nome);
|
||||||
|
$id_record = $dbo->lastInsertedID();
|
||||||
|
$marchio->link = $link;
|
||||||
|
$marchio->save();
|
||||||
|
|
||||||
|
flash()->info(tr('Aggiunto nuovo marchio'));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isAjaxRequest()) {
|
||||||
|
echo json_encode(['id' => $id_record, 'text' => $nome]);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ $id_anagrafica = filter('id_anagrafica');
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "text", "label": "<?php echo tr('name'); ?>", "name": "name", "required": 1, "validation": "name" ]}
|
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "name", "required": 1, "validation": "name" ]}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{[ "type": "text", "label": "<?php echo tr('Link produttore'); ?>", "name": "link", "value":"$link$"]}
|
{[ "type": "text", "label": "<?php echo tr('Link produttore'); ?>", "name": "link", "value":"$link$"]}
|
||||||
|
|
|
@ -45,15 +45,15 @@ include_once __DIR__.'/../../core.php';
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$elementi = $dbo->fetchArray('SELECT `mg_articoli`.`id`, CONCAT(`mg_articoli`.`codice`, " - ", `mg_articoli_lang`.`title`) AS `descrizione` FROM `mg_articoli` INNER JOIN mg_articoli_lang ON (`mg_articoli_lang`.`id_record` = `mg_articoli`.`id` AND `mg_articoli_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `mg_articoli`.`id_marchio` = '.prepare($id_record));
|
$articoli = $marchio->articoli;
|
||||||
$class = '';
|
$class = '';
|
||||||
|
|
||||||
if (!empty($elementi)) {
|
if (!empty($articoli)) {
|
||||||
echo '
|
echo '
|
||||||
<div class="card card-warning collapsable collapsed-card">
|
<div class="card card-warning collapsable collapsed-card">
|
||||||
<div class="card-header with-border">
|
<div class="card-header with-border">
|
||||||
<h3 class="card-title"><i class="fa fa-warning"></i> '.tr('Articoli collegati: _NUM_', [
|
<h3 class="card-title"><i class="fa fa-warning"></i> '.tr('Articoli collegati: _NUM_', [
|
||||||
'_NUM_' => count($elementi),
|
'_NUM_' => count($articoli),
|
||||||
]).'</h3>
|
]).'</h3>
|
||||||
<div class="card-tools pull-right">
|
<div class="card-tools pull-right">
|
||||||
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fa fa-plus"></i></button>
|
<button type="button" class="btn btn-tool" data-card-widget="collapse"><i class="fa fa-plus"></i></button>
|
||||||
|
@ -62,9 +62,9 @@ if (!empty($elementi)) {
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<ul>';
|
<ul>';
|
||||||
|
|
||||||
foreach ($elementi as $elemento) {
|
foreach ($articoli as $articolo) {
|
||||||
echo '
|
echo '
|
||||||
<li>'.Modules::link('Articoli', $elemento['id'], $elemento['descrizione']).'</li>';
|
<li>'.Modules::link('Articoli', $articolo->id, $articolo->codice.' - '.$articolo->getTranslation('title')).'</li>';
|
||||||
}
|
}
|
||||||
$class = 'disabled';
|
$class = 'disabled';
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,10 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
use Modules\Articoli\Marchio;
|
||||||
|
|
||||||
if (isset($id_record)) {
|
if (isset($id_record)) {
|
||||||
$record = $dbo->fetchOne('SELECT * FROM mg_marchi WHERE id='.prepare($id_record));
|
$record = $dbo->fetchOne('SELECT * FROM mg_marchi WHERE id='.prepare($id_record));
|
||||||
|
|
||||||
|
$marchio = Marchio::find($id_record);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue