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

@ -24,7 +24,7 @@ $qta_minima = 0;
if (empty($result['idarticolo'])) {
// Sede partenza
if ($module['name'] == 'Interventi') {
echo '
echo '
<div class="row">
<div class="col-md-4">
{[ "type": "select", "label": "'.tr('Partenza merce').'", "required": "1", "id":"idsede", "name": "idsede_partenza", "ajax-source": "sedi_azienda", "value": "'.($result['idsede_partenza'] ?: $options['idsede_partenza']).'" ]}

View File

@ -34,11 +34,11 @@ $final_module = Modules::get($name);
// 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);
}elseif($final_module['name']=='Ordini fornitore'){
} elseif ($final_module['name'] == 'Ordini fornitore') {
$righe = $documento->getRighe();
}else{
} else {
$righe = $documento->getRighe()->where('qta_rimanente', '>', 0);
}
@ -266,19 +266,19 @@ echo '
<tbody id="righe_documento_importato">';
foreach ($righe as $i => $riga) {
if($final_module['name']=='Ordini fornitore'){
if ($final_module['name'] == 'Ordini fornitore') {
$qta_rimanente = $riga['qta'];
}else{
} else {
$qta_rimanente = $riga['qta_rimanente'];
}
$attr = 'checked="checked"';
if($original_module['name']=='Preventivi'){
if(empty($riga['confermato']) && $riga['is_descrizione']==0){
if ($original_module['name'] == 'Preventivi') {
if (empty($riga['confermato']) && $riga['is_descrizione'] == 0) {
$attr = '';
}
}
// Descrizione
echo '
<tr data-local_id="'.$i.'">
@ -312,7 +312,7 @@ foreach ($righe as $i => $riga) {
<td style="vertical-align:middle">
{[ "type": "number", "name": "qta_da_evadere['.$riga['id'].']", "id": "qta_'.$i.'", "required": 1, "value": "'.$qta_rimanente.'", "decimals": "qta", "min-value": "0", "extra": "'.(($riga['is_descrizione']) ? 'readonly' : '').' onkeyup=\"ricalcolaTotaleRiga('.$i.');\"" ]}
</td>';
echo '
<td style="vertical-align:middle" class="text-right">
<span id="subtotale_'.$i.'"></span>

View File

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

View File

@ -110,7 +110,7 @@ echo '
</div>';
$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 = array_column($uploads, 'id');
}

View File

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

View File

@ -17,15 +17,15 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
use Modules\Anagrafiche\Anagrafica;
use Models\Upload;
use Modules\Anagrafiche\Anagrafica;
include_once __DIR__.'/../../../core.php';
//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 = [];
foreach($rs as $r){
foreach ($rs as $r) {
$permessi[] = $r->idmodule;
}
@ -36,53 +36,53 @@ $documenti[] = [
];
//Interventi dell'anagrafica
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));
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));
$documenti = array_merge($documenti, $interventi);
}
//Preventivi dell'anagrafica
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));
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));
$documenti = array_merge($documenti, $preventivi);
}
//Contratti dell'anagrafica
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));
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));
$documenti = array_merge($documenti, $contratti);
}
//DDT dell'anagrafica
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));
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));
$documenti = array_merge($documenti, $ddt_vendita);
}
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));
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));
$documenti = array_merge($documenti, $ddt_acquisto);
}
//Fatture dell'anagrafica
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));
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));
$documenti = array_merge($documenti, $fatture_vendita);
}
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));
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));
$documenti = array_merge($documenti, $fatture_acquisto);
}
//Ordini dell'anagrafica
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));
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));
$documenti = array_merge($documenti, $ordini_vendita);
}
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));
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));
$documenti = array_merge($documenti, $ordini_acquisto);
}
@ -104,33 +104,33 @@ echo '
<th class="text-center" width="10%">'.tr('Data').'</th>
</tr>';
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']));
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']));
foreach($allegati as $allegato){
$file = Upload::find($allegato['id']);
foreach ($allegati as $allegato) {
$file = Upload::find($allegato['id']);
echo '
echo '
<tr>
<td class="text-center">
<a class="btn btn-xs btn-primary" href="'.base_path().'/actions.php?id_module='.$file->id_module.'&op=download-allegato&id='.$file->id.'&filename='.$file->filename.'" target="_blank">
<i class="fa fa-download"></i>
</a>';
// Anteprime supportate dal browser
if ($file->hasPreview()) {
echo '
// Anteprime supportate dal browser
if ($file->hasPreview()) {
echo '
<button class="btn btn-xs btn-info" type="button" data-title="'.prepareToField($file->name).' <small style=\'color:white\'><i>('.$file->filename.')</i></small>" data-href="'.base_path().'/view.php?file_id='.$file->id.'">
<i class="fa fa-eye"></i>
</button>';
} else {
echo '
} else {
echo '
<button class="btn btn-xs btn-default disabled" title="'.tr('Anteprima file non disponibile').'" disabled>
<i class="fa fa-eye"></i>
</button>';
}
echo '
}
echo '
</td>
<td>
<a href="'.base_path().'/view.php?file_id='.$file->id.'" target="_blank">
@ -140,8 +140,8 @@ echo '
<td>'.Modules::link(Modules::get($allegato['id_module'])['name'], $file->id_record, $documento['descrizione']).'</td>
<td class="text-center">'.Translator::dateToLocale($file->created_at).'</td>
</tr>';
}
}
}
}
echo '
</table>';
} else {
@ -151,4 +151,4 @@ echo '
echo '
</div>
</div>';
</div>';

View File

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

View File

@ -241,14 +241,14 @@ class CSV extends CSVImporter
}
}
// Gestione um
$um = null;
if (!empty($record['um'])) {
$um = $database->fetchOne('SELECT id FROM `mg_unitamisura` WHERE `valore`='.prepare($record['um']));
if (empty($um)) {
// Gestione um
$um = null;
if (!empty($record['um'])) {
$um = $database->fetchOne('SELECT id FROM `mg_unitamisura` WHERE `valore`='.prepare($record['um']));
if (empty($um)) {
$database->query('INSERT INTO `mg_unitamisura` (`valore`) VALUES ('.prepare($record['um']).')');
}
}
}
}
// Individuazione dell'IVA di vendita tramite il relativo Codice
$aliquota = null;

View File

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

View File

@ -109,9 +109,8 @@ switch (filter('op')) {
];
}
if (setting('Visualizza informazioni aggiuntive sul calendario')){
## Box allDay
if (setting('Visualizza informazioni aggiuntive sul calendario')) {
//# Box allDay
$query = 'SELECT
co_preventivi.id,
co_preventivi.nome,
@ -134,35 +133,35 @@ switch (filter('op')) {
$alldays = $dbo->fetchArray($query);
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[] = [
'id' => 'A_'.$modulo_preventivi->id.'_'.$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'],
'start' => $preventivo['data_accettazione'],
'end' => $preventivo['data_accettazione'],
'url' => base_path().'/editor.php?id_module='.$modulo_preventivi->id.'&id_record='.$preventivo['id'],
'backgroundColor' => "#ff7f50",
'textColor' => color_inverse("#ff7f50"),
'borderColor' => "#ff7f50",
'backgroundColor' => '#ff7f50',
'textColor' => color_inverse('#ff7f50'),
'borderColor' => '#ff7f50',
'allDay' => true,
'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[] = [
'id' => 'B_'.$modulo_preventivi->id.'_'.$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'],
'start' => $preventivo['data_conclusione'],
'end' => $preventivo['data_conclusione'],
'url' => base_path().'/editor.php?id_module='.$modulo_preventivi->id.'&id_record='.$preventivo['id'],
'backgroundColor' => "#ff7f50",
'textColor' => color_inverse("#ff7f50"),
'borderColor' => "#ff7f50",
'backgroundColor' => '#ff7f50',
'textColor' => color_inverse('#ff7f50'),
'borderColor' => '#ff7f50',
'allDay' => true,
'eventStartEditable' => false,
];
@ -208,7 +207,7 @@ switch (filter('op')) {
$timeStart = filter('timeStart');
$timeEnd = filter('timeEnd');
if (empty($allday)){
if (empty($allday)) {
// 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');
$rs = $dbo->fetchArray($query);
@ -237,7 +236,7 @@ switch (filter('op')) {
$tooltip = '<b>'.tr('Numero intervento').'</b>: '.$rs[0]['codice'].'<br/>';
$tooltip .= '<b>'.tr('Data richiesta').'</b>: '.Translator::timestampToLocale($rs[0]['data_richiesta']).'<br/>';
if (!empty($rs[0]['data_scadenza'])) {
$tooltip .= '<b>'.tr('Data scadenza').'</b>: '.Translator::timestampToLocale($rs[0]['data_scadenza']).'<br/>';
}
@ -262,7 +261,6 @@ switch (filter('op')) {
$tooltip .= '<b>'.tr('Informazioni aggiuntive').'</b>: '.nl2br($rs[0]['informazioniaggiuntive']).'<br/>';
}
$tooltip .= '<b>'.tr('Ragione sociale').'</b>: '.nl2br($rs[0]['ragione_sociale']).'<br/>';
if (!empty($rs[0]['telefono'])) {
@ -280,9 +278,7 @@ switch (filter('op')) {
if (!empty($rs[0]['note_anagrafica'])) {
$tooltip .= '<b>'.tr('Note anagrafica').'</b>: '.nl2br($rs[0]['note_anagrafica']).'<br/>';
}
}else{
} else {
$query = 'SELECT
co_preventivi.nome,
co_preventivi.numero,
@ -293,17 +289,12 @@ switch (filter('op')) {
FROM co_preventivi
LEFT JOIN co_statipreventivi ON co_preventivi.idstato = co_statipreventivi.id
WHERE co_preventivi.id='.prepare($id);
$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 .= '
<script type="text/javascript">
$(".shorten").shorten({
@ -313,7 +304,6 @@ switch (filter('op')) {
});
</script>';
echo $tooltip;
}
break;

View File

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

View File

@ -287,7 +287,6 @@ switch (post('op')) {
break;
// Elenco fatture Scadute per il cliente
case 'fatture_scadute':
$id_anagrafica = post('id_anagrafica');
@ -313,7 +312,6 @@ switch (post('op')) {
break;
// eliminazione documento
case 'delete':
try {
@ -324,7 +322,7 @@ switch (post('op')) {
// Azzeramento collegamento della rata contrattuale alla pianificazione
$dbo->query('UPDATE co_fatturazione_contratti SET iddocumento=0 WHERE iddocumento='.prepare($id_record));
// Eliminazione allegati collegati
Uploads::deleteLinked([
'id_module' => $id_module,

View File

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

View File

@ -17,11 +17,11 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
use Carbon\Carbon;
use Modules\Anagrafiche\Anagrafica;
use Modules\Fatture\Gestori\Bollo;
use Modules\Iva\Aliquota;
use Modules\Interventi\Intervento;
use Carbon\Carbon;
use Modules\Iva\Aliquota;
include_once __DIR__.'/../../core.php';
@ -93,18 +93,18 @@ if ($dir == 'entrata') {
}
// 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)) {
foreach($righe_interventi as $riga_intervento){
foreach ($righe_interventi as $riga_intervento) {
$intervento = Intervento::find($riga_intervento->idintervento);
if((new Carbon($intervento->fine))->diffInDays(new Carbon($fattura->data), false) < 0){
$fatturazione_futura = true;
if ((new Carbon($intervento->fine))->diffInDays(new Carbon($fattura->data), false) < 0) {
$fatturazione_futura = true;
break;
}
}
if($fatturazione_futura){
if ($fatturazione_futura) {
echo '
<div class="alert alert-warning">
<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$" ]}
<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 class="col-md-2">
@ -305,7 +305,7 @@ elseif ($record['stato'] == 'Bozza') {
</div>
<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(); \" " ]}
</div>
@ -391,7 +391,7 @@ elseif ($record['stato'] == 'Bozza') {
?>
<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.'); ?>" ]}
</div>

View File

@ -179,7 +179,7 @@ function aggiungi_movimento($iddocumento, $dir, $primanota = 0)
$netto_fattura = get_netto_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);

View File

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

View File

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

View File

@ -308,7 +308,7 @@ switch (post('op')) {
}
$qta = post('qta');
$articolo->idsede_partenza = post('idsede_partenza');
$articolo->descrizione = post('descrizione');
$articolo->um = post('um') ?: null;
@ -413,7 +413,7 @@ switch (post('op')) {
if (post('create_document') == 'on') {
$stato = Stato::find(post('id_stato_intervento'));
$tipo = TipoSessione::find(post('id_tipo_intervento'));
$anagrafica = post('idanagrafica') ? Anagrafica::find(post('idanagrafica')) : $documento->anagrafica;
$intervento = Intervento::build($anagrafica, $tipo, $stato, post('data'));
@ -437,12 +437,12 @@ switch (post('op')) {
$copia = $riga->copiaIn($intervento, $qta);
// Aggiornamento seriali
if ($copia->isArticolo()) {
$serials = is_array(post('serial')[$riga->id]) ? post('serial')[$riga->id] : [];
// Aggiornamento seriali
if ($copia->isArticolo()) {
$serials = is_array(post('serial')[$riga->id]) ? post('serial')[$riga->id] : [];
$copia->serials = $serials;
}
$copia->serials = $serials;
}
$copia->save();
}

View File

@ -5,9 +5,8 @@ include_once __DIR__.'/../../core.php';
$id_anagrafica = get('id_anagrafica');
$op = get('op');
switch($op){
case "dettagli":
switch ($op) {
case 'dettagli':
echo "
<div class='row'>";
@ -17,18 +16,18 @@ switch($op){
echo "
<div class='col-md-4'>
<b>CONTRATTI:</b><hr style='margin-top:5px;margin-bottom:15px;'>";
if(sizeof($rs_contratti)>0){
foreach($rs_contratti AS $contratto){
if (sizeof($rs_contratti) > 0) {
foreach ($rs_contratti as $contratto) {
echo "
<div class='alert alert-info' style='margin-bottom: 10px;'>
".$contratto['descrizione']."
</div>";
".$contratto['descrizione'].'
</div>';
}
}else{
echo "Nessun contratto per questo cliente...";
} else {
echo 'Nessun contratto per questo cliente...';
}
echo "
</div>";
echo '
</div>';
//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));
@ -36,43 +35,40 @@ switch($op){
echo "
<div class='col-md-4'>
<b>Fatture:</b><hr style='margin-top:5px;margin-bottom:15px;'>";
if(sizeof($rs_documenti)>0){
foreach($rs_documenti AS $documento){
$rs_scadenze = $dbo->fetchArray("SELECT * FROM co_scadenziario WHERE iddocumento=".prepare($documento['id']));
if (sizeof($rs_documenti) > 0) {
foreach ($rs_documenti as $documento) {
$rs_scadenze = $dbo->fetchArray('SELECT * FROM co_scadenziario WHERE iddocumento='.prepare($documento['id']));
echo "
<div class='alert alert-info' style='margin-bottom: 10px;'>
".$documento['descrizione']."<br>";
foreach($rs_scadenze AS $scadenza){
echo Translator::dateToLocale($scadenza['scadenza'])." - ".Translator::numberToLocale($scadenza['da_pagare'])." €<br>";
".$documento['descrizione'].'<br>';
foreach ($rs_scadenze as $scadenza) {
echo Translator::dateToLocale($scadenza['scadenza']).' - '.Translator::numberToLocale($scadenza['da_pagare']).' €<br>';
}
echo "
</div>";
echo '
</div>';
}
}else{
echo "Nessuna fattura per questo cliente...";
} else {
echo 'Nessuna fattura per questo cliente...';
}
echo "
</div>";
echo '
</div>';
//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 "
<div class='col-md-4'>
<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>";
}else{
echo "Nessuna nota per questo cliente...";
<div class='alert alert-info' style='margin-bottom: 10px;'>".$rs_anagrafica['note'].'</div>
</div>';
} else {
echo 'Nessuna nota per questo cliente...';
}
echo "
</div>";
echo '
</div>';
break;
}
?>

View File

@ -28,7 +28,7 @@ $module_anagrafiche = Modules::get('Anagrafiche');
// Verifica aggiuntive sulla sequenzialità dei numeri
$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 '
<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à", [
@ -386,7 +386,7 @@ echo '
<div class="panel-body">
<?php
if($show_prezzi){
if ($show_prezzi) {
echo "
<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>

View File

@ -43,7 +43,7 @@ switch (filter('op')) {
], ['id' => $id_record]);
// 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', [
'_TYPE_' => $codice_natura,
]));

View File

@ -23,7 +23,7 @@ include_once __DIR__.'/../../core.php';
// select-options
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').'
</div>';
}

View File

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

View File

@ -17,8 +17,6 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
if ($newsletter->state == 'DEV') {
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">

View File

@ -147,8 +147,8 @@ echo '
<h3 class="panel-title">
'.tr('Destinatari').'
<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('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('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>
</h3>
</div>
@ -175,7 +175,7 @@ if (!$anagrafiche->isEmpty()) {
$mail_id = $anagrafica->pivot->id_email;
$mail = Mail::find($mail_id);
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 {
$data = '<span class="fa fa-clock-o text-info" >
'.tr('Non ancora inviata').'</span>';
@ -188,10 +188,10 @@ if (!$anagrafiche->isEmpty()) {
<td class="text-left">'.$anagrafica->tipo.'</td>
<td class="text-left">
'.((!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-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 class="text-center">
<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');
switch ($name) {
case 'email':
$check = Validate::isValidEmail($value);
if (empty($check['valid-format'])) {
$result = false;
$errors[] = tr("L'email inserita non possiede un formato valido");
}else{
} else {
$result = true;
}
@ -40,8 +37,6 @@ switch ($name) {
$result = false;
$errors[] = tr("Impossibile verificare l'origine dell'email");
}
if (!empty($errors)) {
$message = tr('Attenzione').':<ul>';
@ -51,7 +46,6 @@ switch ($name) {
$message .= '</ul>';
}
$response = [
'result' => $result,
'message' => $message,

View File

@ -469,7 +469,7 @@ switch (post('op')) {
$copia->qta = $qta;
$copia->qta_evasa = 0;
$copia->costo_unitario = 0;
// Impostazione al prezzo di acquisto per Articoli
if ($copia->isArticolo()) {
$copia->setSconto(0, 'PRC');
@ -477,11 +477,11 @@ switch (post('op')) {
$articolo = $copia->articolo;
$fornitore = DettaglioPrezzo::dettagli($riga->idarticolo, $anagrafica->id, $dir, $qta)->first();
if(empty($fornitore)){
$fornitore = DettaglioPrezzo::dettaglioPredefinito($riga->idarticolo, $anagrafica->id, $dir)->first();
if (empty($fornitore)) {
$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->setSconto($fornitore->sconto_percentuale ?: 0, 'PRC');
@ -496,7 +496,7 @@ switch (post('op')) {
$ordine->idstatoordine = post('id_stato');
$ordine->save();
}
ricalcola_costiagg_ordine($id_record);
flash()->info(tr('Ordine _NUM_ aggiunto!', [
@ -545,11 +545,11 @@ switch (post('op')) {
$articolo = $copia->articolo;
$fornitore = DettaglioPrezzo::dettagli($riga->idarticolo, $anagrafica->id, $dir, $qta)->first();
if(empty($fornitore)){
$fornitore = DettaglioPrezzo::dettaglioPredefinito($riga->idarticolo, $anagrafica->id, $dir)->first();
if (empty($fornitore)) {
$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->setSconto($fornitore->sconto_percentuale ?: 0, 'PRC');

View File

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

View File

@ -31,7 +31,7 @@ switch (post('op')) {
$lvl = post('lvl');
if (post('id_conto') !== null) {
if($lvl=='2'){
if ($lvl == '2') {
// 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);
$rs = $dbo->fetchArray($query);
@ -39,7 +39,7 @@ switch (post('op')) {
if (sizeof($rs) == 0) {
$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
$query = 'SELECT idpianodeiconti2, numero FROM co_pianodeiconti3 WHERE numero='.prepare($numero).' AND idpianodeiconti2='.prepare($id_conto);
$rs = $dbo->fetchArray($query);
@ -52,7 +52,7 @@ switch (post('op')) {
if ($dbo->query($query)) {
flash()->info(tr('Nuovo conto aggiunto!'));
} else {
flash()->error(tr('Il numero scelto è già esistente!'));
flash()->error(tr('Il numero scelto è già esistente!'));
}
}

View File

@ -20,8 +20,7 @@
include_once __DIR__.'/../../core.php';
$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">
<input type="hidden" name="op" value="add">

View File

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

View File

@ -19,7 +19,7 @@
include_once __DIR__.'/../../core.php';
echo'
echo '
<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').'
</button>';

View File

@ -30,7 +30,7 @@ $revisione = Preventivo::find($id_record)->ultima_revisione;
<div class="row">
<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>

View File

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

View File

@ -148,7 +148,7 @@ foreach ($id_documenti as $id_documento) {
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');
} 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

View File

@ -21,7 +21,6 @@ include_once __DIR__.'/../../core.php';
switch (post('op')) {
case 'update':
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'));
}
@ -34,7 +33,6 @@ switch (post('op')) {
$print->order = post('order');
$print->predefined = intval(post('predefined'));
$print->save();
flash()->info(tr('Modifiche salvate correttamente'));

View File

@ -62,13 +62,13 @@ use Models\PrintTemplate;
</div>
<?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';
}
?>
<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>

View File

@ -25,17 +25,17 @@ $operazione = filter('op');
switch ($operazione) {
case 'update':
$articolo = (array)post('id_articolo');
$data_installazione = (array)post('data_installazione');
$data_disinstallazione = (array)post('data_disinstallazione');
$data_registrazione = (array)post('data_registrazione');
$note = (array)post('note');
$articolo = (array) post('id_articolo');
$data_installazione = (array) post('data_installazione');
$data_disinstallazione = (array) post('data_disinstallazione');
$data_registrazione = (array) post('data_registrazione');
$note = (array) post('note');
$key = key($articolo);
if(post('sostituito')){
if (post('sostituito')) {
$field_articolo = 'pre_id_articolo';
} else{
} else {
$field_articolo = 'id_articolo';
}
@ -46,7 +46,7 @@ switch ($operazione) {
'data_registrazione' => $data_registrazione[$key] ?: null,
'note' => $note[$key],
], ['id' => $key]);
flash()->info(tr('Salvataggio completato!'));
$dbo->commitTransaction();
header('Location: '.$rootdir.'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'#tab_'.$id_plugin);
@ -69,11 +69,10 @@ switch ($operazione) {
$old_id = get('id_old');
$old = $dbo->selectOne('my_componenti_articoli', '*', ['id' => $old_id]);
if(!empty($old['id_articolo'])){
if(empty($old['data_disinstallazione'])){
if (!empty($old['id_articolo'])) {
if (empty($old['data_disinstallazione'])) {
$data = Carbon::now();
} else{
} else {
$data = $old['data_disinstallazione'];
}
@ -81,7 +80,7 @@ switch ($operazione) {
'pre_id_articolo' => $old['id_articolo'],
'id_articolo' => 0,
'data_disinstallazione' => $data,
],[
], [
'id' => $old_id,
]);
@ -102,7 +101,7 @@ switch ($operazione) {
]);
flash()->info(tr('Informazioni salvate correttamente!'));
} else{
} else {
flash()->warning(tr('Inserire un articolo prima di effettuare la sostituzione!'));
}

View File

@ -19,4 +19,4 @@
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;
$disinstallati = 0;
foreach($componenti as $componente){
if(!empty($componente['pre_id_articolo'])){
foreach ($componenti as $componente) {
if (!empty($componente['pre_id_articolo'])) {
$id_articolo = $componente['pre_id_articolo'];
$check_value = 1;
$box = 'danger';
@ -36,8 +36,8 @@ foreach($componenti as $componente){
$text = 'DISINSTALLATO';
$class = 'danger';
$title = ''.tr('Storico').'';
$table ='default';
if($disinstallati==0){
$table = 'default';
if ($disinstallati == 0) {
echo '
<div class="row">
<div class="col-md-12 text-center">
@ -45,9 +45,9 @@ foreach($componenti as $componente){
</div>
</div>
<hr>';
$disinstallati++;
++$disinstallati;
}
} else{
} else {
$id_articolo = $componente['id_articolo'];
$check_value = 0;
$box = 'primary';
@ -56,8 +56,8 @@ foreach($componenti as $componente){
$text = 'INSTALLATO';
$class = 'primary';
$title = ''.tr('Dati').'';
$table ='primary';
if($installati==0){
$table = 'primary';
if ($installati == 0) {
echo '
<div class="row">
<div class="col-md-12 text-center">
@ -65,15 +65,15 @@ foreach($componenti as $componente){
</div>
</div>
<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'];
if($allegati){
if ($allegati) {
$icon = 'fa fa-check text-success';
} else{
} else {
$icon = 'fa fa-times text-danger';
}
@ -158,13 +158,13 @@ foreach($componenti as $componente){
</a>
</div>';
if(!empty($componente['id_articolo'])){
echo '
if (!empty($componente['id_articolo'])) {
echo '
<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>
</div>';
}
echo '
}
echo '
<div class="col-md-1 pull-right">
<button type="submit" class="btn btn-success pull-right"><i class="fa fa-check"></i> '.tr('Salva').'</button>
</div>
@ -174,7 +174,7 @@ foreach($componenti as $componente){
</div>
</div>
</div>
</form>';
</form>';
}
echo '
@ -191,4 +191,4 @@ echo '
}
}
</script>';
</script>';

View File

@ -96,17 +96,17 @@ class DettaglioPrezzo extends Model
->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)
->where('id_anagrafica', $id_anagrafica)
->where('dir', $direzione);
if($qta==null){
if ($qta == null) {
$dettagli = $dettagli
->whereNotNull('minimo')
->whereNotNull('massimo');
} else{
} else {
$dettagli = $dettagli
->where('minimo', '<=', $qta)
->where('massimo', '>=', $qta);

View File

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

View File

@ -693,7 +693,7 @@ class FatturaElettronica
if ($is_privato_estero) {
$result['IdFiscaleIVA']['IdPaese'] = $anagrafica->nazione->iso2;
$result['IdFiscaleIVA']['IdCodice'] = '999999999';
unset( $result['Anagrafica']['CodiceFiscale'] );
unset($result['Anagrafica']['CodiceFiscale']);
}
if (!empty($anagrafica['nome']) or !empty($anagrafica['cognome'])) {
@ -910,7 +910,7 @@ class FatturaElettronica
// Con la nuova versione in vigore dal 01/01/2021, questo nodo diventa ripetibile.
$result['DatiRitenuta'] = [
'TipoRitenuta' => (Validate::isValidTaxCode($azienda['codice_fiscale']) and $cliente['tipo'] == 'Privato') ? 'RT01' : 'RT02',
'ImportoRitenuta' => $totale_ritenutaacconto,
'ImportoRitenuta' => $totale_ritenutaacconto,
'AliquotaRitenuta' => $percentuale,
'CausalePagamento' => setting("Causale ritenuta d'acconto"),
];
@ -1027,7 +1027,6 @@ class FatturaElettronica
// Se imposto il vettore deve essere indicata anche la p.iva nella sua anagrafica
if ($documento->tipo->descrizione == 'Fattura accompagnatoria di vendita') {
if ($documento['idvettore']) {
$vettore = Anagrafica::find($documento['idvettore']);
$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']));
if (!empty($sede['indirizzo'])){
if (!empty($sede['indirizzo'])) {
$result['IndirizzoResa']['Indirizzo'] = $sede['indirizzo'];
}
if (!empty($sede['cap'])){
if (!empty($sede['cap'])) {
$result['IndirizzoResa']['CAP'] = $sede['cap'];
}
if (!empty($sede['citta'])){
if (!empty($sede['citta'])) {
$result['IndirizzoResa']['Comune'] = $sede['citta'];
}
if (!empty($sede['provincia'])){
if (!empty($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']));
$result['IndirizzoResa']['Nazione'] = $rs_nazione['iso2'];

View File

@ -146,7 +146,7 @@ class FatturaOrdinaria extends FatturaElettronica
$articolo->prezzo_acquisto = $riga['PrezzoUnitario'];
$articolo->id_fornitore = $fattura->idanagrafica;
$articolo->um = $riga['UnitaMisura'];
$articolo->idconto_acquisto = $conto[$key];
$articolo->idconto_acquisto = $conto[$key];
$articolo->save();
$direzione = 'uscita';

View File

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

View File

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

View File

@ -29,7 +29,7 @@ use Util\Zip;
class 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 */
protected static $daily_replaces = [

View File

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

View File

@ -181,9 +181,9 @@ abstract class Component extends Model
/**
* Copia l'oggetto (articolo, riga, descrizione) nel corrispettivo per il documento indicato.
*
* @param Document $document Documento di destinazione
* @param float|null $qta Quantità da riportare
* @param boolean $evadi_qta_parent Definisce se evadere la quantità di provenienza
* @param Document $document Documento di destinazione
* @param float|null $qta Quantità da riportare
* @param bool $evadi_qta_parent Definisce se evadere la quantità di provenienza
*
* @return self
*/

View File

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

View File

@ -301,6 +301,26 @@ class Translator extends Util\Singleton
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.
*
@ -359,24 +379,4 @@ class Translator extends Util\Singleton
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

@ -151,7 +151,7 @@ $replaces = array_merge($replaces, [
'base_link()' => base_path(),
'directory' => Prints::get($id_print)['full_directory'],
'footer' => !empty($footer) ? $footer : '',
'dicitura_fissa_fattura' => setting('Dicitura fissa fattura').((setting('Regime Fiscale') != 'RF02' && setting('Regime Fiscale') != 'RF19' && setting('Regime Fiscale') != 'RF18' && $tipo_cliente != 'Privato') ? tr('Documento privo di valenza fiscale (art 21 dpr 633/72).') : ''),
'dicitura_fissa_fattura' => setting('Dicitura fissa fattura').((setting('Regime Fiscale') != 'RF02' && setting('Regime Fiscale') != 'RF19' && setting('Regime Fiscale') != 'RF18' && $tipo_cliente != 'Privato') ? tr('Documento privo di valenza fiscale (art 21 dpr 633/72).') : ''),
]);
unset($replace);

View File

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

View File

@ -38,7 +38,7 @@ echo '
echo ' <td></td>
<td class="text-right">'.moneyFormat(abs($record['totale']), 2).'</td>';
}
$scalare += $record['totale'];
echo '

View File

@ -32,4 +32,4 @@ echo '
</thead>
<tbody>';
$scalare = 0;
$scalare = 0;

View File

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