gestione gare pubbliche
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
12 KiB

<?
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
$id_modulo = "criteri";
$cmd_info = concorso::getInfoModulo($id_modulo);
$error = true;
if (!empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($cmd_info["modulo_riferimento"]) && $_SESSION["utente"]->permission($radice,$_GET["codice_concorso"],$id_modulo)) {
$codice_round = $_GET["codice_round"] ?? NULL;
$concorso = concorso::init($_GET["codice_concorso"],$codice_round);
if (!empty($concorso)) {
if ($concorso->setLotto($_GET["codice_lotto"])) {
$record = $concorso->info;
$round = $concorso->round;
$lotto = $concorso->lotto;
$lock = $concorso->checkLock($cmd_info["id"]);
$hasSub = false;
$sogliaAttiva = (($concorso->getRisposteElaborazione()["sogliaMinima"] ?? "N") != "N");
if (empty($_GET["codice"])) {
$criterio = get_campi("b_concorsi_criteri_valutazione");
} else {
$criterio = $concorso->getCriteri($_GET["codice"])[0];
}
if (!empty($_GET["codice_padre"]) || !empty($criterio["codice_padre"])) {
$codice_padre = $_GET["codice_padre"] ?? $criterio["codice_padre"];
$macro = $concorso->getCriteri($codice_padre)[0] ?? null;
if (empty($macro)) {
header('HTTP/1.0 403 Forbidden');
die();
}
$criterio["codice_padre"] = $macro["codice"];
$criterio["tipologia"] = $macro["tipologia"];
} else if (!empty($criterio["codice"])) {
$hasSub = $concorso->getSubCriteri($criterio["codice"]);
$hasSub = (!empty($hasSub));
}
if (!empty($criterio)) {
$error = false;
if (empty($lock)) { ?>
<form rel="validate" method="post" action="save.php" id="edit-form">
<input id="token" type="hidden" name="token" value="<?= tokenGen() ?>">
<input id="codice" type="hidden" name="codice" value="<?= $criterio["codice"] ?>">
<input id="codice_concorso" type="hidden" name="codice_concorso" value="<?= $record["codice"] ?>">
<input id="codice_lotto" type="hidden" name="codice_lotto" value="<?= $concorso->lotto["codice"] ?>">
<input id="codice_round" type="hidden" name="codice_round" value="<?= $round["codice"] ?>">
<input id="codice_padre" type="hidden" name="codice_padre" value="<?= $criterio["codice_padre"] ?>">
<? } else { ?><div id="edit-form"><?} ?>
<div class="row">
<div class="col-12" id="mainCriteriaBody">
<div class="card card-body">
<div class="form-group">
<label for="denominazione"><?= __("Denominazione") ?>*</label>
<input rel="S;1;0;A" type="text" class="form-control input-lg" title="<?= __("Denominazione") ?>" name="denominazione" id="denominazione" value="<?= $criterio["denominazione"] ?>">
</div>
<div class="row">
<div class="col-12">
<div class="form-group">
<label for="tipologia"><?= __("Tipologia") ?>*</label>
<? if (!$hasSub && !isset($macro)) { ?>
<select onChange="criteriaVisibleOption()" rel="S;1;1;A" name="tipologia" id="tipologia" title="<?= __("Tipologia") ?>">
<option value=""><?= __("Seleziona") ?>...</option>
<option value="Q"><?= __("Discrezionale") ?></option>
<option value="N"><?= __("Quantitativo") ?></option>
</select>
<? } else { ?>
<input type="hidden" rel="S;1;1;A" name="tipologia" id="tipologia" title="<?= __("Tipologia") ?>" value="<?= $criterio["tipologia"] ?>">
<br><strong>
<?
switch($criterio["tipologia"]) {
case "Q": echo __("Discrezionale"); break;
case "N": echo __("Quantitativo"); break;
default: echo __("Configurazione errata"); break;
}
?>
</strong>
<? } ?>
</div>
</div>
</div>
<div class="form-group">
<label for="descrizione"><?= __("Descrizione") ?></label>
<textarea title="<?= __("Descrizione") ?>" class="ckeditor_simple" tabindex="-1" name="descrizione" id="descrizione">
<?= $criterio["descrizione"] ?>
</textarea>
</div>
</div>
<div class="card card-body mt-2">
<div class="d-flex">
<div class="col">
<div class="form-group">
<label for="peso"><?= __("Peso") ?>*</label>
<input rel="S;1;0;N;<?= $macro["peso"] ?? 100 ?>;<=" type="text" class="form-control input-lg text-center" title="<?= __("Peso") ?>" name="peso" id="peso" value="<?= $criterio["peso"] ?>">
</div>
</div>
<div class="col">
<div class="form-group">
<label for="decimali"><?= __("Decimali") ?>*</label>
<? if (isset($macro)) { ?>
<input rel="S;1;1;N" type="hidden" title="<?= __("Decimali") ?>" name="decimali" id="decimali" value="<?= $macro["decimali"] ?>">
<br><?= $macro["decimali"] ?>
<? } else { ?>
<input rel="S;1;1;N" type="text" class="form-control input-lg text-center" title="<?= __("Decimali") ?>" name="decimali" id="decimali" value="<?= $criterio["decimali"] ?>">
<? } ?>
</div>
</div>
<? if ($sogliaAttiva) { ?>
<div class="col">
<div class="form-group">
<label for="soglia"><?= __("soglia") ?></label>
<input rel="N;1;0;N;peso;<" type="text" class="form-control input-lg text-center" title="<?= __("soglia") ?>" name="soglia" id="soglia" value="<?= $criterio["soglia"] ?>">
</div>
</div>
<? } ?>
</div>
</div>
</div>
<?
$formule = concorso::getFormule();
if (!empty($formule) && !$hasSub) {
$checked = (empty($criterio["auto"])) ? true : false;
?>
<div class="col-12 col-lg-6 collapse" id="formulaCriteriaBody">
<div class="card">
<div class="card-header">
<span class="card-title"><?= __("Valutazione Automatica") ?></span>
</div>
<div class="card-body">
<div class="btn-group-toggle" data-toggle="buttons">
<div id="div-formula-disattiva" class="text-left m-0 my-1 btn btn-sm btn-block btn-secondary <?= (!empty($checked)) ? "active" : "" ?>">
<input type="radio" id="radio-formula-disattiva" name="auto" value="" <?= ($checked) ? "checked" : "" ?> onchange="checkFormulaOptions()">
<strong><?= __("Disattiva") ?></strong><br>
<?= __("Il sistema non calcolerà automaticamente i punteggi per questo criterio") ?>
</div>
<?
foreach($formule AS $id_formula => $formula) {
$checked = ($criterio["auto"] == $id_formula) ? true : false;
$specificClass = "";
if ($formula["tecnico"]) { $specificClass .= " formula-tecnica "; }
?>
<div id="div-formula-<?= $id_formula ?>" class="text-left m-0 my-1 class-formula <?= $specificClass ?> btn btn-sm btn-block btn-secondary <?= (!empty($checked)) ? "active" : "" ?>">
<input type="radio" name="auto" value="<?= $id_formula ?>" <?= ($checked) ? "checked" : "" ?> onchange="checkFormulaOptions()">
<div>
<strong><?= __($formula["titolo"]) ?></strong><br>
<?= __($formula["descrizione"]) ?>
</div>
<div class="text-center"><?= $formula["formula"] ?></div>
<div class="clearfix"></div>
</div>
<?
$path = "{$beRoot}common/criteri/options/form{$id_formula}.php";
if (file_exists($path)) {
?>
<div class="formulaOptions <?= ($criterio["auto"] == $id_formula) ? "" : "collapse" ?>" id="option<?= $id_formula ?>">
<? include($path) ?>
</div>
<?
}
}
?>
</div>
</div>
</div>
</div>
<?
}
?>
</div>
<? if (empty($lock)) { ?>
<button class="btn btn-success btn-block mt-2"><span class="fa fa-save"></span> <?= __("Salva") ?></button>
</form>
<?
} else {
?>
<script>
$(":input","#edit-form").not(".ignore-lock").attr("disabled","disabled").trigger("chosen:updated");
</script>
<?
}
?>
<script>
function checkFormulaOptions() {
val = $('input[name=auto]:checked').val();
visible = false;
if (val != "") {
element = $("#div-formula-"+val);
if (element.hasClass('formula-tecnica')) visible = true
}
$('.formulaOptions').slideUp();
if (visible) {
$('#option'+val).slideDown();
} else {
if (val != "") {
$('input[name=auto]:checked').removeAttr('checked');
$('#div-formula-'+val).removeClass('active');
$('#option'+val).hide();
$('#div-formula-disattiva').removeClass('active').addClass('active');
$('#radio-formula-disattiva').attr('checked','checked');
}
}
}
function criteriaVisibleOption() {
tipologia = $("#tipologia").val();
$(".class-formula").hide();
$(".formula-tecnica").show();
if ($("#option-elenco").length > 0) {
$("#option-elenco").remove();
}
$("#tipologia").val(tipologia).trigger("chosen:updated");
if (tipologia != "Q" && tipologia != "") {
$("#formulaCriteriaBody").slideDown();
$("#mainCriteriaBody").addClass("col-lg-6");
$("#card-busta").slideDown();
$("#busta").attr("rel","S;0;0;A");
} else {
$("#mainCriteriaBody").removeClass("col-lg-6");
$("#formulaCriteriaBody").slideUp();
$("#card-busta").slideUp();
$("#busta").attr("rel","N;0;0;A");
}
checkFormulaOptions();
}
$("#tipologia").val("<?= $criterio["tipologia"] ?>");
criteriaVisibleOption();
</script>
<?
}
}
}
}
if ($error) {
header('HTTP/1.0 403 Forbidden');
die();
}
?>