mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-17 12:00:46 +01:00
Compare commits
6 Commits
2750b34dad
...
1cf3dfea34
Author | SHA1 | Date | |
---|---|---|---|
|
1cf3dfea34 | ||
|
499e60f525 | ||
|
87cbcab687 | ||
|
e26ded65b0 | ||
|
27786fe6d4 | ||
|
c2fe1ee872 |
18
CHANGELOG.md
18
CHANGELOG.md
@ -4,7 +4,7 @@ Tutti i maggiori cambiamenti di questo progetto saranno documentati in questo fi
|
|||||||
|
|
||||||
Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://keepachangelog.com/), e il progetto segue il [Semantic Versioning](http://semver.org/) per definire le versioni delle release.
|
Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://keepachangelog.com/), e il progetto segue il [Semantic Versioning](http://semver.org/) per definire le versioni delle release.
|
||||||
|
|
||||||
- [2.5.4 ())](#254-)
|
- [2.5.4 (2024-08-28))](#254-2024-08-28)
|
||||||
- [2.5.3 (2024-08-07)](#253-2024-08-07)
|
- [2.5.3 (2024-08-07)](#253-2024-08-07)
|
||||||
- [2.5.2 (2024-05-31)](#252-2024-05-31)
|
- [2.5.2 (2024-05-31)](#252-2024-05-31)
|
||||||
- [2.5.1 (2024-04-24)](#251-2024-04-24)
|
- [2.5.1 (2024-04-24)](#251-2024-04-24)
|
||||||
@ -72,11 +72,27 @@ Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://k
|
|||||||
|
|
||||||
## 2.5.4
|
## 2.5.4
|
||||||
### Aggiunto (Added)
|
### Aggiunto (Added)
|
||||||
|
- Aggiunta l'unità di misura nel campo Peso nei DDT
|
||||||
|
- Aggiunte le API dei DDT
|
||||||
|
- Aggiunta colonna Agente in Ordini cliente
|
||||||
|
|
||||||
### Modificato (Changed)
|
### Modificato (Changed)
|
||||||
|
- Migliorata la gestione delle stampe contabili vuote
|
||||||
|
- Rimossa la restrizione allo storico degli ultimi 3 anni
|
||||||
|
- Migliorate le API degli interventi
|
||||||
|
- Migliorata la mappa degli interventi
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
- Corretti i controlli sul gestionale
|
||||||
|
- Corretto il filtro stato interventi in mappa
|
||||||
|
- Corretta la registrazione contabile della fattura al cambio di anagrafica
|
||||||
|
- Corretto il widget Contratti in scadenza
|
||||||
|
- Corretta l'eliminazione della sede in Anagrafiche
|
||||||
- Corretta la modifica della descrizione di una riga articolo inserita in un contratto, ddt, attività, ordine e preventivo.
|
- Corretta la modifica della descrizione di una riga articolo inserita in un contratto, ddt, attività, ordine e preventivo.
|
||||||
|
- Corretto il riferimento normativo in fattura
|
||||||
|
- Corretta la ricerca globale
|
||||||
|
- Corretta la gestione dei widgets
|
||||||
|
- Corretto il caricamento dell'immagine utente
|
||||||
|
|
||||||
## 2.5.3 (2024-08-07)
|
## 2.5.3 (2024-08-07)
|
||||||
### Aggiunto (Added)
|
### Aggiunto (Added)
|
||||||
|
@ -4,12 +4,19 @@ Le problematiche saranno raggruppate per release e le relative correzioni (se ap
|
|||||||
#### 2.5.3 - 07/08/2024
|
#### 2.5.3 - 07/08/2024
|
||||||
|
|
||||||
##### Problemi noti
|
##### Problemi noti
|
||||||
Non è possibile modificare la descrizione di una riga articolo inserita in un contratto, ddt, attività, ordine e preventivo.
|
- Non è possibile modificare la descrizione di una riga articolo inserita in un contratto, ddt, attività, ordine e preventivo.
|
||||||
|
|
||||||
##### Soluzione
|
##### Soluzione
|
||||||
https://github.com/devcode-it/openstamanager/commit/b82efb339f8df5da4f2279e25d72904778d2a8d3
|
https://github.com/devcode-it/openstamanager/commit/b82efb339f8df5da4f2279e25d72904778d2a8d3
|
||||||
|
|
||||||
|
|
||||||
|
- La ricerca globale non funziona.
|
||||||
|
|
||||||
|
##### Soluzione
|
||||||
|
https://github.com/devcode-it/openstamanager/commit/5c86d3b7489431b2e8001841b07769cd26e4c24c
|
||||||
|
|
||||||
|
Per applicare le modifiche è necessario ricompilare gli assets
|
||||||
|
|
||||||
#### 2.4.54 - 03/02/2024
|
#### 2.4.54 - 03/02/2024
|
||||||
|
|
||||||
##### Problemi noti
|
##### Problemi noti
|
||||||
|
@ -534,7 +534,7 @@ if (Auth::check()) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($opt)) {
|
if (!empty($opt)) {
|
||||||
$q = str_replace('|id_parent|', ($id_record?:$id_parent), $opt['main_query'][0]['query']);
|
$q = str_replace('|id_parent|', $id_record ?: $id_parent, $opt['main_query'][0]['query']);
|
||||||
$count = $dbo->fetchNum($q);
|
$count = $dbo->fetchNum($q);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,6 +60,7 @@ switch (post('op')) {
|
|||||||
if (!function_exists('curl_init')) {
|
if (!function_exists('curl_init')) {
|
||||||
// cURL non è attivo
|
// cURL non è attivo
|
||||||
flash()->error(tr('cURL non attivo, impossibile continuare l\'operazione.'));
|
flash()->error(tr('cURL non attivo, impossibile continuare l\'operazione.'));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
$ch = curl_init();
|
$ch = curl_init();
|
||||||
|
@ -749,7 +749,7 @@ UNION
|
|||||||
SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`title` AS tipo_documento, `dt_tipiddt`.`dir`, NULL AS `deleted_at` FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id` = `dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `dt_ddt`.`idanagrafica` = '.prepare($id_record).'
|
SELECT `dt_ddt`.`id`, `dt_ddt`.`data`, `dt_ddt`.`numero`, `dt_ddt`.`numero_esterno`, `dt_tipiddt_lang`.`title` AS tipo_documento, `dt_tipiddt`.`dir`, NULL AS `deleted_at` FROM `dt_ddt` INNER JOIN `dt_tipiddt` ON `dt_tipiddt`.`id` = `dt_ddt`.`idtipoddt` LEFT JOIN `dt_tipiddt_lang` ON (`dt_tipiddt`.`id` = `dt_tipiddt_lang`.`id_record` AND `dt_tipiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `dt_ddt`.`idanagrafica` = '.prepare($id_record).'
|
||||||
|
|
||||||
UNION
|
UNION
|
||||||
SELECT `in_interventi`.`id`, `in_interventi`.`data_richiesta`, `in_interventi`.`codice` AS numero, 0 AS numero_esterno, "Intervento" AS tipo_documento, 0 AS dir, in_interventi.deleted_at AS `deleted_at` FROM `in_interventi` LEFT JOIN `in_interventi_tecnici` ON `in_interventi`.`id` = `in_interventi_tecnici`.`idintervento` WHERE `in_interventi`.`id` IN (SELECT `idintervento` FROM `in_interventi_tecnici` WHERE `idtecnico` = '.prepare($id_record).') OR `in_interventi`.`idanagrafica` = '.prepare($id_record).'
|
SELECT `in_interventi`.`id`, `in_interventi`.`data_richiesta`, `in_interventi`.`codice` AS numero, 0 AS numero_esterno, "Attività" AS tipo_documento, 0 AS dir, in_interventi.deleted_at AS `deleted_at` FROM `in_interventi` LEFT JOIN `in_interventi_tecnici` ON `in_interventi`.`id` = `in_interventi_tecnici`.`idintervento` WHERE `in_interventi`.`id` IN (SELECT `idintervento` FROM `in_interventi_tecnici` WHERE `idtecnico` = '.prepare($id_record).') OR `in_interventi`.`idanagrafica` = '.prepare($id_record).'
|
||||||
|
|
||||||
UNION
|
UNION
|
||||||
SELECT `co_contratti`.`id`, `co_contratti`.`data_bozza`, `co_contratti`.`numero`, 0 AS numero_esterno , "Contratto" AS tipo_documento, 0 AS dir, NULL AS `deleted_at` FROM `co_contratti` WHERE `co_contratti`.`idanagrafica` = '.prepare($id_record).'
|
SELECT `co_contratti`.`id`, `co_contratti`.`data_bozza`, `co_contratti`.`numero`, 0 AS numero_esterno , "Contratto" AS tipo_documento, 0 AS dir, NULL AS `deleted_at` FROM `co_contratti` WHERE `co_contratti`.`idanagrafica` = '.prepare($id_record).'
|
||||||
|
@ -130,7 +130,7 @@ if (!empty($movimenti)) {
|
|||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
'.count($movimenti)-($i). '
|
'.count($movimenti) - $i.'
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center" style="color: '.($movimento->qta < 0 ? 'red' : 'green').';">
|
<td class="text-center" style="color: '.($movimento->qta < 0 ? 'red' : 'green').';">
|
||||||
'.numberFormat($movimento->qta, 'qta').' '.$record['um'].'
|
'.numberFormat($movimento->qta, 'qta').' '.$record['um'].'
|
||||||
|
@ -42,12 +42,12 @@ echo '
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- DATI INTESTAZIONE -->
|
<!-- DATI INTESTAZIONE -->
|
||||||
<div class="card card-primary collapsable '.(empty($espandi_dettagli) ? 'collapsed-card' : '').'">
|
<div class="card card-primary collapsable">
|
||||||
<div class="card-header with-border">
|
<div class="card-header with-border">
|
||||||
<h3 class="card-title">'.tr('Dati cliente').'</h3>
|
<h3 class="card-title">'.tr('Dati cliente').'</h3>
|
||||||
<div class="card-tools pull-right">
|
<div class="card-tools pull-right">
|
||||||
<button type="button" class="btn btn-tool" data-card-widget="collapse">
|
<button type="button" class="btn btn-tool" data-card-widget="collapse">
|
||||||
<i class="fa fa-'.(empty($espandi_dettagli) ? 'plus' : 'minus').'"></i>
|
<i class="fa fa-minus"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,7 +30,6 @@ use Modules\DDT\DDT;
|
|||||||
use Modules\DDT\Stato;
|
use Modules\DDT\Stato;
|
||||||
use Modules\DDT\Tipo;
|
use Modules\DDT\Tipo;
|
||||||
use Modules\Iva\Aliquota;
|
use Modules\Iva\Aliquota;
|
||||||
use Modules\Ordini\Stato as StatoOrdine;
|
|
||||||
|
|
||||||
$module = Module::find($id_module);
|
$module = Module::find($id_module);
|
||||||
|
|
||||||
|
@ -124,12 +124,12 @@ echo '
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- DATI INTESTAZIONE -->
|
<!-- DATI INTESTAZIONE -->
|
||||||
<div class="card card-primary collapsable '.(empty($espandi_dettagli) ? 'collapsed-card' : '').'">
|
<div class="card card-primary collapsable">
|
||||||
<div class="card-header with-border">
|
<div class="card-header with-border">
|
||||||
<h3 class="card-title">'.tr('Dati cliente').'</h3>
|
<h3 class="card-title">'.($dir == 'entrata' ? tr('Dati cliente') : tr('Dati fornitore')).'</h3>
|
||||||
<div class="card-tools pull-right">
|
<div class="card-tools pull-right">
|
||||||
<button type="button" class="btn btn-tool" data-card-widget="collapse">
|
<button type="button" class="btn btn-tool" data-card-widget="collapse">
|
||||||
<i class="fa fa-'.(empty($espandi_dettagli) ? 'plus' : 'minus').'"></i>
|
<i class="fa fa-minus"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -62,13 +62,13 @@ class Righe extends Resource implements RetrieveInterface, CreateInterface
|
|||||||
|
|
||||||
if (!empty($data['is_descrizione'])) {
|
if (!empty($data['is_descrizione'])) {
|
||||||
$riga = Descrizione::build($ddt);
|
$riga = Descrizione::build($ddt);
|
||||||
$riga->descrizione = ($data['descrizione'] ? $data['descrizione'] : '-');
|
$riga->descrizione = ($data['descrizione'] ?: '-');
|
||||||
$riga->qta = 0;
|
$riga->qta = 0;
|
||||||
} elseif (!empty($data['id_articolo']) && !empty($originale)) {
|
} elseif (!empty($data['id_articolo']) && !empty($originale)) {
|
||||||
$riga = Articolo::build($ddt, $originale);
|
$riga = Articolo::build($ddt, $originale);
|
||||||
|
|
||||||
if ($originale->prezzo_vendita > 0) {
|
if ($originale->prezzo_vendita > 0) {
|
||||||
$idiva = ($originale->idiva_vendita ? $originale->idiva_vendita : setting('Iva predefinita'));
|
$idiva = ($originale->idiva_vendita ?: setting('Iva predefinita'));
|
||||||
$riga->setPrezzoUnitario($originale->prezzo_vendita, $idiva);
|
$riga->setPrezzoUnitario($originale->prezzo_vendita, $idiva);
|
||||||
} else {
|
} else {
|
||||||
$riga->prezzo_unitario = 0;
|
$riga->prezzo_unitario = 0;
|
||||||
@ -79,7 +79,7 @@ class Righe extends Resource implements RetrieveInterface, CreateInterface
|
|||||||
} else {
|
} else {
|
||||||
$riga = Riga::build($ddt);
|
$riga = Riga::build($ddt);
|
||||||
$riga->qta = $data['qta'];
|
$riga->qta = $data['qta'];
|
||||||
$riga->descrizione = ($data['descrizione'] ? $data['descrizione'] : '-');
|
$riga->descrizione = ($data['descrizione'] ?: '-');
|
||||||
$riga->costo_unitario = 0;
|
$riga->costo_unitario = 0;
|
||||||
$riga->setPrezzoUnitario(0, setting('Iva predefinita'));
|
$riga->setPrezzoUnitario(0, setting('Iva predefinita'));
|
||||||
}
|
}
|
||||||
@ -103,18 +103,18 @@ class Righe extends Resource implements RetrieveInterface, CreateInterface
|
|||||||
if (!empty($data['is_descrizione'])) {
|
if (!empty($data['is_descrizione'])) {
|
||||||
$riga->qta = 0;
|
$riga->qta = 0;
|
||||||
$riga->is_descrizione = 1;
|
$riga->is_descrizione = 1;
|
||||||
$riga->descrizione = ($data['descrizione'] ? $data['descrizione'] : '-');
|
$riga->descrizione = ($data['descrizione'] ?: '-');
|
||||||
} elseif (!empty($data['id_articolo']) && !empty($originale)) {
|
} elseif (!empty($data['id_articolo']) && !empty($originale)) {
|
||||||
$descrizione = (!empty($data['descrizione']) ? $data['descrizione'] : $originale->descrizione);
|
$descrizione = (!empty($data['descrizione']) ? $data['descrizione'] : $originale->descrizione);
|
||||||
$descrizione = ($descrizione ? $descrizione : '-');
|
$descrizione = ($descrizione ?: '-');
|
||||||
|
|
||||||
$riga->descrizione = ($descrizione ? $descrizione : '-');
|
$riga->descrizione = ($descrizione ?: '-');
|
||||||
$riga->costo_unitario = $originale->prezzo_acquisto;
|
$riga->costo_unitario = $originale->prezzo_acquisto;
|
||||||
$riga->idarticolo = $originale->id;
|
$riga->idarticolo = $originale->id;
|
||||||
$idiva = ($originale->idiva_vendita ? $originale->idiva_vendita : setting('Iva predefinita'));
|
$idiva = ($originale->idiva_vendita ?: setting('Iva predefinita'));
|
||||||
$riga->setPrezzoUnitario($originale->prezzo_vendita, $idiva);
|
$riga->setPrezzoUnitario($originale->prezzo_vendita, $idiva);
|
||||||
} else {
|
} else {
|
||||||
$riga->descrizione = ($data['descrizione'] ? $data['descrizione'] : '-');
|
$riga->descrizione = ($data['descrizione'] ?: '-');
|
||||||
$riga->costo_unitario = 0;
|
$riga->costo_unitario = 0;
|
||||||
$riga->setPrezzoUnitario(0, setting('Iva predefinita'));
|
$riga->setPrezzoUnitario(0, setting('Iva predefinita'));
|
||||||
}
|
}
|
||||||
|
@ -295,12 +295,12 @@ $query .= ' ORDER BY `title`';
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- DATI INTESTAZIONE -->
|
<!-- DATI INTESTAZIONE -->
|
||||||
<div class="card card-primary collapsable '.(empty($espandi_dettagli) ? 'collapsed-card' : '').'">
|
<div class="card card-primary collapsable">
|
||||||
<div class="card-header with-border">
|
<div class="card-header with-border">
|
||||||
<h3 class="card-title">'.($dir == 'entrata' ? tr('Dati cliente') : tr('Dati fornitore')).'</h3>
|
<h3 class="card-title">'.($dir == 'entrata' ? tr('Dati cliente') : tr('Dati fornitore')).'</h3>
|
||||||
<div class="card-tools pull-right">
|
<div class="card-tools pull-right">
|
||||||
<button type="button" class="btn btn-tool" data-card-widget="collapse">
|
<button type="button" class="btn btn-tool" data-card-widget="collapse">
|
||||||
<i class="fa fa-'.(empty($espandi_dettagli) ? 'plus' : 'minus').'"></i>
|
<i class="fa fa-minus"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -143,7 +143,7 @@ if (!empty($record['immagine'])) {
|
|||||||
{( "name": "filelist_and_upload", "id_module": "$id_module$", "id_record": "$id_record$" )}
|
{( "name": "filelist_and_upload", "id_module": "$id_module$", "id_record": "$id_record$" )}
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$elementi = $dbo->fetchArray('SELECT `in_interventi`.`id`, `codice` AS numero, `data_richiesta` AS data, "Intervento" AS tipo_documento FROM `in_interventi` INNER JOIN `my_impianti_interventi` ON `in_interventi`.`id`=`my_impianti_interventi`.`idintervento` WHERE `my_impianti_interventi`.`idimpianto` = '.prepare($id_record).'
|
$elementi = $dbo->fetchArray('SELECT `in_interventi`.`id`, `codice` AS numero, `data_richiesta` AS data, "Attività" AS tipo_documento FROM `in_interventi` INNER JOIN `my_impianti_interventi` ON `in_interventi`.`id`=`my_impianti_interventi`.`idintervento` WHERE `my_impianti_interventi`.`idimpianto` = '.prepare($id_record).'
|
||||||
UNION
|
UNION
|
||||||
SELECT `co_contratti`.`id`, `numero` AS numero, `data_bozza` AS data, "Contratto" AS tipo_documento FROM `co_contratti` INNER JOIN `my_impianti_contratti` ON `co_contratti`.`id`=`my_impianti_contratti`.`idcontratto` WHERE `my_impianti_contratti`.`idimpianto` = '.prepare($id_record));
|
SELECT `co_contratti`.`id`, `numero` AS numero, `data_bozza` AS data, "Contratto" AS tipo_documento FROM `co_contratti` INNER JOIN `my_impianti_contratti` ON `co_contratti`.`id`=`my_impianti_contratti`.`idcontratto` WHERE `my_impianti_contratti`.`idimpianto` = '.prepare($id_record));
|
||||||
$class = '';
|
$class = '';
|
||||||
|
@ -785,18 +785,14 @@ switch (post('op')) {
|
|||||||
foreach ($tecnici as $tecnico) {
|
foreach ($tecnici as $tecnico) {
|
||||||
$mail_tecnico = $dbo->selectOne('an_anagrafiche', '*', ['idanagrafica' => $tecnico]);
|
$mail_tecnico = $dbo->selectOne('an_anagrafiche', '*', ['idanagrafica' => $tecnico]);
|
||||||
if (!empty($mail_tecnico['email'])) {
|
if (!empty($mail_tecnico['email'])) {
|
||||||
|
|
||||||
if (!empty($template)) {
|
if (!empty($template)) {
|
||||||
$mail = Mail::build(auth()->getUser(), $template, $id_record);
|
$mail = Mail::build(auth()->getUser(), $template, $id_record);
|
||||||
$mail->addReceiver($mail_tecnico['email']);
|
$mail->addReceiver($mail_tecnico['email']);
|
||||||
$mail->save();
|
$mail->save();
|
||||||
flash()->info(tr('Notifica al tecnico aggiunta correttamente.'));
|
flash()->info(tr('Notifica al tecnico aggiunta correttamente.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -21,54 +21,52 @@ include_once __DIR__.'/../../core.php';
|
|||||||
|
|
||||||
if (get('op') == 'getmappa') {
|
if (get('op') == 'getmappa') {
|
||||||
$nome = 'Ricarica mappa';
|
$nome = 'Ricarica mappa';
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
$nome = 'Visualizza mappa';
|
$nome = 'Visualizza mappa';
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<center><a onclick=\"location.href='".$rootdir."/controller.php?id_module=".$id_module."&op=getmappa&r='+Math.random()+'#tab_".Plugins::get('Mostra su mappa')['id']."';\" id='button' class='btn btn-primary btn-lg btn-large'>".$nome."</a></center>";
|
echo "<center><a onclick=\"location.href='".$rootdir.'/controller.php?id_module='.$id_module."&op=getmappa&r='+Math.random()+'#tab_".Plugins::get('Mostra su mappa')['id']."';\" id='button' class='btn btn-primary btn-lg btn-large'>".$nome.'</a></center>';
|
||||||
echo "<br>";
|
echo '<br>';
|
||||||
|
|
||||||
|
|
||||||
if (get('op') == 'getmappa') {
|
if (get('op') == 'getmappa') {
|
||||||
$current_module = Modules::get($id_module);
|
$current_module = Modules::get($id_module);
|
||||||
$total = Util\Query::readQuery($current_module);
|
$total = Util\Query::readQuery($current_module);
|
||||||
$module_query = Modules::replaceAdditionals($id_module, $total['query']);
|
$module_query = Modules::replaceAdditionals($id_module, $total['query']);
|
||||||
|
|
||||||
$search_filters = array();
|
$search_filters = [];
|
||||||
|
|
||||||
if (is_array($_SESSION['module_'.$id_module])) {
|
if (is_array($_SESSION['module_'.$id_module])) {
|
||||||
foreach ($_SESSION['module_'.$id_module] as $field_name => $field_value) {
|
foreach ($_SESSION['module_'.$id_module] as $field_name => $field_value) {
|
||||||
if ($field_value != '' && $field_name != 'selected' && $field_name != 'id_segment') {
|
if ($field_value != '' && $field_name != 'selected' && $field_name != 'id_segment') {
|
||||||
$field_name = str_replace( "search_", "", $field_name );
|
$field_name = str_replace('search_', '', $field_name);
|
||||||
$field_name = str_replace( "__", " ", $field_name );
|
$field_name = str_replace('__', ' ', $field_name);
|
||||||
$field_name = str_replace( "-", " ", $field_name );
|
$field_name = str_replace('-', ' ', $field_name);
|
||||||
array_push( $search_filters, "`".$field_name."` LIKE \"%".$field_value."%\"" );
|
array_push($search_filters, '`'.$field_name.'` LIKE "%'.$field_value.'%"');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (sizeof($search_filters) > 0) {
|
if (sizeof($search_filters) > 0) {
|
||||||
$module_query = str_replace( "2=2", "2=2 AND (".implode( " AND ", $search_filters ).") ", $module_query);
|
$module_query = str_replace('2=2', '2=2 AND ('.implode(' AND ', $search_filters).') ', $module_query);
|
||||||
}
|
}
|
||||||
|
|
||||||
$rs1 = $dbo->fetchArray($module_query);
|
$rs1 = $dbo->fetchArray($module_query);
|
||||||
|
|
||||||
// marker svg
|
// marker svg
|
||||||
if (!file_exists($docroot.'/assets/dist/img/leaflet/place-marker.svg')) {
|
if (!file_exists($docroot.'/assets/dist/img/leaflet/place-marker.svg')) {
|
||||||
throw new Exception("File not found: " . $docroot.'/assets/dist/img/leaflet/place-marker.svg');
|
throw new Exception('File not found: '.$docroot.'/assets/dist/img/leaflet/place-marker.svg');
|
||||||
}
|
}
|
||||||
|
|
||||||
$svgContent = file_get_contents($docroot.'/assets/dist/img/leaflet/place-marker.svg');
|
$svgContent = file_get_contents($docroot.'/assets/dist/img/leaflet/place-marker.svg');
|
||||||
if ($svgContent === false) {
|
if ($svgContent === false) {
|
||||||
throw new Exception("Error reading file: " . $docroot.'/assets/dist/img/leaflet/place-marker.svg');
|
throw new Exception('Error reading file: '.$docroot.'/assets/dist/img/leaflet/place-marker.svg');
|
||||||
}
|
}
|
||||||
$stringa_descrizioni = "";
|
$stringa_descrizioni = '';
|
||||||
$stringa_content = "";
|
$stringa_content = '';
|
||||||
$color = "";
|
$color = '';
|
||||||
$lat = "";
|
$lat = '';
|
||||||
$lng = "";
|
$lng = '';
|
||||||
for( $i=0; $i<sizeof($rs1); $i++ ){//elenco delle righe
|
for ($i = 0; $i < sizeof($rs1); ++$i) {// elenco delle righe
|
||||||
$val = html_entity_decode( $rs1[$i]['idanagrafica'] );
|
$val = html_entity_decode((string) $rs1[$i]['idanagrafica']);
|
||||||
$id_sede = $dbo->selectOne('in_interventi', '*', ['id' => $rs1[$i]['id']])['idsede_destinazione'];
|
$id_sede = $dbo->selectOne('in_interventi', '*', ['id' => $rs1[$i]['id']])['idsede_destinazione'];
|
||||||
if ($id_sede) {
|
if ($id_sede) {
|
||||||
$query = "SELECT *, nomesede AS ragione_sociale FROM an_sedi WHERE id='".$id_sede."'";
|
$query = "SELECT *, nomesede AS ragione_sociale FROM an_sedi WHERE id='".$id_sede."'";
|
||||||
@ -82,21 +80,19 @@ include_once __DIR__.'/../../core.php';
|
|||||||
$color .= "'".$rs1[$i]['_bg_']."',";
|
$color .= "'".$rs1[$i]['_bg_']."',";
|
||||||
$lat .= "'".$rs[0]['lat']."',";
|
$lat .= "'".$rs[0]['lat']."',";
|
||||||
$lng .= "'".$rs[0]['lng']."',";
|
$lng .= "'".$rs[0]['lng']."',";
|
||||||
$stringa_descrizioni .= "'".str_replace("'", " ", $rs[0]['ragione_sociale'])."',";
|
$stringa_descrizioni .= "'".str_replace("'", ' ', $rs[0]['ragione_sociale'])."',";
|
||||||
|
|
||||||
$stringa_content .= "'";
|
$stringa_content .= "'";
|
||||||
|
|
||||||
$stringa_content .= str_replace("'", "", "<big><b>".$rs[0]['ragione_sociale']."</b></big><br>".$rs[0]['indirizzo'].", ".$rs[0]['cap'].", ".$rs[0]['citta']." (".$rs[0]['provincia'].")".($rs[0]['telefono']!=''? "<br><i class=\"fa fa-phone\"></i> ".$rs[0]['telefono'] : "").($rs[0]['email']!=''? "<br><i class=\"fa fa-envelope\"></i> ".$rs[0]['email'] : "")."<br>");
|
$stringa_content .= str_replace("'", '', '<big><b>'.$rs[0]['ragione_sociale'].'</b></big><br>'.$rs[0]['indirizzo'].', '.$rs[0]['cap'].', '.$rs[0]['citta'].' ('.$rs[0]['provincia'].')'.($rs[0]['telefono'] != '' ? '<br><i class="fa fa-phone"></i> '.$rs[0]['telefono'] : '').($rs[0]['email'] != '' ? '<br><i class="fa fa-envelope"></i> '.$rs[0]['email'] : '').'<br>');
|
||||||
|
|
||||||
|
|
||||||
$altri_interventi = $dbo->fetchArray('SELECT * FROM in_interventi WHERE idsede_destinazione='.prepare($id_sede).' AND idanagrafica='.prepare($val).' AND id IN ('.implode(',', array_column($rs1, 'id')).')');
|
$altri_interventi = $dbo->fetchArray('SELECT * FROM in_interventi WHERE idsede_destinazione='.prepare($id_sede).' AND idanagrafica='.prepare($val).' AND id IN ('.implode(',', array_column($rs1, 'id')).')');
|
||||||
for($j=0;$j<sizeof($altri_interventi);$j++){
|
for ($j = 0; $j < sizeof($altri_interventi); ++$j) {
|
||||||
$stringa_content .= str_replace("'", "", "<br> <a href=\"".$rootdir."/editor.php?id_module=".$id_module."&id_record=".$altri_interventi[$j]['id']."\">Intervento numero: ".$altri_interventi[$j]['codice']." del ".date('d/m/Y', strtotime($altri_interventi[$j]['data_richiesta']))."</a>");
|
$stringa_content .= str_replace("'", '', '<br> <a href="'.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$altri_interventi[$j]['id'].'">Intervento numero: '.$altri_interventi[$j]['codice'].' del '.date('d/m/Y', strtotime((string) $altri_interventi[$j]['data_richiesta'])).'</a>');
|
||||||
}
|
}
|
||||||
|
|
||||||
$stringa_content .= "',";
|
$stringa_content .= "',";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<div id='mappa'></div>";
|
echo "<div id='mappa'></div>";
|
||||||
|
@ -24,8 +24,8 @@ use API\Interfaces\RetrieveInterface;
|
|||||||
use API\Resource;
|
use API\Resource;
|
||||||
use Modules\Articoli\Articolo as ArticoloOriginale;
|
use Modules\Articoli\Articolo as ArticoloOriginale;
|
||||||
use Modules\Interventi\Components\Articolo;
|
use Modules\Interventi\Components\Articolo;
|
||||||
use Modules\Interventi\Components\Riga;
|
|
||||||
use Modules\Interventi\Components\Descrizione;
|
use Modules\Interventi\Components\Descrizione;
|
||||||
|
use Modules\Interventi\Components\Riga;
|
||||||
use Modules\Interventi\Intervento;
|
use Modules\Interventi\Intervento;
|
||||||
|
|
||||||
class Righe extends Resource implements RetrieveInterface, CreateInterface
|
class Righe extends Resource implements RetrieveInterface, CreateInterface
|
||||||
@ -55,7 +55,7 @@ class Righe extends Resource implements RetrieveInterface, CreateInterface
|
|||||||
public function create($request)
|
public function create($request)
|
||||||
{
|
{
|
||||||
$data = $request['data'];
|
$data = $request['data'];
|
||||||
$data['qta'] = ($data['qta'] ? $data['qta'] : 1);
|
$data['qta'] = ($data['qta'] ?: 1);
|
||||||
|
|
||||||
$intervento = Intervento::find($data['id_intervento']);
|
$intervento = Intervento::find($data['id_intervento']);
|
||||||
$originale = ArticoloOriginale::find($data['id_articolo']);
|
$originale = ArticoloOriginale::find($data['id_articolo']);
|
||||||
@ -67,7 +67,7 @@ class Righe extends Resource implements RetrieveInterface, CreateInterface
|
|||||||
$riga->um = $data['um'];
|
$riga->um = $data['um'];
|
||||||
$riga->costo_unitario = $originale->prezzo_acquisto;
|
$riga->costo_unitario = $originale->prezzo_acquisto;
|
||||||
if ($originale->prezzo_vendita > 0) {
|
if ($originale->prezzo_vendita > 0) {
|
||||||
$idiva = ($originale->idiva_vendita ? $originale->idiva_vendita : setting('Iva predefinita'));
|
$idiva = ($originale->idiva_vendita ?: setting('Iva predefinita'));
|
||||||
$riga->setPrezzoUnitario($originale->prezzo_vendita, $idiva);
|
$riga->setPrezzoUnitario($originale->prezzo_vendita, $idiva);
|
||||||
} else {
|
} else {
|
||||||
$riga->prezzo_unitario = 0;
|
$riga->prezzo_unitario = 0;
|
||||||
@ -76,13 +76,13 @@ class Righe extends Resource implements RetrieveInterface, CreateInterface
|
|||||||
$riga = Descrizione::build($intervento);
|
$riga = Descrizione::build($intervento);
|
||||||
|
|
||||||
$riga->qta = 0;
|
$riga->qta = 0;
|
||||||
$riga->descrizione = ($data['descrizione'] ? $data['descrizione'] : '-');
|
$riga->descrizione = ($data['descrizione'] ?: '-');
|
||||||
} else {
|
} else {
|
||||||
$riga = Riga::build($intervento);
|
$riga = Riga::build($intervento);
|
||||||
|
|
||||||
$riga->qta = $data['qta'];
|
$riga->qta = $data['qta'];
|
||||||
$riga->um = $data['um'];
|
$riga->um = $data['um'];
|
||||||
$riga->descrizione = ($data['descrizione'] ? $data['descrizione'] : '-');
|
$riga->descrizione = ($data['descrizione'] ?: '-');
|
||||||
$riga->costo_unitario = 0;
|
$riga->costo_unitario = 0;
|
||||||
$riga->setPrezzoUnitario(0, setting('Iva predefinita'));
|
$riga->setPrezzoUnitario(0, setting('Iva predefinita'));
|
||||||
}
|
}
|
||||||
@ -100,7 +100,7 @@ class Righe extends Resource implements RetrieveInterface, CreateInterface
|
|||||||
public function update($request)
|
public function update($request)
|
||||||
{
|
{
|
||||||
$data = $request['data'];
|
$data = $request['data'];
|
||||||
$data['qta'] = ($data['qta'] ? $data['qta'] : 1);
|
$data['qta'] = ($data['qta'] ?: 1);
|
||||||
|
|
||||||
$originale = ArticoloOriginale::find($data['id_articolo']);
|
$originale = ArticoloOriginale::find($data['id_articolo']);
|
||||||
$riga = Articolo::find($data['id_riga']) ?: Riga::find($data['id_riga']);
|
$riga = Articolo::find($data['id_riga']) ?: Riga::find($data['id_riga']);
|
||||||
@ -108,15 +108,15 @@ class Righe extends Resource implements RetrieveInterface, CreateInterface
|
|||||||
$riga->qta = $data['qta'];
|
$riga->qta = $data['qta'];
|
||||||
if (!empty($data['id_articolo']) && !empty($originale)) {
|
if (!empty($data['id_articolo']) && !empty($originale)) {
|
||||||
$descrizione = (!empty($data['descrizione']) ? $data['descrizione'] : $originale->descrizione);
|
$descrizione = (!empty($data['descrizione']) ? $data['descrizione'] : $originale->descrizione);
|
||||||
$descrizione = ($descrizione ? $descrizione : '-');
|
$descrizione = ($descrizione ?: '-');
|
||||||
|
|
||||||
$riga->descrizione = $descrizione;
|
$riga->descrizione = $descrizione;
|
||||||
$riga->idarticolo = $originale->id;
|
$riga->idarticolo = $originale->id;
|
||||||
$riga->costo_unitario = $originale->prezzo_acquisto;
|
$riga->costo_unitario = $originale->prezzo_acquisto;
|
||||||
$idiva = ($originale->idiva_vendita ? $originale->idiva_vendita : setting('Iva predefinita'));
|
$idiva = ($originale->idiva_vendita ?: setting('Iva predefinita'));
|
||||||
$riga->setPrezzoUnitario($originale->prezzo_vendita, $idiva);
|
$riga->setPrezzoUnitario($originale->prezzo_vendita, $idiva);
|
||||||
} else {
|
} else {
|
||||||
$riga->descrizione = ($data['descrizione'] ? $data['descrizione'] : '-');
|
$riga->descrizione = ($data['descrizione'] ?: '-');
|
||||||
$riga->costo_unitario = 0;
|
$riga->costo_unitario = 0;
|
||||||
$riga->setPrezzoUnitario(0, setting('Iva predefinita'));
|
$riga->setPrezzoUnitario(0, setting('Iva predefinita'));
|
||||||
}
|
}
|
||||||
@ -124,5 +124,4 @@ class Righe extends Resource implements RetrieveInterface, CreateInterface
|
|||||||
$riga->um = $data['um'] ?: null;
|
$riga->um = $data['um'] ?: null;
|
||||||
$riga->save();
|
$riga->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -79,12 +79,12 @@ echo '
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- DATI INTESTAZIONE -->
|
<!-- DATI INTESTAZIONE -->
|
||||||
<div class="card card-primary collapsable '.(empty($espandi_dettagli) ? 'collapsed-card' : '').'">
|
<div class="card card-primary collapsable">
|
||||||
<div class="card-header with-border">
|
<div class="card-header with-border">
|
||||||
<h3 class="card-title">'.tr('Dati cliente').'</h3>
|
<h3 class="card-title">'.($dir == 'entrata' ? tr('Dati cliente') : tr('Dati fornitore')).'</h3>
|
||||||
<div class="card-tools pull-right">
|
<div class="card-tools pull-right">
|
||||||
<button type="button" class="btn btn-tool" data-card-widget="collapse">
|
<button type="button" class="btn btn-tool" data-card-widget="collapse">
|
||||||
<i class="fa fa-'.(empty($espandi_dettagli) ? 'plus' : 'minus').'"></i>
|
<i class="fa fa-minus"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -47,12 +47,12 @@ if (count($preventivo->revisioni) > 1) {
|
|||||||
</div>
|
</div>
|
||||||
<?php echo '
|
<?php echo '
|
||||||
<!-- DATI INTESTAZIONE -->
|
<!-- DATI INTESTAZIONE -->
|
||||||
<div class="card card-primary collapsable '.(empty($espandi_dettagli) ? 'collapsed-card' : '').'">
|
<div class="card card-primary collapsable">
|
||||||
<div class="card-header with-border">
|
<div class="card-header with-border">
|
||||||
<h3 class="card-title">'.tr('Dati cliente').'</h3>
|
<h3 class="card-title">'.tr('Dati cliente').'</h3>
|
||||||
<div class="card-tools pull-right">
|
<div class="card-tools pull-right">
|
||||||
<button type="button" class="btn btn-tool" data-card-widget="collapse">
|
<button type="button" class="btn btn-tool" data-card-widget="collapse">
|
||||||
<i class="fa fa-'.(empty($espandi_dettagli) ? 'plus' : 'minus').'"></i>
|
<i class="fa fa-minus"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -41,7 +41,7 @@ if (sizeof($rs_doc) > 0) {
|
|||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<br>
|
<br>
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<a href="<?php echo base_path(); ?>/editor.php?id_module=<?php echo Module::where('name', 'Fatture di vendita')->first()->id; ?>&id_record=<?php echo $rs_doc[0]['iddocumento']; ?>" class="btn btn-info"><i class="fa fa-chevron-left"></i> <?php echo tr('Vai alla fattura'); ?></a>
|
<a href="<?php echo base_path(); ?>/editor.php?id_module=<?php echo $rs[0]['dir'] == 'uscita' ? Module::where('name', 'Fatture di acquisto')->first()->id : Module::where('name', 'Fatture di vendita')->first()->id; ?>&id_record=<?php echo $rs_doc[0]['iddocumento']; ?>" class="btn btn-info"><i class="fa fa-chevron-left"></i> <?php echo tr('Vai alla fattura'); ?></a>
|
||||||
<a type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
<a type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||||
<span class="caret"></span>
|
<span class="caret"></span>
|
||||||
<span class="sr-only">Toggle Dropdown</span>
|
<span class="sr-only">Toggle Dropdown</span>
|
||||||
|
@ -32,7 +32,7 @@ $scadenza_in_chiusura = 0;
|
|||||||
foreach ($scadenze as $scadenza) {
|
foreach ($scadenze as $scadenza) {
|
||||||
$scadenza = (array) $scadenza;
|
$scadenza = (array) $scadenza;
|
||||||
foreach ($mesi_chiusura as $mese) {
|
foreach ($mesi_chiusura as $mese) {
|
||||||
if (date('m', strtotime(($scadenza['data_concordata'] && $scadenza['data_concordata'] != '0000-00-00') ? $scadenza['data_concordata'] : $scadenza['scadenza'])) == str_pad($mese['mese'], 2, '0', STR_PAD_LEFT)) {
|
if (date('m', strtotime(($scadenza['data_concordata'] && $scadenza['data_concordata'] != '0000-00-00') ? $scadenza['data_concordata'] : $scadenza['scadenza'])) == str_pad((string) $mese['mese'], 2, '0', STR_PAD_LEFT)) {
|
||||||
$scadenza_in_chiusura = 1;
|
$scadenza_in_chiusura = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -384,7 +384,6 @@ switch (filter('op')) {
|
|||||||
$spazio_totale = floatval($informazioni['maxSize']) * (1024 ** 2);
|
$spazio_totale = floatval($informazioni['maxSize']) * (1024 ** 2);
|
||||||
$avviso_spazio = !empty($spazio_totale) && floatval($informazioni['size']) > 0.9 * $spazio_totale;
|
$avviso_spazio = !empty($spazio_totale) && floatval($informazioni['size']) > 0.9 * $spazio_totale;
|
||||||
|
|
||||||
|
|
||||||
$history = (array) $informazioni['history'];
|
$history = (array) $informazioni['history'];
|
||||||
|
|
||||||
// Restrizione storico agli ultimi 3 anni
|
// Restrizione storico agli ultimi 3 anni
|
||||||
|
@ -127,7 +127,7 @@ include_once __DIR__.'/../../core.php';
|
|||||||
// Permetto eliminazione tipo intervento solo se questo non è utilizzado da nessun'altra parte nel gestionale
|
// Permetto eliminazione tipo intervento solo se questo non è utilizzado da nessun'altra parte nel gestionale
|
||||||
// UNION SELECT `in_tariffe`.`idtipointervento` FROM `in_tariffe` WHERE `in_tariffe`.`idtipointervento` = '.prepare($id_record).'
|
// UNION SELECT `in_tariffe`.`idtipointervento` FROM `in_tariffe` WHERE `in_tariffe`.`idtipointervento` = '.prepare($id_record).'
|
||||||
// UNION SELECT `co_contratti_tipiintervento`.`idtipointervento` FROM `co_contratti_tipiintervento` WHERE `co_contratti_tipiintervento`.`idtipointervento` = '.prepare($id_record).'
|
// UNION SELECT `co_contratti_tipiintervento`.`idtipointervento` FROM `co_contratti_tipiintervento` WHERE `co_contratti_tipiintervento`.`idtipointervento` = '.prepare($id_record).'
|
||||||
$elementi = $dbo->fetchArray('SELECT `in_interventi`.`idtipointervento`, id, codice AS numero, data_richiesta AS data, "Intervento" AS tipo_documento FROM `in_interventi` WHERE `in_interventi`.`idtipointervento` = '.prepare($id_record).'
|
$elementi = $dbo->fetchArray('SELECT `in_interventi`.`idtipointervento`, id, codice AS numero, data_richiesta AS data, "Attività" AS tipo_documento FROM `in_interventi` WHERE `in_interventi`.`idtipointervento` = '.prepare($id_record).'
|
||||||
UNION
|
UNION
|
||||||
SELECT `in_interventi_tecnici`.`idtipointervento`, idintervento AS id, codice AS numero, orario_inizio AS data, "Sessione intervento" AS tipo_documento FROM `in_interventi_tecnici` LEFT JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE `in_interventi_tecnici`.`idtipointervento` = '.prepare($id_record).'
|
SELECT `in_interventi_tecnici`.`idtipointervento`, idintervento AS id, codice AS numero, orario_inizio AS data, "Sessione intervento" AS tipo_documento FROM `in_interventi_tecnici` LEFT JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE `in_interventi_tecnici`.`idtipointervento` = '.prepare($id_record).'
|
||||||
UNION
|
UNION
|
||||||
|
@ -106,6 +106,7 @@ switch (filter('op')) {
|
|||||||
|
|
||||||
if (check_query($query)) {
|
if (check_query($query)) {
|
||||||
$array = [
|
$array = [
|
||||||
|
'name' => post('name')[$c],
|
||||||
'idgruppo' => post('gruppo')[$c],
|
'idgruppo' => post('gruppo')[$c],
|
||||||
'idmodule' => $id_record,
|
'idmodule' => $id_record,
|
||||||
'clause' => $query,
|
'clause' => $query,
|
||||||
@ -114,22 +115,15 @@ switch (filter('op')) {
|
|||||||
|
|
||||||
if (!empty(post('id')[$c]) && !empty($query)) {
|
if (!empty(post('id')[$c]) && !empty($query)) {
|
||||||
$id = post('id')[$c];
|
$id = post('id')[$c];
|
||||||
$clause = Clause::find($id);
|
|
||||||
$clause->idgruppo = post('gruppo')[$c];
|
$dbo->update('zz_group_module', $array, ['id' => $id]);
|
||||||
$clause->idmodulo = $id_record;
|
$dbo->update('zz_group_module_lang', ['title' => $array['name']], ['id_record' => $id, 'id_lang' => Models\Locale::getDefault()->id]);
|
||||||
$clause->clause = $query;
|
|
||||||
$clause->position = !empty(post('position')[$c]) ? 'HVN' : 'WHR';
|
|
||||||
$clause->setTranslation('title', post('name')[$c]);
|
|
||||||
$clause->save();
|
|
||||||
} elseif (!empty($query)) {
|
} elseif (!empty($query)) {
|
||||||
$clause = Clause::build();
|
$dbo->insert('zz_group_module', $array);
|
||||||
$id_record = $dbo->lastInsertedID();
|
$dbo->insert('zz_group_module_lang', ['id_record' => $dbo->lastInsertedID(), 'id_lang' => Models\Locale::getDefault()->id, 'title' => $array['name']]);
|
||||||
$clause->idgruppo = post('gruppo')[$c];
|
|
||||||
$clause->idmodulo = $id_record;
|
$id = $dbo->lastInsertedID();
|
||||||
$clause->clause = $query;
|
|
||||||
$clause->position = !empty(post('position')[$c]) ? 'HVN' : 'WHR';
|
|
||||||
$clause->setTranslation('title', post('name')[$c]);
|
|
||||||
$clause->save();
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$rs = false;
|
$rs = false;
|
||||||
|
@ -42,7 +42,7 @@ if (!empty($additionals)) {
|
|||||||
]).'
|
]).'
|
||||||
</h3>
|
</h3>
|
||||||
<div class="card-tools pull-right">
|
<div class="card-tools pull-right">
|
||||||
<button type="button" class="btn btn-tool" data-widget="collapse">
|
<button type="button" class="btn btn-tool" data-card-widget="collapse">
|
||||||
<i class="fa fa-plus"></i>
|
<i class="fa fa-plus"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>';
|
</div>';
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
include_once __DIR__.'/../../core.php';
|
include_once __DIR__.'/../../core.php';
|
||||||
|
|
||||||
$directory = Plugins\ImportFE\FatturaElettronica::getImportDirectory();
|
$directory = FatturaElettronica::getImportDirectory();
|
||||||
$filename = get('filename');
|
$filename = get('filename');
|
||||||
|
|
||||||
$content = file_get_contents($directory.'/'.$filename);
|
$content = file_get_contents($directory.'/'.$filename);
|
||||||
|
@ -22,7 +22,6 @@ namespace HTMLBuilder\Manager;
|
|||||||
use Models\Upload;
|
use Models\Upload;
|
||||||
use Util\FileSystem;
|
use Util\FileSystem;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gestione allegati.
|
* Gestione allegati.
|
||||||
*
|
*
|
||||||
|
@ -179,7 +179,7 @@ class User extends Model
|
|||||||
$img->save(slashes($file));
|
$img->save(slashes($file));
|
||||||
|
|
||||||
// Aggiunta nuova foto
|
// Aggiunta nuova foto
|
||||||
$upload = Upload::build(file_get_contents($file), $data, basename($value['name']));
|
$upload = Upload::build(file_get_contents($file), $data, basename((string) $value['name']));
|
||||||
|
|
||||||
// Rimozione foto precedenti
|
// Rimozione foto precedenti
|
||||||
delete($file);
|
delete($file);
|
||||||
|
@ -99,7 +99,6 @@ echo '
|
|||||||
</tr>
|
</tr>
|
||||||
</table>';
|
</table>';
|
||||||
|
|
||||||
|
|
||||||
// Dati attività
|
// Dati attività
|
||||||
echo '
|
echo '
|
||||||
<table class="table border-bottom">
|
<table class="table border-bottom">
|
||||||
@ -152,8 +151,6 @@ if (!empty($preventivo) or !empty($contratto)) {
|
|||||||
</tr>';
|
</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// riga 3
|
// riga 3
|
||||||
// Elenco impianti su cui è stato fatto l'intervento
|
// Elenco impianti su cui è stato fatto l'intervento
|
||||||
$rs2 = $dbo->fetchArray('SELECT *, (SELECT nome FROM my_impianti WHERE id=my_impianti_interventi.idimpianto) AS nome, (SELECT matricola FROM my_impianti WHERE id=my_impianti_interventi.idimpianto) AS matricola FROM my_impianti_interventi WHERE idintervento='.prepare($id_record));
|
$rs2 = $dbo->fetchArray('SELECT *, (SELECT nome FROM my_impianti WHERE id=my_impianti_interventi.idimpianto) AS nome, (SELECT matricola FROM my_impianti WHERE id=my_impianti_interventi.idimpianto) AS matricola FROM my_impianti_interventi WHERE idintervento='.prepare($id_record));
|
||||||
@ -406,7 +403,6 @@ if (count($sessioni) > 0) {
|
|||||||
'.$orario.'
|
'.$orario.'
|
||||||
</td>';
|
</td>';
|
||||||
|
|
||||||
|
|
||||||
// Testo lavori eseguiti 1/2
|
// Testo lavori eseguiti 1/2
|
||||||
if ($i == 0) {
|
if ($i == 0) {
|
||||||
echo '
|
echo '
|
||||||
@ -421,7 +417,6 @@ if (count($sessioni) > 0) {
|
|||||||
<td rowspan="'.(count($sessioni) + 1).'" class="text-center" style="font-size:6pt; vertical-align:bottom; border-left:1px solid #aaa;">
|
<td rowspan="'.(count($sessioni) + 1).'" class="text-center" style="font-size:6pt; vertical-align:bottom; border-left:1px solid #aaa;">
|
||||||
'.$firma.'<br>';
|
'.$firma.'<br>';
|
||||||
|
|
||||||
|
|
||||||
if (empty($documento['firma_file'])) {
|
if (empty($documento['firma_file'])) {
|
||||||
echo ' <i>('.tr('Timbro e firma leggibile').')</i>';
|
echo ' <i>('.tr('Timbro e firma leggibile').')</i>';
|
||||||
} else {
|
} else {
|
||||||
@ -435,7 +430,7 @@ if (count($sessioni) > 0) {
|
|||||||
echo '
|
echo '
|
||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
$i++;
|
++$i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -463,7 +458,6 @@ if ($options['pricing']) {
|
|||||||
<td colspan="3" class="text-center">-</td>';
|
<td colspan="3" class="text-center">-</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Testo lavori eseguiti 2/2
|
// Testo lavori eseguiti 2/2
|
||||||
if (count($sessioni) == 0) {
|
if (count($sessioni) == 0) {
|
||||||
echo '
|
echo '
|
||||||
@ -477,7 +471,6 @@ if (count($sessioni) == 1) {
|
|||||||
echo '<td rowspan="2" class="text-center" style="font-size:6pt; vertical-align:bottom; border-left:1px solid #aaa;">
|
echo '<td rowspan="2" class="text-center" style="font-size:6pt; vertical-align:bottom; border-left:1px solid #aaa;">
|
||||||
'.$firma.'<br>';
|
'.$firma.'<br>';
|
||||||
|
|
||||||
|
|
||||||
if (empty($documento['firma_file'])) {
|
if (empty($documento['firma_file'])) {
|
||||||
echo ' <br><br><br><i>('.tr('Timbro e firma leggibile').')</i>';
|
echo ' <br><br><br><i>('.tr('Timbro e firma leggibile').')</i>';
|
||||||
} else {
|
} else {
|
||||||
@ -491,7 +484,6 @@ if (count($sessioni) == 1) {
|
|||||||
echo '
|
echo '
|
||||||
</tr>';
|
</tr>';
|
||||||
|
|
||||||
|
|
||||||
// Totale km
|
// Totale km
|
||||||
echo '
|
echo '
|
||||||
<tr>
|
<tr>
|
||||||
@ -526,7 +518,6 @@ if (count($sessioni) == 0) {
|
|||||||
echo '<td class="text-center" style="font-size:6pt; vertical-align:bottom; border-left:1px solid #aaa;">
|
echo '<td class="text-center" style="font-size:6pt; vertical-align:bottom; border-left:1px solid #aaa;">
|
||||||
'.$firma.'<br>';
|
'.$firma.'<br>';
|
||||||
|
|
||||||
|
|
||||||
if (empty($documento['firma_file'])) {
|
if (empty($documento['firma_file'])) {
|
||||||
echo ' <br><br><br><i>('.tr('Timbro e firma leggibile').')</i>';
|
echo ' <br><br><br><i>('.tr('Timbro e firma leggibile').')</i>';
|
||||||
} else {
|
} else {
|
||||||
@ -537,7 +528,6 @@ if (count($sessioni) == 0) {
|
|||||||
</td>';
|
</td>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Calcoli
|
// Calcoli
|
||||||
$imponibile = abs($documento->imponibile);
|
$imponibile = abs($documento->imponibile);
|
||||||
$sconto = $documento->sconto;
|
$sconto = $documento->sconto;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user