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.
 
 
 
 
 

230 righe
12 KiB

<?
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php";
include_once($configPath);
$id_modulo = "pubblica";
$cmd_info = gara::getInfoModulo($id_modulo);
if (!empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($radice,$_GET["codice"],$id_modulo) && $_SESSION["utente"]->permission($cmd_info["modulo_riferimento"])) {
$codice_round = $_GET["codice_round"] ?? NULL;
$gara = gara::init($_GET["codice"],$codice_round);
if (!empty($gara)) {
$record = $gara->info;
$round = $gara->round;
$lock = $gara->checkLock($cmd_info["id"]);
$titolo_modulo = __($cmd_info["titolo"]);
if (!empty($round)) { $titolo_modulo .= " - " . __("Fase") . " " . $round["infoFase"]["titolo"]; }
$breadcrumb = array();
$breadcrumb["/".$radice."/"] = Modulo::getInfo($radice)["titolo"];
$breadcrumb["/".$radice."/panel.php?codice=".$record["codice"]."&codice_round=".$round["codice"]] = __("Pannello");
$breadcrumb[""] = $titolo_modulo;
include_once ($beRoot."/layout/top.php");
$check_script = $beRoot."/gare/pubblica/preliminary-checks.php";
if (file_exists($check_script)) {
$continue = false;
include($check_script);
}
if ($continue || $gara->quickPanel) {
if (!empty($printConfirmMsg)) { ?>
<div class="continuaPubblicazione">
<? alertManager::printWarningBox(__("Sono presenti degli avvisi"),__("Si consiglia di risolvere le segnalazioni prima di procedere")); ?>
</div>
<button onclick="$('.continuaPubblicazione').slideToggle();" class="btn btn-warning btn-block btn-lg">
<span class="continuaPubblicazione"><?= __("Prosegui comunque") ?></span>
<span class="continuaPubblicazione collapse"><?= __("Annulla") ?></span>
</button>
<div class="continuaPubblicazione collapse">
<? } ?>
<form rel="validate" method="post" autocomplete="off" action="save.php" id="edit-form">
<input id="invite-gara" type="hidden" class="ignore-lock" value="<?= $round["codice"] ?>">
<input id="token" type="hidden" name="token" class="ignore-lock" value="<?= tokenGen() ?>">
<input id="codice" type="hidden" name="codice" class="ignore-lock" value="<?= $record["codice"] ?>">
<input id="codice_round" type="hidden" name="codice_round" class="ignore-lock" value="<?= $round["codice"] ?>">
<h1>
<?= $titolo_modulo ?>
</h1>
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title m-0" for="pubblica"><?= __("Scadenze") ?> </h3>
</div>
<div class="card-body">
<div class="row">
<div class="col-12 col-lg-4">
<div class="form-group">
<label for="pubblicazione"><?= __("data pubblicazione") ?>*</label>
<input type="text" id="pubblicazione" class="form-control datetimepick" name="pubblicazione" title="<?= __("data pubblicazione") ?>" rel="S;16;16;DT" value="<?= mysql2datetime($round["pubblicazione"]) ?>">
<div class="alert alert-info p-1 text-center">
<small><?= __("La pubblicazione nell'area scelta sarà effettutata alla data e ora stabilita") ?></small>
</div>
</div>
</div>
<div class="col-12 col-lg-4">
<div class="form-group">
<label for="chiarimenti"><?= __("richiesta chiarimenti") ?><?= $gara->quickPanel ? "":"*" ?></label>
<input type="text" id="chiarimenti" class="form-control datetimepick" name="chiarimenti" title="<?= __("richiesta chiarimenti") ?>" rel="<?= $gara->quickPanel ? "N":"S" ?>;16;16;DT;scadenza;<" value="<?= mysql2datetime($round["chiarimenti"]) ?>">
</div>
</div>
<div class="col-12 col-lg-4">
<div class="form-group">
<label for="sopralluogo"><?= __("richiesta sopralluogo") ?></label>
<input type="text" id="sopralluogo" class="form-control datetimepick" name="sopralluogo" title="<?= __("richiesta sopralluogo") ?>" rel="N;16;16;DT;scadenza;<" value="<?= mysql2datetime($round["sopralluogo"]) ?>">
</div>
</div>
<div class="col-12 col-lg-6">
<div class="form-group">
<label for="scadenza"><?= __("scadenza presentazione") ?><?= $gara->quickPanel ? "":"*" ?></label>
<input type="text" id="scadenza" class="form-control datetimepick" name="scadenza" title="<?= __("scadenza presentazione") ?>" rel="<?= $gara->quickPanel ? "N":"S" ?>;16;16;DT;pubblicazione;>" value="<?= mysql2datetime($round["scadenza"]) ?>">
</div>
</div>
<div class="col-12 col-lg-6">
<div class="form-group">
<label for="apertura"><?= __("apertura offerte") ?><?= $gara->quickPanel ? "":"*" ?></label>
<input type="text" id="apertura" class="form-control datetimepick" name="apertura" title="<?= __("apertura offerte") ?>" rel="<?= $gara->quickPanel ? "N":"S" ?>;16;16;DT;scadenza;>" value="<?= mysql2datetime($round["apertura"]) ?>">
</div>
</div>
</div>
</div>
</div>
<div class="card mb-2">
<div class="card-header">
<h3 class="card-title m-0" for="pubblica"><?= __("Visibilità") ?>* </h3>
</div>
<div class="card-body">
<div class="form-group">
<select name="pubblica" class="form-control ignore-lock" title="<?= __("Visibilità") ?>" rel="S;0;0;N" id="pubblica">
<option value="">Seleziona...</option>
<option value="0"><?= __('Non visibile') ?></option>
<? if (!$round["infoFase"]["aperta"]) { ?>
<option value="1"><?= __('Solo invitati') ?></option>
<? } else { ?>
<option value="1"><?= __('Solo registrati') ?></option>
<? } ?>
<? if (!$gara->privata) { ?>
<option value="2"><?= __('Tutti') ?></option>
<? } ?>
</select>
<? if (!empty($round["pubblicazione"])) { ?>
<script>
$("#pubblica").val(<?= $round["pubblica"] ?>);
</script>
<? } ?>
</div>
</div>
</div>
<?
if (!$round["infoFase"]["aperta"] && $gara->getModalita()["online"]) {
$lotti = $gara->getLotti();
$first = true;
?>
<div class="card mb-2">
<div class="card-header">
<h5><?= __("Riepilogo inviti") ?></h5>
<? if (count($lotti) > 1) { ?>
<ul class="nav nav-pills" role="tablist">
<? foreach($lotti AS $lotto) { ?>
<li role="presentation" class="nav-item"><a href="#invitati-<?= $lotto["codice"] ?>" class="nav-link <?= ($first) ? "active" : "" ?>" aria-controls="invitati-<?= $lotto["codice"] ?>" role="tab" data-toggle="tab"><?= __("Lotto") . " " . $lotto["numero"] ?></a></li>
<?
$first = false;
} ?>
</ul>
<? } ?>
</div>
<div class="card-body">
<div class="tab-content">
<?
$first = true;
foreach($lotti AS $lotto) {
if ($gara->setLotto($lotto["codice"])) {
$invitati = $gara->getInvitati();
$invitatiManuali = $gara->getInvitatiManuali();
if (!empty($invitati) || !empty($invitatiManuali)) {?>
<div role="tabpanel" class="tab-pane <?= ($first) ? "active" : "" ?>" id="invitati-<?= $lotto["codice"] ?>">
<strong><?= __("Lotto") . " " . $lotto["numero"] ?></strong><br>
<table class="table table-condensed table-striped table-hover">
<thead>
<tr>
<th width="10">#</th>
<th width="200"><?= __("Codice fiscale") ?></th>
<th><?= __("Ragione sociale") ?></th>
</tr>
</thead>
<tbody>
<?
$count = 0;
if (!empty($invitati)) {
$ids = array_column($invitati,"codice_operatore");
$ooee = oeManager::getOE($ids);
foreach($invitati AS $invitato) {
$count++;
$oe = $ooee[$invitato["codice_operatore"]];
?>
<tr>
<td class="text-center"><?= $count ?></td>
<td class="text-center"><?= $oe["codice_fiscale_impresa"] ?></td>
<td><?= $oe["ragione_sociale"] ?></td>
</tr>
<?
}
}
if (!empty($invitatiManuali)) {
foreach($invitatiManuali AS $oe) {
$count++;
?>
<tr>
<td class="text-center"><?= $count ?></td>
<td class="text-center"><?= $oe["codice_fiscale_operatore"] ?></td>
<td><?= $oe["denominazione"] ?></td>
</tr>
<?
}
}
?>
</tbody>
</table>
</div>
<?
$first =false;
} else {
$continue = false;
alertManager::printAlertBox(__("Invitati mancanti"),__("Lotto") . " " . $lotto["numero"]);
break;
}
} else {
$continue = false;
alertManager::printAlertBox(__("Errore inizializzazione"),__("Lotto") . " " . $lotto["numero"]);
break;
}
}
$gara->lotto = null;
?>
</div>
</div>
<? if (empty($round["pubblica"])) { ?>
<div class="card-footer">
<? alertManager::printWarningCompact(__("Pubblicando saranno inviati gli inviti ai partecipanti")); ?>
</div>
<? } ?>
</div>
<?
}
?>
<button class="btn btn-block ignore-lock btn-lg btn-primary"><span class="fa fa-paper-plane"></span> <?= ($round["pubblica"] == 0) ? __("Pubblica") : __("Salva") ?></button>
</form>
<? if ($lock) { ?>
<script>$(":input").not(".ignore-lock").attr("disabled","disabled").trigger("chosen:updated");</script>
<? }
if (!empty($printConfirmMsg)) { ?>
</div>
<?
}
}
include_once ($beRoot."/layout/bottom.php");
} else {
echo '<meta http-equiv="refresh" content="0;URL=/index.php">';
die();
}
} else {
echo '<meta http-equiv="refresh" content="0;URL=/index.php">';
die();
}
?>