Compare commits
8 Commits
c8f42e38f0
...
230a0ab341
Author | SHA1 | Date |
---|---|---|
valentina | 230a0ab341 | |
Beppe | edcd062295 | |
valentina | 61a84dd8cf | |
Beppe | 7297b62d37 | |
valentina | c5504bae97 | |
valentina | 0f50e5b966 | |
valentina | 12856fb9e6 | |
valentina | 4e7f99e375 |
54
CHANGELOG.md
54
CHANGELOG.md
|
@ -4,8 +4,10 @@ Tutti i maggiori cambiamenti di questo progetto saranno documentati in questo fi
|
|||
|
||||
Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://keepachangelog.com/), e il progetto segue il [Semantic Versioning](http://semver.org/) per definire le versioni delle release.
|
||||
|
||||
- [2.5.5 (2024-09-27))](#255-2024-09-27)
|
||||
- [2.5.4 (2024-08-28))](#254-2024-08-28)
|
||||
- [2.6 (2024--)](#26-2024--)
|
||||
- [2.5.6 (2024-10-30)](#256-2024-10-30)
|
||||
- [2.5.5 (2024-09-27)](#255-2024-09-27)
|
||||
- [2.5.4 (2024-08-28)](#254-2024-08-28)
|
||||
- [2.5.3 (2024-08-07)](#253-2024-08-07)
|
||||
- [2.5.2 (2024-05-31)](#252-2024-05-31)
|
||||
- [2.5.1 (2024-04-24)](#251-2024-04-24)
|
||||
|
@ -71,6 +73,54 @@ Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://k
|
|||
- [2.2 (2016-11-10)](#22-2016-11-10)
|
||||
- [2.1 (2015-04-02)](#21-2015-04-02)
|
||||
|
||||
## 2.6 (2024--)
|
||||
### Aggiunto (Added)
|
||||
- Aggiunto il modulo Marchi
|
||||
- Aggiunto il modulo Stati dei DDT
|
||||
|
||||
## 2.5.6 (2024-10-30)
|
||||
### Modificato (Changed)
|
||||
- Migliorato il footer fatture di vendita
|
||||
- Migliorata la gestione del tempo di esecuzione del file cron.php
|
||||
- Rimozione impostazioni deprecate
|
||||
- Rimozione commenti TODO
|
||||
- Miglioria modulo Articoli
|
||||
- Migliorata la visualizzazione delle tabelle con table-sm
|
||||
- Migliorata la gestione dei segmenti con introduzione della classe Segmento
|
||||
- Migliorata l'animazione delle pagine
|
||||
|
||||
### Fixed
|
||||
- Corretto il grafico degli interventi
|
||||
- Corretta la generazione delle scadenze
|
||||
- Corretto lo stato dei servizi
|
||||
- Corretta la modifica alle sottocategorie impianti e articoli
|
||||
- Corretta l'importazione della fattura di acquisto quando il nodo ImportoTotaleDocumento non è valorizzato
|
||||
- Corretta la visualizzazione del plugin consuntivo
|
||||
- Corretta la gestione dei template email
|
||||
- Corrette le azioni di gruppo in Attività
|
||||
- Corretta la stampa di fatture con cassa previdenziale multipla
|
||||
- Corretta la generazione di fatture con caratteri speciali
|
||||
- Corretto il filtro per tipo di attività in statistiche
|
||||
- Corretto l'aggiornamento di impianti collegati a contratti
|
||||
- Corretta la modifica di giorni di preavviso contratti e del tacito rinnovo in aggiunta Contratto
|
||||
- Corretta l'aggiunta di una categoria articolo
|
||||
- Corretto il caricamento di immagini in ckeditor
|
||||
- Corretta l'impostazione automatica del pagamento predefinito
|
||||
- Corretta la descrizione del tipo di attività in Contratti
|
||||
- Corretta la modifica della percentuale di deducibilità nei conti
|
||||
- Corretta la movimentazione e creazione articoli fra sedi abilitate
|
||||
- Corretta la creazione di utenti senza sede e l'avviso di creazione sede senza accesso
|
||||
- Corretta la stampa di fatture con split payment
|
||||
- Corretta l'impostazione della sede di partenza in fatture e interventi
|
||||
- Corretta l'importazione di un articolo con seriale in importazione fatture di acquisto
|
||||
- Corretta l'autenticazione con Microsoft
|
||||
- Corretta la selezione del sezionale dei documenti
|
||||
- Corretto il template di stampa dei preventivi
|
||||
- Corretta l'indicazione della scadenza da pagare in Fatture
|
||||
- Corretta la creazione di una nota di debito
|
||||
- Corretto il controllo su stati contratti omonimi al salvataggio
|
||||
|
||||
|
||||
## 2.5.5 (2024-09-27)
|
||||
### Aggiunto (Added)
|
||||
- Aggiunta la geolocalizzazione automatica per anagrafiche e sedi
|
||||
|
|
|
@ -87,7 +87,7 @@ echo '
|
|||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
{[ "type": "checkbox", "label": "'.tr('Rinnovo automatico').'", "name": "rinnovo_automatico_add", "id": "rinnovo_automatico_add", "help": "'.tr('Il contratto è da rinnovare automaticamente alla scadenza').'", "disabled": 1 ]}
|
||||
{[ "type": "checkbox", "label": "'.tr('Tacito rinnovo').'", "name": "rinnovo_automatico_add", "id": "rinnovo_automatico_add", "help": "'.tr('Il contratto è da rinnovare automaticamente alla scadenza').'", "disabled": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
|
@ -117,7 +117,7 @@ echo '
|
|||
|
||||
input("giorni_preavviso_rinnovo").setDisabled(disabled);
|
||||
input("ore_preavviso_rinnovo").setDisabled(disabled);
|
||||
input("rinnovo_automatico").setDisabled(disabled);
|
||||
input("rinnovo_automatico_add").setDisabled(disabled);
|
||||
});
|
||||
|
||||
$("#data_conclusione").on("dp.change", function (e) {
|
||||
|
|
|
@ -1190,7 +1190,7 @@ switch ($op) {
|
|||
|
||||
// Nota di debito
|
||||
if (get('op') == 'nota_addebito') {
|
||||
$rs_segment = $dbo->fetchArray('SELECT * FROM `zz_segments` LEFT JOIN `zz_segments_lang` ON (`zz_segments`.`id` = `zz_segments_lang`.`id_record` AND `zz_segments_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).") WHERE `predefined_addebito`='1'");
|
||||
$rs_segment = $dbo->fetchArray('SELECT `zz_segments`.* FROM `zz_segments` LEFT JOIN `zz_segments_lang` ON (`zz_segments`.`id` = `zz_segments_lang`.`id_record` AND `zz_segments_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).") WHERE `predefined_addebito`='1'");
|
||||
if (!empty($rs_segment)) {
|
||||
$id_segment = $rs_segment[0]['id'];
|
||||
} else {
|
||||
|
@ -1198,8 +1198,7 @@ if (get('op') == 'nota_addebito') {
|
|||
}
|
||||
|
||||
$anagrafica = $fattura->anagrafica;
|
||||
$id_tipo = database()->fetchOne('SELECT `co_tipidocumento`.`id` FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `title` = "Nota di debito" AND `dir` = "entrata"')['id'];
|
||||
$tipo = Tipo::find($id_tipo);
|
||||
$tipo = Tipo::where('name', 'Nota di debito')->where('dir', 'entrata')->first();
|
||||
$data = $fattura->data;
|
||||
|
||||
$nota = Fattura::build($anagrafica, $tipo, $data, $id_segment);
|
||||
|
|
|
@ -39,10 +39,10 @@ if ($dir == 'entrata' || !empty($abilita_autofattura)) {
|
|||
if ($dir == 'entrata') {
|
||||
echo '
|
||||
<ul class="dropdown-menu dropdown-menu-right">
|
||||
<a class="dropdown-item" data-href="'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=nota_addebito&backto=record-edit">
|
||||
<a class="dropdown-item" href="'.base_path().'/editor.php?id_module='.$id_module.'&id_record='.$id_record.'&op=nota_addebito&backto=record-edit">
|
||||
'.tr('Nota di debito').'
|
||||
</a>
|
||||
|
||||
|
||||
<a class="dropdown-item" data-href="'.base_path().'/modules/fatture/crea_documento.php?id_module='.$id_module.'&id_record='.$id_record.'&iddocumento='.$id_record.'" data-title="Aggiungi nota di credito">
|
||||
'.tr('Nota di credito').'
|
||||
</a>
|
||||
|
|
|
@ -513,15 +513,15 @@ if ($fattura->stato->id != $id_stato_bozza && $fattura->stato->id != $id_stato_a
|
|||
<strike>';
|
||||
}
|
||||
|
||||
echo (empty($scadenza->da_pagare) ? '<i class="fa fa-exclamation-triangle"></i>' : '').moneyFormat($scadenza->da_pagare);
|
||||
echo (empty($scadenza->da_pagare) ? '<i class="fa fa-exclamation-triangle"></i>' : '').moneyFormat(abs($scadenza->da_pagare));
|
||||
|
||||
if ($pagamento_iniziato) {
|
||||
echo '
|
||||
</strike>';
|
||||
}
|
||||
|
||||
if ($pagamento_iniziato && $scadenza->pagato != $scadenza->da_pagare) {
|
||||
echo ' ('.moneyFormat($scadenza->da_pagare - $scadenza->pagato).')';
|
||||
if ($pagamento_iniziato && abs($scadenza->pagato) != abs($scadenza->da_pagare)) {
|
||||
echo ' ('.moneyFormat(abs($scadenza->da_pagare) - abs($scadenza->pagato)).')';
|
||||
}
|
||||
|
||||
echo '
|
||||
|
|
|
@ -24,7 +24,7 @@ use Modules\Contratti\Stato;
|
|||
switch (post('op')) {
|
||||
case 'update':
|
||||
$descrizione = post('descrizione');
|
||||
$stato_new = Stato::where('name', $descrizione)->first();
|
||||
$stato_new = Stato::where('name', $descrizione)->where('id','!=', $id_record)->first();
|
||||
|
||||
if ($stato_new) {
|
||||
flash()->error(tr('Questo nome è già stato utilizzato per un altro stato dei contratti.'));
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
<?php
|
||||
/*
|
||||
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||
* Copyright (C) DevCode s.r.l.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
use Modules\DDT\Stato;
|
||||
|
||||
switch (post('op')) {
|
||||
case 'update':
|
||||
$descrizione = post('descrizione');
|
||||
$stato_new = Stato::where('name', $descrizione)->first()->id;
|
||||
|
||||
if (!empty($stato_new) && $stato_new != $id_record) {
|
||||
flash()->error(tr('Questo nome è già stato utilizzato per un altro stato DDT.'));
|
||||
} else {
|
||||
if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) {
|
||||
$stato->name = $descrizione;
|
||||
}
|
||||
$stato->icona = post('icona');
|
||||
$stato->colore = post('colore');
|
||||
$stato->completato = post('completato');
|
||||
$stato->is_fatturabile = post('is_fatturabile');
|
||||
$stato->setTranslation('title', $descrizione);
|
||||
$stato->save();
|
||||
|
||||
flash()->info(tr('Informazioni salvate correttamente.'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'add':
|
||||
$descrizione = post('descrizione');
|
||||
$icona = post('icona');
|
||||
$colore = post('colore');
|
||||
$completato = post('completato_add');
|
||||
$is_fatturabile = post('is_fatturabile_add');
|
||||
|
||||
$stato_new = Stato::where('name', $descrizione)->first();
|
||||
|
||||
if ($stato_new) {
|
||||
flash()->error(tr('Questo nome è già stato utilizzato per un altro stato DDT.'));
|
||||
} else {
|
||||
$stato = Stato::build($icona, $colore, $completato, $is_fatturabile);
|
||||
if (Models\Locale::getDefault()->id == Models\Locale::getPredefined()->id) {
|
||||
$stato->name = $descrizione;
|
||||
}
|
||||
$id_record = $dbo->lastInsertedID();
|
||||
$stato->setTranslation('title', $descrizione);
|
||||
$stato->save();
|
||||
flash()->info(tr('Nuovo stato DDT aggiunto.'));
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
// scelgo se settare come eliminato o cancellare direttamente la riga se non è stato utilizzato negli ordini
|
||||
if (count($dbo->fetchArray('SELECT `id` FROM `dt_statiddt` WHERE `id`='.prepare($id_record))) > 0) {
|
||||
$query = 'UPDATE `dt_statiddt` SET `deleted_at` = NOW() WHERE `can_delete` = 1 AND `id`='.prepare($id_record);
|
||||
} else {
|
||||
$query = 'DELETE FROM `dt_statiddt` WHERE `can_delete` = 1 AND `id`='.prepare($id_record);
|
||||
}
|
||||
|
||||
$dbo->query($query);
|
||||
|
||||
flash()->info(tr('Stato DDT eliminato.'));
|
||||
|
||||
break;
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
<?php
|
||||
/*
|
||||
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||
* Copyright (C) DevCode s.r.l.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
?><form action="" method="post" id="add-form">
|
||||
<input type="hidden" name="op" value="add">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "<?php echo tr('Colore'); ?>", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "<div class='img-circle square'></div>" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Completato'); ?>", "name": "completato_add", "value": "$completato$", "help": "<?php echo tr('Gli ordini che si trovano in questo stato verranno considerati come completati'); ?>", "placeholder": "<?php echo tr('Completato'); ?>", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Impegnato'); ?>", "name": "impegnato_add", "value": "$impegnato$", "help": "<?php echo tr('Gli ordini che si trovano in questo stato verranno considerati come pianificabili'); ?>", "placeholder": "<?php echo tr('Impegnato'); ?>", "extra": "" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Fatturabile'); ?>", "name": "is_fatturabile_add", "value": "$is_fatturabile$", "help": "<?php echo tr('Gli ordini che si trovano in questo stato verranno considerati come fatturabili'); ?>", "placeholder": "<?php echo tr('Fatturabile'); ?>", "extra": "" ]}
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "<?php echo tr('Icona'); ?>", "name": "icona", "required": 1, "class": "text-center", "value": "fa ", "extra": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- PULSANTI -->
|
||||
<div class="row">
|
||||
<div class="col-md-12 text-right">
|
||||
<button type="submit" class="btn btn-primary"><i class="fa fa-plus"></i> <?php echo tr('Aggiungi'); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.colorpicker').colorpicker({ format: 'hex' }).on('changeColor', function() {
|
||||
$(this).parent().find('.square').css('background', $(this).val());
|
||||
});
|
||||
$('.colorpicker').parent().find('.square').css('background', $('.colorpicker').val());
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,94 @@
|
|||
<?php
|
||||
/*
|
||||
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||
* Copyright (C) DevCode s.r.l.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
if ($record['can_delete']) {
|
||||
$attr = '';
|
||||
} else {
|
||||
$attr = 'readonly';
|
||||
echo '<div class="alert alert-warning">'.tr('Alcune impostazioni non possono essere modificate per questo stato.').'</div>';
|
||||
}
|
||||
|
||||
?>
|
||||
<form action="" method="post" id="edit-form">
|
||||
<input type="hidden" name="op" value="update">
|
||||
<input type="hidden" name="backto" value="record-edit">
|
||||
<input type="hidden" name="id_record" value="<?php echo $id_record; ?>">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
{[ "type": "text", "label": "<?php echo tr('Descrizione'); ?>", "name": "descrizione", "required": 1, "value": "$title$", "extra": "<?php echo $attr; ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
{[ "type": "text", "label": "<?php echo tr('Icona'); ?>", "name": "icona", "required": 1, "class": "text-center", "value": "$icona$", "extra": "", "icon-after": "<?php echo (!empty($record['icona'])) ? '<i class=\"'.$record['icona'].'\"></i>' : ''; ?>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-2">
|
||||
{[ "type": "text", "label": "<?php echo tr('Colore'); ?>", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "<div class='img-circle square'></div>" ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="card card-primary">
|
||||
<div class="card-header">
|
||||
<h3 class="card-title"><?php echo tr('Flags'); ?></h3>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Completato?'); ?>", "name": "completato", "value": "$completato$", "help": "<?php echo tr('Gli ordini che si trovano in questo stato verranno considerati come completati'); ?>", "placeholder": "<?php echo tr('Completato'); ?>", "extra": "" ]}
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Impegnato?'); ?>", "name": "impegnato", "value": "$impegnato$", "help": "<?php echo tr('Gli ordini che si trovano in questo stato verranno considerati come impegnati'); ?>", "placeholder": "<?php echo tr('Impegnato'); ?>", "extra": "" ]}
|
||||
{[ "type": "checkbox", "label": "<?php echo tr('Fatturabile?'); ?>", "name": "is_fatturabile", "value": "$is_fatturabile$", "help": "<?php echo tr('Gli ordini che si trovano in questo stato verranno considerati come fatturabili'); ?>", "placeholder": "<?php echo tr('Fatturabile'); ?>", "extra": "" ]}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<?php
|
||||
$ordini = $dbo->fetchNum('SELECT `id` FROM `or_ordini` WHERE `idstatoordine`='.prepare($id_record));
|
||||
|
||||
if (!empty($ordini)) {
|
||||
echo '
|
||||
<div class="alert alert-danger">
|
||||
'.tr('Ci sono _NUM_ ordini collegati', [
|
||||
'_NUM_' => $ordini,
|
||||
]).'.
|
||||
</div>';
|
||||
}
|
||||
|
||||
if (!empty($record['can_delete'])) {
|
||||
echo '
|
||||
<a class="btn btn-danger ask" data-backto="record-list">
|
||||
<i class="fa fa-trash"></i> '.tr('Elimina').'
|
||||
</a>';
|
||||
}
|
||||
|
||||
?>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.colorpicker').colorpicker({ format: 'hex' }).on('changeColor', function() {
|
||||
$(this).parent().find('.square').css('background', $(this).val());
|
||||
});
|
||||
$('.colorpicker').parent().find('.square').css('background', $('.colorpicker').val());
|
||||
notifica();
|
||||
});
|
||||
|
||||
</script>
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
/*
|
||||
* OpenSTAManager: il software gestionale open source per l'assistenza tecnica e la fatturazione
|
||||
* Copyright (C) DevCode s.r.l.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
include_once __DIR__.'/../../core.php';
|
||||
use Modules\DDT\Stato;
|
||||
|
||||
if (!empty($id_record)) {
|
||||
$record = $dbo->fetchOne('SELECT * FROM `dt_statiddt` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt_lang`.`id_record`=`dt_statiddt`.`id` AND `dt_statiddt_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `dt_statiddt`.`id`='.prepare($id_record));
|
||||
|
||||
$stato = Stato::find($id_record);
|
||||
}
|
|
@ -1,27 +1,3 @@
|
|||
-- Aggiunta Marchio articolo
|
||||
ALTER TABLE `mg_articoli` ADD `id_marchio` INT NULL DEFAULT NULL;
|
||||
|
||||
CREATE TABLE `mg_marchi` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`link` varchar(255) NOT NULL,
|
||||
`deleted_at` timestamp NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)) ENGINE = InnoDB;
|
||||
|
||||
INSERT INTO `zz_modules` (`name`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`, `use_notes`, `use_checklists`) VALUES ('Marchi', 'marchi', 'SELECT |select| FROM `mg_marchi` WHERE 1=1 HAVING 2=2 ORDER BY `mg_marchi`.`name`', '', 'fa fa-angle-right', '2.5.6', '2.5.6', '7', (SELECT `id` FROM `zz_modules` AS `t` WHERE `name` = 'Tabelle'), '1', '1', '1', '1');
|
||||
|
||||
INSERT INTO `zz_modules_lang` (`id_lang`, `id_record`, `title`) VALUES ('1', (SELECT `id` FROM `zz_modules` WHERE `name` = 'Marchi'), 'Marchi');
|
||||
|
||||
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` = 'Marchi'), 'id', 'mg_marchi.id', '0', '0', '0', '0', '0', '', '', '0', '0', '0'),
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Marchi'), 'Nome', 'mg_marchi.name', '1', '0', '0', '0', '0', '', '', '1', '0', '0'),
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Marchi'), 'Link', 'mg_marchi.link', '2', '0', '0', '0', '0', '', '', '1', '0', '0');
|
||||
|
||||
INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
|
||||
(1, (SELECT `id` FROM `zz_views` WHERE `name` = 'id' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Marchi')), 'id'),
|
||||
(1, (SELECT `id` FROM `zz_views` WHERE `name` = 'Nome' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Marchi')), 'Nome'),
|
||||
(1, (SELECT `id` FROM `zz_views` WHERE `name` = 'Link' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Marchi')), 'Link');
|
||||
|
||||
-- Rimozione impostazioni deprecate per sezionale predefinito autofatture
|
||||
DELETE FROM `zz_settings` WHERE `zz_settings`.`nome` = 'Sezionale per autofatture di vendita';
|
||||
DELETE FROM `zz_settings` WHERE `zz_settings`.`nome` = 'Sezionale per autofatture di acquisto';
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
-- Aggiunta Marchio articolo
|
||||
ALTER TABLE `mg_articoli` ADD `id_marchio` INT NULL DEFAULT NULL;
|
||||
|
||||
CREATE TABLE `mg_marchi` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(255) NOT NULL,
|
||||
`link` varchar(255) NOT NULL,
|
||||
`deleted_at` timestamp NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)) ENGINE = InnoDB;
|
||||
|
||||
INSERT INTO `zz_modules` (`name`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`, `use_notes`, `use_checklists`) VALUES ('Marchi', 'marchi', 'SELECT |select| FROM `mg_marchi` WHERE 1=1 HAVING 2=2 ORDER BY `mg_marchi`.`name`', '', 'fa fa-angle-right', '2.6', '2.6', '7', (SELECT `id` FROM `zz_modules` AS `t` WHERE `name` = 'Tabelle'), '1', '1', '1', '1');
|
||||
|
||||
SELECT @id_module := `id` FROM `zz_modules` WHERE `name` = 'Marchi';
|
||||
INSERT INTO `zz_modules_lang` (`id_lang`, `id_record`, `title`) VALUES
|
||||
('1', @id_module, 'Marchi')
|
||||
('2', @id_module, 'Marchi');
|
||||
|
||||
SELECT @id_module := `id` FROM `zz_modules` WHERE `name` = 'Marchi';
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES
|
||||
(@id_module, 'id', 'mg_marchi.id', '0', '0', '0', '0', '0', '', '', '0', '0', '0'),
|
||||
(@id_module, 'Nome', 'mg_marchi.name', '1', '0', '0', '0', '0', '', '', '1', '0', '0'),
|
||||
(@id_module, 'Link', 'mg_marchi.link', '2', '0', '0', '0', '0', '', '', '1', '0', '0');
|
||||
|
||||
SELECT @id_module := `id` FROM `zz_modules` WHERE `name` = 'Marchi';
|
||||
INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
|
||||
(1, (SELECT `id` FROM `zz_views` WHERE `name` = 'id' AND `id_module` = @id_module), 'id'),
|
||||
(2, (SELECT `id` FROM `zz_views` WHERE `name` = 'id' AND `id_module` = @id_module), 'id'),
|
||||
(1, (SELECT `id` FROM `zz_views` WHERE `name` = 'Nome' AND `id_module` = @id_module), 'Nome'),
|
||||
(2, (SELECT `id` FROM `zz_views` WHERE `name` = 'Nome' AND `id_module` = @id_module), 'Name'),
|
||||
(1, (SELECT `id` FROM `zz_views` WHERE `name` = 'Link' AND `id_module` = @id_module), 'Link'),
|
||||
(2, (SELECT `id` FROM `zz_views` WHERE `name` = 'Link' AND `id_module` = @id_module), 'Link');
|
||||
|
||||
-- Aggiunta modulo Stati dei DDT
|
||||
ALTER TABLE `dt_statiddt` ADD `deleted_at` timestamp NULL DEFAULT NULL;
|
||||
|
||||
INSERT INTO `zz_modules` (`name`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`, `use_notes`, `use_checklists`) VALUES ('Stati DDT', 'stati_ddt', 'SELECT |select| FROM `dt_statiddt` LEFT JOIN `dt_statiddt_lang` ON (`dt_statiddt`.`id` = `dt_statiddt_lang`.`id_record` AND `dt_statiddt_lang`.|lang|) WHERE 1=1 AND `deleted_at` IS NULL HAVING 2=2', '', 'fa fa-circle-o', '2.6', '2.6', '7', (SELECT `id` FROM `zz_modules` AS `t` WHERE `name` = 'Tabelle'), '1', '1', '1', '1');
|
||||
|
||||
SELECT @id_module := `id` FROM `zz_modules` WHERE `name` = 'Stati DDT';
|
||||
INSERT INTO `zz_modules_lang` (`id_lang`, `id_record`, `title`) VALUES
|
||||
('1', @id_module, 'Stati dei DDT'),
|
||||
('2', @id_module, 'Stati dei DDT');
|
||||
|
||||
SELECT @id_module := `id` FROM `zz_modules` WHERE `name` = 'Stati DDT';
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `avg`, `default`) VALUES
|
||||
(@id_module, 'Fatturabile', 'IF(is_fatturabile, \'Sì\', \'No\')', '6', '1', '0', '0', '0', NULL, NULL, '1', '0', '0', '0'),
|
||||
(@id_module, 'Completato', 'IF(completato, \'Sì\', \'No\')', '5', '1', '0', '0', '0', NULL, NULL, '1', '0', '0', '0'),
|
||||
(@id_module, 'Icona', 'icona', '3', '1', '0', '0', '0', NULL, NULL, '1', '0', '0', '0'),
|
||||
(@id_module, 'Descrizione', '`dt_statiddt_lang`.`title`', '2', '1', '0', '0', '0', NULL, NULL, '1', '0', '0', '0'),
|
||||
(@id_module, 'id', '`dt_statiddt`.`id`', '1', '0', '0', '0', '0', NULL, NULL, '0', '0', '0', '1'),
|
||||
(@id_module, 'color_Colore', 'colore', '7', '0', '0', '1', '0', '', '', '1', '0', '0', '0');
|
||||
|
||||
SELECT @id_module := `id` FROM `zz_modules` WHERE `name` = 'Stati DDT';
|
||||
INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
|
||||
('1', (SELECT `id` FROM `zz_views` WHERE `name` = 'Fatturabile' AND `id_module` = @id_module), 'Fatturabile'),
|
||||
('2', (SELECT `id` FROM `zz_views` WHERE `name` = 'Fatturabile' AND `id_module` = @id_module), 'To be billed'),
|
||||
('1', (SELECT `id` FROM `zz_views` WHERE `name` = 'Completato' AND `id_module` = @id_module), 'Completato'),
|
||||
('2', (SELECT `id` FROM `zz_views` WHERE `name` = 'Completato' AND `id_module` = @id_module), 'Completed'),
|
||||
('1', (SELECT `id` FROM `zz_views` WHERE `name` = 'Icona' AND `id_module` = @id_module), 'Icona'),
|
||||
('2', (SELECT `id` FROM `zz_views` WHERE `name` = 'Icona' AND `id_module` = @id_module), 'Icon'),
|
||||
('1', (SELECT `id` FROM `zz_views` WHERE `name` = 'Descrizione' AND `id_module` = @id_module), 'Descrizione'),
|
||||
('2', (SELECT `id` FROM `zz_views` WHERE `name` = 'Descrizione' AND `id_module` = @id_module), 'Description'),
|
||||
('1', (SELECT `id` FROM `zz_views` WHERE `name` = 'id' AND `id_module` = @id_module), 'id'),
|
||||
('2', (SELECT `id` FROM `zz_views` WHERE `name` = 'id' AND `id_module` = @id_module), 'id'),
|
||||
('1', (SELECT `id` FROM `zz_views` WHERE `name` = 'color_Colore' AND `id_module` = @id_module), 'color_Colore'),
|
||||
('2', (SELECT `id` FROM `zz_views` WHERE `name` = 'color_Colore' AND `id_module` = @id_module), 'color_Color');
|
Loading…
Reference in New Issue