Merge branch 'master' of https://github.com/devcode-it/openstamanager
This commit is contained in:
commit
94882c158e
|
@ -341,6 +341,25 @@ switch ($resource) {
|
||||||
|
|
||||||
break;
|
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':
|
case 'relazioni':
|
||||||
$query = 'SELECT id, descrizione, colore AS bgcolor FROM an_relazioni |where| ORDER BY descrizione';
|
$query = 'SELECT id, descrizione, colore AS bgcolor FROM an_relazioni |where| ORDER BY descrizione';
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ include_once __DIR__.'/../../core.php';
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ include_once __DIR__.'/../../core.php';
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-6">
|
<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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -72,3 +72,21 @@ include_once __DIR__.'/../../core.php';
|
||||||
<a class="btn btn-danger ask" data-backto="record-list">
|
<a class="btn btn-danger ask" data-backto="record-list">
|
||||||
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
|
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
|
||||||
</a>
|
</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>
|
|
@ -26,20 +26,25 @@ switch (post('op')) {
|
||||||
$ora_inizio = post('ora_inizio');
|
$ora_inizio = post('ora_inizio');
|
||||||
$ora_fine = post('ora_fine');
|
$ora_fine = post('ora_fine');
|
||||||
$include_bank_holidays = post('include_bank_holidays');
|
$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 ($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', [
|
$dbo->update('in_fasceorarie', [
|
||||||
'nome' => $nome,
|
'nome' => $nome,
|
||||||
'giorni' => $giorni ? implode(',' , $giorni) : null,
|
'giorni' => $giorni ? implode(',' , $giorni) : null,
|
||||||
'ora_inizio' =>$ora_inizio,
|
'ora_inizio' => $ora_inizio,
|
||||||
'ora_fine' => $ora_fine,
|
'ora_fine' => $ora_fine,
|
||||||
'include_bank_holidays' => $include_bank_holidays,
|
'include_bank_holidays' => $include_bank_holidays,
|
||||||
|
'is_predefined' => $is_predefined,
|
||||||
], [
|
], [
|
||||||
'id' => $id_record,
|
'id' => $id_record,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
flash()->info(tr('Salvataggio completato.'));
|
flash()->info(tr('Salvataggio completato.'));
|
||||||
} else {
|
} else {
|
||||||
flash()->error(tr("E' già presente una _TYPE_ con lo stesso nome", [
|
flash()->error(tr("E' già presente una _TYPE_ con lo stesso nome", [
|
||||||
|
|
|
@ -46,20 +46,21 @@ include_once __DIR__.'/../../core.php';
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<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$" ]}
|
{[ "type": "time", "label": "<?php echo tr('Ora inizio'); ?>", "name": "ora_inizio", "required": 1, "value": "$ora_inizio$" ]}
|
||||||
</div>
|
</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$" ]}
|
{[ "type": "time", "label": "<?php echo tr('Ora fine'); ?>", "name": "ora_fine", "required": 1, "value": "$ora_fine$" ]}
|
||||||
</div>
|
</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$" ]}
|
{[ "type": "checkbox", "label": "<?php echo tr('Includi festività'); ?>", "name": "include_bank_holidays", "required": 0, "value": "$include_bank_holidays$" ]}
|
||||||
</div>
|
</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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -50,7 +50,7 @@ class CSV extends CSVExporter
|
||||||
'label' => 'Ragione sociale',
|
'label' => 'Ragione sociale',
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'field' => 'totale',
|
'field' => 'totaleCSV',
|
||||||
'label' => 'Totale',
|
'label' => 'Totale',
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
|
|
@ -898,4 +898,14 @@ class Fattura extends Document
|
||||||
{
|
{
|
||||||
return $this->anagrafica->ragione_sociale;
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ include_once __DIR__.'/../../core.php';
|
||||||
switch (filter('op')) {
|
switch (filter('op')) {
|
||||||
case 'salva':
|
case 'salva':
|
||||||
$id = filter('id');
|
$id = filter('id');
|
||||||
$valore = filter('valore');
|
$valore = filter('valore', null, 1);
|
||||||
|
|
||||||
$impostazione = Setting::find($id);
|
$impostazione = Setting::find($id);
|
||||||
if (!$impostazione->editable) {
|
if (!$impostazione->editable) {
|
||||||
|
|
|
@ -36,7 +36,7 @@ echo '
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<h3 class="panel-title">
|
<h3 class="panel-title">
|
||||||
'.tr('Dettagli scadenza').'
|
'.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').'
|
<i class="fa fa-plus"></i> '.tr('Aggiungi scadenza').'
|
||||||
</button>
|
</button>
|
||||||
</h3>
|
</h3>
|
||||||
|
|
|
@ -254,7 +254,7 @@ abstract class AppResource extends Resource implements RetrieveInterface, Create
|
||||||
$db_name = $database->getDatabaseName();
|
$db_name = $database->getDatabaseName();
|
||||||
|
|
||||||
// Ottiene il valore successivo della colonna di tipo AUTO_INCREMENT
|
// 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'];
|
$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'];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -197,7 +197,7 @@ foreach ($righe as $riga) {
|
||||||
if ($riga->isArticolo() && !empty($riga->articolo->image)) {
|
if ($riga->isArticolo() && !empty($riga->articolo->image)) {
|
||||||
echo '
|
echo '
|
||||||
<td align="center">
|
<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>';
|
</td>';
|
||||||
|
|
||||||
$autofill->set(5);
|
$autofill->set(5);
|
||||||
|
|
|
@ -6,6 +6,7 @@ CREATE TABLE IF NOT EXISTS `in_fasceorarie` (
|
||||||
`ora_inizio` time DEFAULT NULL,
|
`ora_inizio` time DEFAULT NULL,
|
||||||
`ora_fine` time DEFAULT NULL,
|
`ora_fine` time DEFAULT NULL,
|
||||||
`can_delete` BOOLEAN NOT NULL DEFAULT TRUE,
|
`can_delete` BOOLEAN NOT NULL DEFAULT TRUE,
|
||||||
|
`is_predefined` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
`include_bank_holidays` tinyint(1) NOT NULL DEFAULT '0',
|
`include_bank_holidays` tinyint(1) NOT NULL DEFAULT '0',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB;
|
) ENGINE=InnoDB;
|
||||||
|
@ -23,7 +24,7 @@ INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `visible`,
|
||||||
|
|
||||||
|
|
||||||
-- Fascia oraria "Ordinaria"
|
-- 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
|
-- Relazione fasca oraria / tipo intervento
|
||||||
CREATE TABLE IF NOT EXISTS `in_fasceorarie_tipiintervento` (
|
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
|
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'), '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'), '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');
|
||||||
|
|
Loading…
Reference in New Issue