Fix minori

This commit is contained in:
Pek5892 2024-03-08 16:29:53 +01:00
parent 502dcd326a
commit a615bea36e
10 changed files with 45 additions and 66 deletions

View File

@ -37,11 +37,11 @@ echo '
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
{[ "type": "select", "label": "'.tr('Modulo del template').'", "name": "module", "values": "query=SELECT `zz_modules`.`id`, `title` AS descrizione FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_module'].'", "disabled": "'.!empty($record['id_plugin']).'" ]} {[ "type": "select", "label": "'.tr('Modulo del template').'", "name": "module", "values": "query=SELECT `zz_modules`.`id`, `title` AS descrizione FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record->id_module.'", "disabled": "'.!empty($record->id_plugin).'" ]}
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
{[ "type": "select", "label": "'.tr('Plugin del template').'", "name": "plugin", "values": "query=SELECT `zz_plugins`.`id`, `zz_plugins_lang`.`title` AS descrizione, `zz_modules_lang`.`name` AS optgroup FROM zz_plugins INNER JOIN `zz_modules` ON `zz_plugins`.`id_module_to` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_plugin'].'", "disabled": "'.!empty($record['id_module']).'" ]} {[ "type": "select", "label": "'.tr('Plugin del template').'", "name": "plugin", "values": "query=SELECT `zz_plugins`.`id`, `zz_plugins_lang`.`title` AS descrizione, `zz_modules_lang`.`name` AS optgroup FROM zz_plugins INNER JOIN `zz_modules` ON `zz_plugins`.`id_module_to` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record->id_plugin.'", "disabled": "'.!empty($record->id_module).'" ]}
</div> </div>
</div> </div>
</div> </div>

View File

@ -22,7 +22,7 @@ include_once __DIR__.'/../../core.php';
use Modules\Checklists\Checklist; use Modules\Checklists\Checklist;
use Models\Module; use Models\Module;
$checklist_module = (new Module())->getByName('Checklists')->id_record; $checklist_module = Module::find((new Module())->getByName('Checklists')->id_record);
if (isset($id_record)) { if (isset($id_record)) {
$record = Checklist::find($id_record); $record = Checklist::find($id_record);

View File

@ -19,6 +19,7 @@
include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../../core.php';
use Models\Module; use Models\Module;
use Modules\Fatture\Tipo;
$module = Module::find($id_module); $module = Module::find($id_module);
@ -32,10 +33,7 @@ if ($module->name == 'Fatture di vendita') {
$id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : ''; $id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : '';
$idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [ $idtipodocumento = Tipo::where('predefined', 1)->where('dir', $dir)->first()->id;
'predefined' => 1,
'dir' => $dir,
])['id'];
?> ?>
<form action="" method="post" id="add-form"> <form action="" method="post" id="add-form">
@ -75,7 +73,7 @@ $idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Sezionale'); ?>", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": <?php echo json_encode(['id_module' => $id_module, 'is_sezionale' => 1]); ?>, "value": "<?php echo $database->selectOne('co_tipidocumento', 'id_segment', ['id' => $idtipodocumento, 'dir' => $dir])['id_segment']; ?>" ]} {[ "type": "select", "label": "<?php echo tr('Sezionale'); ?>", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": <?php echo json_encode(['id_module' => $id_module, 'is_sezionale' => 1]); ?>, "value": "<?php echo Tipo::where('id', $idtipodocumento)->where('dir', $dir)->first()->id_segment; ?>" ]}
</div> </div>
</div> </div>

View File

@ -20,9 +20,9 @@
include_once __DIR__.'/../../../core.php'; include_once __DIR__.'/../../../core.php';
use Modules\Interventi\Stato; use Modules\Interventi\Stato;
use Modules\Interventi\Intervento;
$stato_wip = (new Stato())->getByName('WIP')->id_record; $rs = Intervento::where('idstatointervento', '=', Stato::where('codice', '=', 'WIP')->first()->id)->get();
$rs = $dbo->fetchArray('SELECT * FROM `in_interventi` WHERE `in_interventi`.`idstatointervento` = '.prepare($stato_wip).' ORDER BY `data_richiesta` ASC');
if (!empty($rs)) { if (!empty($rs)) {
echo ' echo '
@ -33,13 +33,13 @@ if (!empty($rs)) {
</tr>'; </tr>';
foreach ($rs as $r) { foreach ($rs as $r) {
$data_richiesta = !empty($r['data_richiesta']) ? Translator::dateToLocale($r['data_richiesta']) : ''; $data_richiesta = !empty($r->data_richiesta) ? Translator::dateToLocale($r->data_richiesta) : '';
echo ' echo '
<tr > <tr >
<td> <td>
'.Modules::link('Interventi', $r['id'], 'Intervento n. '.$r['codice'].' del '.$data_richiesta).'<br> '.Modules::link('Interventi', $r->id, 'Intervento n. '.$r['codice'].' del '.$data_richiesta).'<br>
<small class="help-block">'.$r['ragione_sociale'].'</small> <small class="help-block">'.$r->ragione_sociale.'</small>
</td> </td>
<td class="text-center">'.$data_richiesta.'</td> <td class="text-center">'.$data_richiesta.'</td>
</tr>'; </tr>';

View File

@ -20,10 +20,9 @@
include_once __DIR__.'/../../../core.php'; include_once __DIR__.'/../../../core.php';
use Modules\Interventi\Stato; use Modules\Interventi\Stato;
use Models\Module; use Modules\Interventi\Intervento;
$stato = (new Stato())->getByName('TODO')->id_record; $rs = Intervento::where('idstatointervento', '=', Stato::where('codice', '=', 'TODO')->first()->id)->get();
$rs = $dbo->fetchArray('SELECT * FROM `in_interventi` WHERE `in_interventi`.`idstatointervento` = '.prepare($stato).' ORDER BY `data_richiesta` ASC');
if (!empty($rs)) { if (!empty($rs)) {
echo ' echo '
@ -38,33 +37,33 @@ if (!empty($rs)) {
</tr>'; </tr>';
foreach ($rs as $r) { foreach ($rs as $r) {
$rs_tecnici = $dbo->fetchArray("SELECT GROUP_CONCAT(ragione_sociale SEPARATOR ',') AS tecnici FROM an_anagrafiche INNER JOIN in_interventi_tecnici_assegnati ON in_interventi_tecnici_assegnati.id_tecnico=an_anagrafiche.idanagrafica WHERE id_intervento=".prepare($r['id']).' GROUP BY id_intervento'); $rs_tecnici = $dbo->fetchArray("SELECT GROUP_CONCAT(ragione_sociale SEPARATOR ',') AS tecnici FROM an_anagrafiche INNER JOIN in_interventi_tecnici_assegnati ON in_interventi_tecnici_assegnati.id_tecnico=an_anagrafiche.idanagrafica WHERE id_intervento=".prepare($r->id).' GROUP BY id_intervento');
echo ' echo '
<tr id="int_'.$r['id'].'"> <tr id="int_'.$r->id.'">
<td><a target="_blank" >'.Modules::link('Interventi', $r['id'], $r['codice']).'</a></td> <td><a target="_blank" >'.Modules::link('Interventi', $r->id, $r->codice).'</a></td>
<td><a target="_blank" >'.Modules::link('Anagrafiche', $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'<br><small>Presso: '; <td><a target="_blank" >'.Modules::link('Anagrafiche', $r->idanagrafica, $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r->idanagrafica))['ragione_sociale']).'<br><small>Presso: ';
// Sede promemoria // Sede promemoria
if ($r['idsede'] == '-1') { if ($r->idsede == '-1') {
echo '- Nessuna -'; echo '- Nessuna -';
} elseif (empty($r['idsede'])) { } elseif (empty($r->idsede)) {
echo tr('Sede legale'); echo tr('Sede legale');
} else { } else {
$rsp2 = $dbo->fetchArray("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($r['idsede'])); $rsp2 = $dbo->fetchArray("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($r->idsede));
echo $rsp2[0]['descrizione']; echo $rsp2[0]['descrizione'];
} }
echo ' echo '
</small> </small>
</td> </td>
<td>'.Translator::dateToLocale($r['data_richiesta']).' '.((empty($r['data_scadenza'])) ? '' : '<br><small>Entro il '.Translator::dateToLocale($r['data_scadenza']).'</small>').'</td> <td>'.Translator::dateToLocale($r->data_richiesta).' '.((empty($r->data_scadenza)) ? '' : '<br><small>Entro il '.Translator::dateToLocale($r->data_scadenza).'</small>').'</td>
<td> <td>
'.$rs_tecnici[0]['tecnici'].' '.$rs_tecnici[0]['tecnici'].'
</td> </td>
<td>'.$dbo->fetchOne("SELECT CONCAT_WS(' - ', `codice`, `name`) AS descrizione FROM `in_tipiintervento` LEFT JOIN `in_tipiintervento_lang` ON (`in_tipiintervento`.`id` = `in_tipiintervento_lang`.`id_record` AND `in_tipiintervento_lang`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `id`=".prepare($r['idtipointervento']))['descrizione'].'</td> <td>'.$dbo->fetchOne("SELECT CONCAT_WS(' - ', `codice`, `name`) AS descrizione FROM `in_tipiintervento` LEFT JOIN `in_tipiintervento_lang` ON (`in_tipiintervento`.`id` = `in_tipiintervento_lang`.`id_record` AND `in_tipiintervento_lang`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `in_tipiintervento`.`id`=".prepare($r->idtipointervento))['descrizione'].'</td>
<td>'.nl2br($r['richiesta']).'</td> <td>'.nl2br($r->richiesta).'</td>
'; ';
echo ' echo '

View File

@ -22,12 +22,12 @@ use Modules\Iva\Aliquota;
switch (filter('op')) { switch (filter('op')) {
case 'update': case 'update':
$esente = post('esente'); $esente = post('esente') ?: 0;
$percentuale = empty($esente) ? post('percentuale') : 0; $percentuale = empty($esente) ? post('percentuale') : 0;
$indetraibile = post('indetraibile'); $indetraibile = post('indetraibile');
$dicitura = post('dicitura'); $dicitura = post('dicitura');
$codice = post('codice'); $codice = post('codice');
$codice_natura_fe = post('codice_natura_fe'); $codice_natura_fe = post('codice_natura_fe') ?: null;
$esigibilita = post('esigibilita'); $esigibilita = post('esigibilita');
$descrizione = post('descrizione'); $descrizione = post('descrizione');
@ -36,7 +36,7 @@ switch (filter('op')) {
$iva->esente = $esente; $iva->esente = $esente;
$iva->percentuale = $percentuale; $iva->percentuale = $percentuale;
$iva->indetraibile = $indetraibile; $iva->indetraibile = $indetraibile;
$iva->dicitura = $dicitura; $iva->dicitura = $dicitura?: 0;
$iva->codice = $codice; $iva->codice = $codice;
$iva->codice_natura_fe = $codice_natura_fe; $iva->codice_natura_fe = $codice_natura_fe;
$iva->esigibilita = $esigibilita; $iva->esigibilita = $esigibilita;
@ -44,9 +44,9 @@ switch (filter('op')) {
$iva->save(); $iva->save();
// Messaggio di avvertenza // Messaggio di avvertenza
if ((stripos('N6', (string) $codice_natura) === 0) && $esigibilita == 'S') { if ((stripos('N6', (string) $codice_natura_fe) === 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_fe,
])); ]));
} }
@ -63,7 +63,7 @@ switch (filter('op')) {
$codice = post('codice'); $codice = post('codice');
$esente = post('esente'); $esente = post('esente');
$percentuale = empty($esente) ? post('percentuale') : 0; $percentuale = empty($esente) ? post('percentuale') : 0;
$codice_natura = post('codice_natura_fe') ?: null; $codice_natura = post('codice_natura_fe') ?: '';
$esigibilita = post('esigibilita'); $esigibilita = post('esigibilita');
$indetraibile = post('indetraibile'); $indetraibile = post('indetraibile');

View File

@ -19,21 +19,12 @@
include_once __DIR__.'/../../../core.php'; include_once __DIR__.'/../../../core.php';
use Models\Module; use Models\Module;
use Modules\Preventivi\Preventivo;
use Modules\Preventivi\Stato;
$id_module = (new Module())->GetByName('Preventivi')->id_record; $id_module = (new Module())->GetByName('Preventivi')->id_record;
$rs = $dbo->fetchArray("SELECT *, $rs = Preventivo::where('idstato', '=', (new Stato())->getByName('In lavorazione')->id_record)->where('default_revision', '=', 1)->get();
`an_anagrafiche`.`ragione_sociale` AS ragione_sociale
FROM
`co_preventivi`
INNER JOIN `an_anagrafiche` ON `co_preventivi`.`idanagrafica`=`an_anagrafiche`.`idanagrafica`
INNER JOIN `co_statipreventivi` ON `co_preventivi`.`idstato`=`co_statipreventivi`.`id`
LEFT JOIN `co_statipreventivi_lang` ON (`co_statipreventivi`.`id`=`co_statipreventivi_lang`.`id_record` AND `co_statipreventivi_lang`.`id_lang` = ".prepare(setting('Lingua')).")
WHERE
`co_statipreventivi_lang`.`name` = 'In lavorazione'
AND `default_revision` = 1
ORDER BY
`data_conclusione` ASC");
if (!empty($rs)) { if (!empty($rs)) {
echo " echo "
@ -45,16 +36,16 @@ if (!empty($rs)) {
</tr>"; </tr>";
foreach ($rs as $preventivo) { foreach ($rs as $preventivo) {
$data_accettazione = ($preventivo['data_accettazione'] != '0000-00-00') ? Translator::dateToLocale($preventivo['data_accettazione']) : ''; $data_accettazione = ($preventivo->data_accettazione != '0000-00-00') ? Translator::dateToLocale($preventivo->data_accettazione) : '';
$data_conclusione = ($preventivo['data_conclusione'] != '0000-00-00') ? Translator::dateToLocale($preventivo['data_conclusione']) : ''; $data_conclusione = ($preventivo->data_conclusione != '0000-00-00') ? Translator::dateToLocale($preventivo->data_conclusione) : '';
if (strtotime($preventivo['data_conclusione']) < strtotime(date('Y-m-d')) && $data_conclusione != '') { if (strtotime($preventivo->data_conclusione) < strtotime(date('Y-m-d')) && $data_conclusione != '') {
$attr = ' class="danger"'; $attr = ' class="danger"';
} else { } else {
$attr = ''; $attr = '';
} }
echo '<tr '.$attr.'><td><a href="'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$preventivo['id'].'">'.$preventivo['nome']."</a><br><small class='help-block'>".$preventivo['ragione_sociale'].'</small></td>'; echo '<tr '.$attr.'><td><a href="'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$preventivo->id.'">'.$preventivo->nome."</a><br><small class='help-block'>".$preventivo->ragione_sociale.'</small></td>';
echo '<td '.$attr.'>'.$data_accettazione.'</td>'; echo '<td '.$attr.'>'.$data_accettazione.'</td>';
echo '<td '.$attr.'>'.$data_conclusione.'</td></tr>'; echo '<td '.$attr.'>'.$data_conclusione.'</td></tr>';
} }

View File

@ -21,21 +21,11 @@ include_once __DIR__.'/../../../core.php';
use Modules\Preventivi\Stato; use Modules\Preventivi\Stato;
use Models\Module; use Models\Module;
use Modules\Preventivi\Preventivo;
$id_module = (new Module())->GetByName('Preventivi')->id_record; $id_module = (new Module())->GetByName('Preventivi')->id_record;
$stati = Stato::where('is_fatturabile', 1)->pluck('id')->toArray();
$rs = $dbo->fetchArray('SELECT *, $rs = Preventivo::whereIn('idstato', $stati)->where('default_revision', 1)->get();
`an_anagrafiche`.`ragione_sociale` AS ragione_sociale
FROM
`co_preventivi`
INNER JOIN `an_anagrafiche` ON `co_preventivi`.`idanagrafica`=`an_anagrafiche`.`idanagrafica`
INNER JOIN `co_statipreventivi` ON `co_preventivi`.`idstato`=`co_statipreventivi`.`id`
LEFT JOIN `co_statipreventivi_lang` ON (`co_statipreventivi_lang`.`id_record` = `co_statipreventivi`.`id` AND `co_statipreventivi_lang`.`id_lang` = '.prepare(setting('Lingua')).')
WHERE
`is_fatturabile` = 1
AND `default_revision` = 1
ORDER BY
`data_conclusione` ASC');
if (!empty($rs)) { if (!empty($rs)) {
echo " echo "
@ -48,11 +38,11 @@ if (!empty($rs)) {
</tr>"; </tr>";
foreach ($rs as $preventivo) { foreach ($rs as $preventivo) {
$data_accettazione = ($preventivo['data_accettazione'] != '0000-00-00') ? Translator::dateToLocale($preventivo['data_accettazione']) : ''; $data_accettazione = ($preventivo->data_accettazione != '0000-00-00') ? Translator::dateToLocale($preventivo->data_accettazione) : '';
$data_conclusione = ($preventivo['data_conclusione'] != '0000-00-00') ? Translator::dateToLocale($preventivo['data_conclusione']) : ''; $data_conclusione = ($preventivo->data_conclusione != '0000-00-00') ? Translator::dateToLocale($preventivo->data_conclusione) : '';
$stato_preventivo = Stato::find($preventivo['idstato'])->name; $stato_preventivo = Stato::find($preventivo->idstato)->name;
if (strtotime($preventivo['data_conclusione']) < strtotime(date('Y-m-d')) && $data_conclusione != '') { if (strtotime($preventivo->data_conclusione) < strtotime(date('Y-m-d')) && $data_conclusione != '') {
$attr = ' class="danger"'; $attr = ' class="danger"';
} else { } else {
$attr = ''; $attr = '';

View File

@ -85,7 +85,7 @@ switch (post('op')) {
'clause' => '1=1', 'clause' => '1=1',
'pattern' => $pattern, 'pattern' => $pattern,
'note' => post('note'), 'note' => post('note'),
'predefined' => $predefined, 'predefined' => $predefined ?: 0,
'is_sezionale' => post('is_sezionale'), 'is_sezionale' => post('is_sezionale'),
]); ]);

View File

@ -19,6 +19,7 @@
include_once __DIR__.'/../../../core.php'; include_once __DIR__.'/../../../core.php';
use Models\Plugin; use Models\Plugin;
use Models\Module;
$mesi = [ $mesi = [
1 => 'Gennaio', 1 => 'Gennaio',