diff --git a/ajax_dataload.php b/ajax_dataload.php
index 895df331d..d9026951b 100755
--- a/ajax_dataload.php
+++ b/ajax_dataload.php
@@ -17,7 +17,7 @@ $total = Util\Query::readQuery($structure);
// Ricerca
$search = [];
for ($i = 0; $i < count($columns); ++$i) {
- if (!empty($columns[$i]['search']['value']) || $columns[$i]['search']['value']=='0') {
+ if (!empty($columns[$i]['search']['value']) || $columns[$i]['search']['value'] == '0') {
$search[$total['fields'][$i]] = $columns[$i]['search']['value'];
}
}
diff --git a/assets/src/js/functions/functions.js b/assets/src/js/functions/functions.js
index 0971c5bdd..9c2d7783b 100755
--- a/assets/src/js/functions/functions.js
+++ b/assets/src/js/functions/functions.js
@@ -213,6 +213,7 @@ function message(element) {
onOpen: function () {
start_superselect();
start_inputmask();
+ start_datepickers();
},
preConfirm: function () {
$form = $('#swal-form');
diff --git a/modules/anagrafiche/import.php b/modules/anagrafiche/import.php
index ce5773530..aa54e6a5e 100755
--- a/modules/anagrafiche/import.php
+++ b/modules/anagrafiche/import.php
@@ -30,9 +30,9 @@ switch (post('op')) {
case 'import':
$sede_fields = [
- 'piva',
- 'codice_fiscale',
- 'codice_destinatario',
+ //'piva',
+ //'codice_fiscale',
+ //'codice_destinatario',
'indirizzo',
'indirizzo2',
'citta',
@@ -139,6 +139,7 @@ return [
'Citt_',
'Città',
'Città',
+ 'Citta',
],
],
[
@@ -208,6 +209,7 @@ return [
'P.IVA',
'P.IVA/TAX ID',
'TAX ID',
+ 'Partita IVA',
],
],
[
diff --git a/modules/anagrafiche/src/Anagrafica.php b/modules/anagrafiche/src/Anagrafica.php
index b1dd5a585..e79968081 100755
--- a/modules/anagrafiche/src/Anagrafica.php
+++ b/modules/anagrafiche/src/Anagrafica.php
@@ -250,8 +250,10 @@ class Anagrafica extends Model
public function setCodiceDestinatarioAttribute($value)
{
- if ($this->sedeLegale->nazione->iso2 != 'IT') {
+ if (!empty($this->sedeLegale->nazione) && $this->sedeLegale->nazione->iso2 != 'IT') {
$value = '';
+ dump('tes');
+ exit();
}
$this->attributes['codice_destinatario'] = trim(strtoupper($value));
diff --git a/modules/articoli/bulk.php b/modules/articoli/bulk.php
index 844f6efe0..83d3b2382 100644
--- a/modules/articoli/bulk.php
+++ b/modules/articoli/bulk.php
@@ -5,9 +5,7 @@ include_once __DIR__.'/../../core.php';
switch (post('op')) {
case 'delete-bulk':
-
foreach ($id_records as $id) {
-
$elementi = $dbo->fetchArray('SELECT `co_documenti`.`id`, `co_documenti`.`data`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idarticolo` = '.prepare($id).')
UNION SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt`.`descrizione` AS tipo_documento, `dt_tipiddt`.`dir` FROM `dt_ddt` JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` WHERE `dt_ddt`.`id` IN (SELECT `idddt` FROM `dt_righe_ddt` WHERE `idarticolo` = '.prepare($id).')
@@ -16,10 +14,9 @@ switch (post('op')) {
if (!empty($elementi)) {
$dbo->query('UPDATE mg_articoli SET deleted_at = NOW() WHERE id = '.prepare($id).Modules::getAdditionalsQuery($id_module));
- }else{
+ } else {
$dbo->query('DELETE FROM `mg_articoli` WHERE id = '.prepare($id).Modules::getAdditionalsQuery($id_module));
}
-
}
flash()->info(tr('Articoli eliminati!'));
diff --git a/modules/contratti/actions.php b/modules/contratti/actions.php
index 329666617..9ec27f5f2 100644
--- a/modules/contratti/actions.php
+++ b/modules/contratti/actions.php
@@ -391,7 +391,6 @@ $riga = $contratto->getRiga($type, $id_riga);
// Creazione del contratto al volo
if (post('create_document') == 'on') {
-
$contratto = Contratto::build($preventivo->anagrafica, $preventivo->nome);
$contratto->idpagamento = $preventivo->idpagamento;
diff --git a/modules/contratti/row-list.php b/modules/contratti/row-list.php
index 85d9a9152..5100104f9 100755
--- a/modules/contratti/row-list.php
+++ b/modules/contratti/row-list.php
@@ -23,10 +23,9 @@ foreach ($righe as $riga) {
echo '
';
-
echo '
- '.(($riga->order)+1).'
+ '.(($riga->order) + 1).'
';
// Descrizione
@@ -237,4 +236,4 @@ $(document).ready(function(){
});
});
});
-';
\ No newline at end of file
+';
diff --git a/modules/dashboard/actions.php b/modules/dashboard/actions.php
index ba5d4f7b0..5ed26f92a 100755
--- a/modules/dashboard/actions.php
+++ b/modules/dashboard/actions.php
@@ -179,7 +179,7 @@ switch (get('op')) {
'.(($r['ref'] == 'intervento') ? '
' : '
').'
'.$r['ragione_sociale'].' '.Translator::dateToLocale($r['data_richiesta']).' ('.$r['tipointervento'].')
'.(!empty($r['richiesta']) ? ' - '.$r['richiesta'] : '').'
'.(!empty($r['nomecontratto']) ? '
Contratto: '.$r['nomecontratto'] : '').
(!empty($r['data_scadenza'] and $r['data_scadenza'] != '0000-00-00 00:00:00') ? '
'.tr('entro il: ').Translator::dateToLocale($r['data_scadenza']).' ' : '').
- (($r['ref'] == 'intervento') ? (Modules::link('Interventi', $r['id'], '
', null, 'title="'.tr("Visualizza scheda").'" class="btn btn-primary btn-xs pull-right"')) : (Modules::link('Contratti', $r['idcontratto'], '
', null, 'title="'.tr("Visualizza scheda").'" class="btn btn-primary btn-xs pull-right"'))).
+ (($r['ref'] == 'intervento') ? (Modules::link('Interventi', $r['id'], '
', null, 'title="'.tr('Visualizza scheda').'" class="btn btn-primary btn-xs pull-right"')) : (Modules::link('Contratti', $r['idcontratto'], '
', null, 'title="'.tr('Visualizza scheda').'" class="btn btn-primary btn-xs pull-right"'))).
'
';
}
} ?>
diff --git a/modules/ddt/row-list.php b/modules/ddt/row-list.php
index 9e5e98325..940855925 100755
--- a/modules/ddt/row-list.php
+++ b/modules/ddt/row-list.php
@@ -41,7 +41,7 @@ foreach ($righe as $riga) {
echo '
- '.(($riga->order)+1).'
+ '.(($riga->order) + 1).'
';
echo '
@@ -279,4 +279,4 @@ $(document).ready(function(){
});
});
});
-';
\ No newline at end of file
+';
diff --git a/modules/fatture/row-list.php b/modules/fatture/row-list.php
index f5564ae23..b1005fca7 100755
--- a/modules/fatture/row-list.php
+++ b/modules/fatture/row-list.php
@@ -74,7 +74,7 @@ foreach ($righe as $riga) {
echo '
- '.(($riga->order)+1).'
+ '.(($riga->order) + 1).'
';
echo '
@@ -397,4 +397,4 @@ $(document).ready(function(){
});
});
});
-';
\ No newline at end of file
+';
diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php
index afb179ece..398443ff4 100755
--- a/modules/interventi/actions.php
+++ b/modules/interventi/actions.php
@@ -421,6 +421,10 @@ $riga = $intervento->getRiga($type, $id_riga);
$new = $intervento->replicate();
$new->idstatointervento = $idstatointervento;
+
+ //calcolo il nuovo codice
+ $new->codice = Intervento::getNextCodice($data_richiesta);
+
$new->save();
$id_record = $new->id;
@@ -431,12 +435,12 @@ $riga = $intervento->getRiga($type, $id_riga);
$new_riga->setParent($new);
//Copio le righe
- if( $copia_righe==1 ){
+ 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();
}
@@ -446,29 +450,28 @@ $riga = $intervento->getRiga($type, $id_riga);
$i = 0;
//Copio le sessioni
- if( $copia_sessioni==1 ){
+ 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{
+ 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));
+ $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));
+ $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++;
+ ++$i;
$inizio_old = $sessione->orario_inizio;
}
}
@@ -476,5 +479,4 @@ $riga = $intervento->getRiga($type, $id_riga);
flash()->info(tr('Attività duplicata correttamente!'));
break;
-
}
diff --git a/modules/interventi/bulk.php b/modules/interventi/bulk.php
index 80802e599..539daedf4 100755
--- a/modules/interventi/bulk.php
+++ b/modules/interventi/bulk.php
@@ -141,6 +141,78 @@ switch (post('op')) {
flash()->warning(tr('Nessuna attività modificata!'));
}
+ break;
+
+ case 'copy':
+
+ $idstatointervento = post('idstatointervento');
+ $data_richiesta = post('data_richiesta');
+ $copia_sessioni = post('sessioni');
+ $copia_righe = post('righe');
+
+ foreach ($id_records as $idintervento) {
+ $intervento = Intervento::find($idintervento);
+
+ $new = $intervento->replicate();
+ $new->idstatointervento = $idstatointervento;
+
+ //calcolo il nuovo codice
+ $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) {
+ $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à duplicate correttamente!'));
+
break;
}
@@ -179,4 +251,18 @@ return [
'blank' => false,
],
],
+
+ 'copy' => [
+ 'text' => tr('Duplica attività'),
+ 'data' => [
+ 'title' => tr('Vuoi davvero fare una copia degli interventi selezionati?'),
+ 'msg' => ' {[ "type": "timestamp", "label": "'.tr('Data/ora richiesta').'", "name": "data_richiesta", "required": 0, "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":"checkbox", "label":"'.tr('Duplica righe').'", "name":"righe", "value":"" ]}
+ {[ "type":"checkbox", "label":"'.tr('Duplica sessioni').'", "name":"sessioni", "value":"" ]}',
+ 'button' => tr('Duplica attività'),
+ 'class' => 'btn btn-lg btn-warning',
+ 'blank' => false,
+ ],
+ ],
];
diff --git a/modules/interventi/buttons.php b/modules/interventi/buttons.php
index 83a5728c2..d249dc40d 100755
--- a/modules/interventi/buttons.php
+++ b/modules/interventi/buttons.php
@@ -28,4 +28,4 @@ echo '
'.$frase.'...
- ';
\ No newline at end of file
+';
diff --git a/modules/interventi/copia_attivita.php b/modules/interventi/copia_attivita.php
index 4e16ff3d7..1915635df 100644
--- a/modules/interventi/copia_attivita.php
+++ b/modules/interventi/copia_attivita.php
@@ -34,4 +34,4 @@ echo '
';
\ No newline at end of file
+';
diff --git a/modules/interventi/src/API/v1/Articoli.php b/modules/interventi/src/API/v1/Articoli.php
index 243bba3e0..52a22fcd6 100755
--- a/modules/interventi/src/API/v1/Articoli.php
+++ b/modules/interventi/src/API/v1/Articoli.php
@@ -35,6 +35,9 @@ class Articoli extends Resource implements RetrieveInterface, CreateInterface
$articolo->qta = $data['qta'];
$articolo->um = $data['um'];
+
+ $articolo->prezzo_unitario = $originale->prezzo_vendita;
+ $articolo->costo_unitario = $originale->prezzo_acquisto;
$articolo->save();
}
diff --git a/modules/ordini/row-list.php b/modules/ordini/row-list.php
index f2545a000..b88b76ec4 100755
--- a/modules/ordini/row-list.php
+++ b/modules/ordini/row-list.php
@@ -41,10 +41,9 @@ foreach ($righe as $riga) {
echo '
- '.(($riga->order)+1).'
+ '.(($riga->order) + 1).'
';
-
echo '
';
@@ -270,4 +269,4 @@ $(document).ready(function(){
});
});
});
-';
\ No newline at end of file
+';
diff --git a/modules/preventivi/actions.php b/modules/preventivi/actions.php
index 3de6a6a12..3ade90b26 100755
--- a/modules/preventivi/actions.php
+++ b/modules/preventivi/actions.php
@@ -69,7 +69,7 @@ switch (post('op')) {
case 'copy':
// Copia del preventivo
$new = $preventivo->replicate();
- $new->numero = Preventivo::getNextNumero( Carbon::now() );
+ $new->numero = Preventivo::getNextNumero(Carbon::now());
$new->data_bozza = Carbon::now();
$new->data_conclusione = Carbon::now()->addMonth();
$new->stato = 'Bozza';
diff --git a/modules/preventivi/row-list.php b/modules/preventivi/row-list.php
index 9fdc25bf9..27b6d46f4 100755
--- a/modules/preventivi/row-list.php
+++ b/modules/preventivi/row-list.php
@@ -23,9 +23,9 @@ foreach ($righe as $riga) {
echo '
';
- echo '
+ echo '
- '.(($riga->order)+1).'
+ '.(($riga->order) + 1).'
';
// Descrizione
@@ -263,4 +263,4 @@ $(document).ready(function(){
});
});
});
-';
\ No newline at end of file
+';
diff --git a/modules/utenti/src/API/v1/Login.php b/modules/utenti/src/API/v1/Login.php
index 352528310..3790458e4 100755
--- a/modules/utenti/src/API/v1/Login.php
+++ b/modules/utenti/src/API/v1/Login.php
@@ -27,6 +27,7 @@ class Login extends Resource implements CreateInterface
$response['token'] = $token;
$response['group'] = $user['gruppo'];
$response['google_maps_token'] = setting('Google Maps API key');
+ $response['prezzi_al_tecnico'] = setting('Mostra i prezzi al tecnico');
$response['version'] = Update::getVersion();
} else {
diff --git a/plugins/pianificazione_fatturazione/widgets/rate_contrattuali.php b/plugins/pianificazione_fatturazione/widgets/rate_contrattuali.php
index a7cd024dd..9c5ef3367 100644
--- a/plugins/pianificazione_fatturazione/widgets/rate_contrattuali.php
+++ b/plugins/pianificazione_fatturazione/widgets/rate_contrattuali.php
@@ -55,7 +55,8 @@ foreach ($raggruppamenti as $mese => $raggruppamento) {
$contratto = $pianificazione->contratto;
$anagrafica = $contratto->anagrafica;
- echo '
+ if (strtolower($pianificazione->data_scadenza->formatLocalized('%B %Y')) == strtolower($mese)) {
+ echo '
'.dateFormat($pianificazione->data_scadenza).'
@@ -74,14 +75,15 @@ foreach ($raggruppamenti as $mese => $raggruppamento) {
]).'
';
- // Pulsanti
- echo '
+ // Pulsanti
+ echo '
'.tr('Crea fattura').'
';
+ }
}
echo '
diff --git a/plugins/receiptFE/edit.php b/plugins/receiptFE/edit.php
index 19f582885..eea6c322f 100755
--- a/plugins/receiptFE/edit.php
+++ b/plugins/receiptFE/edit.php
@@ -7,24 +7,22 @@ use Plugins\ReceiptFE\Interaction;
echo '
'.tr('Le ricevute delle Fatture Elettroniche permettono di individuare se una determinata fattura tramessa è stata accettata dal Sistema Di Interscambio').'.
';
if (Interaction::isEnabled()) {
-
echo '
'.tr('Tramite il pulsante _BTN_ è possibile procedere al recupero delle ricevute, aggiornando automaticamente lo stato delle relative fatture e allegandole ad esse', [
'_BTN_' => ' '.tr('Ricerca ricevute').' ',
]).'.
';
-//controllo se ci sono fatture in elaborazione da più di 7 giorni per le quali non ho ancora una ricevuta
-$fatture_generate = $dbo->fetchArray('SELECT `co_documenti`.`numero_esterno`, `co_documenti`.`data`, `co_documenti`.`data_stato_fe` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_tipidocumento`.`dir` = \'entrata\' AND `co_documenti`.`codice_stato_fe` = \'WAIT\' AND `co_documenti`.`data_stato_fe` >= "'.$_SESSION['period_start'].'" AND `co_documenti`.`data_stato_fe`<(NOW() - INTERVAL 7 DAY) ORDER BY `co_documenti`.`data_stato_fe`');
+ //controllo se ci sono fatture in elaborazione da più di 7 giorni per le quali non ho ancora una ricevuta
+ $fatture_generate = $dbo->fetchArray('SELECT `co_documenti`.`numero_esterno`, `co_documenti`.`data`, `co_documenti`.`data_stato_fe` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_tipidocumento`.`dir` = \'entrata\' AND `co_documenti`.`codice_stato_fe` = \'WAIT\' AND `co_documenti`.`data_stato_fe` >= "'.$_SESSION['period_start'].'" AND `co_documenti`.`data_stato_fe`<(NOW() - INTERVAL 7 DAY) ORDER BY `co_documenti`.`data_stato_fe`');
-foreach ($fatture_generate as $fattura_generata) {
- echo '
+ foreach ($fatture_generate as $fattura_generata) {
+ echo '
'.tr('Attenzione: la fattura _NUM_ del _DATA_ è in attesa di una ricevuta dal _DATA_STATO_FE.', [
'_NUM_' => $fattura_generata['numero_esterno'],
'_DATA_' => Translator::dateToLocale($fattura_generata['data']),
- '_DATA_STATO_FE' => Translator::timestampToLocale($fattura_generata['data_stato_fe'])
+ '_DATA_STATO_FE' => Translator::timestampToLocale($fattura_generata['data_stato_fe']),
]).'
';
-}
-
+ }
}
echo '
diff --git a/plugins/receiptFE/src/Ricevuta.php b/plugins/receiptFE/src/Ricevuta.php
index eca512553..a16e71bdb 100755
--- a/plugins/receiptFE/src/Ricevuta.php
+++ b/plugins/receiptFE/src/Ricevuta.php
@@ -135,7 +135,7 @@ class Ricevuta
$this->saveAllegato($codice);
//In caso di Notifica Esito il codice è definito dal nodo
della ricevuta
- if ($codice == 'NE'){
+ if ($codice == 'NE') {
$this->xml = XML::readFile($this->file);
$codice = $this->xml['EsitoCommittente']['Esito'];
}
diff --git a/templates/ddt/body.php b/templates/ddt/body.php
index 9e29c1eb4..1216443f2 100755
--- a/templates/ddt/body.php
+++ b/templates/ddt/body.php
@@ -44,8 +44,7 @@ foreach ($righe as $riga) {
echo'
- '.($r['order']+1).' ';
-
+ '.($r['order'] + 1).'';
echo'
diff --git a/templates/fatture/body.php b/templates/fatture/body.php
index 095fa3b36..3edb0c5b8 100755
--- a/templates/fatture/body.php
+++ b/templates/fatture/body.php
@@ -42,12 +42,10 @@ foreach ($righe as $riga) {
echo '
';
-
echo'
- '.($r['order']+1).' ';
+ '.($r['order'] + 1).'';
-
echo '
'.nl2br($r['descrizione']);
diff --git a/templates/preventivi/body.php b/templates/preventivi/body.php
index 522c3f3d3..8fd4272a9 100755
--- a/templates/preventivi/body.php
+++ b/templates/preventivi/body.php
@@ -89,9 +89,11 @@ foreach ($righe as $riga) {
';
echo '';
- if (!empty($riga->articolo->immagine)) {echo ' ';}
+ if (!empty($riga->articolo->immagine)) {
+ echo ' ';
+ }
echo ' ';
-
+
echo '
'.nl2br($r['descrizione']);