mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-02 17:07:01 +01:00
Correzioni su duplicazione Attività
This commit is contained in:
parent
3d7cc1e01b
commit
1d8ce9c437
@ -530,29 +530,25 @@ switch (post('op')) {
|
||||
|
||||
// Duplica intervento
|
||||
case 'copy':
|
||||
|
||||
$idstatointervento = post('idstatointervento');
|
||||
$id_stato = post('id_stato');
|
||||
$data_richiesta = post('data_richiesta');
|
||||
$copia_sessioni = post('sessioni');
|
||||
$copia_righe = post('righe');
|
||||
$copia_sessioni = post('copia_sessioni');
|
||||
$copia_righe = post('copia_righe');
|
||||
|
||||
$new = $intervento->replicate();
|
||||
$new->idstatointervento = $idstatointervento;
|
||||
$new->idstatointervento = $id_stato;
|
||||
|
||||
//calcolo il nuovo codice
|
||||
// Calcolo del nuovo codice sulla base della data di richiesta
|
||||
$new->codice = Intervento::getNextCodice($data_richiesta);
|
||||
$new->data_richiesta = $data_richiesta;
|
||||
$new->data_scadenza = post('data_scadenza');
|
||||
|
||||
$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) {
|
||||
// Copio le righe
|
||||
if (!empty($copia_righe)) {
|
||||
$righe = $intervento->getRighe();
|
||||
foreach ($righe as $riga) {
|
||||
$new_riga = $riga->replicate();
|
||||
@ -562,20 +558,18 @@ switch (post('op')) {
|
||||
$new_riga->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$i = 0;
|
||||
|
||||
//Copio le sessioni
|
||||
if ($copia_sessioni == 1) {
|
||||
// Copia delle sessioni
|
||||
$numero_sessione = 0;
|
||||
if (!empty($copia_sessioni)) {
|
||||
$sessioni = $intervento->sessioni;
|
||||
foreach ($sessioni as $sessione) {
|
||||
//Se è la prima sessione che copio importo la data con quella della richiesta
|
||||
if ($i == 0) {
|
||||
// Se è la prima sessione che copio importo la data con quella della richiesta
|
||||
if ($numero_sessione == 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));
|
||||
$orario_inizio = date('Y-m-d H:i:s', (strtotime($sessione->orario_inizio) + $diff));
|
||||
}
|
||||
|
||||
$diff_fine = strtotime($sessione->orario_fine) - strtotime($sessione->orario_inizio);
|
||||
@ -588,7 +582,7 @@ switch (post('op')) {
|
||||
$new_sessione->orario_fine = $orario_fine;
|
||||
$new_sessione->save();
|
||||
|
||||
++$i;
|
||||
++$numero_sessione;
|
||||
$inizio_old = $sessione->orario_inizio;
|
||||
}
|
||||
}
|
||||
|
@ -161,8 +161,7 @@ switch (post('op')) {
|
||||
break;
|
||||
|
||||
case 'copy-bulk':
|
||||
|
||||
$idstatointervento = post('idstatointervento');
|
||||
$id_stato = post('idstatointervento');
|
||||
$data_richiesta = post('data_richiesta');
|
||||
$copia_sessioni = post('sessioni');
|
||||
$copia_righe = post('righe');
|
||||
@ -171,22 +170,17 @@ switch (post('op')) {
|
||||
$intervento = Intervento::find($idintervento);
|
||||
|
||||
$new = $intervento->replicate();
|
||||
$new->idstatointervento = $idstatointervento;
|
||||
$new->idstatointervento = $id_stato;
|
||||
|
||||
//calcolo il nuovo codice
|
||||
// Calcolo del nuovo codice sulla base della data di richiesta
|
||||
$new->codice = Intervento::getNextCodice($data_richiesta);
|
||||
|
||||
$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) {
|
||||
// Copio le righe
|
||||
if (!empty($copia_righe)) {
|
||||
$righe = $intervento->getRighe();
|
||||
foreach ($righe as $riga) {
|
||||
$new_riga = $riga->replicate();
|
||||
@ -196,20 +190,18 @@ switch (post('op')) {
|
||||
$new_riga->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$i = 0;
|
||||
|
||||
//Copio le sessioni
|
||||
if ($copia_sessioni == 1) {
|
||||
// Copia delle sessioni
|
||||
$numero_sessione = 0;
|
||||
if (!empty($copia_sessioni)) {
|
||||
$sessioni = $intervento->sessioni;
|
||||
foreach ($sessioni as $sessione) {
|
||||
//Se è la prima sessione che copio importo la data con quella della richiesta
|
||||
if ($i == 0) {
|
||||
// Se è la prima sessione che copio importo la data con quella della richiesta
|
||||
if ($numero_sessione == 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));
|
||||
$orario_inizio = date('Y-m-d H:i:s', (strtotime($sessione->orario_inizio) + $diff));
|
||||
}
|
||||
|
||||
$diff_fine = strtotime($sessione->orario_fine) - strtotime($sessione->orario_inizio);
|
||||
@ -222,7 +214,7 @@ switch (post('op')) {
|
||||
$new_sessione->orario_fine = $orario_fine;
|
||||
$new_sessione->save();
|
||||
|
||||
++$i;
|
||||
++$numero_sessione;
|
||||
$inizio_old = $sessione->orario_inizio;
|
||||
}
|
||||
}
|
||||
|
@ -20,27 +20,31 @@
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
|
||||
echo '
|
||||
<form action="" method="post" id="form-copy">
|
||||
<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 ]}
|
||||
{[ "type": "timestamp", "label": "'.tr('Data/ora richiesta').'", "name": "data_richiesta", "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": "" ]}
|
||||
{[ "type": "timestamp", "label": "'.tr('Data/ora scadenza').'", "name": "data_scadenza" ]}
|
||||
</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à').'" ]}
|
||||
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted_at IS NULL", "value": "" ]}
|
||||
</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 class="col-md-3">
|
||||
{["type": "checkbox", "label": "'.tr('Duplica righe').'", "name": "copia_righe", "help": "'.tr('Selezione per riportare anche le righe nella nuova attività').'", "value": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{["type": "checkbox", "label": "'.tr('Duplica sessioni').'", "name": "copia_sessioni", "help": "'.tr('Selezione per riportare anche le sessioni di lavoro nella nuova attività').'", "value": 1 ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user