mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-03 17:27:29 +01:00
Allineamento add stati preventivo
This commit is contained in:
parent
49083abc6a
commit
5d2d4ca620
@ -62,7 +62,7 @@ class Stato extends Model
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Imposta l'attributo name dell'articolo.
|
* Imposta l'attributo name dello stato contratto.
|
||||||
*/
|
*/
|
||||||
public function setNameAttribute($value)
|
public function setNameAttribute($value)
|
||||||
{
|
{
|
||||||
|
@ -48,7 +48,7 @@ class Stato extends Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Imposta l'attributo name dell'articolo.
|
* Imposta l'attributo name dello stato fattura.
|
||||||
*/
|
*/
|
||||||
public function setNameAttribute($value)
|
public function setNameAttribute($value)
|
||||||
{
|
{
|
||||||
|
@ -28,6 +28,19 @@ class Stato extends Model
|
|||||||
|
|
||||||
protected $table = 'co_statipreventivi';
|
protected $table = 'co_statipreventivi';
|
||||||
|
|
||||||
|
public static function build($icona, $colore, $is_completato, $is_fatturabile, $is_pianificabile)
|
||||||
|
{
|
||||||
|
$model = new static();
|
||||||
|
$model->icona = $icona;
|
||||||
|
$model->colore = $colore;
|
||||||
|
$model->is_completato = $is_completato;
|
||||||
|
$model->is_fatturabile = $is_fatturabile;
|
||||||
|
$model->is_pianificabile = $is_pianificabile;
|
||||||
|
$model->save();
|
||||||
|
|
||||||
|
return $model;
|
||||||
|
}
|
||||||
|
|
||||||
public function preventivi()
|
public function preventivi()
|
||||||
{
|
{
|
||||||
return $this->hasMany(Preventivo::class, 'idstatopreventivo');
|
return $this->hasMany(Preventivo::class, 'idstatopreventivo');
|
||||||
@ -47,6 +60,30 @@ class Stato extends Model
|
|||||||
->first()->name;
|
->first()->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Imposta l'attributo name dello stato del preventivo.
|
||||||
|
*/
|
||||||
|
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 dello stato del preventivo a partire dal nome.
|
* Ritorna l'id dello stato del preventivo a partire dal nome.
|
||||||
*
|
*
|
||||||
|
@ -46,9 +46,9 @@ switch (post('op')) {
|
|||||||
$descrizione = post('descrizione');
|
$descrizione = post('descrizione');
|
||||||
$icona = post('icona');
|
$icona = post('icona');
|
||||||
$colore = post('colore');
|
$colore = post('colore');
|
||||||
$is_completato = post('is_completato') ?: null;
|
$is_completato = post('is_completato');
|
||||||
$is_fatturabile = post('is_fatturabile') ?: null;
|
$is_fatturabile = post('is_fatturabile');
|
||||||
$is_pianificabile = post('is_pianificabile') ?: null;
|
$is_pianificabile = post('is_pianificabile');
|
||||||
|
|
||||||
$stato_new = Stato::find((new Stato())->getByName($descrizione)->id_record);
|
$stato_new = Stato::find((new Stato())->getByName($descrizione)->id_record);
|
||||||
|
|
||||||
|
@ -23,9 +23,9 @@ use Modules\Fatture\Stato;
|
|||||||
switch (post('op')) {
|
switch (post('op')) {
|
||||||
case 'update':
|
case 'update':
|
||||||
$descrizione = post('descrizione');
|
$descrizione = post('descrizione');
|
||||||
$stato_new = Stato::find((new Stato())->getByName($descrizione)->id_record);
|
$stato_new = (new Stato())->getByName($descrizione)->id_record;
|
||||||
|
|
||||||
if ($stato_new) {
|
if (!empty($stato_new) && $stato_new != $id_record){
|
||||||
flash()->error(tr('Questo nome è già stato utilizzato per un altro stato.'));
|
flash()->error(tr('Questo nome è già stato utilizzato per un altro stato.'));
|
||||||
} else {
|
} else {
|
||||||
$stato->icona = post('icona');
|
$stato->icona = post('icona');
|
||||||
|
@ -18,44 +18,47 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
use Modules\Preventivi\Stato;
|
||||||
|
|
||||||
switch (post('op')) {
|
switch (post('op')) {
|
||||||
case 'update':
|
case 'update':
|
||||||
$dbo->update('co_statipreventivi', [
|
$descrizione = post('descrizione');
|
||||||
'icona' => post('icona'),
|
$stato_new = (new Stato())->getByName($descrizione)->id_record;
|
||||||
'colore' => post('colore'),
|
|
||||||
'is_completato' => post('is_completato') ?: null,
|
|
||||||
'is_fatturabile' => post('is_fatturabile') ?: null,
|
|
||||||
'is_pianificabile' => post('is_pianificabile') ?: null,
|
|
||||||
'is_revisionabile' => post('is_revisionabile') ?: null,
|
|
||||||
], ['id' => $id_record]);
|
|
||||||
|
|
||||||
$dbo->update('co_statipreventivi_lang', [
|
|
||||||
'name' => post('descrizione'),
|
|
||||||
], ['id_record' => $id_record]);
|
|
||||||
|
|
||||||
flash()->info(tr('Informazioni salvate correttamente.'));
|
|
||||||
|
|
||||||
|
if (!empty($stato_new) && $stato_new != $id_record){
|
||||||
|
flash()->error(tr('Questo nome è già stato utilizzato per un altro stato dei preventivi.'));
|
||||||
|
} else {
|
||||||
|
$stato->icona = post('icona');
|
||||||
|
$stato->colore = post('colore');
|
||||||
|
$stato->is_completato = post('is_completato');
|
||||||
|
$stato->is_fatturabile = post('is_fatturabile');
|
||||||
|
$stato->is_pianificabile = post('is_pianificabile');
|
||||||
|
$stato->is_revisionabile = post('is_revisionabile');
|
||||||
|
$stato->name = $descrizione;
|
||||||
|
$stato->save();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'add':
|
case 'add':
|
||||||
$descrizione = post('descrizione');
|
$descrizione = post('descrizione');
|
||||||
$icona = post('icona');
|
$icona = post('icona');
|
||||||
$colore = post('colore');
|
$colore = post('colore');
|
||||||
$is_completato = post('is_completato') ?: null;
|
$is_completato = post('is_completato');
|
||||||
$is_fatturabile = post('is_fatturabile') ?: null;
|
$is_fatturabile = post('is_fatturabile');
|
||||||
$is_pianificabile = post('is_pianificabile') ?: null;
|
$is_pianificabile = post('is_pianificabile');
|
||||||
|
|
||||||
// controlla descrizione che non sia duplicata
|
$stato_new = Stato::find((new Stato())->getByName($descrizione)->id_record);
|
||||||
if (count($dbo->fetchArray('SELECT `name` FROM `co_statipreventivi_lang` WHERE `name`='.prepare($descrizione))) > 0) {
|
|
||||||
flash()->error(tr('Esiste già uno stato dei preventivi con questo nome.'));
|
if ($stato_new) {
|
||||||
|
flash()->error(tr('Questo nome è già stato utilizzato per un altro stato dei preventivi.'));
|
||||||
} else {
|
} else {
|
||||||
$dbo->query('INSERT INTO `co_statipreventivi` (icona, colore, is_completato, is_fatturabile, is_pianificabile) VALUES ('.prepare($icona).', '.prepare($colore).', '.prepare($is_completato).', '.prepare($is_fatturabile).', '.prepare($is_pianificabile).' )');
|
$stato = Stato::build($icona, $colore, $is_completato, $is_fatturabile, $is_pianificabile);
|
||||||
$id_record = $dbo->lastInsertedID();
|
$id_record= $dbo->lastInsertedID();
|
||||||
$dbo->query('INSERT INTO `co_statipreventivi_lang` (`name`, `id_record`, `id_lang`) VALUES ('.prepare($descrizione).', '.prepare($id_record).', '.prepare(setting('Lingua')).' )');
|
$stato->name = $descrizione;
|
||||||
flash()->info(tr('Nuovo stato dei preventivi aggiunto.'));
|
$stato->save();
|
||||||
}
|
|
||||||
|
|
||||||
|
flash()->info(tr('Nuovo stato preventivi aggiunto.'));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'delete':
|
case 'delete':
|
||||||
|
@ -18,7 +18,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
use Modules\Preventivi\Stato;
|
||||||
|
|
||||||
if (isset($id_record)) {
|
if (isset($id_record)) {
|
||||||
$record = $dbo->fetchOne('SELECT * FROM `co_statipreventivi` LEFT JOIN `co_statipreventivi_lang` ON (`co_statipreventivi`.`id`=`co_statipreventivi_lang`.`id_record` AND `co_statipreventivi_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `co_statipreventivi`.`id`='.prepare($id_record));
|
$record = $dbo->fetchOne('SELECT * FROM `co_statipreventivi` LEFT JOIN `co_statipreventivi_lang` ON (`co_statipreventivi`.`id`=`co_statipreventivi_lang`.`id_record` AND `co_statipreventivi_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `co_statipreventivi`.`id`='.prepare($id_record));
|
||||||
|
|
||||||
|
$stato = Stato::find($id_record);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user