Aggiunto modal sessioni Interventi (#241)

This commit is contained in:
Thomas Zilio 2018-10-12 10:33:08 +02:00
parent 8ceec86182
commit eb19f8610a
3 changed files with 97 additions and 4 deletions

View File

@ -96,7 +96,7 @@ class Anagrafica extends Model
public static function fixTecnico(Anagrafica $anagrafica)
{
// Copio già le tariffe per le varie attività
$result = $database->query('INSERT INTO in_tariffe(idtecnico, idtipointervento, costo_ore, costo_km, costo_dirittochiamata, costo_ore_tecnico, costo_km_tecnico, costo_dirittochiamata_tecnico) SELECT '.prepare($model->id).', idtipointervento, costo_orario, costo_km, costo_diritto_chiamata, costo_orario_tecnico, costo_km_tecnico, costo_diritto_chiamata_tecnico FROM in_tipiintervento');
$result = database()->query('INSERT INTO in_tariffe(idtecnico, idtipointervento, costo_ore, costo_km, costo_dirittochiamata, costo_ore_tecnico, costo_km_tecnico, costo_dirittochiamata_tecnico) SELECT '.prepare($model->id).', idtipointervento, costo_orario, costo_km, costo_diritto_chiamata, costo_orario_tecnico, costo_km_tecnico, costo_diritto_chiamata_tecnico FROM in_tipiintervento');
if (!$result) {
flash()->error(tr("Errore durante l'importazione tariffe!"));

View File

@ -206,7 +206,7 @@ if (!empty($rs2)) {
// Sconto ore
echo '
<td style="border-right:1px solid #aaa;">';
if ($user['idanagrafica'] == 0 || $show_costi) {
if ($show_costi) {
echo '
{[ "type": "number", "name": "sconto['.$id.']", "value": "'.$sconto_unitario.'", "icon-after": "choice|untprc|'.$tipo_sconto.'|'.$readonly.'", "class": "small-width", "extra": "'.$readonly.'" ]}';
} else {
@ -221,7 +221,7 @@ if (!empty($rs2)) {
// Sconto km
echo '
<td style="border-right:1px solid #aaa;">';
if ($user['idanagrafica'] == 0 || $show_costi) {
if ($show_costi) {
echo '
{[ "type": "number", "name": "scontokm['.$id.']", "value": "'.$scontokm_unitario.'", "icon-after": "choice|untprc|'.$tipo_scontokm.'|'.$readonly.'", "class": "small-width", "extra": "'.$readonly.'" ]}';
} else {
@ -243,7 +243,10 @@ if (!empty($rs2)) {
if (!$flag_completato) {
echo '
<a class="btn btn-danger" id="delbtn_'.$id.'" onclick="elimina_sessione(\''.$id.'\', \''.$id_record.'\', \''.$idzona.'\');" title="Elimina riga" class="only_rw"><i class="fa fa-trash"></i></a>';
<a class="btn btn-danger" id="delbtn_'.$id.'" onclick="elimina_sessione(\''.$id.'\', \''.$id_record.'\', \''.$idzona.'\');" title="Elimina riga" class="only_rw"><i class="fa fa-trash"></i></a>
<a class="btn btn-info" onclick="launch_modal(\''.tr('Modifica sessione').'\', \''.$module->fileurl('manage_sessione.php').'?id_module='.$id_module.'&id_sessione='.$id.'\', 1);" title="'.tr('Modifica sessione').'">
<i class="fa fa-pencil"></i>
</a>';
}
echo '

View File

@ -0,0 +1,90 @@
<?php
include_once __DIR__.'/../../core.php';
include_once __DIR__.'/../../../crore.php';
$show_costi = true;
// Limitazione delle azioni dei tecnici
if ($user['gruppo'] == 'Tecnici') {
$show_costi = !empty($user['idanagrafica']) && setting('Mostra i prezzi al tecnico');
}
$sessione = $dbo->fetchOne('SELECT in_interventi_tecnici.*, an_anagrafiche.ragione_sociale, an_anagrafiche.deleted_at FROM in_interventi_tecnici INNER JOIN an_anagrafiche ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica WHERE in_interventi_tecnici.id = '.prepare(get('id_sessione')));
if (empty($sessione)) {
$op = 'add_sessione';
$button = '<i class="fa fa-plus"></i> '.tr('Aggiungi');
} else {
$op = 'edit_sessione';
$button = '<i class="fa fa-edit"></i> '.tr('Modifica');
}
echo '
<form id="add_form" action="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'" method="post">
<input type="hidden" name="op" value="'.$op.'">
<input type="hidden" name="id_sessione" value="'.$sessione['id'].'">';
// Tecnico
echo '
<p>'.tr('Tecnico').': '.$sessione['ragione_sociale'].' '.(!empty($sessione['deleted_at']) ? '<small class="text-danger"><em>('.tr('Eliminato').')</em></small>' : '').'</p>';
// Orari
echo '
<div class="row">
<div class="col-md-6">
{[ "type": "timestamp", "label": "'.tr('Inizio attività').'", "name": "orario_inizio", "required": 1, "value": "'.$sessione['orario_inizio'].'" ]}
</div>
<div class="col-md-6">
{[ "type": "timestamp", "label": "'.tr('Fine attività').'", "name": "orario_fine", "required": 1, "value": "'.$sessione['orario_fine'].'" ]}
</div>
</div>';
if ($show_costi) {
echo '
<div class="row">';
// Km
echo '
<div class="col-md-4">
{[ "type": "number", "label": "'.tr('Km').'", "name": "km", "value": "'.$sessione['km'].'"]}
</div>';
// Sconto ore
echo '
<div class="col-md-4">
{[ "type": "number", "label": "'.tr('Sconto ore').'", "name": "sconto", "value": "'.$sessione['sconto_unitario'].'", "icon-after": "choice|untprc|'.$sessione['tipo_sconto'].'"]}
</div>';
// Sconto km
echo '
<div class="col-md-4">
{[ "type": "number", "label": "'.tr('Sconto km').'", "name": "sconto_km", "value": "'.$sessione['scontokm_unitario'].'", "icon-after": "choice|untprc|'.$sessione['tipo_scontokm'].'"]}
</div>';
echo'
</div>';
}
echo '
<!-- PULSANTI -->
<div class="row">
<div class="col-md-12 text-right">
<button type="submit" class="btn btn-primary">'.$button.'</button>
</div>
</div>
</form>';
echo '
<script src="'.$rootdir.'/lib/init.js"></script>';
echo '
<script>
$(document).ready(function () {
// Quando modifico orario inizio, allineo anche l\'orario fine
$("#orario_inizio").on("dp.change", function (e) {
$("#orario_fine").data("DateTimePicker").minDate(e.date).format(globals.timestampFormat);
});
});
</script>';