mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Prüfungsanmeldung
This commit is contained in:
@@ -161,6 +161,7 @@ function writePrfFensterDetails(){
|
||||
function loadPruefungen()
|
||||
{
|
||||
//TODO student_uid
|
||||
var student_uid = $("#uid").val();
|
||||
var student_uid = "if11b044";
|
||||
$.ajax({
|
||||
dataType: 'json',
|
||||
@@ -196,7 +197,6 @@ function loadPruefungen()
|
||||
|
||||
function loadTermine(pruefung_id)
|
||||
{
|
||||
console.log(pruefung_id);
|
||||
if($("#prfTermine").attr("disabled") === "disabled")
|
||||
{
|
||||
$("#prfTermine").attr("disabled", false);
|
||||
@@ -252,7 +252,11 @@ function showPruefungsDetails()
|
||||
$("#prfBeschreibung").html(e.beschreibung);
|
||||
if(e.einzeln === true)
|
||||
{
|
||||
$("#prfDetails").append("<b>Einzelprüfung!</b>");
|
||||
$("#prfEinzeln").html("<b>Einzelprüfung!</b>");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#prfEinzeln").html("");
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -269,6 +273,7 @@ function saveAnmeldung()
|
||||
var lehrveranstaltung_id = $("#pruefungen option:selected").attr("lv");
|
||||
var termin_id = $("#prfTermine option:selected").val();
|
||||
var bemerkungen = $("#prfWuensche").val();
|
||||
var studiensemester_kurzbz = $("#studiensemester").val();
|
||||
|
||||
$.ajax({
|
||||
dataType: 'json',
|
||||
@@ -278,11 +283,19 @@ function saveAnmeldung()
|
||||
method: "saveAnmeldung",
|
||||
termin_id: termin_id,
|
||||
lehrveranstaltung_id: lehrveranstaltung_id,
|
||||
bemerkung: bemerkungen
|
||||
bemerkung: bemerkungen,
|
||||
studiensemester_kurzbz: studiensemester_kurzbz
|
||||
},
|
||||
error: loadError
|
||||
}).success(function(data){
|
||||
$("#message").html(data.result);
|
||||
if(data.error === 'false')
|
||||
{
|
||||
$("#message").html(data.result);
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#message").html(data.errormsg);
|
||||
}
|
||||
resetForm();
|
||||
});
|
||||
|
||||
@@ -293,13 +306,14 @@ function clearPrfDetails()
|
||||
$("#prfTyp").empty();
|
||||
$("#prfMethode").empty();
|
||||
$("#prfBeschreibung").empty();
|
||||
$("#prfEinzeln").empty();
|
||||
}
|
||||
|
||||
function resetForm()
|
||||
{
|
||||
|
||||
$("form").find("input[type=text], textarea").val("");
|
||||
$("form").find("select").val("null");
|
||||
$("#prfTermine").val("null");
|
||||
$("#pruefungen").val("null");
|
||||
$("#prfTermine").attr("disabled", true);
|
||||
clearPrfDetails();
|
||||
}
|
||||
@@ -11,6 +11,9 @@ require_once('../../../../include/pruefungCis.class.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/pruefungsanmeldung.class.php');
|
||||
require_once('../../../../include/pruefungstermin.class.php');
|
||||
require_once('../../../../include/datum.class.php');
|
||||
require_once('../../../../include/konto.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
|
||||
@@ -85,11 +88,57 @@ switch($method)
|
||||
|
||||
break;
|
||||
case 'saveAnmeldung':
|
||||
$anmeldung = new pruefungsanmeldung();
|
||||
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
|
||||
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
|
||||
$anmeldung->wuensche = $_REQUEST["bemerkung"];
|
||||
$anmeldung->uid = $uid;
|
||||
$termin = new pruefungstermin($_REQUEST["termin_id"]);
|
||||
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
|
||||
{
|
||||
$anmeldung = new pruefungsanmeldung();
|
||||
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
|
||||
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
|
||||
$anmeldung->wuensche = $_REQUEST["bemerkung"];
|
||||
$anmeldung->uid = $uid;
|
||||
$anmeldung->status = "angemeldet";
|
||||
|
||||
$studiensemester_kurbz = $_REQUEST['studiensemester_kurzbz'];
|
||||
|
||||
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
|
||||
|
||||
$konto = new konto();
|
||||
$creditpoints = $konto->getCreditPoints($uid, $studiensemester_kurzbz);
|
||||
$creditpoints = 1.5;
|
||||
if($creditpoints !== false)
|
||||
{
|
||||
if($creditpoints < $lehrveranstaltung->ects)
|
||||
{
|
||||
$data['error'] = 'true';
|
||||
$data['errormsg'] = 'Credit-Points-Guthaben ist zu gering.';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Kollisionsprüfung
|
||||
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid);
|
||||
foreach($anmeldungen as $temp)
|
||||
{
|
||||
$datum = new datum();
|
||||
if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis)))
|
||||
{
|
||||
$data['result'][$temp->pruefungstermin_id] = "true";
|
||||
$data['error'] = 'true';
|
||||
$data['errormsg'] = 'Kollision mit anderer Anmeldung.';
|
||||
}
|
||||
}
|
||||
if(isset($data['error']) && $data['error'] = 'true')
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']='Keine freien Plätze vorhanden.';
|
||||
break;
|
||||
}
|
||||
|
||||
if($anmeldung->save(true))
|
||||
{
|
||||
$data['result'] = "Anmeldung erfolgreich!";
|
||||
|
||||
@@ -26,6 +26,8 @@ require_once('../../../../config/cis.config.inc.php');
|
||||
require_once('../../../../include/functions.inc.php');
|
||||
require_once('../../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../../include/konto.class.php');
|
||||
require_once('../../../../include/studiensemester.class.php');
|
||||
|
||||
|
||||
$uid = get_uid();
|
||||
@@ -36,14 +38,12 @@ $rechte->getBerechtigungen($uid);
|
||||
//if(!$rechte->isBerechtigt('lehre/pruefungsanmeldung'))
|
||||
// die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
|
||||
//TODO
|
||||
$lehrveranstaltung = new lehrveranstaltung();
|
||||
$lehrveranstaltung->load_lva_student("if11b044");
|
||||
//foreach ($lehrveranstaltung->lehrveranstaltungen as $lv)
|
||||
//{
|
||||
// echo $lv->bezeichnung."</br>";
|
||||
//}
|
||||
//var_dump($lehrveranstaltung->lehrveranstaltungen[1]);
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->getAll();
|
||||
|
||||
?>
|
||||
<html>
|
||||
@@ -58,12 +58,12 @@ $lehrveranstaltung->load_lva_student("if11b044");
|
||||
<link rel="stylesheet" href="../../../../skin/style.css.php">
|
||||
<link rel="stylesheet" href="../../../../skin/tablesort.css">
|
||||
<style type="text/css">
|
||||
#prfDetails {
|
||||
/*border: 1px solid black;*/
|
||||
#pruefungen, #prfTermine {
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
#anmeldung {
|
||||
width: 30%;
|
||||
#details {
|
||||
margin-left: 1.5em;
|
||||
}
|
||||
|
||||
div {
|
||||
@@ -82,11 +82,32 @@ $lehrveranstaltung->load_lva_student("if11b044");
|
||||
<div id="anmeldung">
|
||||
<form action="pruefungsanmeldung.php" method="POST">
|
||||
<table>
|
||||
<tr>
|
||||
<td>Studiensemester:</td>
|
||||
<td>
|
||||
<select id="studiensemester">
|
||||
<?php
|
||||
foreach($studiensemester->studiensemester as $stdSem)
|
||||
{
|
||||
if($stdSem->studiensemester_kurzbz == $studiensemester->getakt())
|
||||
{
|
||||
echo '<option selected value='.$stdSem->studiensemester_kurzbz.'>'.$stdSem->studiensemester_kurzbz.'</option>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<option value='.$stdSem->studiensemester_kurzbz.'>'.$stdSem->studiensemester_kurzbz.'</option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Prüfung:
|
||||
</td>
|
||||
<td>
|
||||
<input id="uid" type="hidden" name="uid" value="<?php echo $uid;?>">
|
||||
<select id="pruefungen" onChange="showPruefungsDetails();">
|
||||
<!--Prüfungen werden durch Js geladen-->
|
||||
<option value="null">Prüfung auswählen</option>
|
||||
@@ -122,12 +143,13 @@ $lehrveranstaltung->load_lva_student("if11b044");
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div id="details">
|
||||
<h1>Prüfungsdetails</h1>
|
||||
<div id="prfDetails">
|
||||
<span>Typ: </span><span id="prfTyp"></span></br>
|
||||
<span>Methode: </span><span id="prfMethode"></span></br>
|
||||
<span>Beschreibung: </span><span id="prfBeschreibung"></span></br>
|
||||
<span id="prfEinzeln"></span></br>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
@@ -276,7 +276,7 @@ class pruefungCis extends basis_db
|
||||
}
|
||||
else
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->pruefung_id = $row->pruefung_id;
|
||||
$this->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
|
||||
@@ -109,4 +109,73 @@ class pruefungsanmeldung extends basis_db {
|
||||
}
|
||||
}
|
||||
|
||||
public function load($pruefungsanmeldung_id)
|
||||
{
|
||||
if(!is_numeric($pruefungsanmeldung_id))
|
||||
{
|
||||
$this->errormsg = "Anmeldung ID muss eine gültige Zahl sein";
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id).';';
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Anmeldungsdaten konnten nicht geladen werden.';
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->pruefungsanmeldung_id = $row->pruefunganmeldung_id;
|
||||
$this->uid = $row->uid;
|
||||
$this->pruefungstermin_id = $row->pruefungstermin_id;
|
||||
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$this->status_kurzbz = $row->status_kurzbz;
|
||||
$this->wuensche = $row->wuensche;
|
||||
$this->reihung = $row->reihung;
|
||||
$this->kommentar = $row->kommentar;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public function getAnmeldungenByStudent($uid, $studiensemester_kurbz=null, $status_kurzbz=null)
|
||||
{
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
|
||||
. 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
|
||||
. 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
|
||||
. 'WHERE uid='.$this->db_add_param($uid).';';
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Anmeldungen konnten nicht geladen werden.';
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$anmeldungen = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$anmeldung = new stdClass();
|
||||
$anmeldung->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
|
||||
$anmeldung->uid = $row->uid;
|
||||
$anmeldung->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$anmeldung->status_kurzbz = $row->status_kurzbz;
|
||||
$anmeldung->pruefungstermin_id = $row->pruefungstermin_id;
|
||||
$anmeldung->pruefung_id = $row->pruefung_id;
|
||||
$anmeldung->von = $row->von;
|
||||
$anmeldung->bis = $row->bis;
|
||||
array_push($anmeldungen, $anmeldung);
|
||||
}
|
||||
return $anmeldungen;
|
||||
}
|
||||
}
|
||||
|
||||
public function checkAnmeldung()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -74,6 +74,27 @@ class pruefungstermin extends basis_db{
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefungstermin WHERE pruefungstermin_id='.$this->db_add_param($pruefungstermin_id).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->pruefungstermin_id = $row->pruefungstermin_id;
|
||||
$this->pruefung_id = $row->pruefung_id;
|
||||
$this->von = $row->von;
|
||||
$this->bis = $row->bis;
|
||||
$this->teilnehmer_max = $row->teilnehmer_max;
|
||||
$this->teilnehmer_min = $row->teilnehmer_min;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Termin konnte nicht geladen werden.';
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -104,4 +125,20 @@ class pruefungstermin extends basis_db{
|
||||
return $result;
|
||||
|
||||
}
|
||||
|
||||
public function getNumberOfParticipants()
|
||||
{
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung WHERE pruefungstermin_id='.$this->db_add_param($this->pruefungstermin_id).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return $this->db_num_rows();
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Teilnehmeranzahl konnte nicht geladen werden.';
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user