Merge
This commit is contained in:
commit
6b80a88343
|
@ -180,7 +180,7 @@ if (!empty($options['create_document'])) {
|
|||
|
||||
echo '
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $final_module['id'], 'is_sezionale' => 1]).', "value": "'.$id_segment.'" ]}
|
||||
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $final_module['id'], 'is_sezionale' => 1]).', "value": "'.$database->selectOne('co_tipidocumento', 'id_segment', ['id' => $idtipodocumento])['id_segment'].'" ]}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -836,7 +836,7 @@ switch (post('op')) {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
flash()->error(tr('Errore durante il salvataggio della firma!').tr('La firma risulta vuota').'...');
|
||||
flash()->error(tr('Errore durante il salvataggio della firma!').' '.tr('La firma risulta vuota').'...');
|
||||
}
|
||||
} else {
|
||||
flash()->error(tr("Non è stato possibile creare la cartella _DIRECTORY_ per salvare l'immagine della firma!", [
|
||||
|
|
|
@ -143,7 +143,7 @@ if (!empty($sessioni)) {
|
|||
|
||||
// ORE
|
||||
echo '
|
||||
<td style="border-right:1px solid #aaa;">'.($ore <= 0 ? '<i title="'.tr('Questa sessione non ha una durata valida.').'" class="fa fa-warning tip text-warning"></i>' : '').'
|
||||
<td style="border-right:1px solid #aaa;">'.(((\Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $sessione['orario_inizio'])->eq(\Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $sessione['orario_fine']))) || (\Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $sessione['orario_inizio'])->gt(\Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $sessione['orario_fine'])))) ? '<i title="'.tr('Questa sessione non ha una durata valida.').'" class="fa fa-warning tip text-warning"></i>' : '').'
|
||||
</td>
|
||||
<td style="border-right:1px solid #aaa;">
|
||||
{[ "type": "number", "name": "ore_'.$sessione['id'].'", "required": 1, "value": "'.numberFormat($ore, 'qta').'", "disabled": "1" ]}
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
"pwstrength-bootstrap": "^3.0.4",
|
||||
"select2": "^4.0.3",
|
||||
"select2-bootstrap-theme": "^0.1.0-beta.10",
|
||||
"signature_pad": "^2.1.1",
|
||||
"signature_pad": "^2.3.0",
|
||||
"smartwizard": "^4.2.2",
|
||||
"sweetalert2": "^6.11.4",
|
||||
"toastr": "^2.1.4",
|
||||
|
|
|
@ -125,4 +125,35 @@ class FieldManager implements ManagerInterface
|
|||
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
public function getValue($options, $name) {
|
||||
$database = database();
|
||||
|
||||
$query = 'SELECT `zz_fields`.*'.(isset($options['id_record']) ? ', `zz_field_record`.`value`' : '').' FROM `zz_fields`';
|
||||
|
||||
if (isset($options['id_record'])) {
|
||||
$query .= ' LEFT JOIN `zz_field_record` ON `zz_fields`.`id` = `zz_field_record`.`id_field` AND `zz_field_record`.`id_record` = '.prepare($options['id_record']);
|
||||
}
|
||||
|
||||
$query .= ' WHERE ';
|
||||
|
||||
if (!empty($options['id_plugin'])) {
|
||||
$query .= '`id_plugin` = '.prepare($options['id_plugin']);
|
||||
} else {
|
||||
$query .= '`id_module` = '.prepare($options['id_module']);
|
||||
}
|
||||
|
||||
if (isset($options['place']) && $options['place'] == 'add') {
|
||||
$query .= ' AND `on_add` = 1';
|
||||
}
|
||||
$query .= ' AND `zz_fields`.`name` = '.prepare($name);
|
||||
|
||||
$query .= ' AND `top` = '.((isset($options['position']) && $options['position'] == 'top') ? 1 : 0).' ORDER BY `order`';
|
||||
|
||||
$results = $database->fetchArray($query);
|
||||
|
||||
return $results[0]['value'];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -260,7 +260,7 @@ class Prints
|
|||
{
|
||||
$info = self::render($print, $id_record, $directory);
|
||||
|
||||
return self::getPDFLink($info['path']);
|
||||
return self::getPDFLink($info['path'].'?'.rand());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -272,7 +272,7 @@ class Prints
|
|||
*/
|
||||
public static function getPDFLink($path)
|
||||
{
|
||||
return base_path().'/assets/dist/pdfjs/web/viewer.html?file='.base_url().'/'.ltrim(str_replace(base_dir(), '', $path), '/');
|
||||
return base_path().'/assets/dist/pdfjs/web/viewer.html?file='.base_url().'/'.ltrim(str_replace(base_dir(), '', $path.'?'.rand()), '/');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -90,6 +90,15 @@ if (!empty($destinazione)) {
|
|||
</td>
|
||||
</tr>';
|
||||
}
|
||||
if (!empty($partenza)) {
|
||||
echo '
|
||||
<tr>
|
||||
<td class="border-full" style="height:16mm;">
|
||||
<p class="small-bold">'.tr('Partenza merce', [], ['upper' => true]).'</p>
|
||||
<small>$c_partenza$</small>
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</table>
|
||||
|
|
|
@ -28,6 +28,7 @@ $d_totali = (int) setting('Cifre decimali per totali in stampa');
|
|||
|
||||
$id_cliente = $documento['idanagrafica'];
|
||||
$id_sede = $record['idsede_partenza'];
|
||||
$id_azienda = setting('Azienda predefinita');
|
||||
|
||||
$pagamento = $dbo->fetchOne('SELECT * FROM co_pagamenti WHERE id = '.prepare($documento['idpagamento']));
|
||||
$causale = $dbo->fetchOne('SELECT * FROM dt_causalet WHERE id = '.prepare($documento['idcausalet']));
|
||||
|
@ -82,6 +83,43 @@ if (!empty($documento['idsede_destinazione'])) {
|
|||
}
|
||||
}
|
||||
|
||||
// Leggo i dati della destinazione (se 0=sede legale, se!=altra sede da leggere da tabella an_sedi)
|
||||
$partenza = '';
|
||||
if (!empty($documento['idsede_partenza'])) {
|
||||
$rsd = $dbo->fetchArray('SELECT (SELECT codice FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS codice, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=an_sedi.idanagrafica) AS ragione_sociale, nomesede, indirizzo, indirizzo2, cap, citta, provincia, piva, codice_fiscale, id_nazione, telefono, cellulare FROM an_sedi WHERE idanagrafica='.prepare($id_azienda).' AND id='.prepare($documento['idsede_partenza']));
|
||||
|
||||
if (!empty($rsd[0]['nomesede'])) {
|
||||
$partenza .= $rsd[0]['nomesede'].'<br/>';
|
||||
}
|
||||
if (!empty($rsd[0]['indirizzo'])) {
|
||||
$partenza .= $rsd[0]['indirizzo'].'<br/>';
|
||||
}
|
||||
if (!empty($rsd[0]['indirizzo2'])) {
|
||||
$partenza .= $rsd[0]['indirizzo2'].'<br/>';
|
||||
}
|
||||
if (!empty($rsd[0]['cap'])) {
|
||||
$partenza .= $rsd[0]['cap'].' ';
|
||||
}
|
||||
if (!empty($rsd[0]['citta'])) {
|
||||
$partenza .= $rsd[0]['citta'];
|
||||
}
|
||||
if (!empty($rsd[0]['provincia'])) {
|
||||
$partenza .= ' ('.$rsd[0]['provincia'].')';
|
||||
}
|
||||
if (!empty($rsd[0]['id_nazione'])) {
|
||||
$nazione = $database->fetchOne('SELECT * FROM an_nazioni WHERE id = '.prepare($rsd[0]['id_nazione']));
|
||||
if ($nazione['iso2'] != 'IT') {
|
||||
$partenza .= ' - '.$nazione['name'].'<br />';
|
||||
}
|
||||
}
|
||||
if (!empty($rsd[0]['telefono'])) {
|
||||
$partenza .= 'Tel: '.$rsd[0]['telefono'].'<br />';
|
||||
}
|
||||
if (!empty($rsd[0]['cellualre'])) {
|
||||
$partenza .= 'Cell: '.$rsd[0]['cellulare'];
|
||||
}
|
||||
}
|
||||
|
||||
// Sostituzioni specifiche
|
||||
$custom = [
|
||||
'tipo_doc' => $tipo_doc,
|
||||
|
@ -89,6 +127,7 @@ $custom = [
|
|||
'data' => Translator::dateToLocale($documento['data']),
|
||||
'pagamento' => $pagamento['descrizione'],
|
||||
'c_destinazione' => $destinazione,
|
||||
'c_partenza' => $partenza,
|
||||
'aspettobeni' => $aspetto_beni['descrizione'],
|
||||
'causalet' => $causale['descrizione'],
|
||||
'porto' => $porto['descrizione'],
|
||||
|
|
|
@ -24,4 +24,32 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`,
|
|||
((SELECT `id` FROM `zz_modules` WHERE name='Accesso con OAuth'), 'Nome', 'nome', 1, 1, 0, 0, '', '', 1, 0, 0);
|
||||
|
||||
INSERT INTO `zz_oauth2` (`nome`, `class`, `client_id`, `client_secret`, `config`, `state`, `access_token`, `refresh_token`, `after_configuration`, `is_login`, `enabled`) VALUES
|
||||
('Microsoft', 'Modules\\Emails\\OAuth2\\MicrosoftLogin', '', '', '{\"tenant_id\":\"consumers\"}', '', NULL, NULL, '', 1, 0);
|
||||
('Microsoft', 'Modules\\Emails\\OAuth2\\MicrosoftLogin', '', '', '{\"tenant_id\":\"consumers\"}', '', NULL, NULL, '', 1, 0);
|
||||
|
||||
-- Allineamento query Fatture di vendita
|
||||
UPDATE `zz_modules` SET `options` = "
|
||||
SELECT
|
||||
|select|
|
||||
FROM
|
||||
`co_documenti`
|
||||
LEFT JOIN (SELECT SUM(`totale`) AS `totale`, `iddocumento` FROM `co_movimenti` WHERE `totale` > 0 AND `primanota` = 1 GROUP BY `iddocumento`) AS `primanota` ON `primanota`.`iddocumento` = `co_documenti`.`id`
|
||||
LEFT JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
|
||||
LEFT JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`
|
||||
LEFT JOIN (SELECT `iddocumento`, SUM(`subtotale` - `sconto`) AS `totale_imponibile`, SUM((`subtotale` - `sconto` + `rivalsainps`) * `co_iva`.`percentuale` / 100) AS `iva` FROM `co_righe_documenti` LEFT JOIN `co_iva` ON `co_iva`.`id` = `co_righe_documenti`.`idiva` GROUP BY `iddocumento`) AS `righe` ON `co_documenti`.`id` = `righe`.`iddocumento`
|
||||
LEFT JOIN (SELECT `co_banche`.`id`, CONCAT(`co_banche`.`nome`, ' - ', `co_banche`.`iban`) AS `descrizione` FROM `co_banche` GROUP BY `co_banche`.`id`) AS `banche` ON `banche`.`id` =`co_documenti`.`id_banca_azienda`
|
||||
LEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`
|
||||
LEFT JOIN `fe_stati_documento` ON `co_documenti`.`codice_stato_fe` = `fe_stati_documento`.`codice`
|
||||
LEFT JOIN `co_ritenuta_contributi` ON `co_documenti`.`id_ritenuta_contributi` = `co_ritenuta_contributi`.`id`
|
||||
LEFT JOIN (SELECT COUNT(id) as `emails`, `em_emails`.`id_record` FROM `em_emails` INNER JOIN `zz_operations` ON `zz_operations`.`id_email` = `em_emails`.`id` WHERE `id_module` IN(SELECT `id` FROM `zz_modules` WHERE name = 'Fatture di vendita') AND `zz_operations`.`op` = 'send-email' GROUP BY `em_emails`.`id_record`) AS `email` ON `email`.`id_record` = `co_documenti`.`id`
|
||||
LEFT JOIN `co_pagamenti` ON `co_documenti`.`idpagamento` = `co_pagamenti`.`id`
|
||||
LEFT JOIN (SELECT `numero_esterno`, `id_segment`, `idtipodocumento`, `data` FROM `co_documenti` WHERE `co_documenti`.`idtipodocumento` IN( SELECT `id` FROM `co_tipidocumento` WHERE `dir` = 'entrata') AND `numero_esterno` != '' GROUP BY `id_segment`, `numero_esterno`, `idtipodocumento` HAVING COUNT(`numero_esterno`) > 1 |date_period(`co_documenti`.`data`)| ) dup ON `co_documenti`.`numero_esterno` = `dup`.`numero_esterno` AND `dup`.`id_segment` = `co_documenti`.`id_segment` AND `dup`.`idtipodocumento` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
1=1 AND `dir` = 'entrata' |segment(`co_documenti`.`id_segment`)| |date_period(`co_documenti`.`data`)|
|
||||
HAVING
|
||||
2=2
|
||||
ORDER BY
|
||||
`co_documenti`.`data` DESC,
|
||||
CAST(`co_documenti`.`numero_esterno` AS UNSIGNED) DESC" WHERE `name` = 'Fatture di vendita';
|
||||
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '(righe.totale_imponibile + righe.iva + `co_documenti`.`rivalsainps`) * IF(co_tipidocumento.reversed, -1, 1)' WHERE `zz_modules`.`name` = 'Fatture di vendita' AND `zz_views`.`name` = 'Totale documento';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '(righe.totale_imponibile + IF( co_documenti.split_payment = 0, round(righe.iva, 2), 0) + `co_documenti`.`rivalsainps` - `co_documenti`.`ritenutaacconto` - `co_documenti`.`sconto_finale` - IF(`co_documenti`.`id_ritenuta_contributi` != 0, (( `righe`.`totale_imponibile` * `co_ritenuta_contributi`.`percentuale_imponibile` / 100) / 100 * `co_ritenuta_contributi`.`percentuale`), 0)) *(1 - `co_documenti`.`sconto_finale_percentuale` / 100 ) * IF( co_tipidocumento.reversed, -1, 1)' WHERE `zz_modules`.`name` = 'Fatture di vendita' AND `zz_views`.`name` = 'Netto a pagare';
|
||||
|
|
Loading…
Reference in New Issue