Rimozione controllo sui permessi per select (2.3.1)

This commit is contained in:
Thomas Zilio 2018-02-16 14:28:35 +01:00
parent 79c6137bb1
commit 0f5ae03b87
1 changed files with 237 additions and 254 deletions

View File

@ -56,7 +56,6 @@ if (!function_exists('completeResults')) {
switch ($op) { switch ($op) {
case 'clienti': case 'clienti':
if ((Modules::get('Anagrafiche')['permessi'] != '-') or (Modules::getAdditionalsQuery('Anagrafiche'))) {
//$citta_cliente = ", IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))"; //$citta_cliente = ", IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))";
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale $citta_cliente) AS descrizione, idtipointervento_default, idzona 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 $citta_cliente) AS descrizione, idtipointervento_default, idzona 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";
@ -78,12 +77,10 @@ switch ($op) {
$custom['idtipointervento'] = 'idtipointervento_default'; $custom['idtipointervento'] = 'idtipointervento_default';
$custom['idzona'] = 'idzona'; $custom['idzona'] = 'idzona';
}
break; break;
case 'fornitori': case 'fornitori':
if ((Modules::get('Anagrafiche')['permessi'] != '-') or (Modules::getAdditionalsQuery('Anagrafiche'))) {
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))) 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, ')'))) 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) { foreach ($elements as $element) {
@ -102,11 +99,10 @@ switch ($op) {
} }
$custom['idtipointervento'] = 'idtipointervento_default'; $custom['idtipointervento'] = 'idtipointervento_default';
}
break; break;
case 'agenti': case 'agenti':
if ((Modules::get('Anagrafiche')['permessi'] != '-') or (Modules::getAdditionalsQuery('Anagrafiche'))) {
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))) 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, ')'))) 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) { foreach ($elements as $element) {
@ -139,11 +135,10 @@ switch ($op) {
if ($pos !== false) { if ($pos !== false) {
$results[$pos]['_bgcolor_'] = '#ff0'; $results[$pos]['_bgcolor_'] = '#ff0';
} }
}
break; break;
case 'tecnici': case 'tecnici':
if ((Modules::get('Anagrafiche')['permessi'] != '-') or (Modules::getAdditionalsQuery('Anagrafiche'))) {
$query = "SELECT an_anagrafiche.idanagrafica AS id, CONCAT(ragione_sociale, IF(citta IS NULL OR citta = '', '', CONCAT(' (', citta, ')'))) 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, ')'))) 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) { foreach ($elements as $element) {
@ -162,12 +157,11 @@ switch ($op) {
} }
// $custom['idtipointervento'] = 'idtipointervento_default'; // $custom['idtipointervento'] = 'idtipointervento_default';
}
break; break;
// Nota Bene: nel campo id viene specificato idtipoanagrafica-idanagrafica -> modulo Utenti e permessi, creazione nuovo utente // Nota Bene: nel campo id viene specificato idtipoanagrafica-idanagrafica -> modulo Utenti e permessi, creazione nuovo utente
case 'anagrafiche': case 'anagrafiche':
if ((Modules::get('Anagrafiche')['permessi'] != '-') or (Modules::getAdditionalsQuery('Anagrafiche'))) {
$query = "SELECT CONCAT(an_tipianagrafiche.idtipoanagrafica, '-', an_anagrafiche.idanagrafica) AS id, CONCAT_WS('', ragione_sociale, ' (', citta, ' ', provincia, ')') 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 CONCAT(an_tipianagrafiche.idtipoanagrafica, '-', an_anagrafiche.idanagrafica) AS id, CONCAT_WS('', ragione_sociale, ' (', citta, ' ', provincia, ')') 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) { foreach ($elements as $element) {
@ -185,11 +179,11 @@ switch ($op) {
} }
// $custom['idtipointervento'] = 'idtipointervento_default'; // $custom['idtipointervento'] = 'idtipointervento_default';
}
break; break;
case 'sedi': case 'sedi':
if (Modules::get('Anagrafiche')['permessi'] != '-' && isset($superselect['idanagrafica'])) { if (isset($superselect['idanagrafica'])) {
$query = "SELECT * FROM (SELECT 0 AS id, 'Sede legale' AS descrizione, (SELECT an_anagrafiche.idzona FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica = ".prepare($superselect['idanagrafica']).") AS idzona UNION SELECT id, CONCAT_WS(' - ', nomesede, citta), idzona AS idzona FROM an_sedi |where|) AS tab |filter| ORDER BY id"; $query = "SELECT * FROM (SELECT 0 AS id, 'Sede legale' AS descrizione, (SELECT an_anagrafiche.idzona FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica = ".prepare($superselect['idanagrafica']).") AS idzona UNION SELECT id, CONCAT_WS(' - ', nomesede, citta), idzona AS idzona FROM an_sedi |where|) AS tab |filter| ORDER BY id";
foreach ($elements as $element) { foreach ($elements as $element) {
@ -208,7 +202,7 @@ switch ($op) {
break; break;
case 'referenti': case 'referenti':
if (Modules::get('Anagrafiche')['permessi'] != '-' && isset($superselect['idanagrafica'])) { if (isset($superselect['idanagrafica'])) {
$query = 'SELECT id, nome AS descrizione FROM an_referenti |where| ORDER BY id'; $query = 'SELECT id, nome AS descrizione FROM an_referenti |where| ORDER BY id';
foreach ($elements as $element) { foreach ($elements as $element) {
@ -292,7 +286,6 @@ switch ($op) {
break; break;
case 'conti': case 'conti':
if (Modules::get('Piano dei conti')['permessi'] != '-') {
$query = 'SELECT * FROM co_pianodeiconti2'; $query = 'SELECT * FROM co_pianodeiconti2';
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);
@ -332,11 +325,10 @@ switch ($op) {
$results[count($results) - 1]['children'][] = ['id' => $r2['id'], 'text' => $r2['descrizione']]; $results[count($results) - 1]['children'][] = ['id' => $r2['id'], 'text' => $r2['descrizione']];
} }
} }
}
break; break;
case 'conti-vendite': case 'conti-vendite':
if (Modules::get('Piano dei conti')['permessi'] != '-') {
$query = "SELECT co_pianodeiconti3.id, CONCAT_WS( ' ', co_pianodeiconti3.numero, co_pianodeiconti3.descrizione ) AS descrizione FROM co_pianodeiconti3 INNER JOIN (co_pianodeiconti2 INNER JOIN co_pianodeiconti1 ON co_pianodeiconti2.idpianodeiconti1=co_pianodeiconti1.id) ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id |where| ORDER BY co_pianodeiconti3.numero ASC"; $query = "SELECT co_pianodeiconti3.id, CONCAT_WS( ' ', co_pianodeiconti3.numero, co_pianodeiconti3.descrizione ) AS descrizione FROM co_pianodeiconti3 INNER JOIN (co_pianodeiconti2 INNER JOIN co_pianodeiconti1 ON co_pianodeiconti2.idpianodeiconti1=co_pianodeiconti1.id) ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id |where| ORDER BY co_pianodeiconti3.numero ASC";
foreach ($elements as $element) { foreach ($elements as $element) {
@ -349,11 +341,10 @@ switch ($op) {
if (!empty($search)) { if (!empty($search)) {
$search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%'); $search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
} }
}
break; break;
case 'conti-acquisti': case 'conti-acquisti':
if (Modules::get('Piano dei conti')['permessi'] != '-') {
$query = "SELECT co_pianodeiconti3.id, CONCAT_WS( ' ', co_pianodeiconti3.numero, co_pianodeiconti3.descrizione ) AS descrizione FROM co_pianodeiconti3 INNER JOIN (co_pianodeiconti2 INNER JOIN co_pianodeiconti1 ON co_pianodeiconti2.idpianodeiconti1=co_pianodeiconti1.id) ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id |where| ORDER BY co_pianodeiconti3.numero ASC"; $query = "SELECT co_pianodeiconti3.id, CONCAT_WS( ' ', co_pianodeiconti3.numero, co_pianodeiconti3.descrizione ) AS descrizione FROM co_pianodeiconti3 INNER JOIN (co_pianodeiconti2 INNER JOIN co_pianodeiconti1 ON co_pianodeiconti2.idpianodeiconti1=co_pianodeiconti1.id) ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id |where| ORDER BY co_pianodeiconti3.numero ASC";
foreach ($elements as $element) { foreach ($elements as $element) {
@ -366,11 +357,11 @@ switch ($op) {
if (!empty($search)) { if (!empty($search)) {
$search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%'); $search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
} }
}
break; break;
case 'impianti': case 'impianti':
if (Modules::get('MyImpianti')['permessi'] != '-' && isset($superselect['idanagrafica'])) { if (isset($superselect['idanagrafica'])) {
$query = 'SELECT id, CONCAT(matricola, " - ", nome) AS descrizione FROM my_impianti |where| ORDER BY idsede'; $query = 'SELECT id, CONCAT(matricola, " - ", nome) AS descrizione FROM my_impianti |where| ORDER BY idsede';
foreach ($elements as $element) { foreach ($elements as $element) {
@ -388,7 +379,7 @@ switch ($op) {
break; break;
case 'componenti': case 'componenti':
if (Modules::get('Gestione componenti')['permessi'] != '-' && isset($superselect['marticola'])) { if (isset($superselect['marticola'])) {
$query = 'SELECT id, nome AS descrizione, contenuto FROM my_impianto_componenti |where| ORDER BY id'; $query = 'SELECT id, nome AS descrizione, contenuto FROM my_impianto_componenti |where| ORDER BY id';
foreach ($elements as $element) { foreach ($elements as $element) {
@ -421,7 +412,6 @@ switch ($op) {
break; break;
case 'categorie': case 'categorie':
if (Modules::get('Magazzino')['permessi'] != '-') {
$query = 'SELECT id, nome AS descrizione FROM mg_categorie |where| ORDER BY id'; $query = 'SELECT id, nome AS descrizione FROM mg_categorie |where| ORDER BY id';
foreach ($elements as $element) { foreach ($elements as $element) {
@ -433,11 +423,11 @@ switch ($op) {
if (!empty($search)) { if (!empty($search)) {
$search_fields[] = 'nome LIKE '.prepare('%'.$search.'%'); $search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
} }
}
break; break;
case 'sottocategorie': case 'sottocategorie':
if (Modules::get('Magazzino')['permessi'] != '-' && isset($superselect['id_categoria'])) { if (isset($superselect['id_categoria'])) {
$query = 'SELECT id, nome AS descrizione FROM mg_categorie |where| ORDER BY id'; $query = 'SELECT id, nome AS descrizione FROM mg_categorie |where| ORDER BY id';
foreach ($elements as $element) { foreach ($elements as $element) {
@ -453,7 +443,7 @@ switch ($op) {
break; break;
case 'preventivi': case 'preventivi':
if (Modules::get('Preventivi')['permessi'] != '-' && isset($superselect['idanagrafica'])) { if (isset($superselect['idanagrafica'])) {
$query = 'SELECT co_preventivi.id AS id, an_anagrafiche.idanagrafica, CONCAT(numero, " ", nome) AS descrizione, co_preventivi.idtipointervento, (SELECT descrizione descrizione FROM in_tipiintervento WHERE in_tipiintervento.idtipointervento = co_preventivi.idtipointervento) AS idtipointervento_descrizione FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id'; $query = 'SELECT co_preventivi.id AS id, an_anagrafiche.idanagrafica, CONCAT(numero, " ", nome) AS descrizione, co_preventivi.idtipointervento, (SELECT descrizione descrizione FROM in_tipiintervento WHERE in_tipiintervento.idtipointervento = co_preventivi.idtipointervento) AS idtipointervento_descrizione FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id';
foreach ($elements as $element) { foreach ($elements as $element) {
@ -473,7 +463,6 @@ switch ($op) {
break; break;
case 'preventivi_aperti': case 'preventivi_aperti':
if (Modules::get('Preventivi')['permessi'] != '-') {
$query = 'SELECT co_preventivi.id AS id, CONCAT(numero, " ", nome, " (", ragione_sociale, ")") AS descrizione FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id'; $query = 'SELECT co_preventivi.id AS id, CONCAT(numero, " ", nome, " (", ragione_sociale, ")") AS descrizione FROM co_preventivi INNER JOIN an_anagrafiche ON co_preventivi.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id';
foreach ($elements as $element) { foreach ($elements as $element) {
@ -483,11 +472,10 @@ switch ($op) {
if (!empty($search)) { if (!empty($search)) {
$search_fields[] = 'nome LIKE '.prepare('%'.$search.'%'); $search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
} }
}
break; break;
case 'contratti': case 'contratti':
if (Modules::get('Contratti')['permessi'] != '-') {
$query = 'SELECT co_contratti.id AS id, CONCAT(numero, " ", nome) AS descrizione FROM co_contratti INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id'; $query = 'SELECT co_contratti.id AS id, CONCAT(numero, " ", nome) AS descrizione FROM co_contratti INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica |where| ORDER BY id';
foreach ($elements as $element) { foreach ($elements as $element) {
@ -500,11 +488,10 @@ switch ($op) {
if (!empty($search)) { if (!empty($search)) {
$search_fields[] = 'nome LIKE '.prepare('%'.$search.'%'); $search_fields[] = 'nome LIKE '.prepare('%'.$search.'%');
} }
}
break; break;
case 'tipiintervento': case 'tipiintervento':
if (Modules::get('Interventi')['permessi'] != '-') {
$query = 'SELECT idtipointervento AS id, descrizione FROM in_tipiintervento |where| ORDER BY idtipointervento'; $query = 'SELECT idtipointervento AS id, descrizione FROM in_tipiintervento |where| ORDER BY idtipointervento';
foreach ($elements as $element) { foreach ($elements as $element) {
@ -513,11 +500,10 @@ switch ($op) {
if (!empty($search)) { if (!empty($search)) {
$search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%'); $search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
} }
}
break; break;
case 'misure': case 'misure':
if (Modules::get('Magazzino')['permessi'] != '-') {
$query = 'SELECT valore AS id, valore AS descrizione FROM mg_unitamisura |where| ORDER BY valore'; $query = 'SELECT valore AS id, valore AS descrizione FROM mg_unitamisura |where| ORDER BY valore';
foreach ($elements as $element) { foreach ($elements as $element) {
@ -526,11 +512,10 @@ switch ($op) {
if (!empty($search)) { if (!empty($search)) {
$search_fields[] = 'valore LIKE '.prepare('%'.$search.'%'); $search_fields[] = 'valore LIKE '.prepare('%'.$search.'%');
} }
}
break; break;
case 'prodotti_lotti': case 'prodotti_lotti':
if (Modules::get('Magazzino')['permessi'] != '-') {
$query = 'SELECT DISTINCT lotto AS descrizione FROM mg_prodotti |where|'; $query = 'SELECT DISTINCT lotto AS descrizione FROM mg_prodotti |where|';
$where[] = 'idarticolo='.prepare($superselect['idarticolo']); $where[] = 'idarticolo='.prepare($superselect['idarticolo']);
@ -544,11 +529,10 @@ switch ($op) {
} }
$custom['id'] = 'descrizione'; $custom['id'] = 'descrizione';
}
break; break;
case 'prodotti_serial': case 'prodotti_serial':
if (Modules::get('Magazzino')['permessi'] != '-') {
$query = 'SELECT DISTINCT serial AS descrizione FROM mg_prodotti |where|'; $query = 'SELECT DISTINCT serial AS descrizione FROM mg_prodotti |where|';
$where[] = 'id_articolo='.prepare($superselect['idarticolo']); $where[] = 'id_articolo='.prepare($superselect['idarticolo']);
@ -562,11 +546,10 @@ switch ($op) {
} }
$custom['id'] = 'descrizione'; $custom['id'] = 'descrizione';
}
break; break;
case 'prodotti_altro': case 'prodotti_altro':
if (Modules::get('Magazzino')['permessi'] != '-') {
$query = 'SELECT DISTINCT altro AS descrizione FROM mg_prodotti |where|'; $query = 'SELECT DISTINCT altro AS descrizione FROM mg_prodotti |where|';
$where[] = 'id_articolo='.prepare($superselect['idarticolo']); $where[] = 'id_articolo='.prepare($superselect['idarticolo']);
@ -581,7 +564,7 @@ switch ($op) {
} }
$custom['id'] = 'descrizione'; $custom['id'] = 'descrizione';
}
break; break;
} }