Compare commits
9 Commits
c85540c888
...
4985df2ebc
Author | SHA1 | Date |
---|---|---|
Pek5892 | 4985df2ebc | |
Pek5892 | b8e19be76f | |
Pek5892 | 5d0e3102ee | |
Pek5892 | 50e02eaa16 | |
Pek5892 | c35e24d08b | |
Pek5892 | 869a7fddab | |
Pek5892 | 8865fec6d9 | |
Pek5892 | aa831bd8fc | |
Pek5892 | 47b2df170c |
13
README.md
13
README.md
|
@ -62,11 +62,12 @@ L'installazione del gestionale richiede la presenza di un server web con abilita
|
|||
|
||||
| PHP | EOL | Supportato |
|
||||
|-----|-----|:----------:|
|
||||
| 8.3 | 23/11/2026 | ✔️ |
|
||||
| 8.2 | 08/12/2025 | ✔️ |
|
||||
| 8.1 | 25/11/2024 | ✔️ |
|
||||
| 8.0 | 26/11/2023 | ✔️ |
|
||||
| 7.4 | 28/11/2022 | ✔️ |
|
||||
| 8.0 | 26/11/2023 | ❗ |
|
||||
| 7.4 | 28/11/2022 | ❗ |
|
||||
| 7.3 | 06/12/2021 | ❌ |
|
||||
| 7.2 | 30/11/2020 | ❌ |
|
||||
|
||||
</td>
|
||||
<td valign="top">
|
||||
|
@ -85,6 +86,12 @@ L'installazione del gestionale richiede la presenza di un server web con abilita
|
|||
</tr>
|
||||
</table>
|
||||
|
||||
❗Alcune dipendenze presenti dalla versione 2.5 non sono più compatibili con PHP 7.4 e PHP 8.0. Per continuare a utilizzare tali versioni di PHP, sarà necessario ricompilare utilizzando il file composer_74.json.
|
||||
|
||||
Per semplificarne l'installazione, la versione 2.5.2 sarà disponibile in un doppio zip con entrambe le versioni (compatibile con php < 8.1 e compatibile con php > 8.1).
|
||||
|
||||
Dalla prossima versione (2.5.3) la versione minima di php richiesta sarà la 8.1, non sarà quindi disponibile al download il secondo file zip.
|
||||
|
||||
Per ulteriori informazioni sui pacchetti che forniscono questi elementi di default, visitare la sezione [Installazione](https://docs.openstamanager.com/configurazione/installazione) della documentazione.
|
||||
|
||||
### Requisiti hardware
|
||||
|
|
|
@ -149,7 +149,7 @@
|
|||
"prefer-stable": true,
|
||||
"platform-check": false,
|
||||
"platform": {
|
||||
"php": "8.1.28"
|
||||
"php": "8.3.6"
|
||||
},
|
||||
"allow-plugins": {
|
||||
"kylekatarnls/update-helper": true
|
||||
|
|
|
@ -0,0 +1,158 @@
|
|||
{
|
||||
"name": "devcode-it/openstamanager",
|
||||
"description": "Gestionale open-source per assistenza tecnica e fatturazione elettronica",
|
||||
"license": "GPL-3.0",
|
||||
"keywords": [
|
||||
"gestionale",
|
||||
"assistenza tecnica",
|
||||
"fatturazione elettronica",
|
||||
"open-source"
|
||||
],
|
||||
"homepage": "https://www.openstamanager.com/",
|
||||
"authors": [{
|
||||
"name": "DevCode s.r.l.",
|
||||
"email": "info@openstamanager.com"
|
||||
}],
|
||||
"type": "project",
|
||||
"require": {
|
||||
"php": "^7.4|^8.0",
|
||||
"ext-curl": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-fileinfo": "*",
|
||||
"ext-intl": "*",
|
||||
"ext-json": "*",
|
||||
"ext-libxml": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-openssl": "*",
|
||||
"ext-pdo": "*",
|
||||
"ext-simplexml": "*",
|
||||
"ext-xsl": "*",
|
||||
"ext-zip": "*",
|
||||
"davidepastore/codice-fiscale": "^0.9.1",
|
||||
"devcode-it/ical-easy-reader": "dev-main",
|
||||
"digitick/sepa-xml": "^2.1",
|
||||
"dragonmantank/cron-expression": "^1.0",
|
||||
"ezyang/htmlpurifier": "^4.8",
|
||||
"filp/whoops": "^2.15.0",
|
||||
"greenlion/php-sql-parser": "^4.5",
|
||||
"guzzlehttp/guzzle": "^7.0.1",
|
||||
"ifsnop/mysqldump-php": "^2.3",
|
||||
"illuminate/database": "^8.0",
|
||||
"intervention/image": "^2.3",
|
||||
"jurosh/pdf-merge": "^2.1",
|
||||
"league/csv": "^9.7.0",
|
||||
"league/oauth2-client": "^2.6",
|
||||
"league/oauth2-google": "^4.0",
|
||||
"league/flysystem": "^3.0",
|
||||
"league/flysystem-ftp": "^3.0",
|
||||
"maximebf/debugbar": "^1.15",
|
||||
"monolog/monolog": "^1.22",
|
||||
"mpdf/mpdf": "^v8.0.10",
|
||||
"mpociot/vat-calculator": "^2.3",
|
||||
"owasp/csrf-protector-php": "^1.0",
|
||||
"phpmailer/phpmailer": "^6.0",
|
||||
"respect/validation": "^2.0",
|
||||
"servo/fluidxml": "^1.21",
|
||||
"slim/flash": "^0.4.0",
|
||||
"spipu/html2pdf": "^5.0.0",
|
||||
"symfony/filesystem": "^5.0",
|
||||
"symfony/finder": "^5.0",
|
||||
"symfony/polyfill-ctype": "^1.8",
|
||||
"symfony/polyfill-php70": "^1.8",
|
||||
"symfony/translation": "^4.0",
|
||||
"symfony/var-dumper": "^5.0",
|
||||
"thenetworg/oauth2-azure": "^2.0",
|
||||
"voku/stringy": "^6.0.0",
|
||||
"wdog/sdd_ita": "dev-master",
|
||||
"willdurand/geocoder": "^4.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.53",
|
||||
"rector/rector": "^1.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"": "src/",
|
||||
"Update\\": "update/",
|
||||
"Modules\\Aggiornamenti\\": ["modules/aggiornamenti/custom/src/", "modules/aggiornamenti/src/"],
|
||||
"Modules\\Anagrafiche\\": ["modules/anagrafiche/custom/src/", "modules/anagrafiche/src/"],
|
||||
"Modules\\AttributiCombinazioni\\": ["modules/attributi_combinazioni/custom/src/", "modules/attributi_combinazioni/src/"],
|
||||
"Modules\\Backups\\": ["modules/backups/custom/src/", "modules/backups/src/"],
|
||||
"Modules\\CombinazioniArticoli\\": ["modules/combinazioni_articoli/custom/src/", "modules/combinazioni_articoli/src/"],
|
||||
"Modules\\Emails\\": ["modules/emails/custom/src/", "modules/emails/src/"],
|
||||
"Modules\\Articoli\\": ["modules/articoli/custom/src/", "modules/articoli/src/"],
|
||||
"Modules\\Checklists\\": ["modules/checklists/custom/src/", "modules/checklists/src/"],
|
||||
"Modules\\Ritenute\\": ["modules/ritenute/custom/src/", "modules/ritenute/src/"],
|
||||
"Modules\\RitenuteContributi\\": ["modules/ritenute_contributi/custom/src/", "modules/ritenute_contributi/src/"],
|
||||
"Modules\\Rivalse\\": ["modules/rivalse/custom/src/", "modules/rivalse/src/"],
|
||||
"Modules\\Newsletter\\": ["modules/newsletter/custom/src/", "modules/newsletter/src/"],
|
||||
"Modules\\ListeNewsletter\\": ["modules/liste_newsletter/custom/src/", "modules/liste_newsletter/src/"],
|
||||
"Modules\\Iva\\": ["modules/iva/custom/src/", "modules/iva/src/"],
|
||||
"Modules\\DDT\\": ["modules/ddt/custom/src/", "modules/ddt/src/"],
|
||||
"Modules\\Fatture\\": ["modules/fatture/custom/src/", "modules/fatture/src/"],
|
||||
"Modules\\ListiniCliente\\": ["modules/listini_cliente/custom/src/", "modules/listini_cliente/src/"],
|
||||
"Modules\\Ordini\\": ["modules/ordini/custom/src/", "modules/ordini/src/"],
|
||||
"Modules\\Preventivi\\": ["modules/preventivi/custom/src/", "modules/preventivi/src/"],
|
||||
"Modules\\Contratti\\": ["modules/contratti/custom/src/", "modules/contratti/src/"],
|
||||
"Modules\\Interventi\\": ["modules/interventi/custom/src/", "modules/interventi/src/"],
|
||||
"Modules\\Pagamenti\\": ["modules/pagamenti/custom/src/", "modules/pagamenti/src/"],
|
||||
"Modules\\Statistiche\\": ["modules/statistiche/custom/src/", "modules/statistiche/src/"],
|
||||
"Modules\\Scadenzario\\": ["modules/scadenzario/custom/src/", "modules/scadenzario/src/"],
|
||||
"Modules\\PrimaNota\\": ["modules/primanota/custom/src/", "modules/primanota/src/"],
|
||||
"Modules\\Utenti\\": ["modules/utenti/custom/src/", "modules/utenti/src/"],
|
||||
"Modules\\StatoServizi\\": ["modules/stato_servizi/custom/src/", "modules/stato_servizi/src/"],
|
||||
"Modules\\StatiIntervento\\": ["modules/stati_intervento/custom/src/", "modules/stati_intervento/src/"],
|
||||
"Modules\\StatiPreventivo\\": ["modules/stati_preventivo/custom/src/", "modules/stati_preventivo/src/"],
|
||||
"Modules\\StatiContratto\\": ["modules/stati_contratto/custom/src/", "modules/stati_contratto/src/"],
|
||||
"Modules\\StatiOrdine\\": ["modules/stati_ordine/custom/src/", "modules/stati_ordine/src/"],
|
||||
"Modules\\TipiIntervento\\": ["modules/tipi_intervento/custom/src/", "modules/tipi_intervento/src/"],
|
||||
"Modules\\CategorieDocumentali\\": ["modules/categorie_documenti/custom/src/", "modules/categorie_documenti/src/"],
|
||||
"Modules\\PianiSconto\\": ["modules/piano_sconto/custom/src/", "modules/piano_sconto/src/"],
|
||||
"Modules\\Impianti\\": ["modules/impianti/custom/src/", "modules/impianti/src/"],
|
||||
"Modules\\Importazione\\": ["modules/import/custom/src/", "modules/import/src/"],
|
||||
"Modules\\Impostazioni\\": ["modules/impostazioni/custom/src/", "modules/impostazioni/src/"],
|
||||
"Modules\\Partitario\\": ["modules/partitario/custom/src/", "modules/partitario/src/"],
|
||||
"Modules\\StatoEmail\\": ["modules/stato_email/custom/src/", "modules/stato_email/src/"],
|
||||
"Modules\\FileAdapters\\": ["modules/adattatori_archiviazione/custom/src/", "modules/adattatori_archiviazione/src/"],
|
||||
"Plugins\\AssicurazioneCrediti\\": ["plugins/assicurazione_crediti/custom/src/", "plugins/assicurazione_crediti/src/"],
|
||||
"Plugins\\ExportFE\\": ["plugins/exportFE/custom/src/", "plugins/exportFE/src/"],
|
||||
"Plugins\\ImportFE\\": ["plugins/importFE/custom/src/", "plugins/importFE/src/"],
|
||||
"Plugins\\ReceiptFE\\": ["plugins/receiptFE/custom/src/", "plugins/receiptFE/src/"],
|
||||
"Plugins\\DichiarazioniIntento\\": ["plugins/dichiarazioni_intento/custom/src/", "plugins/dichiarazioni_intento/src/"],
|
||||
"Plugins\\PianificazioneInterventi\\": ["plugins/pianificazione_interventi/custom/src/", "plugins/pianificazione_interventi/src/"],
|
||||
"Plugins\\PianificazioneFatturazione\\": ["plugins/pianificazione_fatturazione/custom/src/", "plugins/pianificazione_fatturazione/src/"],
|
||||
"Plugins\\StatisticheArticoli\\": ["plugins/statistiche_articoli/custom/src/", "plugins/statistiche_articoli/src/"],
|
||||
"Plugins\\ListinoClienti\\": ["plugins/listino_clienti/custom/src/", "plugins/listino_clienti/src/"],
|
||||
"Plugins\\ListinoFornitori\\": ["plugins/listino_fornitori/custom/src/", "plugins/listino_fornitori/src/"],
|
||||
"Plugins\\ComponentiImpianti\\": ["plugins/componenti/custom/src/", "plugins/componenti/src/"],
|
||||
"Plugins\\PresentazioniBancarie\\": ["plugins/presentazioni_bancarie/custom/src/", "plugins/presentazioni_bancarie/src/"]
|
||||
},
|
||||
"files": [
|
||||
"lib/functions.php",
|
||||
"lib/common.php",
|
||||
"lib/helpers.php",
|
||||
"lib/util.php",
|
||||
"lib/deprecated.php"
|
||||
]
|
||||
},
|
||||
"repositories": [
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/wdog/sdd_ita"
|
||||
}
|
||||
],
|
||||
"config": {
|
||||
"sort-packages": true,
|
||||
"optimize-autoloader": true,
|
||||
"apcu-autoloader": true,
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true,
|
||||
"platform-check": false,
|
||||
"platform": {
|
||||
"php": "8.0.29"
|
||||
},
|
||||
"allow-plugins": {
|
||||
"kylekatarnls/update-helper": true
|
||||
}
|
||||
}
|
||||
}
|
|
@ -104,9 +104,9 @@ foreach ($modules as $name => $values) {
|
|||
$settings = [
|
||||
'php_version' => [
|
||||
'type' => 'version',
|
||||
'description' => '7.3.x - 8.0.x, consigliato almeno 7.4.x',
|
||||
'minimum' => '7.3.0',
|
||||
'maximum' => '8.1.99',
|
||||
'description' => '8.0.x - 8.3.x',
|
||||
'minimum' => '8.0.0',
|
||||
'maximum' => '8.3.99',
|
||||
],
|
||||
|
||||
'zip' => [
|
||||
|
|
|
@ -26,7 +26,7 @@ include_once __DIR__.'/../../core.php';
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{[ "type": "text", "label": "<?php echo tr('Name'); ?>", "name": "name", "required": 1 ]}
|
||||
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "name", "required": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
|
|
|
@ -26,7 +26,7 @@ include_once __DIR__.'/../../core.php';
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
{[ "type": "text", "label": "<?php echo tr('Name'); ?>", "name": "name", "value": "$name$", "required": 1 ]}
|
||||
{[ "type": "text", "label": "<?php echo tr('Nome'); ?>", "name": "name", "value": "$name$", "required": 1 ]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-5">
|
||||
|
@ -40,7 +40,7 @@ include_once __DIR__.'/../../core.php';
|
|||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
{[ "type": "textarea", "label": "<?php echo tr('Options'); ?>", "name": "options", "value": "$options$", "required": 0, "help": "Specifica le opzioni per il tipo di archiviazione in formato JSON" ]}
|
||||
{[ "type": "textarea", "label": "<?php echo tr('Opzioni'); ?>", "name": "options", "value": "$options$", "required": 0, "help": "Specifica le opzioni per il tipo di archiviazione in formato JSON" ]}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -317,7 +317,7 @@ echo '
|
|||
ksort($tecnici);
|
||||
foreach ($tecnici as $key => $tecnico) {
|
||||
$margine = $tecnico['ricavo'] - $tecnico['costo'];
|
||||
$margine_prc = (int) (1 - ($tecnico['costo'] / $tecnico['ricavo'])) * 100;
|
||||
$margine_prc = (int) (1 - ($tecnico['costo'] / ($tecnico['ricavo'] ?: 1))) * 100;
|
||||
$ricarico_prc = ($tecnico['ricavo'] && $tecnico['costo']) ? (int) ((($tecnico['ricavo'] / $tecnico['costo']) - 1) * 100) : 100;
|
||||
echo '
|
||||
<tr>
|
||||
|
|
|
@ -439,11 +439,11 @@ class Query
|
|||
$select = [];
|
||||
|
||||
foreach ($views as $view) {
|
||||
$select[] = $view['query'].(!empty($view['name']) ? " AS '".$view['name']."'" : '');
|
||||
$select[] = $view['query'].(!empty($view['title']) ? " AS '".$view['title']."'" : '');
|
||||
|
||||
if (!empty($view['visible'])) {
|
||||
if (!empty($view['name'])) {
|
||||
$view['name'] = trim($view['name']);
|
||||
if (!empty($view['title'])) {
|
||||
$view['title'] = trim($view['title']);
|
||||
}
|
||||
if (!empty($view['search_inside'])) {
|
||||
$view['search_inside'] = trim($view['search_inside']);
|
||||
|
@ -452,21 +452,21 @@ class Query
|
|||
$view['order_by'] = trim($view['order_by']);
|
||||
}
|
||||
|
||||
$fields[] = trim($view['name']);
|
||||
$fields[] = $view['title'] ? trim($view['title']) : $view['name'];
|
||||
|
||||
$search_inside[] = !empty($view['search_inside']) ? $view['search_inside'] : '`'.$view['name'].'`';
|
||||
$order_by[] = !empty($view['order_by']) ? $view['order_by'] : '`'.$view['name'].'`';
|
||||
$search_inside[] = !empty($view['search_inside']) ? $view['search_inside'] : '`'.$view['title'].'`';
|
||||
$order_by[] = !empty($view['order_by']) ? $view['order_by'] : '`'.$view['title'].'`';
|
||||
$search[] = $view['search'];
|
||||
$slow[] = $view['slow'];
|
||||
$format[] = $view['format'];
|
||||
$html_format[] = $view['html_format'];
|
||||
|
||||
if ($view['summable']) {
|
||||
$summable[] = 'SUM(`'.trim($view['name']."`) AS 'sum_".(count($fields) - 1)."'");
|
||||
$summable[] = 'SUM(`'.trim($view['title']."`) AS 'sum_".(count($fields) - 1)."'");
|
||||
}
|
||||
|
||||
if ($view['avg']) {
|
||||
$avg[] = 'AVG(`'.trim($view['name']."`) AS 'avg_".(count($fields) - 1)."'");
|
||||
$avg[] = 'AVG(`'.trim($view['title']."`) AS 'avg_".(count($fields) - 1)."'");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -90,16 +90,16 @@ echo "
|
|||
$rs2 = $dbo->fetchArray('SELECT * FROM `co_scadenziario` WHERE `iddocumento`='.prepare($id_record).' ORDER BY `scadenza` ASC');
|
||||
if (!empty($rs2)) {
|
||||
for ($i = 0; $i < sizeof($rs2); ++$i) {
|
||||
$pagamento = $dbo->fetchOne('SELECT `fe_modalita_pagamento_lang`.`title` FROM `co_pagamenti` INNER JOIN `fe_modalita_pagamento` ON `fe_modalita_pagamento`.`codice` = `co_pagamenti`.`codice_modalita_pagamento_fe` LEFT JOIN `fe_modalita_pagamento_lang` ON (`fe_modalita_pagamento_lang`.`id_record`=`fe_modalita_pagamento`.`codice` AND `fe_modalita_pagamento_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `co_pagamenti`.`id`='.$rs2[$i]['id_pagamento'])['descrizione'];
|
||||
$pagamento = $dbo->fetchOne('SELECT `fe_modalita_pagamento_lang`.`title` as descrizione FROM `co_pagamenti` INNER JOIN `fe_modalita_pagamento` ON `fe_modalita_pagamento`.`codice` = `co_pagamenti`.`codice_modalita_pagamento_fe` LEFT JOIN `fe_modalita_pagamento_lang` ON (`fe_modalita_pagamento_lang`.`id_record`=`fe_modalita_pagamento`.`codice` AND `fe_modalita_pagamento_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `co_pagamenti`.`id`='.$rs2[$i]['id_pagamento'])['descrizione'];
|
||||
echo '
|
||||
<tr>
|
||||
<td style=\'width:15%;\'>
|
||||
<small>'.Translator::dateToLocale($rs2[$i]['scadenza'])."</small>
|
||||
</td>
|
||||
<td style='width:15%;' class='text-right'>
|
||||
<td style='width:15%;'>
|
||||
".(($rs2[$i]['pagato'] == $rs2[$i]['da_pagare']) ? '<small>PAGATO</small>' : '')."
|
||||
</td>
|
||||
<td style='width:15%;' class='text-right'>
|
||||
<td style='width:15%;'>
|
||||
<small>".moneyFormat($rs2[$i]['da_pagare'], $d_totali).'</small>
|
||||
</td>
|
||||
<td style=\'width:15%;\'>
|
||||
|
|
|
@ -1259,26 +1259,6 @@ HAVING
|
|||
2=2" WHERE `name` = 'Categorie impianti';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`my_impianti_categorie`.`id`' WHERE `zz_modules`.`name` = 'Categorie impianti' AND `zz_views`.`name` = 'id';
|
||||
|
||||
-- Allineamento vista Impianti
|
||||
UPDATE `zz_modules` SET `options` = "
|
||||
SELECT
|
||||
|select|
|
||||
FROM
|
||||
`my_impianti`
|
||||
LEFT JOIN `an_anagrafiche` AS clienti ON `clienti`.`idanagrafica` = `my_impianti`.`idanagrafica`
|
||||
LEFT JOIN `an_anagrafiche` AS tecnici ON `tecnici`.`idanagrafica` = `my_impianti`.`idtecnico`
|
||||
LEFT JOIN `my_impianti_categorie` ON `my_impianti_categorie`.`id` = `my_impianti`.`id_categoria`
|
||||
LEFT JOIN `my_impianti_categorie_lang` ON (`my_impianti_categorie`.`id` = `my_impianti_categorie_lang`.`id_record` AND `my_impianti_categorie_lang`.|lang|)
|
||||
LEFT JOIN `my_impianti_categorie` as sub ON sub.`id` = `my_impianti`.`id_sottocategoria`
|
||||
LEFT JOIN `my_impianti_categorie_lang` as sub_lang ON (sub.`id` = sub_lang.`id_record` AND sub_lang.|lang|)
|
||||
LEFT JOIN (SELECT an_sedi.id, CONCAT(an_sedi.nomesede, '<br />',IF(an_sedi.telefono!='',CONCAT(an_sedi.telefono,'<br />'),''),IF(an_sedi.cellulare!='',CONCAT(an_sedi.cellulare,'<br />'),''),an_sedi.citta,IF(an_sedi.indirizzo!='',CONCAT(' - ',an_sedi.indirizzo),'')) AS info FROM an_sedi) AS sede ON sede.id = my_impianti.idsede
|
||||
WHERE
|
||||
1=1
|
||||
HAVING
|
||||
2=2
|
||||
ORDER BY
|
||||
`matricola`" WHERE `name` = 'impianti';
|
||||
|
||||
-- Aggiunta tabella mg_causali_movimenti_lang
|
||||
CREATE TABLE IF NOT EXISTS `mg_causali_movimenti_lang` (
|
||||
`id` int NOT NULL,
|
||||
|
|
|
@ -20,7 +20,9 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`) VALUES
|
|||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Tags'), 'Nome','name', 1);
|
||||
INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
|
||||
(1, (SELECT MAX(`id`)-1 FROM `zz_views` ), 'id'),
|
||||
(1, (SELECT MAX(`id`) FROM `zz_views` ), 'Nome');
|
||||
(1, (SELECT MAX(`id`) FROM `zz_views` ), 'Nome'),
|
||||
(2, (SELECT MAX(`id`)-1 FROM `zz_views` ), 'id'),
|
||||
(2, (SELECT MAX(`id`) FROM `zz_views` ), 'Name');
|
||||
|
||||
-- Aggiunta tabella in_interventi_tags
|
||||
CREATE TABLE `in_interventi_tags` (
|
||||
|
@ -74,7 +76,8 @@ UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_module
|
|||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`) VALUES
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 'Tags', 'tags.nomi', 10);
|
||||
INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
|
||||
(1, (SELECT MAX(`id`) FROM `zz_views` ), 'Tags');
|
||||
(1, (SELECT MAX(`id`) FROM `zz_views` ), 'Tags'),
|
||||
(2, (SELECT MAX(`id`) FROM `zz_views` ), 'Tags');
|
||||
|
||||
-- Aggiunta flag per calcolo media su viste
|
||||
ALTER TABLE `zz_views` ADD `avg` BOOLEAN NOT NULL DEFAULT FALSE AFTER `summable`;
|
||||
|
@ -101,4 +104,59 @@ ALTER TABLE `my_impianti_marche` DROP `nota`;
|
|||
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `my_impianti_marche` LEFT JOIN `my_impianti_marche_lang` ON (my_impianti_marche.id = my_impianti_marche_lang.id_record AND my_impianti_marche_lang.|lang|) WHERE 1=1 AND parent = 0 HAVING 2=2' WHERE `zz_modules`.`name` = 'Marche impianti';
|
||||
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'my_impianti_marche.id' WHERE `zz_modules`.`name` = 'Marche impianti' AND `zz_views`.`name` = 'id';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'my_impianti_marche_lang.title' WHERE `zz_modules`.`name` = 'Marche impianti' AND `zz_views`.`name` = 'Nome';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'my_impianti_marche_lang.title' WHERE `zz_modules`.`name` = 'Marche impianti' AND `zz_views`.`name` = 'Nome';
|
||||
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(pagato = da_pagare, \'#CCFFCC\', IF(data_concordata IS NOT NULL AND data_concordata != \'0000-00-00\', IF(data_concordata < NOW(), \'#ec5353\', \'#b3d2e3\'), IF(scadenza < NOW(), \'#f08080\', IF(DATEDIFF(co_scadenziario.scadenza,NOW()) < 10, \'#f9f9c6\', \'\'))))' WHERE `zz_modules`.`name` = 'Scadenzario' AND `zz_views`.`name` = '_bg_';
|
||||
|
||||
-- Aggiunta colonna Data concordata in Scadenzario
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `format`) VALUES
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Scadenzario'), 'Data concordata', 'IF(data_concordata IS NOT NULL AND data_concordata != \'0000-00-00\', data_concordata, \'\')', 21, 1);
|
||||
INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
|
||||
(1, (SELECT MAX(`id`) FROM `zz_views` ), 'Data concordata'),
|
||||
(2, (SELECT MAX(`id`) FROM `zz_views` ), 'Agreed date');
|
||||
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`dup`.`numero_esterno` IS NOT NULL, \'#ec5353\', co_statidocumento.colore)' WHERE `zz_modules`.`name` = 'Fatture di vendita' AND `zz_views`.`name` = '_bg_';
|
||||
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(em_emails.sent_at IS NULL, IF(em_emails.failed_at IS NULL, \'#f9f9c6\', \'#ec5353\'), \'#CCFFCC\')' WHERE `zz_modules`.`name` = 'Stato email' AND `zz_views`.`name` = '_bg_';
|
||||
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`d`.`conteggio`>1, \'#ec5353\', co_statidocumento.colore)' WHERE `zz_modules`.`name` = 'Fatture di acquisto' AND `zz_views`.`name` = '_bg_';
|
||||
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(threshold_qta!=0, IF(mg_articoli.qta>=threshold_qta, \'#CCFFCC\', \'#ec5353\'), \'\')' WHERE `zz_modules`.`name` = 'Articoli' AND `zz_views`.`name` = '_bg_';
|
||||
|
||||
-- Aggiunta colonna Marca in Impianti
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `visible`) VALUES
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Impianti'), 'Marca', '`marca_lang`.`title`', 11, 0);
|
||||
INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
|
||||
(1, (SELECT MAX(`id`) FROM `zz_views` ), 'Marca'),
|
||||
(2, (SELECT MAX(`id`) FROM `zz_views` ), 'Brand');
|
||||
|
||||
-- Aggiunta colonna Modello in Impianti
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `visible`) VALUES
|
||||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Impianti'), 'Modello', '`modello_lang`.`title`', 12, 0);
|
||||
INSERT INTO `zz_views_lang` (`id_lang`, `id_record`, `title`) VALUES
|
||||
(1, (SELECT MAX(`id`) FROM `zz_views` ), 'Modello'),
|
||||
(2, (SELECT MAX(`id`) FROM `zz_views` ), 'Model');
|
||||
|
||||
-- Allineamento vista Impianti
|
||||
UPDATE `zz_modules` SET `options` = "
|
||||
SELECT
|
||||
|select|
|
||||
FROM
|
||||
`my_impianti`
|
||||
LEFT JOIN `an_anagrafiche` AS clienti ON `clienti`.`idanagrafica` = `my_impianti`.`idanagrafica`
|
||||
LEFT JOIN `an_anagrafiche` AS tecnici ON `tecnici`.`idanagrafica` = `my_impianti`.`idtecnico`
|
||||
LEFT JOIN `my_impianti_categorie` ON `my_impianti_categorie`.`id` = `my_impianti`.`id_categoria`
|
||||
LEFT JOIN `my_impianti_categorie_lang` ON (`my_impianti_categorie`.`id` = `my_impianti_categorie_lang`.`id_record` AND `my_impianti_categorie_lang`.|lang|)
|
||||
LEFT JOIN `my_impianti_categorie` as sub ON sub.`id` = `my_impianti`.`id_sottocategoria`
|
||||
LEFT JOIN `my_impianti_categorie_lang` as sub_lang ON (sub.`id` = sub_lang.`id_record` AND sub_lang.|lang|)
|
||||
LEFT JOIN (SELECT an_sedi.id, CONCAT(an_sedi.nomesede, '<br />',IF(an_sedi.telefono!='',CONCAT(an_sedi.telefono,'<br />'),''),IF(an_sedi.cellulare!='',CONCAT(an_sedi.cellulare,'<br />'),''),an_sedi.citta,IF(an_sedi.indirizzo!='',CONCAT(' - ',an_sedi.indirizzo),'')) AS info FROM an_sedi) AS sede ON sede.id = my_impianti.idsede
|
||||
LEFT JOIN `my_impianti_marche` as marca ON `marca`.`id` = `my_impianti`.`id_marca`
|
||||
LEFT JOIN `my_impianti_marche_lang` as marca_lang ON (`marca`.`id` = `marca_lang`.`id_record` AND `marca_lang`.|lang|)
|
||||
LEFT JOIN `my_impianti_marche` as modello ON `modello`.`id` = `my_impianti`.`id_modello`
|
||||
LEFT JOIN `my_impianti_marche_lang` as modello_lang ON (`modello`.`id` = `modello_lang`.`id_record` AND `modello_lang`.|lang|)
|
||||
WHERE
|
||||
1=1
|
||||
HAVING
|
||||
2=2
|
||||
ORDER BY
|
||||
`matricola`" WHERE `name` = 'Impianti';
|
Loading…
Reference in New Issue