Stile del codice

This commit is contained in:
Dasc3er 2021-07-07 07:57:10 +02:00
parent 6666acf32a
commit 3ee73011f3
56 changed files with 254 additions and 295 deletions

View File

@ -34,11 +34,11 @@ $final_module = Modules::get($name);
// IVA predefinita // IVA predefinita
$id_iva = $id_iva ?: setting('Iva predefinita'); $id_iva = $id_iva ?: setting('Iva predefinita');
if($final_module['name']=='Interventi'){ if ($final_module['name'] == 'Interventi') {
$righe = $documento->getRighe()->where('qta_rimanente', '>', 0)->where('is_descrizione', '=', 0); $righe = $documento->getRighe()->where('qta_rimanente', '>', 0)->where('is_descrizione', '=', 0);
}elseif($final_module['name']=='Ordini fornitore'){ } elseif ($final_module['name'] == 'Ordini fornitore') {
$righe = $documento->getRighe(); $righe = $documento->getRighe();
}else{ } else {
$righe = $documento->getRighe()->where('qta_rimanente', '>', 0); $righe = $documento->getRighe()->where('qta_rimanente', '>', 0);
} }
@ -266,15 +266,15 @@ echo '
<tbody id="righe_documento_importato">'; <tbody id="righe_documento_importato">';
foreach ($righe as $i => $riga) { foreach ($righe as $i => $riga) {
if($final_module['name']=='Ordini fornitore'){ if ($final_module['name'] == 'Ordini fornitore') {
$qta_rimanente = $riga['qta']; $qta_rimanente = $riga['qta'];
}else{ } else {
$qta_rimanente = $riga['qta_rimanente']; $qta_rimanente = $riga['qta_rimanente'];
} }
$attr = 'checked="checked"'; $attr = 'checked="checked"';
if($original_module['name']=='Preventivi'){ if ($original_module['name'] == 'Preventivi') {
if(empty($riga['confermato']) && $riga['is_descrizione']==0){ if (empty($riga['confermato']) && $riga['is_descrizione'] == 0) {
$attr = ''; $attr = '';
} }
} }

View File

@ -114,7 +114,7 @@ if (in_array($module['name'], ['Ordini cliente', 'Ordini fornitore', 'Preventivi
if ($options['action'] == 'add') { if ($options['action'] == 'add') {
if ($module['name'] == 'Ordini cliente') { if ($module['name'] == 'Ordini cliente') {
$confermato = setting('Conferma automaticamente le quantità negli ordini cliente'); $confermato = setting('Conferma automaticamente le quantità negli ordini cliente');
} elseif($module['name'] == 'Ordini fornitore') { } elseif ($module['name'] == 'Ordini fornitore') {
$confermato = setting('Conferma automaticamente le quantità negli ordini fornitore'); $confermato = setting('Conferma automaticamente le quantità negli ordini fornitore');
} else { } else {
$confermato = setting('Conferma automaticamente le quantità nei preventivi'); $confermato = setting('Conferma automaticamente le quantità nei preventivi');

View File

@ -110,7 +110,7 @@ echo '
</div>'; </div>';
$uploads = []; $uploads = [];
if ($smtp['pec']==1 && $module['name']=='Fatture di vendita') { if ($smtp['pec'] == 1 && $module['name'] == 'Fatture di vendita') {
$uploads = $dbo->fetchArray('SELECT id FROM zz_files WHERE id_module = '.prepare($module['id']).' AND id_record = '.prepare($id_record).' AND category = \'Fattura Elettronica\''); $uploads = $dbo->fetchArray('SELECT id FROM zz_files WHERE id_module = '.prepare($module['id']).' AND id_record = '.prepare($id_record).' AND category = \'Fattura Elettronica\'');
$uploads = array_column($uploads, 'id'); $uploads = array_column($uploads, 'id');
} }

View File

@ -295,9 +295,9 @@ switch ($resource) {
$filter[] = 'id='.prepare($element); $filter[] = 'id='.prepare($element);
} }
if( isset($superselect['idclientefinale']) ){ if (isset($superselect['idclientefinale'])) {
$where[] = '(idanagrafica='.prepare($superselect['idanagrafica']).' OR idanagrafica='.prepare($superselect['idclientefinale']).')'; $where[] = '(idanagrafica='.prepare($superselect['idanagrafica']).' OR idanagrafica='.prepare($superselect['idclientefinale']).')';
}else{ } else {
$where[] = 'idanagrafica='.prepare($superselect['idanagrafica']); $where[] = 'idanagrafica='.prepare($superselect['idanagrafica']);
} }

View File

@ -17,15 +17,15 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
use Modules\Anagrafiche\Anagrafica;
use Models\Upload; use Models\Upload;
use Modules\Anagrafiche\Anagrafica;
include_once __DIR__.'/../../../core.php'; include_once __DIR__.'/../../../core.php';
//Controllo i permessi dei modulo per la visualizzazione degli allegati //Controllo i permessi dei modulo per la visualizzazione degli allegati
$rs = $dbo->table('zz_permissions')->where('idgruppo',$user->idgruppo)->get(); $rs = $dbo->table('zz_permissions')->where('idgruppo', $user->idgruppo)->get();
$permessi = []; $permessi = [];
foreach($rs as $r){ foreach ($rs as $r) {
$permessi[] = $r->idmodule; $permessi[] = $r->idmodule;
} }
@ -36,53 +36,53 @@ $documenti[] = [
]; ];
//Interventi dell'anagrafica //Interventi dell'anagrafica
if( $user->is_admin || in_array(Modules::get('Interventi')['id'],$permessi) ){ if ($user->is_admin || in_array(Modules::get('Interventi')['id'], $permessi)) {
$interventi = $dbo->fetcharray("SELECT ".prepare(Modules::get('Interventi')['id'])." AS id_module, id AS id_record, CONCAT('Intervento num. ',codice,' del ',DATE_FORMAT(data_richiesta,'%d/%m/%Y')) AS descrizione FROM in_interventi WHERE idanagrafica=".prepare($id_record)); $interventi = $dbo->fetcharray('SELECT '.prepare(Modules::get('Interventi')['id'])." AS id_module, id AS id_record, CONCAT('Intervento num. ',codice,' del ',DATE_FORMAT(data_richiesta,'%d/%m/%Y')) AS descrizione FROM in_interventi WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $interventi); $documenti = array_merge($documenti, $interventi);
} }
//Preventivi dell'anagrafica //Preventivi dell'anagrafica
if( $user->is_admin || in_array(Modules::get('Preventivi')['id'],$permessi) ){ if ($user->is_admin || in_array(Modules::get('Preventivi')['id'], $permessi)) {
$preventivi = $dbo->fetcharray("SELECT ".prepare(Modules::get('Preventivi')['id'])." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_preventivi WHERE idanagrafica=".prepare($id_record)); $preventivi = $dbo->fetcharray('SELECT '.prepare(Modules::get('Preventivi')['id'])." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_preventivi WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $preventivi); $documenti = array_merge($documenti, $preventivi);
} }
//Contratti dell'anagrafica //Contratti dell'anagrafica
if( $user->is_admin || in_array(Modules::get('Contratti')['id'],$permessi) ){ if ($user->is_admin || in_array(Modules::get('Contratti')['id'], $permessi)) {
$contratti = $dbo->fetcharray("SELECT ".prepare(Modules::get('Contratti')['id'])." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_contratti WHERE idanagrafica=".prepare($id_record)); $contratti = $dbo->fetcharray('SELECT '.prepare(Modules::get('Contratti')['id'])." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_contratti WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $contratti); $documenti = array_merge($documenti, $contratti);
} }
//DDT dell'anagrafica //DDT dell'anagrafica
if( $user->is_admin || in_array(Modules::get('Ddt di vendita')['id'],$permessi) ){ if ($user->is_admin || in_array(Modules::get('Ddt di vendita')['id'], $permessi)) {
$ddt_vendita = $dbo->fetcharray("SELECT ".prepare(Modules::get('Ddt di vendita')['id'])." AS id_module, id AS id_record, CONCAT('Ddt di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record)); $ddt_vendita = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ddt di vendita')['id'])." AS id_module, id AS id_record, CONCAT('Ddt di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $ddt_vendita); $documenti = array_merge($documenti, $ddt_vendita);
} }
if( $user->is_admin || in_array(Modules::get('Ddt di acquisto')['id'],$permessi) ){ if ($user->is_admin || in_array(Modules::get('Ddt di acquisto')['id'], $permessi)) {
$ddt_acquisto = $dbo->fetcharray("SELECT ".prepare(Modules::get('Ddt di acquisto')['id'])." AS id_module, id AS id_record, CONCAT('Ddt di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record)); $ddt_acquisto = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ddt di acquisto')['id'])." AS id_module, id AS id_record, CONCAT('Ddt di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $ddt_acquisto); $documenti = array_merge($documenti, $ddt_acquisto);
} }
//Fatture dell'anagrafica //Fatture dell'anagrafica
if( $user->is_admin || in_array(Modules::get('Fatture di vendita')['id'],$permessi) ){ if ($user->is_admin || in_array(Modules::get('Fatture di vendita')['id'], $permessi)) {
$fatture_vendita = $dbo->fetcharray("SELECT ".prepare(Modules::get('Fatture di vendita')['id'])." AS id_module, id AS id_record, CONCAT('Fattura di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record)); $fatture_vendita = $dbo->fetcharray('SELECT '.prepare(Modules::get('Fatture di vendita')['id'])." AS id_module, id AS id_record, CONCAT('Fattura di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $fatture_vendita); $documenti = array_merge($documenti, $fatture_vendita);
} }
if( $user->is_admin || in_array(Modules::get('Fatture di acquisto')['id'],$permessi) ){ if ($user->is_admin || in_array(Modules::get('Fatture di acquisto')['id'], $permessi)) {
$fatture_acquisto = $dbo->fetcharray("SELECT ".prepare(Modules::get('Fatture di acquisto')['id'])." AS id_module, id AS id_record, CONCAT('Fattura di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record)); $fatture_acquisto = $dbo->fetcharray('SELECT '.prepare(Modules::get('Fatture di acquisto')['id'])." AS id_module, id AS id_record, CONCAT('Fattura di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $fatture_acquisto); $documenti = array_merge($documenti, $fatture_acquisto);
} }
//Ordini dell'anagrafica //Ordini dell'anagrafica
if( $user->is_admin || in_array(Modules::get('Ordini cliente')['id'],$permessi) ){ if ($user->is_admin || in_array(Modules::get('Ordini cliente')['id'], $permessi)) {
$ordini_vendita = $dbo->fetcharray("SELECT ".prepare(Modules::get('Ordini cliente')['id'])." AS id_module, id AS id_record, CONCAT('Ordine cliente num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record)); $ordini_vendita = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ordini cliente')['id'])." AS id_module, id AS id_record, CONCAT('Ordine cliente num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $ordini_vendita); $documenti = array_merge($documenti, $ordini_vendita);
} }
if( $user->is_admin || in_array(Modules::get('Ordini fornitore')['id'],$permessi) ){ if ($user->is_admin || in_array(Modules::get('Ordini fornitore')['id'], $permessi)) {
$ordini_acquisto = $dbo->fetcharray("SELECT ".prepare(Modules::get('Ordini fornitore')['id'])." AS id_module, id AS id_record, CONCAT('Ordine fornitore num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record)); $ordini_acquisto = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ordini fornitore')['id'])." AS id_module, id AS id_record, CONCAT('Ordine fornitore num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record));
$documenti = array_merge($documenti, $ordini_acquisto); $documenti = array_merge($documenti, $ordini_acquisto);
} }
@ -104,10 +104,10 @@ echo '
<th class="text-center" width="10%">'.tr('Data').'</th> <th class="text-center" width="10%">'.tr('Data').'</th>
</tr>'; </tr>';
foreach($documenti as $documento){ foreach ($documenti as $documento) {
$allegati = $dbo->fetchArray("SELECT * FROM zz_files WHERE id_module=".prepare($documento['id_module'])." AND id_record=".prepare($documento['id_record'])); $allegati = $dbo->fetchArray('SELECT * FROM zz_files WHERE id_module='.prepare($documento['id_module']).' AND id_record='.prepare($documento['id_record']));
foreach($allegati as $allegato){ foreach ($allegati as $allegato) {
$file = Upload::find($allegato['id']); $file = Upload::find($allegato['id']);
echo ' echo '

View File

@ -113,7 +113,7 @@ if (!empty($movimenti)) {
</td> </td>
<td class="text-center"> <td class="text-center">
'.( $movimento->nomesede ?: tr('Sede legale') ).' '.($movimento->nomesede ?: tr('Sede legale')).'
</td>'; </td>';
// Data // Data

View File

@ -19,11 +19,11 @@
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
use Modules\Articoli\Articolo as ArticoloOriginale;
use Modules\Contratti\Contratto; use Modules\Contratti\Contratto;
use Modules\Fatture\Fattura; use Modules\Fatture\Fattura;
use Modules\Fatture\Stato; use Modules\Fatture\Stato;
use Modules\Fatture\Tipo; use Modules\Fatture\Tipo;
use Modules\Articoli\Articolo as ArticoloOriginale;
$module_fatture = 'Fatture di vendita'; $module_fatture = 'Fatture di vendita';

View File

@ -109,9 +109,8 @@ switch (filter('op')) {
]; ];
} }
if (setting('Visualizza informazioni aggiuntive sul calendario')){ if (setting('Visualizza informazioni aggiuntive sul calendario')) {
//# Box allDay
## Box allDay
$query = 'SELECT $query = 'SELECT
co_preventivi.id, co_preventivi.id,
co_preventivi.nome, co_preventivi.nome,
@ -134,35 +133,35 @@ switch (filter('op')) {
$alldays = $dbo->fetchArray($query); $alldays = $dbo->fetchArray($query);
foreach ($alldays as $preventivo) { foreach ($alldays as $preventivo) {
if(!empty($preventivo['data_accettazione']) && $preventivo['data_accettazione']!='0000-00-00'){ if (!empty($preventivo['data_accettazione']) && $preventivo['data_accettazione'] != '0000-00-00') {
$results[] = [ $results[] = [
'id' => 'A_'.$modulo_preventivi->id.'_'.$preventivo['id'], 'id' => 'A_'.$modulo_preventivi->id.'_'.$preventivo['id'],
'idintervento' => $preventivo['id'], 'idintervento' => $preventivo['id'],
'idtecnico' => "", 'idtecnico' => '',
'title' => '<div style=\'position:absolute; top:7%; right:3%;\' > '.(($preventivo['is_completato']) ? '<i class="fa fa-lock" aria-hidden="true"></i>' : '').' '.(($preventivo['have_attachments']) ? '<i class="fa fa-paperclip" aria-hidden="true"></i>' : '').'</div>'.'<b>Accettazione prev. '.$preventivo['numero'].'</b> '.$preventivo['nome'].'<br><b>'.tr('Cliente').':</b> '.$preventivo['cliente'], 'title' => '<div style=\'position:absolute; top:7%; right:3%;\' > '.(($preventivo['is_completato']) ? '<i class="fa fa-lock" aria-hidden="true"></i>' : '').' '.(($preventivo['have_attachments']) ? '<i class="fa fa-paperclip" aria-hidden="true"></i>' : '').'</div>'.'<b>Accettazione prev. '.$preventivo['numero'].'</b> '.$preventivo['nome'].'<br><b>'.tr('Cliente').':</b> '.$preventivo['cliente'],
'start' => $preventivo['data_accettazione'], 'start' => $preventivo['data_accettazione'],
'end' => $preventivo['data_accettazione'], 'end' => $preventivo['data_accettazione'],
'url' => base_path().'/editor.php?id_module='.$modulo_preventivi->id.'&id_record='.$preventivo['id'], 'url' => base_path().'/editor.php?id_module='.$modulo_preventivi->id.'&id_record='.$preventivo['id'],
'backgroundColor' => "#ff7f50", 'backgroundColor' => '#ff7f50',
'textColor' => color_inverse("#ff7f50"), 'textColor' => color_inverse('#ff7f50'),
'borderColor' => "#ff7f50", 'borderColor' => '#ff7f50',
'allDay' => true, 'allDay' => true,
'eventStartEditable' => false, 'eventStartEditable' => false,
]; ];
} }
if($preventivo['data_accettazione'] != $preventivo['data_conclusione'] && $preventivo['data_conclusione']!='0000-00-00' && !empty($preventivo['data_conclusione']) ){ if ($preventivo['data_accettazione'] != $preventivo['data_conclusione'] && $preventivo['data_conclusione'] != '0000-00-00' && !empty($preventivo['data_conclusione'])) {
$results[] = [ $results[] = [
'id' => 'B_'.$modulo_preventivi->id.'_'.$preventivo['id'], 'id' => 'B_'.$modulo_preventivi->id.'_'.$preventivo['id'],
'idintervento' => $preventivo['id'], 'idintervento' => $preventivo['id'],
'idtecnico' => "", 'idtecnico' => '',
'title' => '<div style=\'position:absolute; top:7%; right:3%;\' > '.(($preventivo['is_completato']) ? '<i class="fa fa-lock" aria-hidden="true"></i>' : '').' '.(($preventivo['have_attachments']) ? '<i class="fa fa-paperclip" aria-hidden="true"></i>' : '').'</div>'.'<b>Conclusione prev. '.$preventivo['numero'].'</b> '.$preventivo['nome'].'<br><b>'.tr('Cliente').':</b> '.$preventivo['cliente'], 'title' => '<div style=\'position:absolute; top:7%; right:3%;\' > '.(($preventivo['is_completato']) ? '<i class="fa fa-lock" aria-hidden="true"></i>' : '').' '.(($preventivo['have_attachments']) ? '<i class="fa fa-paperclip" aria-hidden="true"></i>' : '').'</div>'.'<b>Conclusione prev. '.$preventivo['numero'].'</b> '.$preventivo['nome'].'<br><b>'.tr('Cliente').':</b> '.$preventivo['cliente'],
'start' => $preventivo['data_conclusione'], 'start' => $preventivo['data_conclusione'],
'end' => $preventivo['data_conclusione'], 'end' => $preventivo['data_conclusione'],
'url' => base_path().'/editor.php?id_module='.$modulo_preventivi->id.'&id_record='.$preventivo['id'], 'url' => base_path().'/editor.php?id_module='.$modulo_preventivi->id.'&id_record='.$preventivo['id'],
'backgroundColor' => "#ff7f50", 'backgroundColor' => '#ff7f50',
'textColor' => color_inverse("#ff7f50"), 'textColor' => color_inverse('#ff7f50'),
'borderColor' => "#ff7f50", 'borderColor' => '#ff7f50',
'allDay' => true, 'allDay' => true,
'eventStartEditable' => false, 'eventStartEditable' => false,
]; ];
@ -208,7 +207,7 @@ switch (filter('op')) {
$timeStart = filter('timeStart'); $timeStart = filter('timeStart');
$timeEnd = filter('timeEnd'); $timeEnd = filter('timeEnd');
if (empty($allday)){ if (empty($allday)) {
// Lettura dati intervento di riferimento // Lettura dati intervento di riferimento
$query = 'SELECT in_interventi_tecnici.idintervento, in_interventi.id, idtecnico, orario_inizio, orario_fine, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS nome_tecnico, (SELECT colore FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS colore FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE in_interventi.id='.prepare($id).' '.Modules::getAdditionalsQuery('Interventi'); $query = 'SELECT in_interventi_tecnici.idintervento, in_interventi.id, idtecnico, orario_inizio, orario_fine, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS nome_tecnico, (SELECT colore FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS colore FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE in_interventi.id='.prepare($id).' '.Modules::getAdditionalsQuery('Interventi');
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);
@ -262,7 +261,6 @@ switch (filter('op')) {
$tooltip .= '<b>'.tr('Informazioni aggiuntive').'</b>: '.nl2br($rs[0]['informazioniaggiuntive']).'<br/>'; $tooltip .= '<b>'.tr('Informazioni aggiuntive').'</b>: '.nl2br($rs[0]['informazioniaggiuntive']).'<br/>';
} }
$tooltip .= '<b>'.tr('Ragione sociale').'</b>: '.nl2br($rs[0]['ragione_sociale']).'<br/>'; $tooltip .= '<b>'.tr('Ragione sociale').'</b>: '.nl2br($rs[0]['ragione_sociale']).'<br/>';
if (!empty($rs[0]['telefono'])) { if (!empty($rs[0]['telefono'])) {
@ -280,9 +278,7 @@ switch (filter('op')) {
if (!empty($rs[0]['note_anagrafica'])) { if (!empty($rs[0]['note_anagrafica'])) {
$tooltip .= '<b>'.tr('Note anagrafica').'</b>: '.nl2br($rs[0]['note_anagrafica']).'<br/>'; $tooltip .= '<b>'.tr('Note anagrafica').'</b>: '.nl2br($rs[0]['note_anagrafica']).'<br/>';
} }
} else {
}else{
$query = 'SELECT $query = 'SELECT
co_preventivi.nome, co_preventivi.nome,
co_preventivi.numero, co_preventivi.numero,
@ -294,16 +290,11 @@ switch (filter('op')) {
LEFT JOIN co_statipreventivi ON co_preventivi.idstato = co_statipreventivi.id LEFT JOIN co_statipreventivi ON co_preventivi.idstato = co_statipreventivi.id
WHERE co_preventivi.id='.prepare($id); WHERE co_preventivi.id='.prepare($id);
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);
$tooltip = '<b>Prev. '.$rs[0]['numero'].'</b> '.$rs[0]['nome'].''.(($rs[0]['have_attachments']) ? ' <i class="fa fa-paperclip" aria-hidden="true"></i>' : '').'<br><b>'.tr('Cliente').':</b> '.$rs[0]['cliente']; $tooltip = '<b>Prev. '.$rs[0]['numero'].'</b> '.$rs[0]['nome'].''.(($rs[0]['have_attachments']) ? ' <i class="fa fa-paperclip" aria-hidden="true"></i>' : '').'<br><b>'.tr('Cliente').':</b> '.$rs[0]['cliente'];
} }
$tooltip .= ' $tooltip .= '
<script type="text/javascript"> <script type="text/javascript">
$(".shorten").shorten({ $(".shorten").shorten({
@ -313,7 +304,6 @@ switch (filter('op')) {
}); });
</script>'; </script>';
echo $tooltip; echo $tooltip;
} }
break; break;

View File

@ -19,11 +19,11 @@
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
use Modules\Articoli\Articolo as ArticoloOriginale;
use Modules\DDT\DDT; use Modules\DDT\DDT;
use Modules\Fatture\Fattura; use Modules\Fatture\Fattura;
use Modules\Fatture\Stato; use Modules\Fatture\Stato;
use Modules\Fatture\Tipo; use Modules\Fatture\Tipo;
use Modules\Articoli\Articolo as ArticoloOriginale;
if ($module['name'] == 'Ddt di vendita') { if ($module['name'] == 'Ddt di vendita') {
$dir = 'entrata'; $dir = 'entrata';

View File

@ -287,7 +287,6 @@ switch (post('op')) {
break; break;
// Elenco fatture Scadute per il cliente // Elenco fatture Scadute per il cliente
case 'fatture_scadute': case 'fatture_scadute':
$id_anagrafica = post('id_anagrafica'); $id_anagrafica = post('id_anagrafica');
@ -313,7 +312,6 @@ switch (post('op')) {
break; break;
// eliminazione documento // eliminazione documento
case 'delete': case 'delete':
try { try {

View File

@ -69,7 +69,7 @@ if (!empty($record['is_fiscale'])) {
// Aggiunta insoluto // Aggiunta insoluto
$registrazione_insoluto = 0; $registrazione_insoluto = 0;
$pagamento = $fattura->pagamento; $pagamento = $fattura->pagamento;
if(!empty($pagamento)){ if (!empty($pagamento)) {
if ($pagamento->isRiBa() && $dir == 'entrata' && in_array($record['stato'], ['Emessa', 'Parzialmente pagato', 'Pagato'])) { if ($pagamento->isRiBa() && $dir == 'entrata' && in_array($record['stato'], ['Emessa', 'Parzialmente pagato', 'Pagato'])) {
$registrazione_insoluto = 1; $registrazione_insoluto = 1;
} }

View File

@ -17,11 +17,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
use Carbon\Carbon;
use Modules\Anagrafiche\Anagrafica; use Modules\Anagrafiche\Anagrafica;
use Modules\Fatture\Gestori\Bollo; use Modules\Fatture\Gestori\Bollo;
use Modules\Iva\Aliquota;
use Modules\Interventi\Intervento; use Modules\Interventi\Intervento;
use Carbon\Carbon; use Modules\Iva\Aliquota;
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
@ -93,18 +93,18 @@ if ($dir == 'entrata') {
} }
// Verifica la data dell'intervento rispetto alla data della fattura // Verifica la data dell'intervento rispetto alla data della fattura
$righe_interventi = $fattura->getRighe()->where('idintervento', '!=', NULL); $righe_interventi = $fattura->getRighe()->where('idintervento', '!=', null);
if (!empty($righe_interventi)) { if (!empty($righe_interventi)) {
foreach($righe_interventi as $riga_intervento){ foreach ($righe_interventi as $riga_intervento) {
$intervento = Intervento::find($riga_intervento->idintervento); $intervento = Intervento::find($riga_intervento->idintervento);
if((new Carbon($intervento->fine))->diffInDays(new Carbon($fattura->data), false) < 0){ if ((new Carbon($intervento->fine))->diffInDays(new Carbon($fattura->data), false) < 0) {
$fatturazione_futura = true; $fatturazione_futura = true;
break; break;
} }
} }
if($fatturazione_futura){ if ($fatturazione_futura) {
echo ' echo '
<div class="alert alert-warning"> <div class="alert alert-warning">
<i class="fa fa-warning"></i> '.tr("Stai fatturando un'attività futura rispetto alla data di fatturazione.").'</b> <i class="fa fa-warning"></i> '.tr("Stai fatturando un'attività futura rispetto alla data di fatturazione.").'</b>
@ -182,7 +182,7 @@ if ($dir == 'entrata') {
{[ "type": "hidden", "label": "Segmento", "name": "id_segment", "class": "text-center", "value": "$id_segment$" ]} {[ "type": "hidden", "label": "Segmento", "name": "id_segment", "class": "text-center", "value": "$id_segment$" ]}
<div class="col-md-<?php echo $size; ?>"> <div class="col-md-<?php echo $size; ?>">
{[ "type": "text", "label": "<?php echo $label; ?>", "required": "<?php echo (($dir=='uscita')? 1 : 0); ?>", "name": "numero_esterno", "class": "text-center", "value": "$numero_esterno$", "help": "<?php echo (empty($record['numero_esterno']) and $dir == 'entrata') ? tr('Il numero della fattura sarà generato automaticamente in fase di emissione.') : ''; ?>" ]} {[ "type": "text", "label": "<?php echo $label; ?>", "required": "<?php echo ($dir == 'uscita') ? 1 : 0; ?>", "name": "numero_esterno", "class": "text-center", "value": "$numero_esterno$", "help": "<?php echo (empty($record['numero_esterno']) and $dir == 'entrata') ? tr('Il numero della fattura sarà generato automaticamente in fase di emissione.') : ''; ?>" ]}
</div> </div>
<div class="col-md-2"> <div class="col-md-2">
@ -305,7 +305,7 @@ elseif ($record['stato'] == 'Bozza') {
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<?php echo (!empty($record['idpagamento']) ? Modules::link('Pagamenti', $record['idpagamento'], null, null, 'class="pull-right"') : ''); ?> <?php echo !empty($record['idpagamento']) ? Modules::link('Pagamenti', $record['idpagamento'], null, null, 'class="pull-right"') : ''; ?>
{[ "type": "select", "label": "<?php echo tr('Pagamento'); ?>", "name": "idpagamento", "required": 1, "ajax-source": "pagamenti", "value": "$idpagamento$", "extra": "onchange=\"$('#id_banca_azienda').selectSetNew( $(this).selectData().id_banca_<?php echo $conto; ?>, $(this).selectData().descrizione_banca_<?php echo $conto; ?> ).change(); \" " ]} {[ "type": "select", "label": "<?php echo tr('Pagamento'); ?>", "name": "idpagamento", "required": 1, "ajax-source": "pagamenti", "value": "$idpagamento$", "extra": "onchange=\"$('#id_banca_azienda').selectSetNew( $(this).selectData().id_banca_<?php echo $conto; ?>, $(this).selectData().descrizione_banca_<?php echo $conto; ?> ).change(); \" " ]}
</div> </div>
@ -391,7 +391,7 @@ elseif ($record['stato'] == 'Bozza') {
?> ?>
<div class="col-md-3"> <div class="col-md-3">
<?php echo (!empty($record['id_ritenuta_contributi']) ? Modules::link('Ritenute contributi', $record['id_ritenuta_contributi'], null, null, 'class="pull-right"') : ''); ?> <?php echo !empty($record['id_ritenuta_contributi']) ? Modules::link('Ritenute contributi', $record['id_ritenuta_contributi'], null, null, 'class="pull-right"') : ''; ?>
{[ "type": "select", "label": "<?php echo tr('Ritenuta contributi'); ?>", "name": "id_ritenuta_contributi", "value": "$id_ritenuta_contributi$", "values": "query=SELECT *, CONCAT(descrizione,(IF(percentuale>0, CONCAT(\" - \", percentuale, \"% sul \", percentuale_imponibile, \"% imponibile\"), \"\"))) AS descrizione FROM co_ritenuta_contributi", "help": "<?php echo tr('Ritenuta contributi da applicare alle righe della fattura.'); ?>" ]} {[ "type": "select", "label": "<?php echo tr('Ritenuta contributi'); ?>", "name": "id_ritenuta_contributi", "value": "$id_ritenuta_contributi$", "values": "query=SELECT *, CONCAT(descrizione,(IF(percentuale>0, CONCAT(\" - \", percentuale, \"% sul \", percentuale_imponibile, \"% imponibile\"), \"\"))) AS descrizione FROM co_ritenuta_contributi", "help": "<?php echo tr('Ritenuta contributi da applicare alle righe della fattura.'); ?>" ]}
</div> </div>

View File

@ -179,7 +179,7 @@ function aggiungi_movimento($iddocumento, $dir, $primanota = 0)
$netto_fattura = get_netto_fattura($iddocumento); $netto_fattura = get_netto_fattura($iddocumento);
$totale_fattura = get_totale_fattura($iddocumento); $totale_fattura = get_totale_fattura($iddocumento);
$totale_fattura = $is_nota ? -$totale_fattura: $totale_fattura; $totale_fattura = $is_nota ? -$totale_fattura : $totale_fattura;
$imponibile_fattura = get_imponibile_fattura($iddocumento); $imponibile_fattura = get_imponibile_fattura($iddocumento);

View File

@ -121,12 +121,12 @@ foreach ($righe as $riga) {
echo nl2br($riga->descrizione); echo nl2br($riga->descrizione);
} }
if ($riga->isArticolo() && !empty($riga->articolo->deleted_at)){ if ($riga->isArticolo() && !empty($riga->articolo->deleted_at)) {
echo ' echo '
<br><b><small class="text-danger">'.tr('Articolo eliminato', []).'</small></b>'; <br><b><small class="text-danger">'.tr('Articolo eliminato', []).'</small></b>';
} }
if ($riga->isArticolo() && empty($riga->articolo->codice)){ if ($riga->isArticolo() && empty($riga->articolo->codice)) {
echo ' echo '
<br><b><small class="text-danger">'.tr('_DATO_ articolo mancante', [ <br><b><small class="text-danger">'.tr('_DATO_ articolo mancante', [
'_DATO_' => 'Codice', '_DATO_' => 'Codice',

View File

@ -38,8 +38,8 @@ use Plugins\DichiarazioniIntento\Dichiarazione;
use Plugins\ExportFE\FatturaElettronica; use Plugins\ExportFE\FatturaElettronica;
use Traits\RecordTrait; use Traits\RecordTrait;
use Traits\ReferenceTrait; use Traits\ReferenceTrait;
use Util\Generator;
use Translator; use Translator;
use Util\Generator;
class Fattura extends Document class Fattura extends Document
{ {

View File

@ -5,9 +5,8 @@ include_once __DIR__.'/../../core.php';
$id_anagrafica = get('id_anagrafica'); $id_anagrafica = get('id_anagrafica');
$op = get('op'); $op = get('op');
switch($op){ switch ($op) {
case "dettagli": case 'dettagli':
echo " echo "
<div class='row'>"; <div class='row'>";
@ -17,18 +16,18 @@ switch($op){
echo " echo "
<div class='col-md-4'> <div class='col-md-4'>
<b>CONTRATTI:</b><hr style='margin-top:5px;margin-bottom:15px;'>"; <b>CONTRATTI:</b><hr style='margin-top:5px;margin-bottom:15px;'>";
if(sizeof($rs_contratti)>0){ if (sizeof($rs_contratti) > 0) {
foreach($rs_contratti AS $contratto){ foreach ($rs_contratti as $contratto) {
echo " echo "
<div class='alert alert-info' style='margin-bottom: 10px;'> <div class='alert alert-info' style='margin-bottom: 10px;'>
".$contratto['descrizione']." ".$contratto['descrizione'].'
</div>"; </div>';
} }
}else{ } else {
echo "Nessun contratto per questo cliente..."; echo 'Nessun contratto per questo cliente...';
} }
echo " echo '
</div>"; </div>';
//Fatture emesse o parzialnente pagate //Fatture emesse o parzialnente pagate
$rs_documenti = $dbo->fetchArray("SELECT co_documenti.id AS id, CONCAT('Fattura ', numero_esterno, ' del ', DATE_FORMAT(data, '%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idstatodocumento IN(SELECT id FROM co_statidocumento WHERE descrizione IN('Emessa', 'Parzialmente pagato')) AND idanagrafica=".prepare($id_anagrafica)); $rs_documenti = $dbo->fetchArray("SELECT co_documenti.id AS id, CONCAT('Fattura ', numero_esterno, ' del ', DATE_FORMAT(data, '%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idstatodocumento IN(SELECT id FROM co_statidocumento WHERE descrizione IN('Emessa', 'Parzialmente pagato')) AND idanagrafica=".prepare($id_anagrafica));
@ -36,43 +35,40 @@ switch($op){
echo " echo "
<div class='col-md-4'> <div class='col-md-4'>
<b>Fatture:</b><hr style='margin-top:5px;margin-bottom:15px;'>"; <b>Fatture:</b><hr style='margin-top:5px;margin-bottom:15px;'>";
if(sizeof($rs_documenti)>0){ if (sizeof($rs_documenti) > 0) {
foreach($rs_documenti AS $documento){ foreach ($rs_documenti as $documento) {
$rs_scadenze = $dbo->fetchArray('SELECT * FROM co_scadenziario WHERE iddocumento='.prepare($documento['id']));
$rs_scadenze = $dbo->fetchArray("SELECT * FROM co_scadenziario WHERE iddocumento=".prepare($documento['id']));
echo " echo "
<div class='alert alert-info' style='margin-bottom: 10px;'> <div class='alert alert-info' style='margin-bottom: 10px;'>
".$documento['descrizione']."<br>"; ".$documento['descrizione'].'<br>';
foreach($rs_scadenze AS $scadenza){ foreach ($rs_scadenze as $scadenza) {
echo Translator::dateToLocale($scadenza['scadenza'])." - ".Translator::numberToLocale($scadenza['da_pagare'])." €<br>"; echo Translator::dateToLocale($scadenza['scadenza']).' - '.Translator::numberToLocale($scadenza['da_pagare']).' €<br>';
} }
echo " echo '
</div>"; </div>';
} }
}else{ } else {
echo "Nessuna fattura per questo cliente..."; echo 'Nessuna fattura per questo cliente...';
} }
echo " echo '
</div>"; </div>';
//Note dell'anagrafica //Note dell'anagrafica
$rs_anagrafica = $dbo->fetchOne("SELECT note FROM an_anagrafiche WHERE idanagrafica=".prepare($id_anagrafica)); $rs_anagrafica = $dbo->fetchOne('SELECT note FROM an_anagrafiche WHERE idanagrafica='.prepare($id_anagrafica));
if($rs_anagrafica['note']!=''){ if ($rs_anagrafica['note'] != '') {
echo " echo "
<div class='col-md-4'> <div class='col-md-4'>
<b>NOTE CLIENTE:</b><hr style='margin-top:5px;margin-bottom:15px;'> <b>NOTE CLIENTE:</b><hr style='margin-top:5px;margin-bottom:15px;'>
<div class='alert alert-info' style='margin-bottom: 10px;'>".$rs_anagrafica['note']."</div> <div class='alert alert-info' style='margin-bottom: 10px;'>".$rs_anagrafica['note'].'</div>
</div>"; </div>';
}else{ } else {
echo "Nessuna nota per questo cliente..."; echo 'Nessuna nota per questo cliente...';
} }
echo " echo '
</div>"; </div>';
break; break;
} }
?>

View File

@ -28,7 +28,7 @@ $module_anagrafiche = Modules::get('Anagrafiche');
// Verifica aggiuntive sulla sequenzialità dei numeri // Verifica aggiuntive sulla sequenzialità dei numeri
$numero_previsto = verifica_numero_intervento($intervento); $numero_previsto = verifica_numero_intervento($intervento);
if (!empty($numero_previsto) && intval((setting('Verifica numero intervento'))) ) { if (!empty($numero_previsto) && intval((setting('Verifica numero intervento')))) {
echo ' echo '
<div class="alert alert-warning"> <div class="alert alert-warning">
<i class="fa fa-warning"></i> '.tr("E' assente una attività di numero _NUM_ in data precedente o corrispondente a _DATE_: si potrebbero verificare dei problemi con la numerazione corrente delle attività", [ <i class="fa fa-warning"></i> '.tr("E' assente una attività di numero _NUM_ in data precedente o corrispondente a _DATE_: si potrebbero verificare dei problemi con la numerazione corrente delle attività", [
@ -386,7 +386,7 @@ echo '
<div class="panel-body"> <div class="panel-body">
<?php <?php
if($show_prezzi){ if ($show_prezzi) {
echo " echo "
<div class=\"pull-right\"> <div class=\"pull-right\">
<a class='btn btn-default btn-details' onclick=\"$('.extra').removeClass('hide'); $(this).addClass('hide'); $('#dontshowall_dettagli').removeClass('hide');\" id='showall_dettagli'><i class='fa fa-square-o'></i> <?php echo tr('Visualizza dettaglio costi'); ?></a> <a class='btn btn-default btn-details' onclick=\"$('.extra').removeClass('hide'); $(this).addClass('hide'); $('#dontshowall_dettagli').removeClass('hide');\" id='showall_dettagli'><i class='fa fa-square-o'></i> <?php echo tr('Visualizza dettaglio costi'); ?></a>

View File

@ -43,7 +43,7 @@ switch (filter('op')) {
], ['id' => $id_record]); ], ['id' => $id_record]);
// Messaggio di avvertenza // Messaggio di avvertenza
if ((stripos('N6', (string)$codice_natura) === 0) && $esigibilita == 'S') { if ((stripos('N6', (string) $codice_natura) === 0) && $esigibilita == 'S') {
flash()->warning(tr('Combinazione di natura IVA _TYPE_ ed esigibilità non compatibile', [ flash()->warning(tr('Combinazione di natura IVA _TYPE_ ed esigibilità non compatibile', [
'_TYPE_' => $codice_natura, '_TYPE_' => $codice_natura,
])); ]));

View File

@ -23,7 +23,7 @@ include_once __DIR__.'/../../core.php';
// select-options // select-options
if (setting('Attiva scorciatoie da tastiera')) { if (setting('Attiva scorciatoie da tastiera')) {
echo '<div class="alert alert-info"> echo '<div class="alert alert-info">
<i class="fa fa-info-circle"></i> '.tr('Scorciatoie da tastiera: <b>F7</b> - Barcode, <b>F8</b> - Carico, <b>F9</b> - Sarico, <b>F10</b> - Spostamento').' <i class="fa fa-info-circle"></i> '.tr('Scorciatoie da tastiera: <b>F7</b> - Barcode, <b>F8</b> - Carico, <b>F9</b> - Sarico, <b>F10</b> - Spostamento').'
</div>'; </div>';
} }

View File

@ -121,19 +121,17 @@ switch (filter('op')) {
//Controllo indirizzo e-mail aggiunto //Controllo indirizzo e-mail aggiunto
foreach ($newsletter->anagrafiche as $anagrafica) { foreach ($newsletter->anagrafiche as $anagrafica) {
if (!empty($anagrafica['email'])) {
if (!empty($anagrafica['email'])){
$check = Validate::isValidEmail($anagrafica['email']); $check = Validate::isValidEmail($anagrafica['email']);
if (empty($check['valid-format'])) { if (empty($check['valid-format'])) {
$errors[] = $anagrafica['email']; $errors[] = $anagrafica['email'];
} }
}else{ } else {
$errors[] = tr('Indirizzo e-mail mancante per "_EMAIL_"', [ $errors[] = tr('Indirizzo e-mail mancante per "_EMAIL_"', [
'_EMAIL_' => $anagrafica['ragione_sociale'], '_EMAIL_' => $anagrafica['ragione_sociale'],
]); ]);
} }
} }
if (!empty($errors)) { if (!empty($errors)) {
@ -148,7 +146,7 @@ switch (filter('op')) {
flash()->warning(tr('Attenzione questi indirizzi e-mail non sembrano essere validi: _EMAIL_ ', [ flash()->warning(tr('Attenzione questi indirizzi e-mail non sembrano essere validi: _EMAIL_ ', [
'_EMAIL_' => $message, '_EMAIL_' => $message,
])); ]));
}else{ } else {
flash()->info(tr('Nuovi destinatari aggiunti correttamente alla newsletter!')); flash()->info(tr('Nuovi destinatari aggiunti correttamente alla newsletter!'));
} }
@ -169,20 +167,15 @@ switch (filter('op')) {
$anagrafiche = $newsletter->anagrafiche; $anagrafiche = $newsletter->anagrafiche;
foreach ($anagrafiche as $anagrafica) { foreach ($anagrafiche as $anagrafica) {
$newsletter->anagrafiche()->detach($anagrafica->id); $newsletter->anagrafiche()->detach($anagrafica->id);
} }
flash()->info(tr('Tutti i destinatari sono stati rimossi dalla newsletter!')); flash()->info(tr('Tutti i destinatari sono stati rimossi dalla newsletter!'));
break; break;
// Duplica newsletter // Duplica newsletter
case 'copy': case 'copy':
$new = $newsletter->replicate(); $new = $newsletter->replicate();
$new->state = 'DEV'; $new->state = 'DEV';
$new->completed_at = null; $new->completed_at = null;
@ -190,10 +183,7 @@ switch (filter('op')) {
$id_record = $new->id; $id_record = $new->id;
flash()->info(tr('Newsletter duplicata correttamente!')); flash()->info(tr('Newsletter duplicata correttamente!'));
break; break;
} }

View File

@ -17,8 +17,6 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
if ($newsletter->state == 'DEV') { if ($newsletter->state == 'DEV') {
echo ' echo '
<button type="button" class="btn btn-primary ask" data-msg="'.tr('Procedere ad inviare la newsletter?').'" data-op="send" data-button="'.tr('Invia').'" data-class="btn btn-lg btn-warning"> <button type="button" class="btn btn-primary ask" data-msg="'.tr('Procedere ad inviare la newsletter?').'" data-op="send" data-button="'.tr('Invia').'" data-class="btn btn-lg btn-warning">

View File

@ -147,8 +147,8 @@ echo '
<h3 class="panel-title"> <h3 class="panel-title">
'.tr('Destinatari').' '.tr('Destinatari').'
<span> ('.$anagrafiche->count().')</span> <div class="pull-right" > <span> ('.$anagrafiche->count().')</span> <div class="pull-right" >
'.(($anagrafiche->where('email', '')->count()>0) ? ' <span title="'.tr('Indirizzi e-mail mancanti').'" class="tip label label-danger clickable">'.$anagrafiche->where('email', '')->count().'</span>' : '') '.(($anagrafiche->where('email', '')->count() > 0) ? ' <span title="'.tr('Indirizzi e-mail mancanti').'" class="tip label label-danger clickable">'.$anagrafiche->where('email', '')->count().'</span>' : '')
.(($anagrafiche->where('enable_newsletter', false)->count()>0) ? ' <span title="'.tr('Indirizzi e-mail senza consenso per newsletter').'" class="tip label label-warning clickable">'.$anagrafiche->where('enable_newsletter', false)->count().'</span>' : '').'</div> .(($anagrafiche->where('enable_newsletter', false)->count() > 0) ? ' <span title="'.tr('Indirizzi e-mail senza consenso per newsletter').'" class="tip label label-warning clickable">'.$anagrafiche->where('enable_newsletter', false)->count().'</span>' : '').'</div>
</h3> </h3>
</div> </div>
@ -175,7 +175,7 @@ if (!$anagrafiche->isEmpty()) {
$mail_id = $anagrafica->pivot->id_email; $mail_id = $anagrafica->pivot->id_email;
$mail = Mail::find($mail_id); $mail = Mail::find($mail_id);
if (!empty($mail) && !empty($mail->sent_at)) { if (!empty($mail) && !empty($mail->sent_at)) {
$data = '<span class="fa fa-paper-plane text-success" > '. timestampFormat($mail->sent_at).'</span>'; $data = '<span class="fa fa-paper-plane text-success" > '.timestampFormat($mail->sent_at).'</span>';
} else { } else {
$data = '<span class="fa fa-clock-o text-info" > $data = '<span class="fa fa-clock-o text-info" >
'.tr('Non ancora inviata').'</span>'; '.tr('Non ancora inviata').'</span>';
@ -188,10 +188,10 @@ if (!$anagrafiche->isEmpty()) {
<td class="text-left">'.$anagrafica->tipo.'</td> <td class="text-left">'.$anagrafica->tipo.'</td>
<td class="text-left"> <td class="text-left">
'.((!empty($anagrafica->email) ? ' '.((!empty($anagrafica->email) ? '
{[ "type": "text", "name": "email", "id": "email_'.rand(0,99999).'", "readonly": "1", "class": "email-mask", "value": "'.$anagrafica->email.'", "validation": "email" ]}': '<span class="fa fa-close text-danger"> '.tr('Indirizzo e-mail mancante').'</span>')).'</td> {[ "type": "text", "name": "email", "id": "email_'.rand(0, 99999).'", "readonly": "1", "class": "email-mask", "value": "'.$anagrafica->email.'", "validation": "email" ]}' : '<span class="fa fa-close text-danger"> '.tr('Indirizzo e-mail mancante').'</span>')).'</td>
<td class="text-center">'.$data.'</td> <td class="text-center">'.$data.'</td>
<td class="text-left"> <td class="text-left">
'.((!empty($anagrafica->enable_newsletter)) ? '<span class="fa fa-check text-success"> '.tr('Abilitato').'</span>': '<span class="fa fa-exclamation-triangle text-warning"> '.tr('Disabilitato').'</span>').' '.((!empty($anagrafica->enable_newsletter)) ? '<span class="fa fa-check text-success"> '.tr('Abilitato').'</span>' : '<span class="fa fa-exclamation-triangle text-warning"> '.tr('Disabilitato').'</span>').'
</td> </td>
<td class="text-center"> <td class="text-center">
<a class="btn btn-danger ask btn-xs" data-backto="record-edit" data-op="remove_receiver" data-id="'.$anagrafica->id.'"> <a class="btn btn-danger ask btn-xs" data-backto="record-edit" data-op="remove_receiver" data-id="'.$anagrafica->id.'">

View File

@ -23,16 +23,13 @@ $name = filter('name');
$value = filter('value'); $value = filter('value');
switch ($name) { switch ($name) {
case 'email': case 'email':
$check = Validate::isValidEmail($value); $check = Validate::isValidEmail($value);
if (empty($check['valid-format'])) { if (empty($check['valid-format'])) {
$result = false; $result = false;
$errors[] = tr("L'email inserita non possiede un formato valido"); $errors[] = tr("L'email inserita non possiede un formato valido");
}else{ } else {
$result = true; $result = true;
} }
@ -41,8 +38,6 @@ switch ($name) {
$errors[] = tr("Impossibile verificare l'origine dell'email"); $errors[] = tr("Impossibile verificare l'origine dell'email");
} }
if (!empty($errors)) { if (!empty($errors)) {
$message = tr('Attenzione').':<ul>'; $message = tr('Attenzione').':<ul>';
foreach ($errors as $error) { foreach ($errors as $error) {
@ -51,7 +46,6 @@ switch ($name) {
$message .= '</ul>'; $message .= '</ul>';
} }
$response = [ $response = [
'result' => $result, 'result' => $result,
'message' => $message, 'message' => $message,

View File

@ -477,11 +477,11 @@ switch (post('op')) {
$articolo = $copia->articolo; $articolo = $copia->articolo;
$fornitore = DettaglioPrezzo::dettagli($riga->idarticolo, $anagrafica->id, $dir, $qta)->first(); $fornitore = DettaglioPrezzo::dettagli($riga->idarticolo, $anagrafica->id, $dir, $qta)->first();
if(empty($fornitore)){ if (empty($fornitore)) {
$fornitore = DettaglioPrezzo::dettaglioPredefinito($riga->idarticolo, $anagrafica->id, $dir)->first(); $fornitore = DettaglioPrezzo::dettaglioPredefinito($riga->idarticolo, $anagrafica->id, $dir)->first();
} }
$prezzo_unitario = $fornitore->prezzo_unitario-($fornitore->prezzo_unitario*$fornitore->percentuale/100); $prezzo_unitario = $fornitore->prezzo_unitario - ($fornitore->prezzo_unitario * $fornitore->percentuale / 100);
$copia->setPrezzoUnitario($fornitore ? $prezzo_unitario : $articolo->prezzo_acquisto, $copia->aliquota->id); $copia->setPrezzoUnitario($fornitore ? $prezzo_unitario : $articolo->prezzo_acquisto, $copia->aliquota->id);
$copia->setSconto($fornitore->sconto_percentuale ?: 0, 'PRC'); $copia->setSconto($fornitore->sconto_percentuale ?: 0, 'PRC');
@ -545,11 +545,11 @@ switch (post('op')) {
$articolo = $copia->articolo; $articolo = $copia->articolo;
$fornitore = DettaglioPrezzo::dettagli($riga->idarticolo, $anagrafica->id, $dir, $qta)->first(); $fornitore = DettaglioPrezzo::dettagli($riga->idarticolo, $anagrafica->id, $dir, $qta)->first();
if(empty($fornitore)){ if (empty($fornitore)) {
$fornitore = DettaglioPrezzo::dettaglioPredefinito($riga->idarticolo, $anagrafica->id, $dir)->first(); $fornitore = DettaglioPrezzo::dettaglioPredefinito($riga->idarticolo, $anagrafica->id, $dir)->first();
} }
$prezzo_unitario = $fornitore->prezzo_unitario-($fornitore->prezzo_unitario*$fornitore->percentuale/100); $prezzo_unitario = $fornitore->prezzo_unitario - ($fornitore->prezzo_unitario * $fornitore->percentuale / 100);
$copia->setPrezzoUnitario($fornitore ? $prezzo_unitario : $articolo->prezzo_acquisto, $copia->aliquota->id); $copia->setPrezzoUnitario($fornitore ? $prezzo_unitario : $articolo->prezzo_acquisto, $copia->aliquota->id);
$copia->setSconto($fornitore->sconto_percentuale ?: 0, 'PRC'); $copia->setSconto($fornitore->sconto_percentuale ?: 0, 'PRC');

View File

@ -19,11 +19,11 @@
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
use Modules\Articoli\Articolo as ArticoloOriginale;
use Modules\Fatture\Fattura; use Modules\Fatture\Fattura;
use Modules\Fatture\Stato; use Modules\Fatture\Stato;
use Modules\Fatture\Tipo; use Modules\Fatture\Tipo;
use Modules\Ordini\Ordine; use Modules\Ordini\Ordine;
use Modules\Articoli\Articolo as ArticoloOriginale;
$module_fatture = 'Fatture di vendita'; $module_fatture = 'Fatture di vendita';

View File

@ -31,7 +31,7 @@ switch (post('op')) {
$lvl = post('lvl'); $lvl = post('lvl');
if (post('id_conto') !== null) { if (post('id_conto') !== null) {
if($lvl=='2'){ if ($lvl == '2') {
// Controllo che non sia stato usato un numero non valido del conto // Controllo che non sia stato usato un numero non valido del conto
$query = 'SELECT idpianodeiconti1, numero FROM co_pianodeiconti2 WHERE numero='.prepare($numero).' AND idpianodeiconti1='.prepare($id_conto); $query = 'SELECT idpianodeiconti1, numero FROM co_pianodeiconti2 WHERE numero='.prepare($numero).' AND idpianodeiconti1='.prepare($id_conto);
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);
@ -39,7 +39,7 @@ switch (post('op')) {
if (sizeof($rs) == 0) { if (sizeof($rs) == 0) {
$query = 'INSERT INTO co_pianodeiconti2(numero, descrizione, idpianodeiconti1) VALUES('.prepare($numero).', '.prepare($descrizione).', '.prepare($id_conto).')'; $query = 'INSERT INTO co_pianodeiconti2(numero, descrizione, idpianodeiconti1) VALUES('.prepare($numero).', '.prepare($descrizione).', '.prepare($id_conto).')';
} }
}else { } else {
// Controllo che non sia stato usato un numero non valido del conto // Controllo che non sia stato usato un numero non valido del conto
$query = 'SELECT idpianodeiconti2, numero FROM co_pianodeiconti3 WHERE numero='.prepare($numero).' AND idpianodeiconti2='.prepare($id_conto); $query = 'SELECT idpianodeiconti2, numero FROM co_pianodeiconti3 WHERE numero='.prepare($numero).' AND idpianodeiconti2='.prepare($id_conto);
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);

View File

@ -20,8 +20,7 @@
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
$id_conto = get('id'); $id_conto = get('id');
$lvl = get('lvl') $lvl = get('lvl');
?><form action="<?php echo base_path(); ?>/editor.php?id_module=<?php echo Modules::get('Piano dei conti')['id']; ?>" method="post"> ?><form action="<?php echo base_path(); ?>/editor.php?id_module=<?php echo Modules::get('Piano dei conti')['id']; ?>" method="post">
<input type="hidden" name="op" value="add"> <input type="hidden" name="op" value="add">

View File

@ -19,11 +19,11 @@
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
use Modules\Articoli\Articolo as ArticoloOriginale;
use Modules\Fatture\Fattura; use Modules\Fatture\Fattura;
use Modules\Fatture\Stato; use Modules\Fatture\Stato;
use Modules\Fatture\Tipo; use Modules\Fatture\Tipo;
use Modules\Preventivi\Preventivo; use Modules\Preventivi\Preventivo;
use Modules\Articoli\Articolo as ArticoloOriginale;
$module_fatture = 'Fatture di vendita'; $module_fatture = 'Fatture di vendita';

View File

@ -19,7 +19,7 @@
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
echo' echo '
<button type="button" class="btn btn-primary" onclick="if( confirm(\'Duplicare questo preventivo?\') ){ $(\'#copia-preventivo\').submit(); }"> <button type="button" class="btn btn-primary" onclick="if( confirm(\'Duplicare questo preventivo?\') ){ $(\'#copia-preventivo\').submit(); }">
<i class="fa fa-copy"></i> '.tr('Duplica preventivo').' <i class="fa fa-copy"></i> '.tr('Duplica preventivo').'
</button>'; </button>';

View File

@ -30,7 +30,7 @@ $revisione = Preventivo::find($id_record)->ultima_revisione;
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "value": "Revisione n. <?php echo $revisione+1; ?>" ]} {[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "value": "Revisione n. <?php echo $revisione + 1; ?>" ]}
</div> </div>
</div> </div>

View File

@ -24,9 +24,8 @@ use Carbon\CarbonInterval;
use Common\Components\Component; use Common\Components\Component;
use Common\Document; use Common\Document;
use Modules\Anagrafiche\Anagrafica; use Modules\Anagrafiche\Anagrafica;
use Modules\Interventi\Intervento;
use Modules\Ordini\Ordine;
use Modules\Fatture\Fattura; use Modules\Fatture\Fattura;
use Modules\Interventi\Intervento;
use Modules\TipiIntervento\Tipo as TipoSessione; use Modules\TipiIntervento\Tipo as TipoSessione;
use Traits\RecordTrait; use Traits\RecordTrait;
use Traits\ReferenceTrait; use Traits\ReferenceTrait;
@ -253,7 +252,7 @@ class Preventivo extends Document
if ($qta_evasa == 0) { if ($qta_evasa == 0) {
$descrizione = 'In lavorazione'; $descrizione = 'In lavorazione';
$codice_intervento = 'OK'; $codice_intervento = 'OK';
} else if($trigger->getDocument() instanceof Fattura){ } elseif ($trigger->getDocument() instanceof Fattura) {
$descrizione = $parziale ? 'Parzialmente fatturato' : 'Fatturato'; $descrizione = $parziale ? 'Parzialmente fatturato' : 'Fatturato';
$codice_intervento = 'FAT'; $codice_intervento = 'FAT';
} else { } else {

View File

@ -148,7 +148,7 @@ foreach ($id_documenti as $id_documento) {
if ($is_insoluto) { if ($is_insoluto) {
$scadenze = $database->fetchArray('SELECT id, ABS(da_pagare) AS rata, iddocumento FROM co_scadenziario WHERE iddocumento='.prepare($id_documento).' AND ABS(da_pagare) = ABS(pagato) ORDER BY updated_at DESC LIMIT 0, 1'); $scadenze = $database->fetchArray('SELECT id, ABS(da_pagare) AS rata, iddocumento FROM co_scadenziario WHERE iddocumento='.prepare($id_documento).' AND ABS(da_pagare) = ABS(pagato) ORDER BY updated_at DESC LIMIT 0, 1');
} else { } else {
$scadenze = $database->fetchArray('SELECT id, ABS(da_pagare - pagato) AS rata, iddocumento FROM co_scadenziario WHERE iddocumento='.prepare($id_documento).' AND ABS(da_pagare) > ABS(pagato)'. (!empty($id_scadenze) ? 'AND id IN('.implode(',',$id_scadenze).')' : '').' ORDER BY YEAR(scadenza) ASC, MONTH(scadenza) ASC'); $scadenze = $database->fetchArray('SELECT id, ABS(da_pagare - pagato) AS rata, iddocumento FROM co_scadenziario WHERE iddocumento='.prepare($id_documento).' AND ABS(da_pagare) > ABS(pagato)'.(!empty($id_scadenze) ? 'AND id IN('.implode(',', $id_scadenze).')' : '').' ORDER BY YEAR(scadenza) ASC, MONTH(scadenza) ASC');
} }
// Selezione prima scadenza // Selezione prima scadenza

View File

@ -21,7 +21,6 @@ include_once __DIR__.'/../../core.php';
switch (post('op')) { switch (post('op')) {
case 'update': case 'update':
if (!empty(intval(post('predefined'))) && !empty(post('module'))) { if (!empty(intval(post('predefined'))) && !empty(post('module'))) {
$dbo->query('UPDATE zz_prints SET predefined = 0 WHERE zz_prints.id != '.prepare($id_record).' AND id_module = '.post('module')); $dbo->query('UPDATE zz_prints SET predefined = 0 WHERE zz_prints.id != '.prepare($id_record).' AND id_module = '.post('module'));
} }
@ -34,7 +33,6 @@ switch (post('op')) {
$print->order = post('order'); $print->order = post('order');
$print->predefined = intval(post('predefined')); $print->predefined = intval(post('predefined'));
$print->save(); $print->save();
flash()->info(tr('Modifiche salvate correttamente')); flash()->info(tr('Modifiche salvate correttamente'));

View File

@ -62,13 +62,13 @@ use Models\PrintTemplate;
</div> </div>
<?php <?php
if(empty($stampa_predefinita = PrintTemplate::where('predefined', true)->where('id_module', $record['id_module'])->orderBy('id')->first())){ if (empty($stampa_predefinita = PrintTemplate::where('predefined', true)->where('id_module', $record['id_module'])->orderBy('id')->first())) {
$stampa_predefinita->name = 'Nessuna'; $stampa_predefinita->name = 'Nessuna';
} }
?> ?>
<div class="col-md-3"> <div class="col-md-3">
{[ "type": "checkbox", "label": "<?php echo tr('Predefinita'); ?>", "help" : "<?php echo tr("Attiva per impostare questa stampa come predefinita. Attualmente la stampa predefinita per questo modulo è: ".$stampa_predefinita->name); ?>", "name": "predefined", "value": "$predefined$", "disabled": "<?php echo intval($record['predefined']); ?>" ]} {[ "type": "checkbox", "label": "<?php echo tr('Predefinita'); ?>", "help" : "<?php echo tr('Attiva per impostare questa stampa come predefinita. Attualmente la stampa predefinita per questo modulo è: '.$stampa_predefinita->name); ?>", "name": "predefined", "value": "$predefined$", "disabled": "<?php echo intval($record['predefined']); ?>" ]}
</div> </div>
</div> </div>

View File

@ -25,17 +25,17 @@ $operazione = filter('op');
switch ($operazione) { switch ($operazione) {
case 'update': case 'update':
$articolo = (array)post('id_articolo'); $articolo = (array) post('id_articolo');
$data_installazione = (array)post('data_installazione'); $data_installazione = (array) post('data_installazione');
$data_disinstallazione = (array)post('data_disinstallazione'); $data_disinstallazione = (array) post('data_disinstallazione');
$data_registrazione = (array)post('data_registrazione'); $data_registrazione = (array) post('data_registrazione');
$note = (array)post('note'); $note = (array) post('note');
$key = key($articolo); $key = key($articolo);
if(post('sostituito')){ if (post('sostituito')) {
$field_articolo = 'pre_id_articolo'; $field_articolo = 'pre_id_articolo';
} else{ } else {
$field_articolo = 'id_articolo'; $field_articolo = 'id_articolo';
} }
@ -69,11 +69,10 @@ switch ($operazione) {
$old_id = get('id_old'); $old_id = get('id_old');
$old = $dbo->selectOne('my_componenti_articoli', '*', ['id' => $old_id]); $old = $dbo->selectOne('my_componenti_articoli', '*', ['id' => $old_id]);
if(!empty($old['id_articolo'])){ if (!empty($old['id_articolo'])) {
if (empty($old['data_disinstallazione'])) {
if(empty($old['data_disinstallazione'])){
$data = Carbon::now(); $data = Carbon::now();
} else{ } else {
$data = $old['data_disinstallazione']; $data = $old['data_disinstallazione'];
} }
@ -81,7 +80,7 @@ switch ($operazione) {
'pre_id_articolo' => $old['id_articolo'], 'pre_id_articolo' => $old['id_articolo'],
'id_articolo' => 0, 'id_articolo' => 0,
'data_disinstallazione' => $data, 'data_disinstallazione' => $data,
],[ ], [
'id' => $old_id, 'id' => $old_id,
]); ]);
@ -102,7 +101,7 @@ switch ($operazione) {
]); ]);
flash()->info(tr('Informazioni salvate correttamente!')); flash()->info(tr('Informazioni salvate correttamente!'));
} else{ } else {
flash()->warning(tr('Inserire un articolo prima di effettuare la sostituzione!')); flash()->warning(tr('Inserire un articolo prima di effettuare la sostituzione!'));
} }

View File

@ -19,4 +19,4 @@
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
echo '{( "name": "filelist_and_upload", "id":"'.rand(1,999).'", "id_record": "'.get('id').'", "id_module": "'.$id_module.'", "id_plugin": "'.$id_plugin.'" )}'; echo '{( "name": "filelist_and_upload", "id":"'.rand(1, 999).'", "id_record": "'.get('id').'", "id_module": "'.$id_module.'", "id_plugin": "'.$id_plugin.'" )}';

View File

@ -26,8 +26,8 @@ $componenti = $dbo->fetchArray('SELECT my_componenti_articoli.*, my_impianti.ida
$installati = 0; $installati = 0;
$disinstallati = 0; $disinstallati = 0;
foreach($componenti as $componente){ foreach ($componenti as $componente) {
if(!empty($componente['pre_id_articolo'])){ if (!empty($componente['pre_id_articolo'])) {
$id_articolo = $componente['pre_id_articolo']; $id_articolo = $componente['pre_id_articolo'];
$check_value = 1; $check_value = 1;
$box = 'danger'; $box = 'danger';
@ -36,8 +36,8 @@ foreach($componenti as $componente){
$text = 'DISINSTALLATO'; $text = 'DISINSTALLATO';
$class = 'danger'; $class = 'danger';
$title = ''.tr('Storico').''; $title = ''.tr('Storico').'';
$table ='default'; $table = 'default';
if($disinstallati==0){ if ($disinstallati == 0) {
echo ' echo '
<div class="row"> <div class="row">
<div class="col-md-12 text-center"> <div class="col-md-12 text-center">
@ -45,9 +45,9 @@ foreach($componenti as $componente){
</div> </div>
</div> </div>
<hr>'; <hr>';
$disinstallati++; ++$disinstallati;
} }
} else{ } else {
$id_articolo = $componente['id_articolo']; $id_articolo = $componente['id_articolo'];
$check_value = 0; $check_value = 0;
$box = 'primary'; $box = 'primary';
@ -56,8 +56,8 @@ foreach($componenti as $componente){
$text = 'INSTALLATO'; $text = 'INSTALLATO';
$class = 'primary'; $class = 'primary';
$title = ''.tr('Dati').''; $title = ''.tr('Dati').'';
$table ='primary'; $table = 'primary';
if($installati==0){ if ($installati == 0) {
echo ' echo '
<div class="row"> <div class="row">
<div class="col-md-12 text-center"> <div class="col-md-12 text-center">
@ -65,15 +65,15 @@ foreach($componenti as $componente){
</div> </div>
</div> </div>
<hr>'; <hr>';
$installati++; ++$installati;
} }
} }
$allegati = $dbo->fetchOne('SELECT COUNT(id) AS num FROM zz_files WHERE id_plugin='.prepare($id_plugin).' AND id_record='.$componente['id'].' GROUP BY id_record')['num']; $allegati = $dbo->fetchOne('SELECT COUNT(id) AS num FROM zz_files WHERE id_plugin='.prepare($id_plugin).' AND id_record='.$componente['id'].' GROUP BY id_record')['num'];
if($allegati){ if ($allegati) {
$icon = 'fa fa-check text-success'; $icon = 'fa fa-check text-success';
} else{ } else {
$icon = 'fa fa-times text-danger'; $icon = 'fa fa-times text-danger';
} }
@ -158,7 +158,7 @@ foreach($componenti as $componente){
</a> </a>
</div>'; </div>';
if(!empty($componente['id_articolo'])){ if (!empty($componente['id_articolo'])) {
echo ' echo '
<div class="col-md-9"> <div class="col-md-9">
<button type="button" class="btn btn-warning pull-right" onclick="sostituisci('.$componente['id'].')"><i class="fa fa-cog"></i> '.tr('Sostituisci').'</button> <button type="button" class="btn btn-warning pull-right" onclick="sostituisci('.$componente['id'].')"><i class="fa fa-cog"></i> '.tr('Sostituisci').'</button>

View File

@ -96,17 +96,17 @@ class DettaglioPrezzo extends Model
->whereNull('massimo'); ->whereNull('massimo');
} }
public static function dettagli($id_articolo, $id_anagrafica, $direzione, $qta=null) public static function dettagli($id_articolo, $id_anagrafica, $direzione, $qta = null)
{ {
$dettagli = self::where('id_articolo', $id_articolo) $dettagli = self::where('id_articolo', $id_articolo)
->where('id_anagrafica', $id_anagrafica) ->where('id_anagrafica', $id_anagrafica)
->where('dir', $direzione); ->where('dir', $direzione);
if($qta==null){ if ($qta == null) {
$dettagli = $dettagli $dettagli = $dettagli
->whereNotNull('minimo') ->whereNotNull('minimo')
->whereNotNull('massimo'); ->whereNotNull('massimo');
} else{ } else {
$dettagli = $dettagli $dettagli = $dettagli
->where('minimo', '<=', $qta) ->where('minimo', '<=', $qta)
->where('massimo', '>=', $qta); ->where('massimo', '>=', $qta);

View File

@ -26,7 +26,7 @@ namespace Plugins\DettagliArticolo;
*/ */
class METEL class METEL
{ {
const HEADER = [ public const HEADER = [
1 => 'Identificazione tracciato', 1 => 'Identificazione tracciato',
21 => 'Sigla Azienda', 21 => 'Sigla Azienda',
24 => 'Partita IVA', 24 => 'Partita IVA',
@ -41,7 +41,7 @@ class METEL
153 => 'Filler (spazi)', 153 => 'Filler (spazi)',
]; ];
const ROW = [ public const ROW = [
1 => 'Sigla Marchio', 1 => 'Sigla Marchio',
4 => 'Codice Prodotto Azienda', 4 => 'Codice Prodotto Azienda',
20 => 'Codice EAN', 20 => 'Codice EAN',

View File

@ -693,7 +693,7 @@ class FatturaElettronica
if ($is_privato_estero) { if ($is_privato_estero) {
$result['IdFiscaleIVA']['IdPaese'] = $anagrafica->nazione->iso2; $result['IdFiscaleIVA']['IdPaese'] = $anagrafica->nazione->iso2;
$result['IdFiscaleIVA']['IdCodice'] = '999999999'; $result['IdFiscaleIVA']['IdCodice'] = '999999999';
unset( $result['Anagrafica']['CodiceFiscale'] ); unset($result['Anagrafica']['CodiceFiscale']);
} }
if (!empty($anagrafica['nome']) or !empty($anagrafica['cognome'])) { if (!empty($anagrafica['nome']) or !empty($anagrafica['cognome'])) {
@ -1027,7 +1027,6 @@ class FatturaElettronica
// Se imposto il vettore deve essere indicata anche la p.iva nella sua anagrafica // Se imposto il vettore deve essere indicata anche la p.iva nella sua anagrafica
if ($documento->tipo->descrizione == 'Fattura accompagnatoria di vendita') { if ($documento->tipo->descrizione == 'Fattura accompagnatoria di vendita') {
if ($documento['idvettore']) { if ($documento['idvettore']) {
$vettore = Anagrafica::find($documento['idvettore']); $vettore = Anagrafica::find($documento['idvettore']);
$result['DatiAnagraficiVettore'] = static::getDatiAnagrafici($vettore); $result['DatiAnagraficiVettore'] = static::getDatiAnagrafici($vettore);
@ -1050,27 +1049,26 @@ class FatturaElettronica
} }
} }
if (!empty($documento['idsede_destinazione'])){ if (!empty($documento['idsede_destinazione'])) {
$sede = $database->fetchOne('SELECT * FROM an_sedi WHERE id='.prepare($documento['idsede_destinazione'])); $sede = $database->fetchOne('SELECT * FROM an_sedi WHERE id='.prepare($documento['idsede_destinazione']));
if (!empty($sede['indirizzo'])){ if (!empty($sede['indirizzo'])) {
$result['IndirizzoResa']['Indirizzo'] = $sede['indirizzo']; $result['IndirizzoResa']['Indirizzo'] = $sede['indirizzo'];
} }
if (!empty($sede['cap'])){ if (!empty($sede['cap'])) {
$result['IndirizzoResa']['CAP'] = $sede['cap']; $result['IndirizzoResa']['CAP'] = $sede['cap'];
} }
if (!empty($sede['citta'])){ if (!empty($sede['citta'])) {
$result['IndirizzoResa']['Comune'] = $sede['citta']; $result['IndirizzoResa']['Comune'] = $sede['citta'];
} }
if (!empty($sede['provincia'])){ if (!empty($sede['provincia'])) {
$result['IndirizzoResa']['Provincia'] = $sede['provincia']; $result['IndirizzoResa']['Provincia'] = $sede['provincia'];
} }
if (!empty($sede['id_nazione'])){ if (!empty($sede['id_nazione'])) {
$rs_nazione = $database->fetchOne('SELECT * FROM an_nazioni WHERE id='.prepare($sede['id_nazione'])); $rs_nazione = $database->fetchOne('SELECT * FROM an_nazioni WHERE id='.prepare($sede['id_nazione']));
$result['IndirizzoResa']['Nazione'] = $rs_nazione['iso2']; $result['IndirizzoResa']['Nazione'] = $rs_nazione['iso2'];

View File

@ -48,11 +48,11 @@ class MissingReceiptTask extends Manager
->get(); ->get();
// Ricerca delle ricevute dedicate // Ricerca delle ricevute dedicate
foreach ($in_attesa as $fattura){ foreach ($in_attesa as $fattura) {
$ricevute = Interaction::getInvoiceRecepits($fattura->id); $ricevute = Interaction::getInvoiceRecepits($fattura->id);
// Importazione di tutte le ricevute trovate // Importazione di tutte le ricevute trovate
foreach ($ricevute as $ricevuta){ foreach ($ricevute as $ricevuta) {
$name = $ricevuta['name']; $name = $ricevuta['name'];
Ricevuta::process($name); Ricevuta::process($name);

View File

@ -24,7 +24,7 @@ use API\Resource;
class Revisione extends Resource implements RetrieveInterface class Revisione extends Resource implements RetrieveInterface
{ {
const REVISION = '1'; public const REVISION = '1';
public function retrieve($request) public function retrieve($request)
{ {

View File

@ -29,7 +29,7 @@ use Util\Zip;
class Backup class Backup
{ {
/** @var string Pattern per i nomi dei backup */ /** @var string Pattern per i nomi dei backup */
const PATTERN = 'OSM backup YYYY-m-d H_i_s'; public const PATTERN = 'OSM backup YYYY-m-d H_i_s';
/** @var array Elenco delle variabili che identificano i backup giornalieri */ /** @var array Elenco delle variabili che identificano i backup giornalieri */
protected static $daily_replaces = [ protected static $daily_replaces = [

View File

@ -294,7 +294,7 @@ abstract class Article extends Accounting
if ($documento instanceof \Modules\Interventi\Intervento) { if ($documento instanceof \Modules\Interventi\Intervento) {
$id_sede = $this->idsede_partenza; $id_sede = $this->idsede_partenza;
} else{ } else {
$id_sede = $documento->direzione == 'uscita' ? $documento->idsede_destinazione : $documento->idsede_partenza; $id_sede = $documento->direzione == 'uscita' ? $documento->idsede_destinazione : $documento->idsede_partenza;
} }

View File

@ -183,7 +183,7 @@ abstract class Component extends Model
* *
* @param Document $document Documento di destinazione * @param Document $document Documento di destinazione
* @param float|null $qta Quantità da riportare * @param float|null $qta Quantità da riportare
* @param boolean $evadi_qta_parent Definisce se evadere la quantità di provenienza * @param bool $evadi_qta_parent Definisce se evadere la quantità di provenienza
* *
* @return self * @return self
*/ */

View File

@ -105,7 +105,7 @@ class Settings
public static function setValue($setting, $value) public static function setValue($setting, $value)
{ {
$setting = self::get($setting); $setting = self::get($setting);
$value = (is_array($value) ? implode(",",$value) : $value); $value = (is_array($value) ? implode(',', $value) : $value);
// Trasformazioni // Trasformazioni
// Boolean (checkbox) // Boolean (checkbox)

View File

@ -301,6 +301,26 @@ class Translator extends Util\Singleton
return self::getFormatter()->formatTimestamp($string); return self::getFormatter()->formatTimestamp($string);
} }
/**
* Converte il numero in ore.
*
* @param string $string
*
* @return string
*/
public static function numberToHours($string)
{
$string = !isset($string) ? 0 : $string;
$ore = number_format($string, 2);
$splitted_hour = explode('.', $ore);
$hour = $splitted_hour[0];
$minutes = ($splitted_hour[1] / 100) * 60;
$time = $hour.':'.sprintf('%02d', $minutes);
return $time;
}
/** /**
* Aggiunge i contenuti della cartella specificata alle traduzioni disponibili. * Aggiunge i contenuti della cartella specificata alle traduzioni disponibili.
* *
@ -359,24 +379,4 @@ class Translator extends Util\Singleton
self::$formatter->setPrecision(auth()->check() ? setting('Cifre decimali per importi') : 2); self::$formatter->setPrecision(auth()->check() ? setting('Cifre decimali per importi') : 2);
} }
/**
* Converte il numero in ore.
*
* @param string $string
*
* @return string
*/
public static function numberToHours($string)
{
$string = !isset($string) ? 0 : $string;
$ore = number_format($string, 2);
$splitted_hour = explode('.', $ore);
$hour = $splitted_hour[0];
$minutes = ($splitted_hour[1]/100)*60;
$time = $hour.":".sprintf("%02d", $minutes);
return $time;
}
} }

View File

@ -179,13 +179,13 @@ if (!$righe->isEmpty()) {
<tbody>'; <tbody>';
foreach ($righe as $riga) { foreach ($righe as $riga) {
if(setting('Formato ore in stampa')=='Sessantesimi'){ if (setting('Formato ore in stampa') == 'Sessantesimi') {
if($riga->um=='ore'){ if ($riga->um == 'ore') {
$qta = Translator::numberToHours($riga->qta); $qta = Translator::numberToHours($riga->qta);
} else{ } else {
$qta = Translator::numberToLocale($riga->qta, 'qta'); $qta = Translator::numberToLocale($riga->qta, 'qta');
} }
} else{ } else {
$qta = Translator::numberToLocale($riga->qta, 'qta'); $qta = Translator::numberToLocale($riga->qta, 'qta');
} }
// Articolo // Articolo
@ -332,9 +332,9 @@ foreach ($sessioni as $i => $sessione) {
} }
// Ore lavorate // Ore lavorate
if(setting('Formato ore in stampa')=='Sessantesimi'){ if (setting('Formato ore in stampa') == 'Sessantesimi') {
$ore_totali = Translator::numberToHours($documento->ore_totali); $ore_totali = Translator::numberToHours($documento->ore_totali);
} else{ } else {
$ore_totali = Translator::numberToLocale($documento->ore_totali, 2); $ore_totali = Translator::numberToLocale($documento->ore_totali, 2);
} }

View File

@ -32,8 +32,8 @@ $link = base_path().'/'.$file->filepath;
// Force download of the file // Force download of the file
if (get('force') == '1') { if (get('force') == '1') {
header('Content-Type: application/octet-stream'); header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary"); header('Content-Transfer-Encoding: Binary');
header("Content-disposition: attachment; filename=\"" . basename($file->original_name) . "\""); header('Content-disposition: attachment; filename="'.basename($file->original_name).'"');
readfile($docroot.'/'.$file->filepath); readfile($docroot.'/'.$file->filepath);
exit(); exit();
} else { } else {