Prüfungsmodul Bugfixes und Erweiterungen

This commit is contained in:
Gerald Raab
2017-01-09 19:15:31 +01:00
parent 87d02ce13e
commit e23db52cb9
6 changed files with 222 additions and 1 deletions
+34 -1
View File
@@ -809,7 +809,7 @@ function writeAnmeldungen(data)
});
liste += "</ul>";
$("#anmeldung_hinzufuegen").html("<input id='anmeldung_hinzufuegen_uid' type='text' placeholder='StudentIn-UID' /><input type='button' value='<?php echo $p->t('global/hinzufuegen'); ?>' onclick='saveAnmeldung(\""+lehrveranstaltung_id+"\",\""+terminId+"\");'/>");
$("#reihungSpeichernButton").html("<input type='button' value='<?php echo $p->t('pruefung/reihungSpeichern'); ?>' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>");
$("#reihungSpeichernButton").html("<input type='button' value='<?php echo $p->t('pruefung/reihungSpeichern'); ?>' onclick='saveReihung(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'><input type='button' value='<?php echo $p->t('pruefung/alleBestaetigen'); ?>' onclick='alleBestaetigen(\""+terminId+"\", \""+lehrveranstaltung_id+"\");'>");
$("#lvdaten").html(lv_bezeichnung+" ("+prf_termin+")");
$("#anmeldeDaten").html(liste);
$("#listeDrucken").html("<a href='./pruefungsanmeldungen_liste.php?termin_id="+terminId+"&lehrveranstaltung_id="+lehrveranstaltung_id+"&studiensemester="+studiensemester+"' target='_blank'><?php echo $p->t('pruefung/listeDrucken'); ?></a>");
@@ -929,6 +929,39 @@ function anmeldungBestaetigen(pruefungsanmeldung_id, termin_id, lehrveranstaltun
});
}
/**
* Ändert den Status aller Anmeldungen eines Termins auf "bestätigt"
* @param {type} termin_id ID des Prüfungstermines
* @param {type} lehrveranstaltung_id ID der Lehrveranstaltung
* @returns {undefined}
*/
function alleBestaetigen(termin_id, lehrveranstaltung_id)
{
$.ajax({
dataType: 'json',
url: "./pruefungsanmeldung.json.php",
type: "POST",
data: {
method: "alleBestaetigen",
termin_id: termin_id,
lehrveranstaltung_id: lehrveranstaltung_id
},
error: loadError
}).success(function(data){
if(data.error === 'false' && data.result === true)
{
if(termin_id !== 'undefined' && lehrveranstaltung_id !== 'undefined')
{
showAnmeldungen(termin_id, lehrveranstaltung_id);
}
}
else
{
messageBox("message", data.errormsg, "red", "highlight", 1000);
}
});
}
/**
* Anzeige eines DIVs zur Darstellung von Fehlermeldungen, etc.
* @param {type} divId ID des DIVs in dem die Meldung dargestellt werden soll
@@ -97,6 +97,9 @@ switch($method)
case 'anmeldungBestaetigen':
$data = anmeldungBestaetigen($uid);
break;
case 'alleBestaetigen':
$data = alleBestaetigen($uid);
break;
case 'getStudiengaenge':
$data = getStudiengaenge();
break;
@@ -932,6 +935,28 @@ function saveReihung()
return $data;
}
/**
* Ändert den Status aller Prüfungsanmeldungen eines Termins/LV auf "bestaetigt"
* @return Array
*/
function alleBestaetigen($uid)
{
$lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
$pruefungstermin_id = $_REQUEST["termin_id"];
$pruefungstermin = new pruefungstermin($pruefungstermin_id);
$pruefungsanmeldung = new pruefungsanmeldung();
$pranmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id);
foreach($pranmeldungen as $a)
{
$anmeldung = new pruefungsanmeldung();
$anmeldung->changeState($a->pruefungsanmeldung_id, 'bestaetigt', $uid);
}
$data['result']=true;
$data['error']='false';
$data['errormsg']='';
return $data;
}
/**
* Ändert den Status einer Prüfungsanmeldung auf "bestaetigt"
* @return Array
@@ -0,0 +1,160 @@
<?php
/* Copyright (C) 2015 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/dokument_export.class.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/pruefungsanmeldung.class.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/student.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$user=get_uid();
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$berechtigung = new benutzerberechtigung();
$berechtigung->getBerechtigungen($user);
if(isset($_GET['lehrveranstaltung_id']) && is_numeric($_GET['lehrveranstaltung_id']))
$lvid = $_GET['lehrveranstaltung_id'];
else
die('Eine gueltige LvID muss uebergeben werden');
if(isset($_GET['studiensemester']))
$studiensemester = $_GET['studiensemester'];
else
die('Eine Studiensemester muss uebergeben werden');
if(isset($_GET['termin_id']) && is_numeric($_GET['termin_id']))
$termin_id = $_GET['termin_id'];
else
die('Eine Termin-ID muss uebergeben werden');
if(!$berechtigung->isBerechtigt('admin') && !$berechtigung->isBerechtigt('assistenz') && !check_lektor_lehrveranstaltung($user,$lvid,$studiensemester))
die('Sie muessen LektorIn der LV oder Admin sein, um diese Seite aufrufen zu koennen');
$output='pdf';
if(isset($_GET['output']) && ($output='odt' || $output='doc'))
$output=$_GET['output'];
$lv = new lehrveranstaltung();
$lv->load($lvid);
$doc = new dokument_export('Pruefungslist');
$stg = new studiengang();
$stg->load($lv->studiengang_kz);
$studiengang_bezeichnung=$stg->bezeichnung;
$stg->getAllTypes();
$datum = new datum();
$stdsem = new studiensemester($studiensemester);
$pruefungsanmeldung = new pruefungsanmeldung();
$anmeldungen = $pruefungsanmeldung->getAnmeldungenByTermin($termin_id, $lvid, $studiensemester, "bestaetigt");
$lehrveranstaltung = new lehrveranstaltung($lvid);
$einzeln = FALSE;
if(!empty($anmeldungen))
{
$pruefung = new pruefungCis($anmeldungen[0]->pruefung_id);
$pruefungstermin = new pruefungstermin($anmeldungen[0]->pruefungstermin_id);
$mitarbeiter = new mitarbeiter($pruefung->mitarbeiter_uid);
$dozent = $mitarbeiter->getFullName(FALSE);
$termin_datum = $datum->formatDatum($pruefungstermin->von, "d.m.Y - H:i");
$data = array(
'bezeichnung'=>$lv->bezeichnung,
'lehrveranstaltung_id'=>$lv->lehrveranstaltung_id,
'studiengang'=>$studiengang_bezeichnung,
'studiengang_kz'=>$lv->studiengang_kz,
'typ'=>$stg->studiengang_typ_arr[$stg->typ],
'studiensemester'=>$studiensemester,
'semester'=>$lv->semester,
'orgform'=>$lv->orgform_kurzbz,
'dozent'=>$dozent,
'termin_datum'=>$termin_datum
);
$count = 0;
foreach($anmeldungen as $anmeldung)
{
$student = new student($anmeldung->uid);
$prfTermin = new pruefungstermin($anmeldung->pruefungstermin_id);
if($einzeln)
{
$date = $datum->formatDatum($prfTermin->von, "Y-m-d H:i:s");
$date = strtotime($date);
$date = $date+(60*$pruefungsintervall*($count));
$date = $datum->formatDatum($prfTermin->von,"d.m.Y").' - '.date("H:i",$date);
$count++;
}
else
{
$date = $datum->formatDatum($prfTermin->von,"d.m.Y - H:i");
$count++;
}
$date = $datum->formatDatum($prfTermin->von,"d.m.Y");
$data[] = array('student'=>array(
'count' => $count,
'vorname' => $student->vorname,
'nachname' => $student->nachname,
'matr_nr' => $student->matr_nr,
'datum' => $date
));
}
$doc->addDataArray($data,'pruefungsliste');
//header("Content-type: application/xhtml+xml");
//echo $doc->ConvertArrayToXML($data,'anwesenheitsliste');
//exit;
if(!$doc->create($output))
die($doc->errormsg);
$doc->output();
$doc->close();
}
else {
echo $p->t('pruefung/keineBestaetigtenAnmeldungenVorhanden');
}
?>
+1
View File
@@ -75,6 +75,7 @@ $this->phrasen['pruefung/terminGeloescht'] = 'Termin gelöscht';
$this->phrasen['pruefung/unbegrenzt'] = 'unbegrenzt';
$this->phrasen['pruefung/bewertungenZu'] = 'Bewertungen zu';
$this->phrasen['pruefung/keineAuswahl'] = 'Keine Auswahl';
$this->phrasen['pruefung/alleBestaetigen'] = 'Alle bestätigen';
// pruefungsbewertung
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Prüfungsbewertung';
+1
View File
@@ -75,6 +75,7 @@ $this->phrasen['pruefung/terminGeloescht'] = 'Termin gelöscht';
$this->phrasen['pruefung/unbegrenzt'] = 'unlimited';
$this->phrasen['pruefung/bewertungenZu'] = 'Bewertungen zu';
$this->phrasen['pruefung/keineAuswahl'] = 'Keine Auswahl';
$this->phrasen['pruefung/alleBestaetigen'] = 'Confirm all';
// pruefungsbewertung
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Prüfungsbewertung';
+1
View File
@@ -75,6 +75,7 @@ $this->phrasen['pruefung/terminGeloescht'] = 'Appello eliminato';
$this->phrasen['pruefung/unbegrenzt'] = '';
$this->phrasen['pruefung/bewertungenZu'] = 'Studenti iscritti allappello di';
$this->phrasen['pruefung/keineAuswahl'] = 'Nessuna selezione';
$this->phrasen['pruefung/alleBestaetigen'] = 'Confermare tutti';
// pruefungsbewertung
$this->phrasen['pruefung/pruefungsbewertungTitle'] = 'Voti desame';