diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index 355d6deda..d43e77a27 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -803,6 +803,7 @@ switch (post('op')) { $copia_sessioni = post('copia_sessioni'); $copia_righe = post('copia_righe'); $copia_impianti = post('copia_impianti'); + $copia_allegati = post('copia_allegati'); $new = $intervento->replicate(); $new->idstatointervento = $id_stato; @@ -882,6 +883,17 @@ switch (post('op')) { } } + //copia allegati + if (!empty($copia_allegati)) { + $allegati = $intervento->uploads(); + foreach ($allegati as $allegato) { + $allegato->copia([ + 'id_module' => $new->getModule()->id, + 'id_record' => $new->id, + ]); + } + } + flash()->info(tr('Attività duplicata correttamente!')); break; diff --git a/modules/interventi/modals/duplicazione.php b/modules/interventi/modals/duplicazione.php index 4f40f0121..bc458f496 100644 --- a/modules/interventi/modals/duplicazione.php +++ b/modules/interventi/modals/duplicazione.php @@ -39,17 +39,22 @@ echo ' {[ "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 ORDER BY descrizione", "value": "" ]} -
+
{["type": "checkbox", "label": "'.tr('Duplica righe').'", "name": "copia_righe", "help": "'.tr('Selezione per riportare anche le righe nella nuova attività').'" ]}
-
+
{["type": "checkbox", "label": "'.tr('Duplica sessioni').'", "name": "copia_sessioni", "help": "'.tr('Selezione per riportare anche le sessioni di lavoro nella nuova attività').'" ]}
-
+
{["type": "checkbox", "label": "'.tr('Duplica impianti').'", "name": "copia_impianti", "help": "'.tr('Selezione per riportare anche gli impianti nella nuova attività').'" ]}
+ +
+ {["type": "checkbox", "label": "'.tr('Duplica allegati').'", "name": "copia_allegati", "help": "'.tr('Selezione per riportare anche gli allegati nella nuova attività').'", "value": 1 ]} +
+