new page to change exam time and date

This commit is contained in:
Gerald Raab
2016-10-30 20:32:09 +01:00
parent cdd736e431
commit 777916481f
5 changed files with 244 additions and 0 deletions
@@ -1485,6 +1485,7 @@ function loadPruefungsDetails(prfId)
$("#termin"+j+"sammelklausur").text("false");
}
$("#termin"+j+"Id").closest("tr").append("<td><a href='#' onclick='terminLoeschen(\""+d.pruefung.pruefung_id+"\", \""+t.pruefungstermin_id+"\");'><?php echo $p->t('global/löschen'); ?></a></td>");
$("#termin"+j+"Id").closest("tr").append("<td><a href='#' onclick='window.open(\"pruefungstermin_aendern.php?termin_id="+t.pruefungstermin_id+"\",\"edit\",\"height=600,width=500,toolbar=no,titlebar=no,status=no,menubar=no\");'><?php echo $p->t('global/editieren'); ?></a></td>");
terminHinzufuegen("span");
}
});
+222
View File
@@ -0,0 +1,222 @@
<!DOCTYPE html>
<?php
/*
* Copyright 2014 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
* Authors: Gerald Raab <raab@technikum-wien.at>
*/
require_once('../../../../config/cis.config.inc.php');
require_once('../../../../include/functions.inc.php');
require_once('../../../../include/benutzerberechtigung.class.php');
require_once('../../../../include/studiensemester.class.php');
require_once('../../../../include/datum.class.php');
require_once('../../../../include/pruefungsfenster.class.php');
require_once('../../../../include/pruefungsanmeldung.class.php');
require_once('../../../../include/lehrveranstaltung.class.php');
require_once('../../../../include/pruefungstermin.class.php');
require_once('../../../../include/studiengang.class.php');
require_once('../../../../include/pruefungCis.class.php');
require_once('../../../../include/mitarbeiter.class.php');
require_once('../../../../include/phrasen.class.php');
require_once('../../../../include/globals.inc.php');
require_once('../../../../include/sprache.class.php');
require_once('../../../../include/mail.class.php');
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$maildebug = '';
$uid = get_uid();
$db = new basis_db();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
$studiensemester = new studiensemester();
$lehrveranstaltung = new lehrveranstaltung();
$lehrveranstaltung->loadLVAfromMitarbeiter(0, $uid, $studiensemester->getaktorNext());
if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('lehre/pruefungsterminAdmin'))
die('Sie haben keine Berechtigung für diese Seite');
if (!ctype_digit($_GET['termin_id']))
die('Wrong Parameter');
else
$termin_id = $_GET['termin_id'];
if (isset($_GET["speichern"]))
{
$prfgtermin = new pruefungstermin($termin_id);
$von = $_GET["datum"]." ".$_GET["vonzeit"];
$bis = $_GET["datum"]." ".$_GET["biszeit"];
$prfgtermin->von = $von;
$prfgtermin->bis = $bis;
$prfgtermin->save();
}
if (isset($_GET["sendmail"]))
{
$prfgtermin = new pruefungstermin($termin_id);
$datum = explode(" ", $prfgtermin->von)[0];
$vonzeit = substr(explode(" ", $prfgtermin->von)[1],0,5);
$biszeit = substr(explode(" ", $prfgtermin->bis)[1],0,5);
$pruefung_id = $prfgtermin->pruefung_id;
$pruefung = new pruefungCis($pruefung_id);
$pruefung->getLehrveranstaltungenByPruefung();
$lvstr = "";
foreach ($pruefung->lehrveranstaltungen as $lv)
{
$lv_objekt = new lehrveranstaltung($lv->lehrveranstaltung_id);
$lvstr .= "*".$lv_objekt->bezeichnung."* ";
}
$maildebug = 'Mail sent to:<br>';
$anmeldung = new pruefungsanmeldung();
$anmeldungen = $anmeldung->getAnmeldungenByTermin($termin_id);
foreach ($anmeldungen as $row)
{
$uid = $row->uid;
$to = $uid.'@'.DOMAIN;
$from = 'no-reply@'.DOMAIN;
$subject = $p->t('pruefung/emailVerschiebungSubject');
$text = $p->t('pruefung/emailVerschiebung', array($lvstr, $datum, $vonzeit));
$msg = new mail($to, $from, $subject, $text);
if ($msg->send())
$maildebug .= $to." OK<br>";
else
$maildebug .= $to.' Error<br>';
}
}
$prfgtermin = new pruefungstermin($termin_id);
$datum = explode(" ", $prfgtermin->von)[0];
$vonzeit = substr(explode(" ", $prfgtermin->von)[1],0,5);
$biszeit = substr(explode(" ", $prfgtermin->bis)[1],0,5);
$pruefung_id = $prfgtermin->pruefung_id;
$pruefung = new pruefungCis($pruefung_id);
$pruefung->getLehrveranstaltungenByPruefung();
$lvstr = "";
foreach ($pruefung->lehrveranstaltungen as $lv)
{
$lv_objekt = new lehrveranstaltung($lv->lehrveranstaltung_id);
$lvstr .= "*".$lv_objekt->bezeichnung."* ";
}
$uids = '';
$anmeldung = new pruefungsanmeldung();
$anmeldungen = $anmeldung->getAnmeldungenByTermin($termin_id);
foreach ($anmeldungen as $row)
{
$uids .= $row->uid.'@'.DOMAIN.'<br>';
}
?>
<html>
<head>
<meta charset="UTF-8">
<title><?php echo $p->t('pruefung/titlePruefungstermin'); ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
<link rel="stylesheet" href="../../../../skin/style.css.php">
<link rel="stylesheet" href="../../../../skin/tablesort.css">
<style type="text/css">
#message {
position: fixed;
top: 0px;
right: 0px;
width: 50%;
height: 2em;
font-size: 1.5em;
font-weight: bold;
}
.missingFormData {
border: 2px solid red;
outline: 2px solid red;
}
.modalOverlay {
position: fixed;
width: 100%;
height: 100%;
top: 0px;
left: 0px;
background-color: rgba(0,0,0,0.3); /* black semi-transparent */
}
#prfDetails, #prfVerwaltung {
margin: 1em;
}
</style>
</head>
<body style="padding-top:20px">
<center>
<form name="change_termin" action="./pruefungstermin_aendern.php" method="GET">
<table>
<tr>
<td><?php echo $p->t('global/lehrveranstaltung'); ?></td>
<td><b><?php echo $lvstr; ?></b></td>
</tr>
<tr>
<td><?php echo $p->t('global/datum'); ?></td>
<td><input type="text" name="datum" value="<?php echo $datum ?>" maxlength="10"></td>
</tr>
<tr>
<td><?php echo $p->t('global/von'); ?></td>
<td><input type="text" name="vonzeit" value="<?php echo $vonzeit ?>" maxlength="5"></td>
</tr>
<tr>
<td><?php echo $p->t('global/bis'); ?></td>
<td><input type="text" name="biszeit" value="<?php echo $biszeit ?>" maxlength="5"></td>
</tr>
<tr>
<td></td>
<td>
<input type="hidden" name="termin_id" value="<?php echo $termin_id ?>">
<input type="submit" name="speichern" value="<?php echo $p->t('global/speichern'); ?>">
</td>
</tr>
<tr>
<td>Anmeldungen:</td>
<td><?php echo $uids; ?></td>
</tr>
<tr>
<td colspan="2">
<br>***<br>
<?php echo nl2br($p->t('pruefung/emailVerschiebung', array($lvstr, $datum, $vonzeit))); ?>
<br>***<br>
</td>
</tr>
<tr>
<td></td>
<td><a href="pruefungstermin_aendern.php?sendmail=yes&termin_id=<?php echo $termin_id; ?>"><input type="button" name="Sendmail" value="Send Infomail"></a></td>
</tr>
<tr><td colspan="2"><?php echo $maildebug; ?></td></tr>
</table>
</form>
</center>
</body>
</html>
+5
View File
@@ -143,6 +143,11 @@ $this->phrasen['pruefung/emailLektorAm'] = 'am';
$this->phrasen['pruefung/emailLektorVon'] = 'von';
$this->phrasen['pruefung/emailLektorUhrBis'] = 'Uhr bis';
$this->phrasen['pruefung/emailLektorUhrAngemeldet'] = 'Uhr angemeldet.';
$this->phrasen['pruefung/emailVerschiebung'] = 'Sehr geehrte Studierende,
Die Prüfung zur LV %1$s wurde verschoben.
Der neue Termin für die Prüfung ist am %2$s um %3$s Uhr.';
$this->phrasen['pruefung/emailVerschiebungSubject'] = 'Verschiebung einer Prüfung';
?>
+5
View File
@@ -143,6 +143,11 @@ $this->phrasen['pruefung/emailLektorAm'] = 'am';
$this->phrasen['pruefung/emailLektorVon'] = 'von';
$this->phrasen['pruefung/emailLektorUhrBis'] = 'Uhr bis';
$this->phrasen['pruefung/emailLektorUhrAngemeldet'] = 'Uhr angemeldet.';
$this->phrasen['pruefung/emailVerschiebung'] = 'Dear student,
The exam for course %1$s has been resceduled.
The exam will take place on %2$s at %3$s hrs.';
$this->phrasen['pruefung/emailVerschiebungSubject'] = 'Exam changed';
?>
+11
View File
@@ -143,4 +143,15 @@ $this->phrasen['pruefung/emailLektorAm'] = 'del';
$this->phrasen['pruefung/emailLektorVon'] = 'dalle';
$this->phrasen['pruefung/emailLektorUhrBis'] = 'alle';
$this->phrasen['pruefung/emailLektorUhrAngemeldet'] = '.';
$this->phrasen['pruefung/emailVerschiebung'] = 'Gentile Studente,
Con la presente comunichiamo che lappello per lesame %1$s ha
subito delle variazioni.
Lappello si terrà il giorno %2$s alle ore %3$s.
Ci scusiamo per eventuali disagi.
Grazie per lattenzione.';
$this->phrasen['pruefung/emailVerschiebungSubject'] = 'Variazione appello desame';
?>