mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 01:42:17 +00:00
Implementierung Sammelklausur
This commit is contained in:
@@ -62,12 +62,12 @@ function terminHinzufuegen(htmlTag)
|
||||
{
|
||||
case 'input':
|
||||
var count = $("#prfTermin tr").length+1;
|
||||
$("#prfTermin").append('<tr id="row'+count+'"><td><input type="text" id="termin'+count+'" name="termin[]"></td><td><input type="time" id="termin'+count+'Beginn" placeholder="00:00" name="termin'+count+'Beginn[]"></td><td><input type="time" id="termin'+count+'Ende" placeholder="00:00" name="termin'+count+'Ende[]"></td><td><input type="number" id="termin'+count+'min" placeholder="0" min="0" name="termin'+count+'minTeilnehmer[]"></td><td><input type="number" id="termin'+count+'max" placeholder="10" min="0" name="termin'+count+'maxTeilnehmer[]"></td></tr>');
|
||||
$("#prfTermin").append('<tr id="row'+count+'"><td><input type="text" id="termin'+count+'" name="termin[]"></td><td><input type="time" id="termin'+count+'Beginn" placeholder="00:00" name="termin'+count+'Beginn[]"></td><td><input type="time" id="termin'+count+'Ende" placeholder="00:00" name="termin'+count+'Ende[]"></td><td><input type="number" id="termin'+count+'min" placeholder="0" min="0" name="termin'+count+'minTeilnehmer[]"></td><td><input type="number" id="termin'+count+'max" placeholder="10" min="0" name="termin'+count+'maxTeilnehmer[]"></td><td><input id="termin'+count+'sammelklausur" type="checkbox" name="sammelklausur"></td></tr>');
|
||||
setDatePicker();
|
||||
break;
|
||||
case 'span':
|
||||
var count = $("#prfTermin tr").length+1;
|
||||
$("#prfTermin").append('<tr id="row'+count+'"><td><span style="visibility: hidden;" id="termin'+count+'Id"></span><span id="termin'+count+'" name="termin[]"></span></td><td><span id="termin'+count+'Beginn" name="termin'+count+'Beginn[]"></span></td><td><span id="termin'+count+'Ende" name="termin'+count+'Ende[]"></span></td><td><span id="termin'+count+'min" name="termin'+count+'minTeilnehmer[]"></span></td><td><span id="termin'+count+'max" name="termin'+count+'maxTeilnehmer[]"></span></td></tr>');
|
||||
$("#prfTermin").append('<tr id="row'+count+'"><td><span style="visibility: hidden;" id="termin'+count+'Id"></span><span id="termin'+count+'" name="termin[]"></span></td><td><span id="termin'+count+'Beginn" name="termin'+count+'Beginn[]"></span></td><td><span id="termin'+count+'Ende" name="termin'+count+'Ende[]"></span></td><td><span id="termin'+count+'min" name="termin'+count+'minTeilnehmer[]"></span></td><td><span id="termin'+count+'max" name="termin'+count+'maxTeilnehmer[]"></span></td><td><span id="termin'+count+'sammelklausur" name="termin'+count+'sammelklausur"></td></tr>');
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1065,6 +1065,9 @@ function savePruefungstermin()
|
||||
case 4:
|
||||
termin.max = $(w).val();
|
||||
break;
|
||||
case 5:
|
||||
termin.sammelklausur = $(w).prop("checked");
|
||||
break;
|
||||
}
|
||||
});
|
||||
if(!checkTermin(termin))
|
||||
@@ -1353,6 +1356,14 @@ function loadPruefungsDetails(prfId)
|
||||
$("#termin"+j+"Ende").text(bis);
|
||||
$("#termin"+j+"min").text(min);
|
||||
$("#termin"+j+"max").text(max);
|
||||
if(t.sammelklausur)
|
||||
{
|
||||
$("#termin"+j+"sammelklausur").text("true");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#termin"+j+"sammelklausur").text("false");
|
||||
}
|
||||
$("#termin"+j+"Id").closest("tr").append("<td><a href='#' onclick='terminLoeschen(\""+d.pruefung.pruefung_id+"\", \""+t.pruefungstermin_id+"\");'>löschen</a></td>");
|
||||
terminHinzufuegen("span");
|
||||
}
|
||||
@@ -1458,6 +1469,9 @@ function updatePruefung(prfId)
|
||||
case 5:
|
||||
termin.max = $(w).text();
|
||||
break;
|
||||
case 6:
|
||||
termin.sammelklausur = $(w).prop("checked");
|
||||
break;
|
||||
}
|
||||
});
|
||||
if(!checkTermin(termin))
|
||||
@@ -1496,6 +1510,9 @@ function updatePruefung(prfId)
|
||||
case 4:
|
||||
termin.max = $(w).val();
|
||||
break;
|
||||
case 5:
|
||||
termin.sammelklausur = $(w).prop("checked");
|
||||
break;
|
||||
}
|
||||
});
|
||||
if(!checkTermin(termin))
|
||||
|
||||
@@ -823,8 +823,20 @@ function getAllFreieRaeume($terminId)
|
||||
$datum_bis = explode(" ", $pruefungstermin->bis);
|
||||
$teilnehmer = $pruefungstermin->getNumberOfParticipants();
|
||||
$teilnehmer = $teilnehmer !== false ? $teilnehmer : 0;
|
||||
$pruefungstermin->getAll($pruefungstermin->von, $pruefungstermin->bis, TRUE);
|
||||
|
||||
if($ort->search($datum_von[0], $datum_von[1], $datum_bis[1], null, $teilnehmer, true))
|
||||
{
|
||||
foreach($pruefungstermin->result as $termin)
|
||||
{
|
||||
if($termin->pruefungstermin_id != $pruefungstermin->pruefungstermin_id && !is_null($termin->ort_kurzbz))
|
||||
{
|
||||
$o = new ort($termin->ort_kurzbz);
|
||||
$o->ort_kurzbz .= " (Sammelklausur)";
|
||||
array_push($ort->result, $o);
|
||||
}
|
||||
}
|
||||
|
||||
usort($ort->result, "compareRaeume");
|
||||
$data['result']=$ort->result;
|
||||
$data['error']='false';
|
||||
@@ -863,7 +875,7 @@ function saveRaum($terminId, $ort_kurzbz, $uid)
|
||||
if($reservierung->isReserviert($ort_kurzbz, $datum_von[0], $h))
|
||||
$reserviert = true;
|
||||
}
|
||||
if(!$reserviert)
|
||||
if(!$reserviert || $pruefungstermin->sammelklausur == TRUE)
|
||||
{
|
||||
$pruefung = new pruefungCis($pruefungstermin->pruefung_id);
|
||||
$mitarbeiter = new mitarbeiter($pruefung->mitarbeiter_uid);
|
||||
|
||||
@@ -229,6 +229,7 @@ function savePruefungstermin($uid, $studiensemester_kurzbz, $pruefungsfenster_id
|
||||
$termin->max = $t["max"];
|
||||
$termin->beginn = date('Y-m-d H:i', strtotime($date." ".$beginn));
|
||||
$termin->ende = date('Y-m-d H:i', strtotime($date." ".$ende));
|
||||
$termin->sammelklausur = $t["sammelklausur"];
|
||||
// if(checkTerminPruefungsfenster($pruefungsfenster_id, $date))
|
||||
// {
|
||||
if(!(checkCollision($uid, $termin->beginn, $termin->ende)))
|
||||
@@ -372,6 +373,7 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru
|
||||
$termin->max = $t["max"];
|
||||
$termin->beginn = date('Y-m-d H:i', strtotime($date." ".$beginn));
|
||||
$termin->ende = date('Y-m-d H:i', strtotime($date." ".$ende));
|
||||
$termin->sammelklausur = $t["sammelklausur"];
|
||||
// if(checkTerminPruefungsfenster($pruefungsfenster_id, $date))
|
||||
// {
|
||||
if(!(checkCollision($uid, $termin->beginn, $termin->ende)))
|
||||
@@ -394,7 +396,7 @@ function updatePruefungstermin($uid, $pruefung_id, $studiensemester_kurzbz, $pru
|
||||
}
|
||||
foreach ($termineNeuArray as $t)
|
||||
{
|
||||
$pruefung->saveTerminPruefung($pruefung_id, $t->beginn, $t->ende, $t->max, $t->min);
|
||||
$pruefung->saveTerminPruefung($pruefung_id, $t->beginn, $t->ende, $t->max, $t->min, $t->sammelklausur);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -247,6 +247,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
|
||||
<th>bis</th>
|
||||
<th>min. Teilnehmer</th>
|
||||
<th>max. Teilnehmer</th>
|
||||
<th>Sammelklausur</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -267,6 +268,12 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
|
||||
<td>
|
||||
<input type="number" id="termin1max" placeholder="10" min="0" name="termin1maxTeilnehmer[]">
|
||||
</td>
|
||||
<td>
|
||||
<input type="number" id="termin1max" placeholder="10" min="0" name="termin1maxTeilnehmer[]">
|
||||
</td>
|
||||
<td>
|
||||
<input id="termin1sammelklausur" type="checkbox" name="sammelklausur">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -200,7 +200,7 @@ class pruefungCis extends basis_db
|
||||
}
|
||||
foreach ($this->termine as $termin)
|
||||
{
|
||||
if(!$this->saveTerminPruefung($this->pruefung_id, $termin->beginn, $termin->ende, $termin->max, $termin->min))
|
||||
if(!$this->saveTerminPruefung($this->pruefung_id, $termin->beginn, $termin->ende, $termin->max, $termin->min, $termin->sammelklausur))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Termine.';
|
||||
$this->db_query('ROLLBACK');
|
||||
@@ -417,7 +417,7 @@ class pruefungCis extends basis_db
|
||||
* @param type $min minimale Teilnehmerzahl
|
||||
* @return boolean true, wenn ok; false im Fehlerfall
|
||||
*/
|
||||
public function saveTerminPruefung($pruefung_id, $beginn, $ende, $max, $min)
|
||||
public function saveTerminPruefung($pruefung_id, $beginn, $ende, $max, $min, $sammelklausur)
|
||||
{
|
||||
if(!is_numeric($pruefung_id))
|
||||
{
|
||||
@@ -425,12 +425,13 @@ class pruefungCis extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'INSERT INTO campus.tbl_pruefungstermin (pruefung_id, von, bis, teilnehmer_max, teilnehmer_min) VALUES ('
|
||||
$qry = 'INSERT INTO campus.tbl_pruefungstermin (pruefung_id, von, bis, teilnehmer_max, teilnehmer_min, sammelklausur) VALUES ('
|
||||
. $this->db_add_param($pruefung_id).', '
|
||||
. $this->db_add_param($beginn).', '
|
||||
. $this->db_add_param($ende).', '
|
||||
. $this->db_add_param($max).', '
|
||||
. $this->db_add_param($min).');';
|
||||
. $this->db_add_param($min).', '
|
||||
. $this->db_add_param($sammelklausur).');';
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
@@ -462,6 +463,7 @@ class pruefungCis extends basis_db
|
||||
$obj->anmeldung_von= $row->anmeldung_von;
|
||||
$obj->anmeldung_bis = $row->anmeldung_bis;
|
||||
$obj->ort_kurzbz = $row->ort_kurzbz;
|
||||
$obj->sammelklausur = $row->sammelklausur;
|
||||
array_push($this->termine, $obj);
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -37,6 +37,7 @@ class pruefungstermin extends basis_db{
|
||||
public $anmeldung_von; //date
|
||||
public $anmeldung_bis; //date
|
||||
public $ort_kurzbz; //varchar(16)
|
||||
public $sammelklausur; //boolean
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -92,6 +93,7 @@ class pruefungstermin extends basis_db{
|
||||
$this->anmeldung_von= $row->anmeldung_von;
|
||||
$this->anmeldung_bis = $row->anmeldung_bis;
|
||||
$this->ort_kurzbz = $row->ort_kurzbz;
|
||||
$this->sammelklausur = $row->sammelklausur;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -185,4 +187,54 @@ class pruefungstermin extends basis_db{
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* lädt alle Prüfungstermine
|
||||
*/
|
||||
public function getAll($beginn=NULL, $ende=NULL, $sammelklausur=NULL)
|
||||
{
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefungstermin';
|
||||
|
||||
if(!is_null($beginn) && !is_null($ende))
|
||||
{
|
||||
$qry .= ' WHERE von <='.$this->db_add_param($beginn).' '
|
||||
. 'AND bis >='.$this->db_add_param($ende);
|
||||
}
|
||||
if(!is_null($sammelklausur) && !is_null($beginn))
|
||||
{
|
||||
$qry .= ' AND sammelklausur='.$this->db_add_param($sammelklausur);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry .= ' WHERE sammelklausur='.$this->db_add_param($sammelklausur);
|
||||
}
|
||||
|
||||
$qry .= ';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new stdClass();
|
||||
$obj->pruefungstermin_id = $row->pruefungstermin_id;
|
||||
$obj->pruefung_id = $row->pruefung_id;
|
||||
$obj->von = $row->von;
|
||||
$obj->bis = $row->bis;
|
||||
$obj->teilnehmer_max = $row->teilnehmer_max;
|
||||
$obj->teilnehmer_min = $row->teilnehmer_min;
|
||||
$obj->anmeldung_von= $row->anmeldung_von;
|
||||
$obj->anmeldung_bis = $row->anmeldung_bis;
|
||||
$obj->ort_kurzbz = $row->ort_kurzbz;
|
||||
$obj->sammelklausur = $row->sammelklausur;
|
||||
array_push($this->result, $obj);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Termine konnten nicht geladen werden.';
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user