This commit is contained in:
MatteoPistorello 2022-04-27 10:33:04 +02:00
commit 94882c158e
12 changed files with 110 additions and 17 deletions

View File

@ -341,6 +341,25 @@ switch ($resource) {
break;
case 'regioni':
if (isset($superselect['id_nazione'])) {
$query = 'SELECT an_regioni.id AS id, an_regioni.iso2, CONCAT(CONCAT_WS(\' - \', an_regioni.iso2, an_regioni.nome), \' (\', an_nazioni.iso2, \')\') AS descrizione FROM an_regioni INNER JOIN an_nazioni ON an_regioni.id_nazione = an_nazioni.id |where| ORDER BY an_regioni.nome';
foreach ($elements as $element) {
$filter[] = 'an_regioni.id='.prepare($element);
}
$where[] = 'an_regioni.id_nazione='.prepare($superselect['id_nazione']);
if (!empty($search)) {
$search_fields[] = 'an_regioni.nome LIKE '.prepare('%'.$search.'%');
$search_fields[] = 'an_regioni.iso2 LIKE '.prepare('%'.$search.'%');
$search_fields[] = 'CONCAT_WS(\' - \', an_regioni.iso2, an_regioni.nome) LIKE '.prepare('%'.$search.'%');
}
}
break;
case 'relazioni':
$query = 'SELECT id, descrizione, colore AS bgcolor FROM an_relazioni |where| ORDER BY descrizione';

View File

@ -50,7 +50,7 @@ include_once __DIR__.'/../../core.php';
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Conto predefinito'); ?>", "name": "id_pianodeiconti3", "value": "$id_pianodeiconti3$", "ajax-source": "conti" ]}
{[ "type": "select", "label": "<?php echo tr('Conto predefinito'); ?>", "name": "id_pianodeiconti3", "value": "$id_pianodeiconti3$", "ajax-source": "conti", "help": "<?php echo tr('Impostando un conto predefinito verrà pre-selezionata questa banca durante la scelta del tipo di pagamento in fattura.').'<br>'.tr('Anche il tipo di pagamento dovrà avere configurato lo stesso conto.'); ?>" ]}
</div>
</div>

View File

@ -51,7 +51,7 @@ include_once __DIR__.'/../../core.php';
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Regione'); ?>", "name": "id_regione", "value": "$id_regione$", "ajax-source": "regioni" ]}
{[ "type": "select", "label": "<?php echo tr('Regione'); ?>", "name": "id_regione", "value": "$id_regione$", "ajax-source": "regioni", "select-options": <?php echo json_encode(['id_nazione' => $record['id_nazione']]); ?> ]}
</div>
</div>
@ -72,3 +72,21 @@ include_once __DIR__.'/../../core.php';
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
</a>
<script>
var nazione = input("id_nazione");
var regione = input("id_regione");
// Gestione della modifica della nazione
nazione.change(function() {
updateSelectOption("id_nazione", $(this).val());
session_set("superselect,id_nazione", $(this).val(), 0);
let value = !$(this).val();
let placeholder = value ? "<?php echo tr('Seleziona prima una nazione'); ?>" : "<?php echo tr("Seleziona un'opzione"); ?>";
regione.getElement()
.selectReset(placeholder);
});
</script>

View File

@ -26,20 +26,25 @@ switch (post('op')) {
$ora_inizio = post('ora_inizio');
$ora_fine = post('ora_fine');
$include_bank_holidays = post('include_bank_holidays');
$is_predefined = post('is_predefined');
if ($dbo->fetchNum('SELECT * FROM `in_fasceorarie` WHERE `nome`='.prepare($nome).' AND `id`!='.prepare($id_record)) == 0) {
if (!empty($is_predefined)) {
$dbo->query('UPDATE in_fasceorarie SET is_predefined = 0');
}
$dbo->update('in_fasceorarie', [
'nome' => $nome,
'giorni' => $giorni ? implode(',' , $giorni) : null,
'ora_inizio' =>$ora_inizio,
'ora_inizio' => $ora_inizio,
'ora_fine' => $ora_fine,
'include_bank_holidays' => $include_bank_holidays,
'is_predefined' => $is_predefined,
], [
'id' => $id_record,
]);
flash()->info(tr('Salvataggio completato.'));
} else {
flash()->error(tr("E' già presente una _TYPE_ con lo stesso nome", [

View File

@ -46,20 +46,21 @@ include_once __DIR__.'/../../core.php';
</div>
<div class="row">
<div class="col-md-4">
<div class="col-md-3">
{[ "type": "time", "label": "<?php echo tr('Ora inizio'); ?>", "name": "ora_inizio", "required": 1, "value": "$ora_inizio$" ]}
</div>
<div class="col-md-4">
<div class="col-md-3">
{[ "type": "time", "label": "<?php echo tr('Ora fine'); ?>", "name": "ora_fine", "required": 1, "value": "$ora_fine$" ]}
</div>
<div class="col-md-4">
<div class="col-md-3">
{[ "type": "checkbox", "label": "<?php echo tr('Includi festività'); ?>", "name": "include_bank_holidays", "required": 0, "value": "$include_bank_holidays$" ]}
</div>
<div class="col-md-3">
{[ "type": "checkbox", "label": "<?php echo tr('Predefinita'); ?>", "name": "is_predefined", "required": 0, "value": "$is_predefined$" ]}
</div>
</div>
</div>
</div>

View File

@ -50,7 +50,7 @@ class CSV extends CSVExporter
'label' => 'Ragione sociale',
],
[
'field' => 'totale',
'field' => 'totaleCSV',
'label' => 'Totale',
],
[

View File

@ -898,4 +898,14 @@ class Fattura extends Document
{
return $this->anagrafica->ragione_sociale;
}
public function getTotaleCSVAttribute()
{
$totale = $this->totale_imponibile + $this->iva + $this->rivalsa_inps + $this->iva_rivalsa_inps;
if($this->isNota()){
return $totale*(-1);
}else{
return $totale;
}
}
}

View File

@ -24,7 +24,7 @@ include_once __DIR__.'/../../core.php';
switch (filter('op')) {
case 'salva':
$id = filter('id');
$valore = filter('valore');
$valore = filter('valore', null, 1);
$impostazione = Setting::find($id);
if (!$impostazione->editable) {

View File

@ -36,7 +36,7 @@ echo '
<div class="panel-heading">
<h3 class="panel-title">
'.tr('Dettagli scadenza').'
<button type="button" class="btn btn-xs btn-info pull-right tip '.(empty($documento) ? 'disabled' : '').'" id="add-scadenza" '.(empty($documento) ? 'disabled' : '').' title="'.tr('È possibile aggiungere scadenze solo se è presente il collegamento a un documento, in caso contrario è consigliato creare più scadenze con la stessa descrizione').'">
<button type="button" class="btn btn-xs btn-info pull-right tip" id="add-scadenza" '.(empty($documento) ? 'disabled' : '').' title="'.tr('È possibile aggiungere scadenze solo se è presente il collegamento a un documento, in caso contrario è consigliato creare più scadenze con la stessa descrizione').'">
<i class="fa fa-plus"></i> '.tr('Aggiungi scadenza').'
</button>
</h3>

View File

@ -254,7 +254,7 @@ abstract class AppResource extends Resource implements RetrieveInterface, Create
$db_name = $database->getDatabaseName();
// Ottiene il valore successivo della colonna di tipo AUTO_INCREMENT
$database->query('ANALYZE TABLE '.prepare($table_name));
$database->query('ANALYZE TABLE '.$table_name);
$next_autoincrement = $database->fetchOne('SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '.prepare($table_name).' AND TABLE_SCHEMA = '.prepare($db_name))['AUTO_INCREMENT'];
/*

View File

@ -197,7 +197,7 @@ foreach ($righe as $riga) {
if ($riga->isArticolo() && !empty($riga->articolo->image)) {
echo '
<td align="center">
<img src="'.$riga->articolo->image.'" style="max-height: 60px; max-width:80px">
<img src="'.DOCROOT."/".$riga->articolo->image.'" style="max-height: 60px; max-width:80px">
</td>';
$autofill->set(5);

View File

@ -6,6 +6,7 @@ CREATE TABLE IF NOT EXISTS `in_fasceorarie` (
`ora_inizio` time DEFAULT NULL,
`ora_fine` time DEFAULT NULL,
`can_delete` BOOLEAN NOT NULL DEFAULT TRUE,
`is_predefined` BOOLEAN NOT NULL DEFAULT FALSE,
`include_bank_holidays` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
@ -23,7 +24,7 @@ INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `visible`,
-- Fascia oraria "Ordinaria"
INSERT INTO `in_fasceorarie` (`id`, `nome`, `giorni`, `ora_inizio`, `ora_fine`, `can_delete`) VALUES (NULL, 'Ordinario', '1,2,3,4,5,6,7', '00:00', '23:59', '0');
INSERT INTO `in_fasceorarie` (`id`, `nome`, `giorni`, `ora_inizio`, `ora_fine`, `can_delete`, `is_predefined`) VALUES (NULL, 'Ordinario', '1,2,3,4,5,6,7', '00:00', '23:59', '0', '1');
-- Relazione fasca oraria / tipo intervento
CREATE TABLE IF NOT EXISTS `in_fasceorarie_tipiintervento` (
@ -103,4 +104,43 @@ UPDATE `zz_modules` SET `options` = 'SELECT |select|\nFROM `co_preventivi`\n
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES
((SELECT `id` FROM `zz_modules` WHERE `name`='Interventi'), 'Contratto', 'contratto.info', 21, 1, 0, 0, 0, '', '', 0, 0, 1),
((SELECT `id` FROM `zz_modules` WHERE `name`='Interventi'), 'Preventivo', 'preventivo.info', 22, 1, 0, 0, 0, '', '', 0, 0, 1),
((SELECT `id` FROM `zz_modules` WHERE `name`='Interventi'), 'Ordine', 'ordine.info', 23, 1, 0, 0, 0, '', '', 0, 0, 1);
((SELECT `id` FROM `zz_modules` WHERE `name`='Interventi'), 'Ordine', 'ordine.info', 23, 1, 0, 0, 0, '', '', 0, 0, 1);
CREATE TABLE `an_regioni` (
`id` int NOT NULL,
`id_nazione` int NOT NULL,
`nome` varchar(255) NOT NULL,
`iso2` varchar(2) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (`id_nazione`) REFERENCES `an_nazioni`(`id`)
) ENGINE=InnoDB;
INSERT INTO `an_regioni` (`id`, `nome`, `id_nazione`) VALUES
(1, 'Abruzzo', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(2, 'Basilicata', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(3, 'Calabria', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(4, 'Campania', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(5, 'Emilia-Romagna', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(6, 'Friuli-Venezia Giulia', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(7, 'Lazio', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(8, 'Liguria', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(9, 'Lombardia', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(10, 'Marche', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(11, 'Molise', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(12, 'Piemonte', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(13, 'Puglia', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(14, 'Sardegna', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(15, 'Sicilia', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(16, 'Toscana', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(17, 'Trentino-Alto Adige', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(18, 'Umbria', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(19, 'Valle d''Aosta', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT')),
(20, 'Veneto', (SELECT `id` FROM `an_nazioni` WHERE `iso2` = 'IT'));
-- Aggiunta sezionale per fatture non elettroniche
INSERT INTO `zz_segments` (`id`, `id_module`, `name`, `clause`, `position`, `pattern`, `note`, `dicitura_fissa`, `predefined`, `predefined_accredito`, `predefined_addebito`, `created_at`, `updated_at`, `is_fiscale`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di acquisto'), 'Fatture non elettroniche', '1=1', 'WHR', '#', '', '', '0', '0', '0', NULL, NULL, '1');