Stundenangabe bei der Erstellung von Anwesenheitslisten hinzugefuegt

Beim Erfassen der Anwesenheitslisten kann nun zusätzlich per DropDown die Lehrstunde gewählt werden
GUI im CIS zur Anzeige der Anwesenheiten ueberarbeitet
Als Admin können nun auch Anwesenheiten von anderen eingesehen werden
This commit is contained in:
oesi
2015-04-23 18:42:06 +02:00
parent da46969eed
commit 59aa35d9ac
12 changed files with 458 additions and 139 deletions
+73 -46
View File
@@ -15,13 +15,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Authors: Robert Hofer <robert.hofer@technikum-wien.at>
* Authors: Robert Hofer <robert.hofer@technikum-wien.at>,
* Andreas Oestereicher <oesi@technikum-wien.at>
*/
/*
* Zeigt die bisherige Anwesenheit eines Studenten im aktuellen Semester bei LVAs
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../config/global.config.inc.php');
require_once('../../../include/basis_db.class.php');
@@ -32,11 +32,22 @@ require_once('../../../include/studiensemester.class.php');
require_once('../../../include/student.class.php');
require_once('../../../include/prestudent.class.php');
require_once('../../../include/stundenplan.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
$datum_obj = new datum();
$uid = get_uid();
//$uid = 'if14b001';
//$uid = 'wi13b120';
//$uid = 'ia06b172';
$uidchange=false;
if(isset($_GET['uid']))
{
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if($rechte->isBerechtigt('admin'))
{
$uid = $_GET['uid'];
$uidchange=true;
}
}
$benutzer = new benutzer();
if(!$benutzer->load($uid))
@@ -45,7 +56,7 @@ if(!$benutzer->load($uid))
}
$p = new phrasen(getSprache());
$db = new basis_db();
$student = new student;
$stundenplan = new stundenplan('stundenplan');
$anwesenheit = new anwesenheit;
@@ -66,71 +77,87 @@ $student->get_lv($uid, $semester);
<!DOCTYPE html>
<html>
<head>
<title><?php echo $p->t('lvaliste/anwesenheit') ?></title>
<title><?php echo $p->t('anwesenheitsliste/anwesenheit') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery.min.1.11.1.js"></script>
</head>
<body class="anwesenheit">
<?php if($student->result): ?>
<form id="anwesenheitAuswahl" method="GET">
<select name="semester" id="semester">
<?php foreach($alle_semester as $kurzbz => $sem): ?>
<option value="<?php echo $kurzbz ?>" <?php echo $kurzbz === $semester ? 'selected' : '' ?>><?php echo $sem ?></option>
<?php endforeach; ?>
<?php
echo '<h1>'.$p->t('anwesenheitsliste/anwesenheit').' - '.$db->convert_html_chars($benutzer->titelpre.' '.$benutzer->vorname.' '.$benutzer->nachname.' '.$benutzer->titelpost).'</h1>';
echo '<form id="anwesenheitAuswahl" method="GET">';
if($uidchange)
echo '<input type="hidden" name="uid" value="'.$db->convert_html_chars($uid).'" />';
echo '
<select name="semester" id="semester">';
foreach($alle_semester as $kurzbz => $sem)
{
echo '<option value="'.$kurzbz.'" '.($kurzbz === $semester ? 'selected' : '').'>'.$sem.'</option>';
}
echo '
</select>
</form>
</form>';
<?php foreach($student->result as $lv):
if($student->result)
{
foreach($student->result as $lv)
{
$stunden_gesamt = $stundenplan->getStunden($lv->lehreinheit_id);
if(!$stunden_gesamt)
{
continue;
}
$fehlstunden = $anwesenheit->getAnwesenheit($uid, $lv->lehreinheit_id);
$le_erledigt = $fehlstunden + $anwesenheit->getAnwesenheit($uid, $lv->lehreinheit_id, true);
$anwesenheit_relativ = ($stunden_gesamt - $fehlstunden) / $stunden_gesamt * 100;
?>
echo '
<div class="lv">
<div>
<?php echo $lv->bezeichnung ?>
(<?php echo $lv->lehrform_kurzbz ?>)
'.$db->convert_html_chars($lv->bezeichnung).' ('.$lv->lehrform_kurzbz.')
</div>
<div>
<div class="progress-wrapper">
<div class="progress <?php echo $anwesenheit->getAmpel($anwesenheit_relativ) ?>" style="width: <?php echo (int) round($anwesenheit_relativ) ?>%;"></div>
</div>
<?php echo round($anwesenheit_relativ, 1) ?>%
LE abgeschlossen: [<?php echo $le_erledigt ?>/<?php echo $stunden_gesamt ?>]
<?php if($fehlstunden): ?>
<span class="fehlstunden-details" title="eingetragene Fehlstunden">&gt;&gt;</span>
<div style="display: none;">
<?php $abwesend_termine = $anwesenheit->getAbwesendTermine($uid, $lv->lehreinheit_id); ?>
<table>
<?php foreach($abwesend_termine as $termin): ?>
<tr>
<td><?php echo $termin->datum ?></td>
<td><?php echo $termin->einheiten ?></td>
</tr>
<?php endforeach; ?>
</table>
<div class="progress '.$anwesenheit->getAmpel($anwesenheit_relativ).'" style="width: '.round($anwesenheit_relativ).'%;">
</div>
</div>'.round($anwesenheit_relativ, 1).'%
'.$p->t('anwesenheitsliste/leAbgeschlossen').' ['.$le_erledigt.'/'.$stunden_gesamt.']';
<?php endif; ?>
if($fehlstunden)
{
echo '
<span class="fehlstunden-details" title="'.$p->t('anwesenheitsliste/fehlstunden').'">&gt;&gt;</span>
<div style="display: none;">
<table><tr><td>'.$p->t('global/datum').'</td><td>'.$p->t('anwesenheitsliste/fehlstunden').'</td></tr>';
$abwesend_termine = $anwesenheit->getAbwesendTermine($uid, $lv->lehreinheit_id);
foreach($abwesend_termine as $termin)
{
echo ' <tr>
<td>'.$datum_obj->formatDatum($termin->datum,'d.m.Y').'</td>
<td>'.(float)$termin->einheiten.'</td>
</tr>';
}
echo '
</table>
</div>';
}
echo '
</div>
</div>
<?php endforeach; ?>
<?php else: ?>
Es konnten keine Lehrveranstaltungen gefunden werden.
<?php endif; ?>
</div>';
}
}
else
{
echo $p->t('anwesenheitsliste/keineLVsGefunden');
}
?>
<script type="text/javascript">
$('span.fehlstunden-details').on('click', function() {
$(this).next().toggle();
+109 -70
View File
@@ -17,11 +17,9 @@
*
* Authors: Robert Hofer <robert.hofer@technikum-wien.at>
*/
/*
* Zeigt die bisherige Anwesenheit eines Studenten im aktuellen Semester bei LVAs
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../config/global.config.inc.php');
require_once('../../../include/basis_db.class.php');
@@ -32,20 +30,34 @@ require_once('../../../include/lehreinheit.class.php');
require_once('../../../include/lehreinheitmitarbeiter.class.php');
require_once('../../../include/stundenplan.class.php');
require_once('../../../include/anwesenheit.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
$uid = get_uid();
//$uid = 'himmel';
$uidchange=false;
if(isset($_GET['uid']))
{
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if($rechte->isBerechtigt('admin'))
{
$uid = $_GET['uid'];
$uidchange=true;
}
}
$benutzer = new benutzer();
if(!$benutzer->load($uid) || !check_lektor($uid))
{
die('nicht berechtigt');
die('Sie haben keine Berechtigung fuer diese Seite');
}
$db = new basis_db();
$datum_obj= new datum();
$p = new phrasen(getSprache());
$lehreinheitObj = new lehreinheit;
$lema = new lehreinheitmitarbeiter;
$lehreinheitObj = new lehreinheit();
$lema = new lehreinheitmitarbeiter();
$stundenplan = new stundenplan('stundenplan');
$anwesenheit = new anwesenheit;
$alle_semester = $lema->getSemesterZuLektor($uid);
@@ -74,7 +86,7 @@ if($lehreinheit_id)
<!DOCTYPE html>
<html>
<head>
<title><?php echo $p->t('lvaliste/anwesenheit/studenten') ?></title>
<title><?php echo $p->t('anwesenheitsliste/anwesenheit') ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
@@ -83,95 +95,122 @@ if($lehreinheit_id)
<body class="anwesenheit">
<?php if(!count($alle_semester)): ?>
<?php
Keine Lehreinheiten gefunden.
echo '<h1>'.$p->t('anwesenheitsliste/anwesenheit').' - '.$db->convert_html_chars($benutzer->titelpre.' '.$benutzer->vorname.' '.$benutzer->nachname.' '.$benutzer->titelpost).'</h1>';
<?php else: ?>
if(!count($alle_semester))
{
echo $p->t('anwesenheitsliste/keinEintraegeGefunden');
}
else
{
<form id="anwesenheitAuswahl" method="GET">
<select name="semester" id="semester">
<?php foreach($alle_semester as $kurzbz => $sem): ?>
<option value="<?php echo $kurzbz ?>" <?php echo $kurzbz === $semester ? 'selected' : '' ?>>
<?php echo $sem ?>
</option>
<?php endforeach; ?>
echo '<form id="anwesenheitAuswahl" method="GET">';
if($uidchange)
echo '<input type="hidden" name="uid" value="'.$db->convert_html_chars($uid).'" />';
echo '
<select name="semester" id="semester">';
foreach($alle_semester as $kurzbz => $sem)
{
echo '<option value="'.$kurzbz.'" '.($kurzbz === $semester ? 'selected' : '').'>'.$sem.'</option>';
}
echo '
</select>
<select name="lehreinheit" id="lehreinheit">
<option value=""></option>
<?php foreach($lehreinheiten as $le): ?>
<option value="<?php echo $le->lehreinheit_id ?>" <?php echo $le->lehreinheit_id === $lehreinheit_id ? 'selected' : '' ?>>
<?php echo $le->lv_bezeichnung ?>
(<?php echo ($le->lv_lehrform_kurzbz ? $le->lv_lehrform_kurzbz . ', ' : '') . $le->unr ?>)
</option>
<?php endforeach ?>
<option value=""></option>';
foreach($lehreinheiten as $le)
{
echo '<option value="'.$le->lehreinheit_id.'" '.($le->lehreinheit_id === $lehreinheit_id ? 'selected' : '').'>
'.$le->stg_kurzbzlang.' '.$le->lv_semester.' '.$le->lv_bezeichnung.' ('.($le->lv_lehrform_kurzbz ? $le->lv_lehrform_kurzbz . ', ' : '') . $le->lehreinheit_id.')
</option>';
}
echo '
</select>
</form>
<?php
</form>';
if($lehreinheit_id)
{
$stunden_gesamt = $stundenplan->getStunden($lehreinheit_id);
}
if(!$lehreinheit_id): ?>
Bitte LV auswählen.
<?php elseif(!$stunden_gesamt): ?>
Keine Stunden eingetragen.
<?php else:
foreach($studenten as $student):
if(!$lehreinheit_id)
{
echo $p->t('anwesenheitsliste/waehleLV');
}
elseif(!$stunden_gesamt)
{
echo $p->t('anwesenheitsliste/keineStundenvorhanden');
}
else
{
foreach($studenten as $student)
{
$fehlstunden = $anwesenheit->getAnwesenheit($student->uid, $lehreinheit_id);
$le_erledigt = $fehlstunden + $anwesenheit->getAnwesenheit($student->uid, $lehreinheit_id, true);
$anwesenheit_relativ = ($stunden_gesamt - $fehlstunden) / $stunden_gesamt * 100;
?>
echo '
<div class="lv">
<div>
<?php echo $student->nachname ?>
<?php echo $student->vorname ?>
'.$db->convert_html_chars($student->nachname).'
'.$db->convert_html_chars($student->vorname).'
</div>
<div>
<div class="progress-wrapper">
<div class="progress <?php echo $anwesenheit->getAmpel($anwesenheit_relativ) ?>" style="width: <?php echo (int) round($anwesenheit_relativ) ?>%;"></div>
<div class="progress '.$anwesenheit->getAmpel($anwesenheit_relativ).'" style="width: '.(int) round($anwesenheit_relativ).'%;"></div>
</div>
<?php echo round($anwesenheit_relativ, 1) ?>%
LE abgeschlossen: [<?php echo $le_erledigt ?>/<?php echo $stunden_gesamt ?>]
'.round($anwesenheit_relativ, 1).'%
'.$p->t('anwesenheitsliste/leAbgeschlossen').': ['.$le_erledigt.'/'.$stunden_gesamt.']';
<?php if($fehlstunden): ?>
<span class="fehlstunden-details" title="eingetragene Fehlstunden">&gt;&gt;</span>
if($fehlstunden)
{
echo '<span class="fehlstunden-details" title="'.$p->t('anwesenheitsliste/fehlstunden').'">&gt;&gt;</span>
<div style="display: none;">
<?php $abwesend_termine = $anwesenheit->getAbwesendTermine($uid, $lv->lehreinheit_id); ?>
<table>
<?php foreach($abwesend_termine as $termin): ?>
<tr>
<td><?php echo $termin->datum ?></td>
<td><?php echo $termin->einheiten ?></td>
</tr>
<?php endforeach; ?>
</table>
</div>
<tr><td>'.$p->t('global/datum').'</td><td>'.$p->t('anwesenheitsliste/fehlstunden').'</td></tr>';
$abwesend_termine = $anwesenheit->getAbwesendTermine($student->uid, $le->lehreinheit_id);
<?php endif; ?>
</div>
</div>
<?php
endforeach;
endif; ?>
<script type="text/javascript">
$('#anwesenheitAuswahl > *').on('change', function() {
if(this.id === 'semester') {
$('#lehreinheit').val('');
foreach($abwesend_termine as $termin)
{
echo ' <tr>
<td>'.$datum_obj->formatDatum($termin->datum,'d.m.Y').'</td>
<td>'.(float)$termin->einheiten.'</td>
</tr>';
}
echo ' </table>
</div>';
}
$('#anwesenheitAuswahl').trigger('submit');
echo '
</div>
</div>';
}
}
echo '
<script type="text/javascript">
$("span.fehlstunden-details").on("click", function() {
$(this).next().toggle();
});
$("#anwesenheitAuswahl > *").on("change", function() {
if(this.id === "semester") {
$("#lehreinheit").val("");
}
$("#anwesenheitAuswahl").trigger("submit");
});
</script>
<?php endif; ?>
';
}
echo '
</body>
</html>
</html>';
?>
+6
View File
@@ -128,6 +128,12 @@ if(isset($_GET['von']))
$params.='&von='.urlencode($_GET['von']);
if(isset($_GET['bis']))
$params.='&bis='.urlencode($_GET['bis']);
if(isset($_GET['stundevon']))
$params.='&stundevon='.urlencode($_GET['stundevon']);
if(isset($_GET['stundebis']))
$params.='&stundebis='.urlencode($_GET['stundebis']);
if(isset($_GET['sem']))
$params.='&sem='.urlencode($_GET['sem']);
if(isset($_GET['lehreinheit']))
$params.='&lehreinheit='.urlencode($_GET['lehreinheit']);
if(isset($_GET['mitarbeiter_uid']))
-1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -471,7 +471,7 @@ class lehreinheitmitarbeiter extends basis_db
*/
public function getLehreinheiten($mitarbeiter_uid, $studiensemester_kurzbz)
{
$qry = 'SELECT DISTINCT lehreinheit_id, lv_bezeichnung, lv_kurzbz, unr, lv_lehrform_kurzbz '
$qry = 'SELECT DISTINCT lehreinheit_id, lv_bezeichnung, lv_kurzbz, unr, lv_lehrform_kurzbz, stg_kurzbzlang, lv_semester '
. 'FROM campus.vw_lehreinheit '
. 'WHERE mitarbeiter_uid = ' . $this->db_add_param($mitarbeiter_uid)
. ' AND studiensemester_kurzbz = ' . $this->db_add_param($studiensemester_kurzbz)
+9 -1
View File
@@ -7,4 +7,12 @@ $this->phrasen['anwesenheitsliste/keineStudentenVorhanden']='Derzeit sind in die
$this->phrasen['anwesenheitsliste/erstellenDerListeKlicken']='Zum Erstellen der Liste klicken Sie bitte auf die gewünschte Gruppe!';
$this->phrasen['anwesenheitsliste/gesamtliste']='Gesamtliste';
$this->phrasen['anwesenheitsliste/fehlerhafteParameteruebergabe']='Fehlerhafte Parameteruebergabe. Bitte versuchen Sie es erneut';
?>
$this->phrasen['anwesenheitsliste/anwesenheit']='Anwesenheit';
$this->phrasen['anwesenheitsliste/leAbgeschlossen']='LE abgeschlossen';
$this->phrasen['anwesenheitsliste/fehlstunden']='Fehlstunden';
$this->phrasen['anwesenheitsliste/keineLVsGefunden']='Es konnten keine Lehrveranstaltungen gefunden werden';
$this->phrasen['anwesenheitsliste/waehleLV']='Bitte wählen Sie eine Lehrveranstaltung aus';
$this->phrasen['anwesenheitsliste/keineStundenvorhanden']='Derzeit sind keine Stunden eingetragen';
$this->phrasen['anwesenheitsliste/keineEintraegeGefunden']='Es wurden keine Einträge gefunden';
?>
-2
View File
@@ -1,7 +1,5 @@
<?php
$this->phrasen['lvaliste/titel']='Lehrveranstaltungsübersicht';
$this->phrasen['lvaliste/anwesenheit']='Anwesenheit';
$this->phrasen['lvaliste/anwesenheit/studenten']='Anwesenheit der Studenten';
$this->phrasen['lvaliste/hilfeText']='Erklärung\n\nStg-Sem: Studiengang-Semester\nGruppen: Teilnehmende Gruppen\nBlock: Blockung (1->Einzelstunden; 2->Doppelstunden; ...)\nWR: Wochenrhythmus (1->jede Woche; 2->jede 2. Woche; ...)\nStd: gesamte Semesterstunden\nKW: Kalenderwoche in der die Lehrveranstaltung startet';
$this->phrasen['lvaliste/hilfeAnzeigen']='Hilfe anzeigen';
+9 -1
View File
@@ -7,4 +7,12 @@ $this->phrasen['anwesenheitsliste/keineStudentenVorhanden']='There are currently
$this->phrasen['anwesenheitsliste/erstellenDerListeKlicken']='To create the list, please click on the desired group!';
$this->phrasen['anwesenheitsliste/gesamtliste']='Complete List';
$this->phrasen['anwesenheitsliste/fehlerhafteParameteruebergabe']='Incorrect parameter transfer. Please try again.';
?>
$this->phrasen['anwesenheitsliste/anwesenheit']='Attendance List';
$this->phrasen['anwesenheitsliste/leAbgeschlossen']='LE completed';
$this->phrasen['anwesenheitsliste/fehlstunden']='Fehlstunden';
$this->phrasen['anwesenheitsliste/keineLVsGefunden']='Es konnten keine Lehrveranstaltungen gefunden werden';
$this->phrasen['anwesenheitsliste/waehleLV']='Bitte wählen Sie eine Lehrveranstaltung aus';
$this->phrasen['anwesenheitsliste/keineStundenvorhanden']='Derzeit sind keine Stunden eingetragen';
$this->phrasen['anwesenheitsliste/keineEintraegeGefunden']='Es wurden keine Einträge gefunden';
?>
+7 -2
View File
@@ -30,8 +30,10 @@ require_once('../include/ean13.function.php');
// Optionen abfragen
isset($_GET['von']) ? $von = date('Y-m-d', strtotime($_GET['von'])) : $von = NULL;
isset($_GET['bis']) ? $bis = date('Y-m-d', strtotime($_GET['bis'])) : $bis = $von;
isset($_GET['stundevon']) ? $stundevon = $_GET['stundevon'] : $stundevon = null;
isset($_GET['stundebis']) ? $stundebis = $_GET['stundebis'] : $stundebis = null;
isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL;
isset($_GET['ss']) ? $semester = $_GET['ss'] : $semester = NULL;
isset($_GET['semester']) ? $semester = $_GET['semester'] : $semester = NULL;
isset($_GET['lehreinheit']) ? $lehreinheit = $_GET['lehreinheit'] : $lehreinheit = NULL;
if($von)
@@ -60,7 +62,10 @@ if($semester)
$qry .= " AND lv.semester = " . $db->db_add_param($semester);
if($von)
$qry .= " AND (sp.datum >= " . $db->db_add_param($von) . "::DATE AND sp.datum <= " . $db->db_add_param($bis) . "::DATE) ";
if(!is_null($stundevon))
$qry.=" AND stu.stunde>=".$db->db_add_param($stundevon);
if(!is_null($stundebis))
$qry.=" AND stu.stunde<=".$db->db_add_param($stundebis);
$qry .= " ORDER BY datum, beginn";
if($db->db_query($qry))
+7 -4
View File
@@ -1029,10 +1029,13 @@ body.anwesenheit {
body.anwesenheit div.lv {
margin: 10px;
padding-top: 10px;
padding-left: 10px;
background-color: #f2f8ff;
border: 1px solid #2353b2;
}
body.anwesenheit div.lv + div.lv {
border-top: 1px dashed rgb(193,193,193);
/* border-top: 1px dashed rgb(193,193,193);*/
}
body.anwesenheit div.lv > div {
@@ -1050,15 +1053,15 @@ body.anwesenheit div.progress {
}
body.anwesenheit div.progress.green {
background-color: lightgreen;
background-color: #008000;
}
body.anwesenheit div.progress.yellow {
background-color: yellow;
background-color: #ffa500;
}
body.anwesenheit div.progress.red {
background-color: red;
background-color: #dc143c;
}
body.anwesenheit span.fehlstunden-details {
+202 -3
View File
@@ -30,6 +30,8 @@ require_once('../../include/datum.class.php');
require_once('../../include/lehreinheit.class.php');
require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/anwesenheit.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/lehreinheitmitarbeiter.class.php');
if (!$uid = get_uid())
die('Keine UID gefunden!');
@@ -43,12 +45,74 @@ $datum_obj = new datum();
if(!$rechte->isBerechtigt('basis/person', null, 'suid'))
die('Sie haben keine Berechtigung für diese Seite');
if(isset($_REQUEST['work']))
$work = $_REQUEST['work'];
else
$work='';
if($work=='getTermine')
{
$stg = $_POST['stg'];
$sem = $_POST['sem'];
$stsem = $_POST['stsem'];
$lv = $_POST['lv'];
// Daten der Lehreinheiten ermitteln
$qry = "SELECT
le.lehreinheit_id, sp.ort_kurzbz, datum
FROM
lehre.tbl_lehreinheit le
JOIN lehre.tbl_lehrveranstaltung lv ON lv.lehrveranstaltung_id = le.lehrveranstaltung_id
JOIN lehre.tbl_stundenplan sp ON (sp.lehreinheit_id=le.lehreinheit_id)
WHERE lv.studiengang_kz = " . $db->db_add_param($stg)."
AND lv.lehrveranstaltung_id = " . $db->db_add_param($lv)."
AND lv.semester = " . $db->db_add_param($sem)."
AND le.studiensemester_kurzbz=".$db->db_add_param($stsem)." ORDER BY datum, stunde";
$data = array();
$lektoren=array();
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$paddedLehreinheitId = str_pad($row->lehreinheit_id, 6, "0", STR_PAD_LEFT);
$id = date('ymd', strtotime($row->datum)) . $paddedLehreinheitId;
if(!isset($lektoren[$row->lehreinheit_id]))
{
$le_obj = new lehreinheitmitarbeiter();
$le_obj->getLehreinheitmitarbeiter($row->lehreinheit_id);
$lektoren[$row->lehreinheit_id]='';
foreach($le_obj->lehreinheitmitarbeiter as $row_lem)
{
$lektoren[$row->lehreinheit_id].=$row_lem->mitarbeiter_uid.' ';
}
}
$data[$id]=$datum_obj->formatDatum($row->datum,'d.m.Y').' '.$lektoren[$row->lehreinheit_id];
}
}
echo json_encode($data);
exit;
}
if($work=='getLVs')
{
$stg = $_POST['stg'];
$sem = $_POST['sem'];
$stsem = $_POST['stsem'];
$lv = new lehrveranstaltung();
$lv->load_lva_le($stg, $stsem, $sem);
$data = array();
foreach($lv->lehrveranstaltungen as $row)
{
$data[$row->lehrveranstaltung_id]=$row->bezeichnung;
}
echo json_encode($data);
exit;
}
echo '<!DOCTYPE HTML>
<html>
<head>
@@ -72,7 +136,7 @@ echo '<!DOCTYPE HTML>
{
$("#t1").tablesorter(
{
sortList: [[4,1]],
sortList: [[4,0]],
widgets: ["zebra"]
});
});
@@ -276,7 +340,142 @@ if($work=='')
Bitte scannen Sie den Lehreinheiten Barcode<br>
<input type="text" id="lvcode" name="lvcode" value="" size="13"/>
<input type="hidden" name="work" value="loadAnwesenheit" />
</form>';
</form>
';
$studiengang_kz='';
$semester='';
$studiensemester_kurzbz='';
$lv_id='';
echo '<br><hr><br>
<form name="sendform" action="'.$_SERVER["PHP_SELF"].'" method="post">
<input type="hidden" name="work" value="loadAnwesenheit" />';
$studiengang = new studiengang();
$studiengang->getAll('typ,kurzbz');
echo 'Studiengang <select name="studiengang" id="studiengang" style="width:250px" onchange="loadListe()">';
foreach($studiengang->result as $row)
{
if($studiengang_kz=='')
$studiengang_kz=$row->studiengang_kz;
echo '<option value="'.$row->studiengang_kz.'">'.$row->kuerzel.' -'.$row->bezeichnung.'</option>';
}
echo '</select>';
echo 'Semester <select name="semester" id="semester" onchange="loadListe()">';
for($i=1;$i<=10;$i++)
{
if($semester=='')
$semester = $i;
echo '<option value="'.$i.'">'.$i.'</option>';
}
echo '</select>';
$stsem = new studiensemester();
$akt = $stsem->getAktOrNext();
$stsem->getAll();
echo 'Studiensemester <select name="stsem" id="stsem" onchange="loadListe()">';
foreach($stsem->studiensemester as $row)
{
if($studiensemester_kurzbz=='')
$studiensemester_kurzbz=$row->studiensemester_kurzbz;
if($row->studiensemester_kurzbz==$akt)
$selected='selected';
else
$selected='';
echo '<option value="'.$row->studiensemester_kurzbz.'" '.$selected.'>'.$row->studiensemester_kurzbz.'</option>';
}
echo '</select>';
$lv = new lehrveranstaltung();
$lv->load_lva_le($studiengang_kz, $studiensemester_kurzbz, $semester);
echo 'LV <select name="lv" id="lv" onchange="loadListe(\'lv\')">
<option value="">--Auswahl--</option>';
foreach($lv->lehrveranstaltungen as $row)
{
if($lv_id=='')
$lv_id=$row->lehrveranstaltung_id;
echo '<option value="'.$row->lehrveranstaltung_id.'">'.$row->bezeichnung.'</option>';
}
echo '</select>';
echo 'Termin <select name="lvcode" id="termine" >';
echo '</select>
<input type="submit" />';
echo '<script>
function loadListe(action)
{
var stg = $("#studiengang").val();
var sem = $("#semester").val();
var stsem = $("#stsem").val();
var lv = $("#lv").val();
if(action=="lv" && lv!="")
{
// Termine holen
data = {
stg: stg,
sem: sem,
stsem: stsem,
lv: lv,
work: "getTermine"
};
$.ajax({
url: "anwesenheit.php",
data: data,
type: "POST",
dataType: "json",
success: function(data)
{
$("#termine").empty();
$("#termine").append(\'<option value="">-- Auswahl --</option>\');
$.each(data, function(i, entry){
$("#termine").append(\'<option value="\'+i+\'">\'+entry+\'</option>\');
});
},
error: function(data)
{
alert("Fehler beim Laden der Daten");
}
});
}
else
{
// LV holen
data = {
stg: stg,
sem: sem,
stsem: stsem,
work: "getLVs"
};
$.ajax({
url: "anwesenheit.php",
data: data,
type: "POST",
dataType: "json",
success: function(data)
{
$("#lv").empty();
$("#lv").append(\'<option value="">-- Auswahl --</option>\');
$.each(data, function(i, entry){
$("#lv").append(\'<option value="\'+i+\'">\'+entry+\'</option>\');
});
},
error: function(data)
{
alert("Fehler beim Laden der Daten");
}
});
}
}
</script>';
}
echo '
</body>
@@ -21,6 +21,7 @@
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/stunde.class.php');
$studiengang = new studiengang;
$studiengang->getAll("typ, kurzbz");
@@ -77,8 +78,8 @@ $studiengang->getAll("typ, kurzbz");
<body class="Background_main">
<h2>Anwesenheitslisten mit Barcodes</h2>
<p id="error" style="display: none; font-weight: bold; color: red;">Die gewählte Zeitspanne darf nicht größer als 14 Tage sein!</p>
<form method="get" action="../../content/pdfExport.php?xsl=AnwListBarcode&output=pdf" onsubmit="return checkDates();">
<a href="anwesenheit.php">Listen erfassen</a>
<form method="get" action="../../content/pdfExport.php" onsubmit="return checkDates();">
<input type="hidden" name="xsl" value="AnwListBarcode" />
<input type="hidden" name="output" value="pdf" />
<input type="hidden" name="xml" value="anwesenheitsliste.xml.php" />
@@ -86,12 +87,37 @@ $studiengang->getAll("typ, kurzbz");
<table>
<tbody>
<tr>
<td>von</td>
<td><input type="text" name="von" class="datepicker" id="von" autocomplete="off" /></td>
<td>Von</td>
<td><input type="text" name="von" class="datepicker" id="von" size="10" autocomplete="off" />
<select name="stundevon">
<?php
$stunde = new stunde();
$stunde->loadAll();
foreach($stunde->stunden as $row)
{
echo '<option value="'.$row->stunde.'">'.$row->stunde.'. Stunde '.$row->beginn->format('H:i').' - '.$row->ende->format('H:i').'</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td>bis</td>
<td><input type="text" name="bis" class="datepicker" id="bis" autocomplete="off" /></td>
<td>Bis</td>
<td><input type="text" name="bis" class="datepicker" id="bis" size="10" autocomplete="off" />
<select id="stundebis" name="stundebis">
<?php
foreach($stunde->stunden as $row)
{
echo '<option value="'.$row->stunde.'">'.$row->stunde.'. Stunde '.$row->beginn->format('H:i').' - '.$row->ende->format('H:i').'</option>';
}
?>
</select>
<script>
$(document).ready(function() {
$('#stundebis option:last-child').attr('selected', 'selected');
});
</script>
</td>
</tr>
<tr>
<td>Studiengang</td>
@@ -104,7 +130,8 @@ $studiengang->getAll("typ, kurzbz");
<tr>
<td>Ausbildungssemester</td>
<td>
<select name="ss">
<select name="sem">
<option value=''>-- Alle --</option>
<?php for($x = 1; $x <= 10; $x++) echo "<option value='$x'>$x</option>\n"; ?>
</select>
</td>
@@ -117,4 +144,4 @@ $studiengang->getAll("typ, kurzbz");
</table>
</form>
</body>
</html>
</html>