Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
233 righe
14 KiB
233 righe
14 KiB
<? |
|
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php"; |
|
include_once($configPath); |
|
if (!empty($_SESSION["utente"]) && isset($_GET["codice"]) && ($_SESSION["utente"]->permission("utenti",$_GET["codice"]))) { |
|
$bind = array(); |
|
$bind[":codice"] = $_GET["codice"]; |
|
$sql = "SELECT b_utenti.* FROM b_utenti WHERE b_utenti.codice = :codice "; |
|
$ris_utenti = $pdo->go($sql,$bind); |
|
if (isset($ris_utenti) && $ris_utenti->rowCount() === 1) { |
|
$record = $ris_utenti->fetch(PDO::FETCH_ASSOC); |
|
$ruoli = utente::ruoli(); |
|
$bind = []; |
|
$bind[":codice_utente"] = $record["codice"]; |
|
$sql = "SELECT r_collaborazioni.*, b_enti.denominazione, b_enti.sua, b_enti.attivo AS ente_attivo, b_enti.dominio FROM r_collaborazioni JOIN b_enti ON r_collaborazioni.codice_ente = b_enti.codice |
|
WHERE r_collaborazioni.codice_utente = :codice_utente "; |
|
if (!empty($_SESSION["ente"])) { |
|
$bind[":codice_ente"] = $_SESSION["ente"]->codice; |
|
$sql .= " AND r_collaborazioni.monitoraggio = 'N' AND r_collaborazioni.codice_ente IN (SELECT codice FROM b_enti WHERE codice = :codice_ente OR sua = :codice_ente)"; |
|
if ($_SESSION["utente"]->gerarchia >= 9) { |
|
$sql .= " AND r_collaborazioni.codice_ente NOT IN (SELECT codice FROM b_enti WHERE sua = :codice_ente AND (dominio IS NOT NULL AND dominio <> '' AND attivo = 'S')) "; |
|
} |
|
} |
|
if (!empty($_GET["codice_collaborazione"])) { |
|
$bind[":codice_collaborazione"] = $_GET["codice_collaborazione"]; |
|
$sql .= " AND r_collaborazioni.codice = :codice_collaborazione "; |
|
} |
|
$collaborazioni = $pdo->go($sql,$bind); |
|
if ($collaborazioni->rowCount() > 0) { |
|
?> |
|
<div class="h1 m-0 p-0"><span class="fa fa-user"></span> <?= $record["cognome"] ?> <?= $record["nome"] ?></div> |
|
<? |
|
if ($collaborazioni->rowCount() == 1) { |
|
$collaborazione = $collaborazioni->fetch(PDO::FETCH_ASSOC); |
|
} else { |
|
while ($tmp = $collaborazioni->fetch(PDO::FETCH_ASSOC)) { |
|
$gerarchia = $ruoli[$tmp["gruppo"]]["gerarchia"] ?? 0; |
|
if ($_SESSION["utente"]->gerarchia <= $gerarchia) { |
|
?> |
|
<button class="btn btn-block btn-lg btn-primary" onclick="showModalWithURL('/backend/utenti/manage.php?codice=<?= $record["codice"] ?>&codice_collaborazione=<?= $tmp["codice"] ?>')"> |
|
<span class="fa fa-university"></span> <?= $tmp["denominazione"] ?> |
|
</button> |
|
<? |
|
} |
|
} |
|
} |
|
if (!empty($collaborazione)) { |
|
$gerarchia = $ruoli[$collaborazione["gruppo"]]["gerarchia"] ?? 0; |
|
if ($_SESSION["utente"]->gerarchia <= $gerarchia) { |
|
?> |
|
<strong class="h4"><span class="fa fa-university"></span> <?= $collaborazione["denominazione"] ?></strong><br> |
|
<?php if ($collaborazione["readOnly"] == "S") : ?> |
|
<? alertManager::printAlertCompact(__("Collaborazione in sola lettura")) ?> |
|
<?php endif ?> |
|
<form rel="validate" method="post" action="/backend/utenti/savePermessiCollaborazione.php" id="edit-form"> |
|
<input id="token" type="hidden" name="token" value="<?= tokenGen() ?>"> |
|
<input id="codice" type="hidden" name="codice" value="<?= $collaborazione["codice"] ?>"> |
|
<input id="codice" type="hidden" name="codice_utente" value="<?= $record["codice"] ?>"> |
|
<? |
|
$tmp = Modulo::getTipologie(); |
|
$tipologie = []; |
|
foreach($tmp AS $id_tipologia => $tipo) { |
|
$r = Modulo::getModuli(["tipo"=>$id_tipologia,"all_utente"=>false,"ente"=>true]); |
|
if (count($r) > 0) { |
|
$tipo["moduli"] = $r; |
|
$tipologie[$id_tipologia] = $tipo; |
|
} |
|
} |
|
if (!empty($tipologie)) { |
|
$col = (int) (12 / count($tipologie)); |
|
?> |
|
<div class="card card-body my-2"> |
|
<div class="row"> |
|
<? |
|
foreach($tipologie AS $id_tipologia => $tipo) { |
|
?> |
|
<div class="col-12 col-lg-<?= $col ?> text-center"> |
|
<div class="pb-2"> |
|
<?if (!empty($tipo["icon"])) { echo "<span class='".$tipo["icon"]." fa-2x'></span>"; } ?><br> |
|
<strong><?= __($tipo["titolo"]) ?></strong> |
|
</div> |
|
<div class="btn-group-toggle" data-toggle="buttons"> |
|
<? |
|
if (count($tipo["moduli"]) > 0) { |
|
$count = 0; |
|
foreach($tipo["moduli"] AS $id_modulo => $modulo) { |
|
$count++; |
|
$print = true; |
|
if(!$modulo["all_ente"]) { |
|
$codice_ente = $collaborazione["codice_ente"]; |
|
$eccezioni = []; |
|
if ($collaborazione["ente_attivo"] == "N" || empty($collaborazione["dominio"]) || (isset($_SESSION["ente"]) && $_SESSION["ente"]->codice != $collaborazione["codice_ente"]) ) { |
|
$codice_ente = $collaborazione["sua"]; |
|
$eccezioni = Ente::getEccezioniCrossFromID($collaborazione["sua"])[$collaborazione["sua"]] ?? []; |
|
} |
|
$print = false; |
|
$bind = array(); |
|
$bind[":codice_ente"] = $codice_ente; |
|
$bind[":id_modulo"] = $id_modulo; |
|
$sql = "SELECT codice FROM r_moduli_ente WHERE cod_ente = :codice_ente AND id_modulo = :id_modulo"; |
|
$ris_check = $pdo->go($sql,$bind); |
|
$infoEnte = Ente::getInfoFromID($codice_ente)[0]; |
|
if ($ris_check->rowCount()>0 && ($collaborazione["codice_ente"] == $codice_ente || $infoEnte["permit_cross"] == "S" || $modulo["cross_p"] || in_array($id_modulo,$eccezioni) !== false)) { |
|
$print = true; |
|
} |
|
} |
|
if ($modulo["completed"] == "N") { $print = false; } |
|
if ($print) { |
|
$checked = ""; |
|
$sql = "SELECT codice FROM r_permessi_collaborazioni WHERE id_modulo = :id_modulo AND cod_relazione = :cod_relazione"; |
|
$ris_check_user = $pdo->go($sql,array(":id_modulo"=>$id_modulo,":cod_relazione"=>$collaborazione["codice"])); |
|
if ($ris_check_user->rowCount() > 0) { $checked = "checked"; } |
|
?> |
|
<div class="btn btn-sm btn-block btn-secondary <?= (!empty($checked)) ? "active" : "" ?>"> |
|
<div class="text-left"> |
|
<input autocomplete="off" type="checkbox" <?= $checked ?> id="permission-<?= $count ?>" name="permission[<?= $id_modulo ?>]"> |
|
<? if (!empty($modulo["icon"])) { ?><span class="<?= $modulo["icon"] ?>"></span><? } ?> |
|
<?= $modulo["titolo"] ?><br> |
|
<small><?= $modulo["descrizione"] ?></small> |
|
</div> |
|
</div> |
|
<? |
|
} |
|
} |
|
} |
|
?> |
|
</div> |
|
</div> |
|
<? |
|
} |
|
?> |
|
</div> |
|
</div> |
|
<? |
|
} |
|
$procedure = getProcedure(); |
|
$limiti = json_decode($collaborazione["limiti"],TRUE); |
|
?> |
|
<div class="card mb-2"> |
|
<div class="card-header"> |
|
<h3 class="card-title m-0 font-weight-bold" data-target="#limiti-procedura"><?= __("Limiti per procedura") ?></h3> |
|
</div> |
|
<div class="card-body <?= (empty($collaborazione["limiti"])) ? "collapse" : "" ?>" id="limiti-procedura"> |
|
<div class="card card-body text-center"> |
|
<div class="text-center"><input type="checkbox" <?= (empty($collaborazione["limiti"])) ? "checked" : "" ?> name="rimuoviLimiti" onChange="$('#limiti-table').slideToggle();"></div> |
|
<strong><?= __("Nessun limite") ?></strong> |
|
</div> |
|
<div class="table-responsive <?= (empty($collaborazione["limiti"])) ? "collapse" : "" ?>" id="limiti-table"> |
|
<table class="table table-striped"> |
|
<thead> |
|
<tr> |
|
<th><?= __("Abilita") ?></th> |
|
<th><?= __("Procedura") ?></th> |
|
<th> |
|
<?= __("Importo massimo") ?> |
|
</th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<? |
|
|
|
foreach($procedure AS $id => $procedura) { |
|
?> |
|
<tr> |
|
<td width="10" class="text-center"><input type="checkbox" <?= isset($limiti[$id]) ? "checked" : "" ?> onChange="if ($('#limiteProcedura<?= $id ?>:disabled').length > 0) { $('#limiteProcedura<?= $id ?>').removeAttr('disabled'); } else { $('#limiteProcedura<?= $id ?>').attr('disabled','disabled'); } "></td> |
|
<td><?= $procedura["titolo"] ?></td> |
|
<td class="form-group"> |
|
<input type="text" class="form-control text-right" id="limiteProcedura<?= $id ?>" <?= isset($limiti[$id]) ? "" : "disabled" ?> name="limite[<?= $id ?>]" value="<?= !empty($limiti[$id]) ? $limiti[$id] : "" ?>" rel="N;0;0;N" title="<?= __("Limite") ?> - <?= $procedura["titolo"] ?>"> |
|
</td> |
|
</tr> |
|
<? |
|
} |
|
?> |
|
</tbody> |
|
</table> |
|
</div> |
|
</div> |
|
</div> |
|
<? |
|
$moduli = Ente::getModuli($collaborazione["codice_ente"]); |
|
if(in_array("verifica-art-80", $moduli)) { |
|
$attivo = $pdo->go("SELECT codice FROM r_permessi_collaborazioni WHERE cod_relazione = :collaborazione AND id_modulo = 'verifica-art-80'", [":collaborazione" => $collaborazione["codice"]])->fetch(PDO::FETCH_COLUMN, 0); |
|
if(! empty($attivo)) { |
|
$ente = $pdo->go("SELECT * FROM b_enti WHERE codice = :codice", [":codice" => $collaborazione["codice_ente"]])->fetch(PDO::FETCH_ASSOC); |
|
$articolo80 = Articolo80::init($ente); |
|
if(! empty($articolo80) && is_a($articolo80, "Articolo80")) { |
|
$documenti_conentiti = $articolo80::getPermessiClassiDocumentali($collaborazione["codice"], $collaborazione["codice"]); |
|
?> |
|
<div class="card mb-2"> |
|
<div class="card-header"> |
|
<h3 class="card-title m-0 font-weight-bold" data-target="#permessi-articolo-80"><?= __("Permessi Verifica Ex. Art.80") ?></h3> |
|
</div> |
|
<div class="card-body <?= empty($documenti_conentiti) ? "collapse" : "" ?>" id="permessi-articolo-80"> |
|
<div class="card"> |
|
<div class="card-body text-center"> |
|
<div class="text-center"><input type="checkbox" <?= empty($documenti_conentiti) ? "checked" : "" ?> name="rimuoviLimitiArt80" onChange="$('#limiti-documenti').slideToggle();"></div> |
|
<strong><?= __("Nessun limite") ?></strong> |
|
</div> |
|
<ul class="list-group list-group-flush <?= empty($documenti_conentiti) ? "collapse" : "" ?>" id="limiti-documenti"> |
|
<? |
|
foreach ($articolo80->documenti as $documento) { |
|
?> |
|
<li class="list-group-item"> |
|
<div class="col-12 form-check"> |
|
<input class="form-check-input" type="checkbox" <?= in_array($documento["uuid"], $documenti_conentiti) ? 'checked="checked"' : null ?> value="<?= $documento["uuid"] ?>" name="classi_documentali_art80[]" id="<?= $documento["uuid"] ?>"> |
|
<label class="form-check-label" class="text-uppercase" for="<?= $documento["uuid"] ?>"> |
|
<?= $documento["name"] ?> |
|
</label> |
|
</div> |
|
</li> |
|
<? |
|
} |
|
?> |
|
</ul> |
|
</div> |
|
</div> |
|
</div> |
|
<? |
|
} |
|
} |
|
} |
|
?> |
|
<button type="submit" class="btn btn-block btn-success"><span class="fa fa-save"></span> <?= __("Salva") ?></button> |
|
</form> |
|
<? |
|
} |
|
} |
|
die(); |
|
} |
|
} |
|
} |
|
header('HTTP/1.0 403 Forbidden'); |
|
die(); |
|
?>
|
|
|