mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 16:02:15 +00:00
Anwesenheiten können bei Lektoren jetzt sowohl entfernt als auch gesetzt werden.Beim setzen der Anwesenheit eines Lektors werden alle zugeteilten Studierenden auf anwesend gesetzt
This commit is contained in:
+71
-12
@@ -689,7 +689,7 @@ if(!$error)
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='anwesenheitdelete')
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='anwesenheittogglemitarbeiter')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('student/anwesenheit'))
|
||||
{
|
||||
@@ -704,25 +704,84 @@ if(!$error)
|
||||
{
|
||||
$lehreinheit_id = $_POST['lehreinheit_id'];
|
||||
$datum = $_POST['datum'];
|
||||
$anwesenheit = new anwesenheit();
|
||||
if($anwesenheit->getAnwesenheitLehreinheit($lehreinheit_id, $datum))
|
||||
|
||||
if($_POST['setanwesend']=='false')
|
||||
{
|
||||
$return = true;
|
||||
$errormsg = "";
|
||||
foreach($anwesenheit->result as $row)
|
||||
// Anwesenheit loeschen
|
||||
$anwesenheit = new anwesenheit();
|
||||
if($anwesenheit->getAnwesenheitLehreinheit($lehreinheit_id, $datum))
|
||||
{
|
||||
$aw = new anwesenheit();
|
||||
if(!$aw->delete($row->anwesenheit_id))
|
||||
$return = true;
|
||||
$errormsg = "";
|
||||
foreach($anwesenheit->result as $row)
|
||||
{
|
||||
$errormsg.=$aw->errormsg;
|
||||
$return = false;
|
||||
$aw = new anwesenheit();
|
||||
if(!$aw->delete($row->anwesenheit_id))
|
||||
{
|
||||
$errormsg.=$aw->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = $anwesenheit->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = $anwesenheit->errormsg;
|
||||
$error = false;
|
||||
// Anwesenheit bei allen zugeteilten Studierenden setzen
|
||||
// Teilnehmer ermitteln
|
||||
$einheiten = 0;
|
||||
// Anzahl der Einheiten ermitteln
|
||||
$qry = "SELECT distinct stunde
|
||||
FROM
|
||||
lehre.tbl_stundenplan
|
||||
WHERE
|
||||
lehreinheit_id=".$db->db_add_param($lehreinheit_id)."
|
||||
AND datum=".$db->db_add_param($datum).";";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
$einheiten = $db->db_num_rows($result);
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Ermitteln der Einheiten';
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$qry = "SELECT distinct uid, vorname, nachname, person_id
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung
|
||||
JOIN public.tbl_benutzer USING(uid)
|
||||
JOIN public.tbl_person USING(person_id) WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id);
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$anwesenheit = new anwesenheit();
|
||||
$anwesenheit->uid = $row->uid;
|
||||
$anwesenheit->einheiten = $einheiten;
|
||||
$anwesenheit->lehreinheit_id = $lehreinheit_id;
|
||||
$anwesenheit->datum = $datum;
|
||||
$anwesenheit->anwesend = true;
|
||||
$anwesenheit->anmerkung;
|
||||
$anwesenheit->save();
|
||||
}
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$erorrmsg = 'Fehler beim Ermitteln der Studierenden';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
+23
-8
@@ -42,9 +42,9 @@ function loadTermine(lehreinheit_id, lehrveranstaltung_id, mitarbeiter_uid, stud
|
||||
document.getElementById('termine-tree-popup-toggle-anwesenheit').hidden=false;
|
||||
|
||||
if(mitarbeiter_uid=='')
|
||||
document.getElementById('termine-tree-popup-delete-anwesenheit').hidden=true;
|
||||
document.getElementById('termine-tree-popup-togglemitarbeiter-anwesenheit').hidden=true;
|
||||
else
|
||||
document.getElementById('termine-tree-popup-delete-anwesenheit').hidden=false;
|
||||
document.getElementById('termine-tree-popup-togglemitarbeiter-anwesenheit').hidden=false;
|
||||
|
||||
// Stundenplan Tabelle aus Variablen holen
|
||||
TermineStundenplanTable = getvariable('termin_export_db_stpl_table');
|
||||
@@ -178,7 +178,7 @@ function TermineToggleAnwesenheit()
|
||||
}
|
||||
}
|
||||
|
||||
function TermineDeleteAnwesenheit()
|
||||
function TermineToggleAnwesenheitMitarbeiter()
|
||||
{
|
||||
if(TermineMitarbeiterUID=='')
|
||||
{
|
||||
@@ -192,9 +192,6 @@ function TermineDeleteAnwesenheit()
|
||||
return;
|
||||
}
|
||||
|
||||
if(!confirm('Achtung, beim Löschen der Anwesenheit des Lektors werden auch die Anwesenheiten der Studierenden entfernt. Wollen Sie die Anwesenheit wirklich entfernen?'))
|
||||
return;
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('termine-tree');
|
||||
|
||||
@@ -203,14 +200,32 @@ function TermineDeleteAnwesenheit()
|
||||
//Ausgewaehlte Nr holen
|
||||
var datum = getTreeCellText(tree, 'termine-treecol-datum_iso', tree.currentIndex);
|
||||
var lehreinheit_id = getTreeCellText(tree, 'termine-treecol-lehreinheit_id', tree.currentIndex);
|
||||
var anwesend = getTreeCellText(tree, 'termine-treecol-anwesend', tree.currentIndex);
|
||||
|
||||
if(anwesend=='Ja')
|
||||
setanwesend=false;
|
||||
else if(anwesend=='Nein')
|
||||
setanwesend=true;
|
||||
else
|
||||
{
|
||||
alert('Abbruch -> Anwesenheit ist unbestimmt');
|
||||
return;
|
||||
}
|
||||
|
||||
if(setanwesend == false)
|
||||
{
|
||||
if(!confirm('Achtung, beim Löschen der Anwesenheit des Lektors werden auch die Anwesenheiten der Studierenden entfernt. Wollen Sie die Anwesenheit wirklich entfernen?'))
|
||||
return;
|
||||
}
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'anwesenheitdelete');
|
||||
req.add('type', 'anwesenheittogglemitarbeiter');
|
||||
|
||||
req.add('datum', datum);
|
||||
req.add('lehreinheit_id', lehreinheit_id);
|
||||
req.add('setanwesend', setanwesend);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
@@ -228,4 +243,4 @@ function TermineDeleteAnwesenheit()
|
||||
TermineLoadTree();
|
||||
SetStatusBarText('Daten wurden gespeichert');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -50,7 +50,7 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
|
||||
<popupset>
|
||||
<menupopup id="termine-tree-popup">
|
||||
<menuitem label="Anwesenheit umschalten" oncommand="TermineToggleAnwesenheit();" id="termine-tree-popup-toggle-anwesenheit" hidden="false"/>
|
||||
<menuitem label="Anwesenheit löschen" oncommand="TermineDeleteAnwesenheit();" id="termine-tree-popup-delete-anwesenheit" hidden="false"/>
|
||||
<menuitem label="Anwesenheit umschalten" oncommand="TermineToggleAnwesenheitMitarbeiter();" id="termine-tree-popup-togglemitarbeiter-anwesenheit" hidden="false"/>
|
||||
</menupopup>
|
||||
</popupset>
|
||||
<groupbox id="termine-groupbox-termine" flex="1">
|
||||
|
||||
Reference in New Issue
Block a user