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
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(); |
|
} |
|
?>
|
|
|