Merge branch 'StatusabhaengigerDokumentenupload'

This commit is contained in:
Manfred Kindl
2019-08-06 19:05:04 +02:00
4 changed files with 150 additions and 17 deletions
-4
View File
@@ -259,8 +259,4 @@ define('STATUSGRUND_ID_EINSTIEG_SOMMERSEMESTER', null);
// Studiengangs_kz des Studiengangs "Qualifikationskurse". Der Studiengang hat eine Sonderstellung zB für das Bewerbungstool.
define('STUDIENGANG_KZ_QUALIFIKATIONKURSE', null);
// EinsteigerInnen ins Sommersemester werden mit einem Statusgrund versehen.
// Die ID dieses Statusgrundes kann hier eingegeben werden. Es wird zB vom Infocenter-Tool gesetzt und im Bewerbungstool abgefragt
define('STATUSGRUND_ID_EINSTIEG_SOMMERSEMESTER', null);
?>
+12 -4
View File
@@ -36,6 +36,7 @@ class dokument extends basis_db
public $bezeichnung_mehrsprachig;
public $dokumentbeschreibung_mehrsprachig;
public $ausstellungsdetails = false;
public $stufe;
public $prestudent_id;
public $mitarbeiter_uid;
@@ -428,6 +429,7 @@ class dokument extends basis_db
$dok->nachreichbar = $this->db_parse_bool($row->nachreichbar);
$dok->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung);
$dok->ausstellungsdetails = $this->db_parse_bool($row->ausstellungsdetails);
$dok->stufe = $row->stufe;
$this->result[] = $dok;
}
return true;
@@ -467,6 +469,7 @@ class dokument extends basis_db
$dok->nachreichbar = $this->db_parse_bool($row->nachreichbar);
$dok->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung);
$dok->ausstellungsdetails = $this->db_parse_bool($row->ausstellungsdetails);
$dok->stufe = $row->stufe;
$this->result[] = $dok;
}
@@ -545,6 +548,7 @@ class dokument extends basis_db
$this->pflicht = $this->db_parse_bool($row->pflicht);
$this->nachreichbar = $this->db_parse_bool($row->nachreichbar);
$this->beschreibung_mehrsprachig = $sprache->parseSprachResult('beschreibung_mehrsprachig',$row);
$this->stufe = $row->stufe;
return true;
}
else
@@ -605,7 +609,7 @@ class dokument extends basis_db
$qry.=" beschreibung_mehrsprachig[$idx],";
}
$qry.=' pflicht, nachreichbar, onlinebewerbung)
$qry.=' pflicht, nachreichbar, onlinebewerbung, stufe)
VALUES ('.
$this->db_add_param($this->dokument_kurzbz).','.
$this->db_add_param($this->studiengang_kz,FHC_INTEGER).',';
@@ -615,7 +619,8 @@ class dokument extends basis_db
$qry.= $this->db_add_param($this->pflicht,FHC_BOOLEAN).','.
$this->db_add_param($this->nachreichbar,FHC_BOOLEAN).','.
$this->db_add_param($this->onlinebewerbung,FHC_BOOLEAN).')';
$this->db_add_param($this->onlinebewerbung,FHC_BOOLEAN).','.
$this->db_add_param($this->stufe,FHC_INTEGER).')';
}
else
{
@@ -628,7 +633,8 @@ class dokument extends basis_db
$qry.=" beschreibung_mehrsprachig[$idx]=".$this->db_add_param($value).",";
}
$qry.=' pflicht='.$this->db_add_param($this->pflicht, FHC_BOOLEAN).',
nachreichbar='.$this->db_add_param($this->nachreichbar, FHC_BOOLEAN).'
nachreichbar='.$this->db_add_param($this->nachreichbar, FHC_BOOLEAN).',
stufe='.$this->db_add_param($this->stufe, FHC_INTEGER).'
WHERE
dokument_kurzbz='.$this->db_add_param($this->dokument_kurzbz).'
AND studiengang_kz='.$this->db_add_param($this->studiengang_kz);
@@ -714,6 +720,7 @@ class dokument extends basis_db
$dok->dokumentbeschreibung_mehrsprachig = $sprache->parseSprachResult('dokumentbeschreibung_mehrsprachig', $row);
$dok->beschreibung_mehrsprachig = $sprache->parseSprachResult('beschreibung_mehrsprachig', $row);
$dok->ausstellungsdetails = $this->db_parse_bool($row->ausstellungsdetails);
$dok->stufe = $row->stufe;
$this->result[] = $dok;
}
@@ -838,7 +845,8 @@ class dokument extends basis_db
*/
public function getStudiengaengeDokument($dokument_kurzbz, $person_id = null)
{
$qry = " SELECT DISTINCT studiengang_kz,typ||kurzbz AS kuerzel, bezeichnung, english FROM public.tbl_dokumentstudiengang
$qry = " SELECT DISTINCT studiengang_kz,typ||kurzbz AS kuerzel, bezeichnung, english, stufe
FROM public.tbl_dokumentstudiengang
JOIN public.tbl_prestudent USING (studiengang_kz)
JOIN public.tbl_prestudentstatus USING (prestudent_id)
JOIN public.tbl_studiengang USING (studiengang_kz)
+12 -1
View File
@@ -3019,6 +3019,17 @@ if(!@$db->db_query("SELECT 0 FROM campus.tbl_zeitaufzeichnung_gd WHERE 0 = 1"))
}
// Add column Stufe to tbl_dokumentstudiengang
if(!$result = @$db->db_query("SELECT stufe FROM public.tbl_dokumentstudiengang LIMIT 1"))
{
$qry = "ALTER TABLE public.tbl_dokumentstudiengang ADD COLUMN stufe smallint;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_dokumentstudiengang: '.$db->db_last_error().'</strong><br>';
else
echo '<br>public.tbl_dokumentstudiengang: Spalte stufe hinzugefuegt';
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -3181,7 +3192,7 @@ $tabellen=array(
"public.tbl_buchungstyp" => array("buchungstyp_kurzbz","beschreibung","standardbetrag","standardtext","aktiv","credit_points"),
"public.tbl_dokument" => array("dokument_kurzbz","bezeichnung","ext_id","bezeichnung_mehrsprachig","dokumentbeschreibung_mehrsprachig","ausstellungsdetails"),
"public.tbl_dokumentprestudent" => array("dokument_kurzbz","prestudent_id","mitarbeiter_uid","datum","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_dokumentstudiengang" => array("dokument_kurzbz","studiengang_kz","ext_id", "onlinebewerbung", "pflicht","beschreibung_mehrsprachig","nachreichbar"),
"public.tbl_dokumentstudiengang" => array("dokument_kurzbz","studiengang_kz","ext_id", "onlinebewerbung", "pflicht","beschreibung_mehrsprachig","nachreichbar","stufe"),
"public.tbl_erhalter" => array("erhalter_kz","kurzbz","bezeichnung","dvr","logo","zvr"),
"public.tbl_fachbereich" => array("fachbereich_kurzbz","bezeichnung","farbe","studiengang_kz","aktiv","ext_id","oe_kurzbz"),
"public.tbl_filter" => array("filter_id","kurzbz","sql","valuename","showvalue","insertamum","insertvon","updateamum","updatevon","type","htmlattr", "bezeichnung"),
+126 -8
View File
@@ -34,6 +34,7 @@ $dokument_kurzbz = isset($_REQUEST['dokument_kurzbz']) ? $_REQUEST['dokument_kur
$onlinebewerbung = isset($_REQUEST['onlinebewerbung']);
$pflicht = isset($_POST['pflicht']);
$nachreichbar = isset($_POST['nachreichbar']);
$stufe = isset($_REQUEST['stufe']) ? $_REQUEST['stufe'] : '';
$sprache = new sprache();
$sprache->getAll(true, 'index');
@@ -64,6 +65,7 @@ if($action == 'add')
$dokument->onlinebewerbung = $onlinebewerbung;
$dokument->pflicht = $pflicht;
$dokument->nachreichbar = $nachreichbar;
$dokument->stufe = $stufe;
$beschreibung_mehrsprachig = array();
foreach($sprache->result as $row_sprache)
@@ -128,6 +130,44 @@ if($action === 'togglepflicht')
}
}
// Ändern der Stufe per Ajax
$changeStufe = filter_input(INPUT_POST, 'changeStufe', FILTER_VALIDATE_BOOLEAN);
if ($changeStufe && isset($_POST['stufe']) && isset($_POST['studiengang_kz']))
{
if (!$stufe = filter_input(INPUT_POST, 'stufe', FILTER_VALIDATE_INT))
{
echo json_encode(array(
'status' => 'fehler',
'msg' => '"'.$_POST['stufe'].'" ist kein gültiger Wert für die Stufe'
));
exit();
}
$studiengang_kz = filter_input(INPUT_POST, 'studiengang_kz', FILTER_VALIDATE_INT);
$dokument_kurzbz = filter_input(INPUT_POST, 'dokument_kurzbz');
$dokument = new dokument();
$dokument->loadDokumentStudiengang($dokument_kurzbz, $studiengang_kz);
$dokument->stufe = $stufe;
if (!$dokument->saveDokumentStudiengang())
{
echo json_encode(array(
'status' => 'fehler',
'msg' => $p->t('global/fehlerBeiDerParameteruebergabe')
));
exit();
}
else
{
echo json_encode(array(
'status' => 'ok',
'msg' => 'Status erfolgreich aktualisiert'
));
exit();
}
}
if($action === 'togglenachreichbar')
{
if(!$rechte->isBerechtigt('assistenz', $stg_kz, 'su'))
@@ -188,10 +228,25 @@ echo '<!DOCTYPE HTML>
<script type="text/javascript">
$(document).ready(function()
{
$.tablesorter.addParser({
// set a unique id
id: "stufe",
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s, table, cell)
{
return $("input", cell).val();
},
// set type, either numeric or text
type: "numeric"
});
$("#t1").tablesorter(
{
sortList: [[0,0]],
widgets: ["zebra"]
widgets: ["zebra"],
headers: {7:{sorter: "stufe"}}
});
$("#t2").tablesorter(
{
@@ -237,6 +292,45 @@ echo '<!DOCTYPE HTML>
forced_root_block: "",
editor_deselector: "mceNoEditor"
});
function changeStufe(dokument_kurzbz)
{
var stufe = $("#stufe_"+dokument_kurzbz).val();
var studiengang_kz = $("#studiengangSelect").val();
data = {
stufe: stufe,
studiengang_kz: studiengang_kz,
dokument_kurzbz: dokument_kurzbz,
changeStufe: true
};
$.ajax({
url: "studiengang_dokumente.php",
data: data,
type: "POST",
dataType: "json",
success: function(data)
{
if(data.status!="ok")
{
$("#feedbackSpanFalse_"+dokument_kurzbz).toggle();
$("#feedbackSpanFalse_"+dokument_kurzbz).attr("title", data["msg"]);
}
else
{
$("#feedbackSpanFalse_"+dokument_kurzbz).hide();
$("#feedbackSpanTrue_"+dokument_kurzbz).toggle();
$("#feedbackSpanTrue_"+dokument_kurzbz).delay(1000).fadeOut();
}
},
error: function(data)
{
alert(data["msg"]);
}
});
}
</script>
<title>Zuordnung Studiengang - Dokumente</title>
</head>
@@ -399,7 +493,7 @@ else
<tr>
<td>
<form action='.$_SERVER['PHP_SELF'].' method="post" name="dokumente_zuteilung">
<select name="stg_kz" onchange="document.dokumente_zuteilung.submit()">';
<select id="studiengangSelect" name="stg_kz" onchange="document.dokumente_zuteilung.submit()">';
echo '<option value="">-- Studiengang auswählen --</option>';
foreach ($studiengang->result as $stg)
{
@@ -450,9 +544,10 @@ else
}
if($rechte->isBerechtigt('assistenz', $stg_kz, 'su'))
{
echo' <th class="sorter-false" style="text-align: center">Online-Bewerbung</th>
<th class="sorter-false" style="text-align: center">Pflicht</th>
<th class="sorter-false" style="text-align: center">Nachreichbar</th>
echo' <th style="text-align: center">Online-Bewerbung</th>
<th style="text-align: center">Pflicht</th>
<th style="text-align: center">Nachreichbar</th>
<th style="text-align: center">Stufe</th>
<th class="sorter-false"></th>';
}
echo'</tr>
@@ -488,9 +583,29 @@ else
}
if($rechte->isBerechtigt('assistenz', $stg_kz, 'su'))
{
echo' <td style="text-align: center"><a href="'.$_SERVER['PHP_SELF'].'?action=toggleonline&dokument_kurzbz='.$dok->dokument_kurzbz.'&stg_kz='.$stg_kz.'"><img src="../../skin/images/'.$checked_onlinebewerbung.'.png" /></a></td>
<td style="text-align: center"><a href="'.$_SERVER['PHP_SELF'].'?action=togglepflicht&dokument_kurzbz='.$dok->dokument_kurzbz.'&stg_kz='.$stg_kz.'"><img src="../../skin/images/'.$checked_pflicht.'.png" /></a></td>
<td style="text-align: center"><a href="'.$_SERVER['PHP_SELF'].'?action=togglenachreichbar&dokument_kurzbz='.$dok->dokument_kurzbz.'&stg_kz='.$stg_kz.'"><img src="../../skin/images/'.$checked_nachreichbar.'.png" /></a></td>
echo' <td style="text-align: center">
<div style="display: none">'.$checked_onlinebewerbung.'</div>
<a href="'.$_SERVER['PHP_SELF'].'?action=toggleonline&dokument_kurzbz='.$dok->dokument_kurzbz.'&stg_kz='.$stg_kz.'">
<img src="../../skin/images/'.$checked_onlinebewerbung.'.png" />
</a>
</td>
<td style="text-align: center">
<div style="display: none">'.$checked_pflicht.'</div>
<a href="'.$_SERVER['PHP_SELF'].'?action=togglepflicht&dokument_kurzbz='.$dok->dokument_kurzbz.'&stg_kz='.$stg_kz.'">
<img src="../../skin/images/'.$checked_pflicht.'.png" />
</a>
</td>
<td style="text-align: center">
<div style="display: none">'.$checked_nachreichbar.'</div>
<a href="'.$_SERVER['PHP_SELF'].'?action=togglenachreichbar&dokument_kurzbz='.$dok->dokument_kurzbz.'&stg_kz='.$stg_kz.'">
<img src="../../skin/images/'.$checked_nachreichbar.'.png" />
</a>
</td>
<td style="text-align: left; width: 60px">
<input style="width: 30px" type="text" id="stufe_'.$dok->dokument_kurzbz.'" value="'.$dok->stufe.'" tabindex="1" onchange="changeStufe(\''.$dok->dokument_kurzbz.'\')">
<span id="feedbackSpanTrue_'.$dok->dokument_kurzbz.'" style="display: none"><img style="width: 16px" src="../../skin/images/true.png" /></span>
<span id="feedbackSpanFalse_'.$dok->dokument_kurzbz.'" style="display: none" title=""><img style="width: 16px" src="../../skin/images/false.png" /></span>
</td>
<td style="text-align: center">';
if($rechte->isBerechtigt('assistenz', $stg_kz, 'su'))
echo '<a href="'.$_SERVER['PHP_SELF'].'?action=edit&dokument_kurzbz='.$dok->dokument_kurzbz.'&stg_kz='.$stg_kz.'"><img src="../../skin/images/edit.png" title="Zuordnung bearbeiten" size="17px" /></a>';
@@ -546,6 +661,9 @@ else
<td class="normal" style="text-align: center" valign="top">
<input type="checkbox" name="nachreichbar" '.($dok_stg->nachreichbar?'checked="checked"':'').'>
</td>
<td class="normal" style="text-align: center" valign="top">
<input type="text" style="width: 30px" name="stufe" value="'.$dok_stg->stufe.'">
</td>
<td class="normal" valign="top"><input type="submit" name="add" value="Speichern"></td>
</tr>
</tfoot>';