Blocco i tecnici che possano aprire attività solo per loro stessi

This commit is contained in:
Luca 2018-06-25 18:25:04 +02:00
parent 2686d0fcd4
commit bfea917c6a
4 changed files with 16 additions and 5 deletions

View File

@ -84,7 +84,7 @@ switch ($resource) {
case 'tecnici':
$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) {
$filter[] = 'an_anagrafiche.idanagrafica='.prepare($element);
}
@ -92,6 +92,13 @@ switch ($resource) {
if (empty($filter)) {
$where[] = "descrizione='Tecnico'";
$where[] = 'deleted=0';
//come tecnico posso aprire attività solo a mio nome
$user = Auth::user();
if ($user['gruppo'] == 'Tecnici' AND !empty($user['idanagrafica']) ) {
$where[] = 'an_anagrafiche.idanagrafica='.$user['idanagrafica'];
}
}
if (!empty($search)) {

View File

@ -299,7 +299,7 @@ if ($records[0]['stato'] != 'Pagato' && $records[0]['stato'] != 'Emessa') {
</a>';
// Lettura ddt
$ddt_query = 'SELECT COUNT(*) AS tot FROM dt_ddt WHERE idanagrafica='.prepare($records[0]['idanagrafica']).' AND idstatoddt IN (SELECT id FROM dt_statiddt WHERE descrizione IN(\'Bozza\', \'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND idtipoddt=(SELECT id FROM dt_tipiddt WHERE dir='.prepare($dir).') AND dt_ddt.id IN (SELECT idddt FROM dt_righe_ddt WHERE dt_righe_ddt.idddt = dt_ddt.id AND (qta - qta_evasa) > 0)';
$ddt_query = 'SELECT COUNT(*) AS tot FROM dt_ddt WHERE idanagrafica='.prepare($records[0]['idanagrafica']).' AND idstatoddt IN (SELECT id FROM dt_statiddt WHERE descrizione IN(\'Bozza\', \'Evaso\', \'Parzialmente evaso\', \'Parzialmente fatturato\')) AND idtipoddt IN (SELECT id FROM dt_tipiddt WHERE dir='.prepare($dir).') AND dt_ddt.id IN (SELECT idddt FROM dt_righe_ddt WHERE dt_righe_ddt.idddt = dt_ddt.id AND (qta - qta_evasa) > 0)';
$ddt = $dbo->fetchArray($ddt_query)[0]['tot'];
echo '
<a class="btn btn-sm btn-primary'.(!empty($ddt) ? '' : ' disabled').'" data-href="'.$rootdir.'/modules/fatture/add_ddt.php?id_module='.$id_module.'&id_record='.$id_record.'" data-toggle="tooltip" data-title="Aggiungi ddt" data-target="#bs-popup">

View File

@ -14,10 +14,14 @@ $idimpianto = null;
$idzona = null;
$idtipointervento = null;
$idstatointervento = null;
$idtecnico = null;
$richiesta = null;
$impianti = [];
//come tecnico posso aprire attività solo a mio nome
if ($user['gruppo'] == 'Tecnici' AND !empty($user['idanagrafica']) ) {
$idtecnico = $user['idanagrafica'];
}else{
$idtecnico = null;
}
if (!empty($idanagrafica)) {
$rs = $dbo->fetchArray('SELECT idtipointervento_default, idzona FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));

View File

@ -277,7 +277,7 @@ UPDATE `zz_views` SET `summable` = '1' WHERE `zz_views`.`id_module` = (SELECT `
-- Collego il preventivo alla riga dell'ordine
ALTER TABLE `or_righe_ordini` ADD `idpreventivo` INT(11) NOT NULL AFTER `idarticolo`;
--- Fix foreign keys (2.4)
-- Fix foreign keys (2.4)
ALTER TABLE `zz_emails`
ADD FOREIGN KEY (`id_module`) REFERENCES `zz_modules`(`id`) ON DELETE CASCADE,
ADD FOREIGN KEY (`id_smtp`) REFERENCES `zz_smtp`(`id`) ON DELETE CASCADE;