Allineamento add tipi intervento

This commit is contained in:
Pek5892 2024-03-07 15:20:23 +01:00
parent 91ddc0c77b
commit 659ea9f97a
3 changed files with 46 additions and 20 deletions

View File

@ -31,10 +31,9 @@ switch (post('op')) {
$tipo->costo_orario_tecnico = post('costo_orario_tecnico');
$tipo->costo_km_tecnico = post('costo_km_tecnico');
$tipo->costo_diritto_chiamata_tecnico = post('costo_diritto_chiamata_tecnico');
$tipo->name = post('descrizione');
$tipo->save();
$database->query('UPDATE `in_tipiintervento_lang` SET `name` = '.prepare(post('descrizione')).' WHERE `id_record` = '.prepare($id_record).' AND `id_lang` = '.prepare(setting('Lingua')));
$fasce_ore = (array) post('fascia_ore');
$fascia_km = (array) post('fascia_km');
$fascia_diritto_chiamata = (array) post('fascia_diritto_chiamata');
@ -61,25 +60,23 @@ switch (post('op')) {
case 'add':
$codice = post('codice');
$calcola_km = post('calcola_km');
$tempo_standard = post('tempo_standard');
$costo_orario = post('costo_orario');
$costo_km = post('costo_km');
$costo_diritto_chiamata = post('costo_diritto_chiamata');
$costo_orario_tecnico = post('costo_orario_tecnico');
$costo_km_tecnico = post('costo_km_tecnico');
$costo_diritto_chiamata_tecnico = post('costo_diritto_chiamata_tecnico');
$tipo = Tipo::build($codice);
$database->query('INSERT INTO `in_tipiintervento_lang` (`id_lang`, `id_record`, `name`) VALUES ('.prepare(setting('Lingua')).', '.prepare($tipo->id).', '.prepare(post('descrizione')).')');
$tipo->tempo_standard = post('tempo_standard');
$tipo->calcola_km = post('calcola_km');
$tipo->costo_orario = post('costo_orario');
$tipo->costo_km = post('costo_km');
$tipo->costo_diritto_chiamata = post('costo_diritto_chiamata');
$tipo->costo_orario_tecnico = post('costo_orario_tecnico');
$tipo->costo_km_tecnico = post('costo_km_tecnico');
$tipo->costo_diritto_chiamata_tecnico = post('costo_diritto_chiamata_tecnico');
$tipo = Tipo::build($codice, $calcola_km, $tempo_standard, $costo_orario, $costo_km, $costo_diritto_chiamata, $costo_orario_tecnico, $costo_km_tecnico, $costo_diritto_chiamata_tecnico);
$id_record= $dbo->lastInsertedID();
$tipo->name = post('descrizione');
$tipo->save();
// Fix per impostare i valori inziali a tutti i tecnici
$tipo->fixTecnici();
$id_record = $tipo->id;
$fasce_orarie = $dbo->select('in_fasceorarie', '*', [], ['deleted_at' => null]);
foreach ($fasce_orarie as $fascia_oraria) {
$dbo->insert('in_fasceorarie_tipiintervento', [

View File

@ -30,7 +30,7 @@ include_once __DIR__.'/../../core.php';
</div>
<div class="col-md-5">
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "$descrizione$" ]}
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "$name$" ]}
</div>
<div class="col-md-2">

View File

@ -37,13 +37,18 @@ class Tipo extends Model
*
* @return self
*/
public static function build($codice)
public static function build($codice, $calcola_km, $tempo_standard, $costo_orario, $costo_km, $costo_diritto_chiamata, $costo_orario_tecnico, $costo_km_tecnico, $costo_diritto_chiamata_tecnico)
{
$model = new static();
$model->codice = $codice;
// Salvataggio delle informazioni
$model->calcola_km = $calcola_km;
$model->tempo_standard = $tempo_standard;
$model->costo_orario = $costo_orario;
$model->costo_km = $costo_km;
$model->costo_diritto_chiamata = $costo_diritto_chiamata;
$model->costo_orario_tecnico = $costo_orario_tecnico;
$model->costo_km_tecnico = $costo_km_tecnico;
$model->costo_diritto_chiamata_tecnico = $costo_diritto_chiamata_tecnico;
$model->save();
return $model;
@ -93,6 +98,30 @@ class Tipo extends Model
->first()->name;
}
/**
* Imposta l'attributo name del tipo di intervento.
*/
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 del tipo di intervento a partire dal nome.
*