From 1d8ce9c437e904fa3e67daba09eaae0029c40ede Mon Sep 17 00:00:00 2001 From: Dasc3er Date: Tue, 22 Sep 2020 13:59:50 +0200 Subject: [PATCH] =?UTF-8?q?Correzioni=20su=20duplicazione=20Attivit=C3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/interventi/actions.php | 50 ++++++++++------------ modules/interventi/bulk.php | 44 ++++++++----------- modules/interventi/modals/duplicazione.php | 16 ++++--- 3 files changed, 50 insertions(+), 60 deletions(-) diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index df1df09a0..29aae16f5 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -530,52 +530,46 @@ 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 (!empty($copia_righe)) { + $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(); - } + $new_riga->qta_evasa = 0; + $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; } } diff --git a/modules/interventi/bulk.php b/modules/interventi/bulk.php index 989e082d3..2ea15e766 100755 --- a/modules/interventi/bulk.php +++ b/modules/interventi/bulk.php @@ -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,45 +170,38 @@ 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 (!empty($copia_righe)) { + $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(); - } + $new_riga->qta_evasa = 0; + $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; } } diff --git a/modules/interventi/modals/duplicazione.php b/modules/interventi/modals/duplicazione.php index ece22d003..5e9b3130b 100644 --- a/modules/interventi/modals/duplicazione.php +++ b/modules/interventi/modals/duplicazione.php @@ -20,27 +20,31 @@ include_once __DIR__.'/../../../core.php'; echo ' -
+
- {[ "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 ]}
- {[ "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" ]}
- {["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": "" ]}
-
- {["type":"checkbox", "label":"'.tr('Duplica sessioni').'", "name":"sessioni", "value":"", "help":"'.tr('Selezione per riportare anche le sessioni di lavoro nella nuova attività').'" ]} +
+ {["type": "checkbox", "label": "'.tr('Duplica righe').'", "name": "copia_righe", "help": "'.tr('Selezione per riportare anche le righe nella nuova attività').'", "value": 1 ]} +
+ +
+ {["type": "checkbox", "label": "'.tr('Duplica sessioni').'", "name": "copia_sessioni", "help": "'.tr('Selezione per riportare anche le sessioni di lavoro nella nuova attività').'", "value": 1 ]}