mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-16 19:40:44 +01:00
Funzione duplica attività
This commit is contained in:
parent
f46669a4a4
commit
e41a2ae124
@ -410,4 +410,71 @@ $riga = $intervento->getRiga($type, $id_riga);
|
||||
$sessione->save();
|
||||
|
||||
break;
|
||||
|
||||
// Duplica intervento
|
||||
case 'copy':
|
||||
|
||||
$idstatointervento = post('idstatointervento');
|
||||
$data_richiesta = post('data_richiesta');
|
||||
$copia_sessioni = post('sessioni');
|
||||
$copia_righe = post('righe');
|
||||
|
||||
$new = $intervento->replicate();
|
||||
$new->idstatointervento = $idstatointervento;
|
||||
$new->save();
|
||||
|
||||
$id_record = $new->id;
|
||||
|
||||
$righe = $intervento->getRighe();
|
||||
foreach ($righe as $riga) {
|
||||
$new_riga = $riga->replicate();
|
||||
$new_riga->setParent($new);
|
||||
|
||||
//Copio le righe
|
||||
if( $copia_righe==1 ){
|
||||
$righe = $intervento->getRighe();
|
||||
foreach ($righe as $riga) {
|
||||
$new_riga = $riga->replicate();
|
||||
$new_riga->setParent($new);
|
||||
|
||||
$new_riga->qta_evasa = 0;
|
||||
$new_riga->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$i = 0;
|
||||
|
||||
//Copio le sessioni
|
||||
if( $copia_sessioni==1 ){
|
||||
$sessioni = $intervento->sessioni;
|
||||
foreach ($sessioni as $sessione) {
|
||||
|
||||
//Se è la prima sessione che copio importo la data con quella della richiesta
|
||||
if( $i == 0 ){
|
||||
$orario_inizio = date("Y-m-d", strtotime($data_richiesta)).' '.date("H:i:s", strtotime($sessione->orario_inizio));
|
||||
}else{
|
||||
$diff = strtotime($sessione->orario_inizio) - strtotime($inizio_old);
|
||||
$orario_inizio = date("Y-m-d H:i:s", (strtotime($orario_inizio)+$diff));
|
||||
}
|
||||
|
||||
$diff_fine = strtotime($sessione->orario_fine) - strtotime($sessione->orario_inizio);
|
||||
$orario_fine = date("Y-m-d H:i:s", (strtotime($orario_inizio)+$diff_fine));
|
||||
|
||||
$new_sessione = $sessione->replicate();
|
||||
$new_sessione->idintervento = $new->id;
|
||||
|
||||
$new_sessione->orario_inizio = $orario_inizio;
|
||||
$new_sessione->orario_fine = $orario_fine;
|
||||
$new_sessione->save();
|
||||
|
||||
$i++;
|
||||
$inizio_old = $sessione->orario_inizio;
|
||||
}
|
||||
}
|
||||
|
||||
flash()->info(tr('Attività duplicata correttamente!'));
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
@ -14,6 +14,12 @@ if (empty($record['firma_file'])) {
|
||||
]).'</span>';
|
||||
}
|
||||
|
||||
// Duplica intervento
|
||||
echo'
|
||||
<button type="button" class="btn btn-primary " onclick="launch_modal( \''.tr('Duplica attività').'\', globals.rootdir + \'/modules/interventi/copia_attivita.php?id_module='.$id_module.'&id_record='.$id_record.'\');" >
|
||||
<i class="fa fa-copy"></i> '.tr('Duplica attività').'...
|
||||
</button>';
|
||||
|
||||
// Disabilito il tasto di firma per gli interventi completati
|
||||
echo '
|
||||
|
||||
@ -22,4 +28,4 @@ echo '
|
||||
|
||||
<button type="button" class="btn btn-primary " onclick="launch_modal( \''.tr('Anteprima e firma').'\', globals.rootdir + \'/modules/interventi/add_firma.php?id_module='.$id_module.'&id_record='.$id_record.'&anteprima=1\');" '.($record['flag_completato'] ? 'disabled' : '').'>
|
||||
<i class="fa fa-desktop"></i> '.$frase.'...
|
||||
</button>';
|
||||
</button>';
|
37
modules/interventi/copia_attivita.php
Normal file
37
modules/interventi/copia_attivita.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
echo '
|
||||
<form action="" method="post" id="copia-intervento">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="op" value="copy">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "timestamp", "label": "'.tr('Data/ora richiesta').'", "name": "data_richiesta", "required": 0, "value": "-now-", "required":1 ]}
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Stato').'", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted_at IS NULL", "value": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{["type":"checkbox", "label":"'.tr('Duplica righe').'", "name":"righe", "value":"", "help":"'.tr('Selezione per riportare anche le righe nella nuova attività').'" ]}
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
{["type":"checkbox", "label":"'.tr('Duplica sessioni').'", "name":"sessioni", "value":"", "help":"'.tr('Selezione per riportare anche le sessioni di lavoro nella nuova attività').'" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<button type="submit" class="btn btn-primary"><i class="fa fa-copy"></i> '.tr('Duplica attività').'...</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
init();
|
||||
</script>';
|
Loading…
x
Reference in New Issue
Block a user