Merge branch 'master' of https://github.com/devcode-it/openstamanager
This commit is contained in:
commit
0dd88e347b
|
@ -22,15 +22,15 @@
|
|||
|
||||
@font-face {
|
||||
font-family: 'Source Sans Pro';
|
||||
src: local('Source Sans Pro'),
|
||||
url('../fonts/sourcesanspro-regular-webfont.eot') format('embedded-opentype'),
|
||||
url('../fonts/sourcesanspro-regular-webfont.woff') format('woff'),
|
||||
url('../fonts/sourcesanspro-regular-webfont.woff2') format('woff2'),
|
||||
url('../fonts/sourcesanspro-regular-webfont.ttf') format('truetype'),
|
||||
url('../fonts/sourcesanspro-regular-webfont.svg') format('svg');
|
||||
src: local('Source Sans Pro'),
|
||||
url('../fonts/sourcesanspro-regular-webfont.eot') format('embedded-opentype'),
|
||||
url('../fonts/sourcesanspro-regular-webfont.woff') format('woff'),
|
||||
url('../fonts/sourcesanspro-regular-webfont.woff2') format('woff2'),
|
||||
url('../fonts/sourcesanspro-regular-webfont.ttf') format('truetype'),
|
||||
url('../fonts/sourcesanspro-regular-webfont.svg') format('svg');
|
||||
}
|
||||
|
||||
html{
|
||||
html {
|
||||
font-size: 13px;
|
||||
height: 100%;
|
||||
}
|
||||
|
@ -88,7 +88,8 @@ input[type=file] {
|
|||
position: fixed;
|
||||
}
|
||||
|
||||
.autocomplete, .ui-autocomplete {
|
||||
.autocomplete,
|
||||
.ui-autocomplete {
|
||||
background: white;
|
||||
z-index: 10000;
|
||||
min-width: 160px;
|
||||
|
@ -102,12 +103,13 @@ input[type=file] {
|
|||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.autocomplete .group, .ui-autocomplete-category {
|
||||
.autocomplete .group,
|
||||
.ui-autocomplete-category {
|
||||
font-size: 1.5em;
|
||||
background: inherit;
|
||||
}
|
||||
|
||||
.autocomplete > div {
|
||||
.autocomplete>div {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
|
@ -115,8 +117,8 @@ input[type=file] {
|
|||
background: #FFFF66;
|
||||
}
|
||||
|
||||
.autocomplete > div:hover:not(.group),
|
||||
.autocomplete > div.selected {
|
||||
.autocomplete>div:hover:not(.group),
|
||||
.autocomplete>div.selected {
|
||||
background: #F5F5F5;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
@ -144,8 +146,10 @@ input[type=file] {
|
|||
|
||||
.navbar a:hover,
|
||||
.logo:hover,
|
||||
.alert a, .alert a:hover,
|
||||
a:hover, a:focus {
|
||||
.alert a,
|
||||
.alert a:hover,
|
||||
a:hover,
|
||||
a:focus {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
@ -191,13 +195,13 @@ a:hover, a:focus {
|
|||
filter: alpha(opacity=90);
|
||||
}
|
||||
|
||||
#main_loading > div {
|
||||
#main_loading>div {
|
||||
position: relative;
|
||||
top: 50%;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
#main_loading > div > i {
|
||||
#main_loading>div>i {
|
||||
font-size: 300px;
|
||||
margin-top: -150px;
|
||||
color: #e24e1e;
|
||||
|
@ -213,7 +217,7 @@ a:hover, a:focus {
|
|||
background: rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
#mini-loader > div {
|
||||
#mini-loader>div {
|
||||
position: absolute;
|
||||
bottom: 50%;
|
||||
left: 50%;
|
||||
|
@ -244,9 +248,9 @@ body .header .logo {
|
|||
border-color: rgba(0, 0, 0, 0.2) !important;
|
||||
}
|
||||
|
||||
.navbar-custom-menu > ul > li > a:hover,
|
||||
.navbar-custom-menu > ul > li > a:focus,
|
||||
.navbar-custom-menu > ul > li > a:active {
|
||||
.navbar-custom-menu>ul>li>a:hover,
|
||||
.navbar-custom-menu>ul>li>a:focus,
|
||||
.navbar-custom-menu>ul>li>a:active {
|
||||
filter: brightness(75%);
|
||||
}
|
||||
|
||||
|
@ -289,7 +293,7 @@ span.form-control {
|
|||
padding: 5px 8px;
|
||||
}
|
||||
|
||||
.dropdown.col-md-3 > .dropdown-menu {
|
||||
.dropdown.col-md-3>.dropdown-menu {
|
||||
width: 91.5%;
|
||||
left: 15px;
|
||||
padding: 5px;
|
||||
|
@ -318,6 +322,7 @@ span.form-control {
|
|||
.widget li {
|
||||
margin-left: 0;
|
||||
list-style-type: none;
|
||||
height: 106px;
|
||||
}
|
||||
|
||||
.widget {
|
||||
|
@ -364,18 +369,18 @@ span.form-control {
|
|||
font-size: 11px;
|
||||
}
|
||||
|
||||
.nav-tabs-custom > .nav-tabs.pull-right > li > a.back-btn {
|
||||
.nav-tabs-custom>.nav-tabs.pull-right>li>a.back-btn {
|
||||
font-size: 12px;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.navbar-nav > .notifications-menu > .dropdown-menu > li .menu > li > a,
|
||||
.navbar-nav > .messages-menu > .dropdown-menu > li .menu > li > a,
|
||||
.navbar-nav > .tasks-menu > .dropdown-menu > li .menu > li > a {
|
||||
.navbar-nav>.notifications-menu>.dropdown-menu>li .menu>li>a,
|
||||
.navbar-nav>.messages-menu>.dropdown-menu>li .menu>li>a,
|
||||
.navbar-nav>.tasks-menu>.dropdown-menu>li .menu>li>a {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.nav-tabs-custom > .nav-tabs.pull-right > li > a.back-btn:hover {
|
||||
.nav-tabs-custom>.nav-tabs.pull-right>li>a.back-btn:hover {
|
||||
cursor: pointer;
|
||||
color: #72AFD2;
|
||||
}
|
||||
|
@ -531,7 +536,7 @@ span.form-control {
|
|||
border: 0px;
|
||||
}
|
||||
|
||||
.input-group-addon.no-padding > * {
|
||||
.input-group-addon.no-padding>* {
|
||||
border-radius: 0px;
|
||||
}
|
||||
|
||||
|
@ -557,7 +562,7 @@ input.small-width {
|
|||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
#main_loading > div > i {
|
||||
#main_loading>div>i {
|
||||
font-size: 160px;
|
||||
margin-top: -80px;
|
||||
}
|
||||
|
@ -594,12 +599,13 @@ input.small-width {
|
|||
}
|
||||
|
||||
@media screen and (max-width: 992px) {
|
||||
.table-bordered > thead > tr > th,
|
||||
.table-bordered > tbody > tr > th,
|
||||
.table-bordered > tfoot > tr > th,
|
||||
.table-bordered > thead > tr > td,
|
||||
.table-bordered > tbody > tr > td,
|
||||
.table-bordered > tfoot > tr > td {
|
||||
|
||||
.table-bordered>thead>tr>th,
|
||||
.table-bordered>tbody>tr>th,
|
||||
.table-bordered>tfoot>tr>th,
|
||||
.table-bordered>thead>tr>td,
|
||||
.table-bordered>tbody>tr>td,
|
||||
.table-bordered>tfoot>tr>td {
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
|
@ -656,7 +662,7 @@ input.small-width {
|
|||
top: -10000px;
|
||||
}
|
||||
|
||||
.box-info ul > li > :last-child {
|
||||
.box-info ul>li> :last-child {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
|
@ -686,7 +692,7 @@ input.small-width {
|
|||
background: #fff;
|
||||
}
|
||||
|
||||
.component-loader > div {
|
||||
.component-loader>div {
|
||||
position: relative;
|
||||
top: 50%;
|
||||
color: #333;
|
||||
|
@ -715,8 +721,14 @@ input.small-width {
|
|||
cursor: pointer;
|
||||
}
|
||||
|
||||
.fc-event {
|
||||
border-top-width: 10px;
|
||||
.fc-event.fc-h-event,
|
||||
.fc-event.fc-v-event {
|
||||
border-top-width: 10px !important;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.fc-daygrid-dot-event {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.fc-event-primary {
|
||||
|
@ -732,21 +744,21 @@ input.small-width {
|
|||
|
||||
/* Fix per tabs editor */
|
||||
|
||||
.nav-tabs-custom > .nav-tabs > li {
|
||||
.nav-tabs-custom>.nav-tabs>li {
|
||||
border-top: 3px solid #ddd;
|
||||
}
|
||||
|
||||
.nav-tabs-custom > .nav-tabs.pull-right > li:first-of-type.active > a {
|
||||
.nav-tabs-custom>.nav-tabs.pull-right>li:first-of-type.active>a {
|
||||
border-right-color: #f4f4f4;
|
||||
border-right-width: 1px;
|
||||
border-left-width: 0px;
|
||||
}
|
||||
|
||||
.nav-tabs-custom > .nav-tabs > li.header {
|
||||
.nav-tabs-custom>.nav-tabs>li.header {
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.nav-tabs-custom > .nav-tabs > li {
|
||||
.nav-tabs-custom>.nav-tabs>li {
|
||||
margin-bottom: -1px;
|
||||
margin-right: 0px;
|
||||
}
|
||||
|
@ -787,32 +799,32 @@ input.small-width {
|
|||
margin-left: -4.5px;
|
||||
}
|
||||
|
||||
.timeline > li {
|
||||
.timeline>li {
|
||||
margin-bottom: 20px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.timeline > li:before,
|
||||
.timeline > li:after {
|
||||
.timeline>li:before,
|
||||
.timeline>li:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
|
||||
.timeline > li:after {
|
||||
.timeline>li:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.timeline > li:before,
|
||||
.timeline > li:after {
|
||||
.timeline>li:before,
|
||||
.timeline>li:after {
|
||||
content: " ";
|
||||
display: table;
|
||||
}
|
||||
|
||||
.timeline > li:after {
|
||||
.timeline>li:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-panel {
|
||||
.timeline>li>.timeline-panel {
|
||||
width: 50%;
|
||||
float: left;
|
||||
border: 1px solid #d4d4d4;
|
||||
|
@ -823,20 +835,20 @@ input.small-width {
|
|||
box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175);
|
||||
}
|
||||
|
||||
.timeline > li.timeline-inverted + li:not(.timeline-inverted),
|
||||
.timeline > li:not(.timeline-inverted) + li.timeline-inverted {
|
||||
.timeline>li.timeline-inverted+li:not(.timeline-inverted),
|
||||
.timeline>li:not(.timeline-inverted)+li.timeline-inverted {
|
||||
margin-top: -60px;
|
||||
}
|
||||
|
||||
.timeline > li:not(.timeline-inverted) {
|
||||
.timeline>li:not(.timeline-inverted) {
|
||||
padding-right: 90px;
|
||||
}
|
||||
|
||||
.timeline > li.timeline-inverted {
|
||||
.timeline>li.timeline-inverted {
|
||||
padding-left: 90px;
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-panel:before {
|
||||
.timeline>li>.timeline-panel:before {
|
||||
position: absolute;
|
||||
top: 26px;
|
||||
right: -15px;
|
||||
|
@ -848,7 +860,7 @@ input.small-width {
|
|||
content: " ";
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-panel:after {
|
||||
.timeline>li>.timeline-panel:after {
|
||||
position: absolute;
|
||||
top: 27px;
|
||||
right: -14px;
|
||||
|
@ -860,7 +872,7 @@ input.small-width {
|
|||
content: " ";
|
||||
}
|
||||
|
||||
.timeline > li > .timeline-badge {
|
||||
.timeline>li>.timeline-badge {
|
||||
color: #fff;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
|
@ -879,18 +891,18 @@ input.small-width {
|
|||
border-bottom-left-radius: 50%;
|
||||
}
|
||||
|
||||
.timeline > li.timeline-inverted > .timeline-panel {
|
||||
.timeline>li.timeline-inverted>.timeline-panel {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.timeline > li.timeline-inverted > .timeline-panel:before {
|
||||
.timeline>li.timeline-inverted>.timeline-panel:before {
|
||||
border-left-width: 0;
|
||||
border-right-width: 15px;
|
||||
left: -15px;
|
||||
right: auto;
|
||||
}
|
||||
|
||||
.timeline > li.timeline-inverted > .timeline-panel:after {
|
||||
.timeline>li.timeline-inverted>.timeline-panel:after {
|
||||
border-left-width: 0;
|
||||
border-right-width: 14px;
|
||||
left: -14px;
|
||||
|
@ -922,12 +934,12 @@ input.small-width {
|
|||
color: inherit;
|
||||
}
|
||||
|
||||
.timeline-body > p,
|
||||
.timeline-body > ul {
|
||||
.timeline-body>p,
|
||||
.timeline-body>ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.timeline-body > p + p {
|
||||
.timeline-body>p+p {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
|
@ -1000,33 +1012,33 @@ div.tip {
|
|||
display: none;
|
||||
}
|
||||
|
||||
.checkbox-group input[type="checkbox"] + .btn-group > label span {
|
||||
.checkbox-group input[type="checkbox"]+.btn-group>label span {
|
||||
/*width: 20px;*/
|
||||
}
|
||||
|
||||
.checkbox-group input[type="checkbox"] + .btn-group {
|
||||
.checkbox-group input[type="checkbox"]+.btn-group {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.checkbox-group input[type="checkbox"] + .btn-group label:last-child {
|
||||
.checkbox-group input[type="checkbox"]+.btn-group label:last-child {
|
||||
flex-grow: 100;
|
||||
}
|
||||
|
||||
.checkbox-group input[type="checkbox"] + .btn-group > label span:first-child {
|
||||
.checkbox-group input[type="checkbox"]+.btn-group>label span:first-child {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.checkbox-group input[type="checkbox"] + .btn-group > label span:last-child {
|
||||
.checkbox-group input[type="checkbox"]+.btn-group>label span:last-child {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.checkbox-group input[type="checkbox"]:checked + .btn-group > label span:first-child {
|
||||
.checkbox-group input[type="checkbox"]:checked+.btn-group>label span:first-child {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.checkbox-group input[type="checkbox"]:checked + .btn-group > label span:last-child {
|
||||
.checkbox-group input[type="checkbox"]:checked+.btn-group>label span:last-child {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
@ -1049,7 +1061,7 @@ div.tip {
|
|||
}
|
||||
|
||||
.control-sidebar.control-sidebar-open,
|
||||
.control-sidebar.control-sidebar-open + .control-sidebar-bg {
|
||||
.control-sidebar.control-sidebar-open+.control-sidebar-bg {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
|
@ -1078,7 +1090,7 @@ div.tip {
|
|||
height: 0
|
||||
}
|
||||
|
||||
.local-loader > div {
|
||||
.local-loader>div {
|
||||
position: absolute;
|
||||
top: 100px;
|
||||
z-index: 2;
|
||||
|
@ -1091,7 +1103,8 @@ div.tip {
|
|||
}
|
||||
|
||||
/* Stile Fullcalendar per weekend */
|
||||
.fc-sat, .fc-sun {
|
||||
.fc-sat,
|
||||
.fc-sun {
|
||||
background-color: rgba(255, 99, 71, 0.6) !important;
|
||||
}
|
||||
|
||||
|
@ -1107,12 +1120,12 @@ div.tip {
|
|||
user-select: none;
|
||||
}
|
||||
|
||||
.table-extra-condensed > thead > tr > th,
|
||||
.table-extra-condensed > tbody > tr > th,
|
||||
.table-extra-condensed > tfoot > tr > th,
|
||||
.table-extra-condensed > thead > tr > td,
|
||||
.table-extra-condensed > tbody > tr > td,
|
||||
.table-extra-condensed > tfoot > tr > td {
|
||||
.table-extra-condensed>thead>tr>th,
|
||||
.table-extra-condensed>tbody>tr>th,
|
||||
.table-extra-condensed>tfoot>tr>th,
|
||||
.table-extra-condensed>thead>tr>td,
|
||||
.table-extra-condensed>tbody>tr>td,
|
||||
.table-extra-condensed>tfoot>tr>td {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
|
@ -1127,14 +1140,16 @@ div.tip {
|
|||
|
||||
@media (min-width: 768px) {
|
||||
|
||||
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu > li:hover > a > span:not(.pull-right),
|
||||
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu > li:hover > .treeview-menu {
|
||||
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>span:not(.pull-right),
|
||||
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>.treeview-menu {
|
||||
width: 220px;
|
||||
}
|
||||
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu > li:hover > a > .pull-right-container {
|
||||
|
||||
.sidebar-mini:not(.sidebar-mini-expand-feature).sidebar-collapse .sidebar-menu>li:hover>a>.pull-right-container {
|
||||
left: 220px !important;
|
||||
}
|
||||
html body.sidebar-mini.sidebar-mini.sidebar-collapse i.fa.fa-user-circle-o.fa-3x.pull-left{
|
||||
|
||||
html body.sidebar-mini.sidebar-mini.sidebar-collapse i.fa.fa-user-circle-o.fa-3x.pull-left {
|
||||
font-size: 2.4em;
|
||||
}
|
||||
}
|
|
@ -260,6 +260,7 @@ function getDatatablesButtons(table) {
|
|||
// Pulsante di esportazione in formato PDF
|
||||
{
|
||||
extend: 'pdf',
|
||||
orientation: 'landscape',
|
||||
footer: true,
|
||||
exportOptions: {
|
||||
modifier: {
|
||||
|
|
|
@ -32,7 +32,7 @@ switch ($resource) {
|
|||
an_anagrafiche.lat,
|
||||
an_anagrafiche.lng,
|
||||
is_bloccata,
|
||||
CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(an_anagrafiche.deleted_at IS NULL, '', ' (".tr('eliminata').")'), IF(is_bloccata = 1, CONCAT(' (', an_relazioni.descrizione, ')'), '') ) AS descrizione,
|
||||
CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(an_anagrafiche.deleted_at IS NULL, '', ' (".tr('eliminata').")'), IF(is_bloccata = 1, CONCAT(' (', an_relazioni.descrizione, ')'), ''),' - ', an_anagrafiche.codice ) AS descrizione,
|
||||
idtipointervento_default AS idtipointervento,
|
||||
in_tipiintervento.descrizione AS idtipointervento_descrizione,
|
||||
an_anagrafiche.idzona,
|
||||
|
@ -81,6 +81,7 @@ switch ($resource) {
|
|||
$search_fields[] = 'ragione_sociale LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'provincia LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'an_anagrafiche.codice LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
|
||||
$data = AJAX::selectResults($query, $where, $filter, $search_fields, $limit, $custom);
|
||||
|
@ -105,7 +106,7 @@ switch ($resource) {
|
|||
case 'fornitori':
|
||||
$id_azienda = setting('Azienda predefinita');
|
||||
|
||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(an_anagrafiche.deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento_default AS idtipointervento, co_pagamenti.id AS id_pagamento, co_pagamenti.descrizione AS desc_pagamento, banca_acquisti.id AS id_banca_acquisti, CONCAT(banca_acquisti.nome, ' - ', banca_acquisti.iban) AS descrizione_banca_acquisti FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica LEFT JOIN co_pagamenti ON an_anagrafiche.idpagamento_acquisti=co_pagamenti.id LEFT JOIN co_banche banca_acquisti ON co_pagamenti.idconto_acquisti = banca_acquisti.id_pianodeiconti3 AND banca_acquisti.id_anagrafica = ".prepare($id_azienda)." AND banca_acquisti.deleted_at IS NULL AND banca_acquisti.predefined = 1 |where| ORDER BY ragione_sociale";
|
||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(an_anagrafiche.deleted_at IS NULL, '', ' (".tr('eliminata').")'),' - ', an_anagrafiche.codice) AS descrizione, idtipointervento_default AS idtipointervento, co_pagamenti.id AS id_pagamento, co_pagamenti.descrizione AS desc_pagamento, banca_acquisti.id AS id_banca_acquisti, CONCAT(banca_acquisti.nome, ' - ', banca_acquisti.iban) AS descrizione_banca_acquisti FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica LEFT JOIN co_pagamenti ON an_anagrafiche.idpagamento_acquisti=co_pagamenti.id LEFT JOIN co_banche banca_acquisti ON co_pagamenti.idconto_acquisti = banca_acquisti.id_pianodeiconti3 AND banca_acquisti.id_anagrafica = ".prepare($id_azienda)." AND banca_acquisti.deleted_at IS NULL AND banca_acquisti.predefined = 1 |where| ORDER BY ragione_sociale";
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
|
||||
|
@ -120,12 +121,13 @@ switch ($resource) {
|
|||
$search_fields[] = 'ragione_sociale LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'provincia LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'an_anagrafiche.codice LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'vettori':
|
||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento_default AS idtipointervento FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
|
||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")'),' - ', an_anagrafiche.codice) AS descrizione, idtipointervento_default AS idtipointervento FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
|
||||
|
@ -140,6 +142,7 @@ switch ($resource) {
|
|||
$search_fields[] = 'ragione_sociale LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'provincia LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'an_anagrafiche.codice LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -149,7 +152,7 @@ switch ($resource) {
|
|||
* - idanagrafica
|
||||
*/
|
||||
case 'agenti':
|
||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
|
||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")'),' - ', an_anagrafiche.codice) AS descrizione, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
|
||||
|
@ -164,6 +167,7 @@ switch ($resource) {
|
|||
$search_fields[] = 'ragione_sociale LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'provincia LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'an_anagrafiche.codice LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
|
||||
$results = AJAX::selectResults($query, $where, $filter, $search, $limit, $custom);
|
||||
|
@ -184,7 +188,7 @@ switch ($resource) {
|
|||
break;
|
||||
|
||||
case 'tecnici':
|
||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
|
||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')')), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")'),' - ', an_anagrafiche.codice) AS descrizione, idtipointervento_default FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY ragione_sociale";
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
|
||||
|
@ -208,12 +212,13 @@ switch ($resource) {
|
|||
$search_fields[] = 'ragione_sociale LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'provincia LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'an_anagrafiche.codice LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'clienti_fornitori':
|
||||
$query = "SELECT `an_anagrafiche`.`idanagrafica` AS id, CONCAT_WS('', ragione_sociale, IF(citta !='' OR provincia != '', CONCAT(' (', citta, IF(provincia!='', CONCAT(' ', provincia), ''), ')'), ''), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, `an_tipianagrafiche`.`descrizione` AS optgroup, idtipointervento_default, an_tipianagrafiche.idtipoanagrafica FROM `an_tipianagrafiche` INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` |where| ORDER BY `optgroup` ASC, ragione_sociale ASC";
|
||||
$query = "SELECT `an_anagrafiche`.`idanagrafica` AS id, CONCAT_WS('', ragione_sociale, IF(citta !='' OR provincia != '', CONCAT(' (', citta, IF(provincia!='', CONCAT(' ', provincia), ''), ')'), ''), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")'),' - ', an_anagrafiche.codice) AS descrizione, `an_tipianagrafiche`.`descrizione` AS optgroup, idtipointervento_default, an_tipianagrafiche.idtipoanagrafica FROM `an_tipianagrafiche` INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`idtipoanagrafica`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` |where| ORDER BY `optgroup` ASC, ragione_sociale ASC";
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
|
||||
|
@ -229,6 +234,7 @@ switch ($resource) {
|
|||
$search_fields[] = 'ragione_sociale LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'provincia LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'an_anagrafiche.codice LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
|
||||
// Aggiunta filtri di ricerca
|
||||
|
@ -260,7 +266,7 @@ switch ($resource) {
|
|||
|
||||
// Nota Bene: nel campo id viene specificato idtipoanagrafica-idanagrafica -> modulo Utenti e permessi, creazione nuovo utente
|
||||
case 'anagrafiche':
|
||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT_WS('', ragione_sociale, IF(citta !='' OR provincia != '', CONCAT(' (', citta, IF(provincia!='', CONCAT(' ', provincia), ''), ')'), ''), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")')) AS descrizione, `an_tipianagrafiche`.`descrizione` AS optgroup FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY `optgroup` ASC, ragione_sociale ASC";
|
||||
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT_WS('', ragione_sociale, IF(citta !='' OR provincia != '', CONCAT(' (', citta, IF(provincia!='', CONCAT(' ', provincia), ''), ')'), ''), IF(deleted_at IS NULL, '', ' (".tr('eliminata').")'),' - ', an_anagrafiche.codice) AS descrizione, `an_tipianagrafiche`.`descrizione` AS optgroup FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica |where| ORDER BY `optgroup` ASC, ragione_sociale ASC";
|
||||
|
||||
foreach ($elements as $element) {
|
||||
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
|
||||
|
@ -274,6 +280,7 @@ switch ($resource) {
|
|||
$search_fields[] = 'ragione_sociale LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'citta LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'provincia LIKE '.prepare('%'.$search.'%');
|
||||
$search_fields[] = 'an_anagrafiche.codice LIKE '.prepare('%'.$search.'%');
|
||||
}
|
||||
|
||||
// Aggiunta filtri di ricerca
|
||||
|
|
|
@ -331,9 +331,9 @@ $vista = setting('Vista dashboard');
|
|||
if ($vista == 'mese') {
|
||||
$def = 'dayGridMonth';
|
||||
} elseif ($vista == 'giorno') {
|
||||
$def = 'timeGridWeek';
|
||||
$def = 'resourceTimeGridDay';
|
||||
} elseif ($vista == 'settimana') {
|
||||
$def = 'listWeek';
|
||||
$def = 'timeGridWeek';
|
||||
} else {
|
||||
$def = 'listWeek';
|
||||
}
|
||||
|
@ -415,10 +415,9 @@ globals.dashboard = {
|
|||
$("#elenco-promemoria").html(data);
|
||||
|
||||
$("#external-events .fc-event").each(function () {
|
||||
new Draggable( document.getElementById( $(this).attr("id") ), {
|
||||
zIndex: 999,
|
||||
new Draggable( this, {
|
||||
create: false,
|
||||
revert: true,
|
||||
revertDuration: 0,
|
||||
eventData: {
|
||||
title: $.trim($(this).text()),
|
||||
stick: false
|
||||
|
@ -515,15 +514,16 @@ globals.dashboard = {
|
|||
headerToolbar: {
|
||||
left: "prev,next today",
|
||||
center: "title",
|
||||
right: "dayGridMonth,timeGridWeek,listWeek"
|
||||
right: "dayGridMonth,timeGridWeek,resourceTimeGridDay,listWeek"
|
||||
},
|
||||
eventDisplay: "block",
|
||||
timeFormat: globals.dashboard.timeFormat,
|
||||
slotLabelFormat: globals.dashboard.timeFormat,
|
||||
slotDuration: "00:15:00",
|
||||
snapDuration: globals.snapDuration,
|
||||
initialView: "dayGridMonth",
|
||||
minTime: globals.dashboard.start_time,
|
||||
maxTime: globals.dashboard.end_time,
|
||||
initialView: globals.dashboard.style,
|
||||
slotMinTime: globals.dashboard.start_time,
|
||||
slotMaxTime: globals.dashboard.end_time,
|
||||
lazyFetching: true,
|
||||
selectMirror: true,
|
||||
eventLimit: false, // allow "more" link when too many events
|
||||
|
@ -531,7 +531,7 @@ globals.dashboard = {
|
|||
|
||||
loading: function (isLoading, view) {
|
||||
if (isLoading) {
|
||||
$("#tiny-loader").fadeIn();
|
||||
$("#tiny-loader").show();
|
||||
} else {
|
||||
$("#tiny-loader").hide();
|
||||
}
|
||||
|
@ -555,7 +555,6 @@ globals.dashboard = {
|
|||
openModal(globals.dashboard.drop.title, globals.dashboard.drop.url + "&data=" + data + "&orario_inizio=" + ora_dal + "&orario_fine=" + ora_al + "&ref=dashboard&idcontratto=" + info.draggedEl.dataset.idcontratto + "&" + name + "=" + info.draggedEl.dataset.id + "&id_tecnico=" + info.draggedEl.dataset.id_tecnico);
|
||||
|
||||
// Ricaricamento dei dati alla chiusura del modal
|
||||
$(this).remove();
|
||||
$("#modals > div").on("hidden.bs.modal", function () {
|
||||
globals.dashboard.calendar.refetchEvents();
|
||||
|
||||
|
@ -563,6 +562,9 @@ globals.dashboard = {
|
|||
carica_interventi_da_pianificare(mese);
|
||||
});
|
||||
},
|
||||
eventReceive: function(info){
|
||||
info.revert();
|
||||
},
|
||||
|
||||
selectable: globals.dashboard.write_permission,
|
||||
select: function (info) { // info
|
||||
|
@ -669,7 +671,7 @@ if(isMobile() && setting('Utilizzare i tooltip sul calendario')){
|
|||
|
||||
echo '
|
||||
eventContent: function (info) {
|
||||
return { html: "<div style=\"width:100%; background:" + info.event.backgroundColor + ";\">" + info.event.title + "</div>" };
|
||||
return { html: info.event.title };
|
||||
},
|
||||
|
||||
eventDidMount: function(info){
|
||||
|
|
|
@ -690,8 +690,7 @@ echo '
|
|||
$("#modals > div").modal("hide");
|
||||
|
||||
// Aggiornamento elenco interventi da pianificare
|
||||
$("#calendar").fullCalendar("refetchEvents");
|
||||
$("#calendar").fullCalendar("render");
|
||||
globals.dashboard.calendar.refetchEvents();
|
||||
}
|
||||
|
||||
// Se l\'aggiunta intervento proviene dai contratti, faccio il submit via ajax e ricarico la tabella dei contratti
|
||||
|
|
|
@ -24,6 +24,7 @@ use Models\Cache;
|
|||
use Models\Module;
|
||||
use Models\Plugin;
|
||||
use Util\FileSystem;
|
||||
use Carbon\Carbon;
|
||||
|
||||
$id = post('id');
|
||||
|
||||
|
@ -267,6 +268,20 @@ switch (filter('op')) {
|
|||
|
||||
break;
|
||||
|
||||
case 'svuota-cache-hooks':
|
||||
|
||||
// Svuota cache hooks
|
||||
$database->table('zz_cache')
|
||||
->update(['expire_at' => Carbon::now()->subMinutes(1)]);
|
||||
|
||||
// Messaggio informativo
|
||||
flash()->info(tr('Cache hooks svuotata!', []));
|
||||
|
||||
|
||||
echo json_encode([]);
|
||||
break;
|
||||
|
||||
|
||||
case 'disabilita-hook':
|
||||
$id = filter('id');
|
||||
|
||||
|
|
|
@ -89,14 +89,57 @@ foreach ($gruppi as $modulo => $hooks) {
|
|||
</tr>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</tbody>';
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
echo '<tr><td colspan="3"><p> </p><button type="button" class="btn btn-danger btn-xs pull-right" onclick="svuotaCacheHooks(this)">
|
||||
<i class="fa fa-trash" title="'.tr('Svuota cache degli hooks').'"></i> '.tr('Svuota cache').'</button>
|
||||
</td></tr>';
|
||||
|
||||
echo '
|
||||
</tbody>';
|
||||
|
||||
|
||||
echo '
|
||||
</table>
|
||||
|
||||
<script>
|
||||
|
||||
function svuotaCacheHooks(button){
|
||||
swal({
|
||||
title: "'.tr('Svuota la cache degli hooks', []).'",
|
||||
html: "'.tr('Sei sicuro di voler svuotare la cache degli hooks?', []).'",
|
||||
type: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonText: "'.tr('Continua').'"
|
||||
}).then(function (result) {
|
||||
let restore = buttonLoading(button);
|
||||
|
||||
$.ajax({
|
||||
url: globals.rootdir + "/actions.php",
|
||||
type: "POST",
|
||||
dataType: "JSON",
|
||||
data: {
|
||||
id_module: globals.id_module,
|
||||
op: "svuota-cache-hooks",
|
||||
},
|
||||
success: function (response) {
|
||||
buttonRestore(button, restore);
|
||||
renderMessages();
|
||||
},
|
||||
error: function() {
|
||||
buttonRestore(button, restore);
|
||||
swal({
|
||||
type: "error",
|
||||
title: globals.translations.ajax.error.title,
|
||||
text: globals.translations.ajax.error.text,
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
function disabilitaHook(button){
|
||||
const riga = $(button).closest("tr");
|
||||
const id = riga.data("id");
|
||||
|
@ -105,10 +148,10 @@ function disabilitaHook(button){
|
|||
const nome_tipo = "hook";
|
||||
|
||||
swal({
|
||||
title: "'.tr('Disabilitare il _TYPE_?', [
|
||||
title: "'.tr('Disabilita _TYPE_', [
|
||||
'_TYPE_' => '" + nome_tipo + "',
|
||||
]).'",
|
||||
html: "'.tr('Sei sicuro di voler disabilitare il _TYPE_ _NAME_?', [
|
||||
html: "'.tr('Sei sicuro di voler disabilitare l\'_TYPE_ _NAME_?', [
|
||||
'_TYPE_' => '" + nome_tipo + "',
|
||||
'_NAME_' => '" + nome + "',
|
||||
]).'",
|
||||
|
@ -152,10 +195,10 @@ function abilitaHook(button) {
|
|||
const nome_tipo = "hook";
|
||||
|
||||
swal({
|
||||
title: "'.tr('Abilitare il _TYPE_?', [
|
||||
title: "'.tr('Abilita _TYPE_', [
|
||||
'_TYPE_' => '" + nome_tipo + "',
|
||||
]).'",
|
||||
html: "'.tr('Sei sicuro di voler abilitare il _TYPE_ _NAME_?', [
|
||||
html: "'.tr('Sei sicuro di voler abilitare l\'_TYPE_ _NAME_?', [
|
||||
'_TYPE_' => '" + nome_tipo + "',
|
||||
'_NAME_' => '" + nome + "',
|
||||
]).'",
|
||||
|
|
|
@ -245,11 +245,11 @@ class WidgetManager implements ManagerInterface
|
|||
|
||||
// Generazione del codice HTML
|
||||
if (!empty($widgets)) {
|
||||
$row_max = count($widgets);
|
||||
if ($row_max > 4) {
|
||||
$row_max = 4;
|
||||
} elseif ($row_max < 2) {
|
||||
$row_max = 2;
|
||||
$row_max = setting('Numero massimo Widget per riga');
|
||||
if ($row_max > 6) {
|
||||
$row_max = 6;
|
||||
} elseif ($row_max < 1) {
|
||||
$row_max = 1;
|
||||
}
|
||||
|
||||
$result = '
|
||||
|
|
|
@ -226,7 +226,7 @@ class Update
|
|||
}
|
||||
|
||||
/**
|
||||
* Esegue una precisa sezione dell'aggiornamento fa fare, partendo dalle query e passando poi allo script relativo.
|
||||
* Esegue una precisa sezione dell'aggiornamento da fare, partendo dalle query e passando poi allo script relativo.
|
||||
* Prima dell'esecuzione dello script viene inoltre eseguita un'operazione di normalizzazione dei campi delle tabelle del database finalizzata a generalizzare la gestione delle informazioni per l'API: vengono quindi aggiunti i campi <b>created_at</b> e, se permesso dalla versione di MySQL, <b>updated_at</b> ad ogni tabella registrata del software.
|
||||
*
|
||||
* @param int $rate Numero di singole query da eseguire dell'aggiornamento corrente
|
||||
|
|
|
@ -105,4 +105,48 @@ ALTER TABLE `an_mansioni` CHANGE `created_at` `created_at` TIMESTAMP NULL DEFAUL
|
|||
ALTER TABLE `an_mansioni` CHANGE `updated_at` `updated_at` TIMESTAMP on update CURRENT_TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
ALTER TABLE `em_mansioni_template` CHANGE `created_at` `created_at` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP;
|
||||
ALTER TABLE `em_mansioni_template` CHANGE `updated_at` `updated_at` TIMESTAMP on update CURRENT_TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP;
|
||||
ALTER TABLE `em_mansioni_template` CHANGE `updated_at` `updated_at` TIMESTAMP on update CURRENT_TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP;
|
||||
|
||||
-- Fix query vista Pagamenti
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`pagamenti`.`tipo`' WHERE `zz_modules`.`name` = 'Pagamenti' AND `zz_views`.`name` = 'Codice pagamento';
|
||||
UPDATE `zz_modules` SET `options` = "SELECT
|
||||
|select|
|
||||
FROM
|
||||
`co_pagamenti`
|
||||
LEFT JOIN(SELECT `fe_modalita_pagamento`.`codice`, CONCAT(`fe_modalita_pagamento`.`codice`, ' - ', `fe_modalita_pagamento`.`descrizione`) AS tipo FROM `fe_modalita_pagamento`) AS pagamenti ON `pagamenti`.`codice` = `co_pagamenti`.`codice_modalita_pagamento_fe`
|
||||
WHERE
|
||||
1=1
|
||||
GROUP BY
|
||||
`descrizione`
|
||||
HAVING
|
||||
2=2" WHERE `name` = 'Pagamenti';
|
||||
|
||||
-- Aggiunta impostazione Numero massimo widget per colonna
|
||||
INSERT INTO zz_settings(nome, valore, tipo, editable, sezione) VALUES ('Numero massimo Widget per riga','6','list[1,2,3,4,6]','1','Generali');
|
||||
|
||||
-- Modifica widget Magazzino
|
||||
UPDATE `zz_widgets` SET `query` = 'SELECT REPLACE(REPLACE(REPLACE(FORMAT(SUM(qta),2), ",", "#"), ".", ","), "#", ".") AS dato FROM mg_articoli WHERE qta>0 AND deleted_at IS NULL AND servizio=0 AND 1=1' WHERE `zz_widgets`.`name` = 'Articoli in magazzino';
|
||||
UPDATE `zz_widgets` SET `text` = 'Unità' WHERE `zz_widgets`.`name` = 'Articoli in magazzino';
|
||||
UPDATE `zz_widgets` SET `text` = 'Valore' WHERE `zz_widgets`.`name` = 'Valore magazzino';
|
||||
|
||||
-- Aggiunta colonna Banca azienda in Scadenzario
|
||||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ('18', 'Banca azienda', '`banca`.`nome`', '18', '1', '0', '0', '0', NULL, NULL, '0', '0', '0');
|
||||
|
||||
UPDATE `zz_modules` SET `options` = "
|
||||
SELECT
|
||||
|select|
|
||||
FROM
|
||||
`co_scadenziario`
|
||||
LEFT JOIN `co_documenti` ON `co_scadenziario`.`iddocumento` = `co_documenti`.`id`
|
||||
LEFT JOIN (SELECT `co_banche`.`nome`AS nome, `co_banche`.`id` FROM `co_banche` INNER JOIN `co_documenti` ON `co_documenti`.`id_banca_azienda` = `co_banche`.`id`)AS banca ON `co_scadenziario`.`iddocumento` = `co_documenti`.`id`
|
||||
LEFT JOIN `an_anagrafiche` ON `co_scadenziario`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
|
||||
LEFT JOIN `co_pagamenti` ON `co_documenti`.`idpagamento` = `co_pagamenti`.`id`
|
||||
LEFT JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`
|
||||
LEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`
|
||||
LEFT JOIN (SELECT `zz_operations`.`id_email`, `zz_operations`.`id_record` FROM `zz_operations` INNER JOIN `em_emails` ON `zz_operations`.`id_email` = `em_emails`.`id` INNER JOIN `em_templates` ON `em_emails`.`id_template` = `em_templates`.`id` INNER JOIN `zz_modules` ON `zz_operations`.`id_module` = `zz_modules`.`id` WHERE `zz_modules`.`name` = 'Scadenzario' AND `zz_operations`.`op` = 'send-email' GROUP BY `zz_operations`.`id_record`) AS `email` ON `email`.`id_record` = `co_scadenziario`.`id`
|
||||
WHERE
|
||||
1=1 AND (`co_statidocumento`.`descrizione` IS NULL OR `co_statidocumento`.`descrizione` IN('Emessa','Parzialmente pagato','Pagato'))
|
||||
HAVING
|
||||
2=2
|
||||
ORDER BY
|
||||
`scadenza` ASC" WHERE `name` = 'Scadenzario';
|
Loading…
Reference in New Issue