mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -689,6 +689,108 @@ if(!$error)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
elseif(isset($_POST['type']) && $_POST['type']=='anwesenheittogglemitarbeiter')
|
||||||
|
{
|
||||||
|
if(!$rechte->isBerechtigt('student/anwesenheit'))
|
||||||
|
{
|
||||||
|
$return = false;
|
||||||
|
$errormsg = 'Sie haben keine Berechtigung fuer diese Aktion';
|
||||||
|
$data = '';
|
||||||
|
$error = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(isset($_POST['lehreinheit_id']) && isset($_POST['datum']))
|
||||||
|
{
|
||||||
|
$lehreinheit_id = $_POST['lehreinheit_id'];
|
||||||
|
$datum = $_POST['datum'];
|
||||||
|
|
||||||
|
if($_POST['setanwesend']=='false')
|
||||||
|
{
|
||||||
|
// Anwesenheit loeschen
|
||||||
|
$anwesenheit = new anwesenheit();
|
||||||
|
if($anwesenheit->getAnwesenheitLehreinheit($lehreinheit_id, $datum))
|
||||||
|
{
|
||||||
|
$return = true;
|
||||||
|
$errormsg = "";
|
||||||
|
foreach($anwesenheit->result as $row)
|
||||||
|
{
|
||||||
|
$aw = new anwesenheit();
|
||||||
|
if(!$aw->delete($row->anwesenheit_id))
|
||||||
|
{
|
||||||
|
$errormsg.=$aw->errormsg;
|
||||||
|
$return = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$return = false;
|
||||||
|
$errormsg = $anwesenheit->errormsg;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$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
|
||||||
|
{
|
||||||
|
$return = false;
|
||||||
|
$errormsg = 'Fehlerhafte Parameteruebergabe';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$return = false;
|
$return = false;
|
||||||
|
|||||||
@@ -717,6 +717,10 @@ function MitarbeiterAuswahl()
|
|||||||
if(document.getElementById('mitarbeiter-tab-vertrag'))
|
if(document.getElementById('mitarbeiter-tab-vertrag'))
|
||||||
MitarbeiterVertragLoad(person_id)
|
MitarbeiterVertragLoad(person_id)
|
||||||
|
|
||||||
|
// Notizen laden
|
||||||
|
var mitarbeiternotiz = document.getElementById('mitarbeiter-box-notizen');
|
||||||
|
mitarbeiternotiz.LoadNotizTree('','','','',person_id,'','','','');
|
||||||
|
|
||||||
// Selektierungsfunktion der Addons aufrufen
|
// Selektierungsfunktion der Addons aufrufen
|
||||||
for(i in addon)
|
for(i in addon)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -261,6 +261,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragover
|
|||||||
|
|
||||||
?>
|
?>
|
||||||
<tab id="mitarbeiter-tab-termine" label="Termine" onclick="MitarbeiterTermineIFrameLoad()" />
|
<tab id="mitarbeiter-tab-termine" label="Termine" onclick="MitarbeiterTermineIFrameLoad()" />
|
||||||
|
<tab id="mitarbeiter-tab-notizen" label="Notizen"/>
|
||||||
</tabs>
|
</tabs>
|
||||||
<tabpanels id="mitarbeiter-tabpanels-main" flex="1">
|
<tabpanels id="mitarbeiter-tabpanels-main" flex="1">
|
||||||
<vbox id="mitarbeiter-detail-stammdaten" style="margin-top:10px;" />
|
<vbox id="mitarbeiter-detail-stammdaten" style="margin-top:10px;" />
|
||||||
@@ -275,6 +276,9 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragover
|
|||||||
echo '<vbox id="mitarbeiter-vertrag" style="margin-top:10px;" />';
|
echo '<vbox id="mitarbeiter-vertrag" style="margin-top:10px;" />';
|
||||||
?>
|
?>
|
||||||
<iframe id="mitarbeiter-termine" src="" style="margin-top:10px;" />
|
<iframe id="mitarbeiter-termine" src="" style="margin-top:10px;" />
|
||||||
|
<vbox id="mitarbeiter-box-notiz">
|
||||||
|
<box class="Notiz" flex="1" id="mitarbeiter-box-notizen"/>
|
||||||
|
</vbox>
|
||||||
</tabpanels>
|
</tabpanels>
|
||||||
</tabbox>
|
</tabbox>
|
||||||
</vbox>
|
</vbox>
|
||||||
|
|||||||
+78
-1
@@ -36,6 +36,16 @@ function loadTermine(lehreinheit_id, lehrveranstaltung_id, mitarbeiter_uid, stud
|
|||||||
TermineMitarbeiterUID=mitarbeiter_uid;
|
TermineMitarbeiterUID=mitarbeiter_uid;
|
||||||
TermineStudentUID=student_uid;
|
TermineStudentUID=student_uid;
|
||||||
|
|
||||||
|
if(student_uid=='')
|
||||||
|
document.getElementById('termine-tree-popup-toggle-anwesenheit').hidden=true;
|
||||||
|
else
|
||||||
|
document.getElementById('termine-tree-popup-toggle-anwesenheit').hidden=false;
|
||||||
|
|
||||||
|
if(mitarbeiter_uid=='')
|
||||||
|
document.getElementById('termine-tree-popup-togglemitarbeiter-anwesenheit').hidden=true;
|
||||||
|
else
|
||||||
|
document.getElementById('termine-tree-popup-togglemitarbeiter-anwesenheit').hidden=false;
|
||||||
|
|
||||||
// Stundenplan Tabelle aus Variablen holen
|
// Stundenplan Tabelle aus Variablen holen
|
||||||
TermineStundenplanTable = getvariable('termin_export_db_stpl_table');
|
TermineStundenplanTable = getvariable('termin_export_db_stpl_table');
|
||||||
TermineSetSTPLTable(TermineStundenplanTable);
|
TermineSetSTPLTable(TermineStundenplanTable);
|
||||||
@@ -126,7 +136,7 @@ function TermineToggleAnwesenheit()
|
|||||||
alert('Anwesenheit kann nur in der Studierendenansicht geaendert werden');
|
alert('Anwesenheit kann nur in der Studierendenansicht geaendert werden');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(TermineStundenplanTable!='stundenplan')
|
if(TermineStundenplanTable!='stundenplan')
|
||||||
{
|
{
|
||||||
alert('Bitte wechseln Sie auf die Stundenplan Tabelle. Anhand der StundenplanDEV duerfen keine Anwesenheiten geaendert werden.');
|
alert('Bitte wechseln Sie auf die Stundenplan Tabelle. Anhand der StundenplanDEV duerfen keine Anwesenheiten geaendert werden.');
|
||||||
@@ -167,3 +177,70 @@ function TermineToggleAnwesenheit()
|
|||||||
SetStatusBarText('Daten wurden gespeichert');
|
SetStatusBarText('Daten wurden gespeichert');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function TermineToggleAnwesenheitMitarbeiter()
|
||||||
|
{
|
||||||
|
if(TermineMitarbeiterUID=='')
|
||||||
|
{
|
||||||
|
alert('Anwesenheit kann nur bei Mitarbeiter gelöscht werden');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(TermineStundenplanTable!='stundenplan')
|
||||||
|
{
|
||||||
|
alert('Bitte wechseln Sie auf die Stundenplan Tabelle. Anhand der StundenplanDEV duerfen keine Anwesenheiten geaendert werden.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||||
|
var tree = document.getElementById('termine-tree');
|
||||||
|
|
||||||
|
if (tree.currentIndex==-1) return;
|
||||||
|
|
||||||
|
//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', 'anwesenheittogglemitarbeiter');
|
||||||
|
|
||||||
|
req.add('datum', datum);
|
||||||
|
req.add('lehreinheit_id', lehreinheit_id);
|
||||||
|
req.add('setanwesend', setanwesend);
|
||||||
|
|
||||||
|
var response = req.executePOST();
|
||||||
|
|
||||||
|
var val = new ParseReturnValue(response)
|
||||||
|
|
||||||
|
if (!val.dbdml_return)
|
||||||
|
{
|
||||||
|
if(val.dbdml_errormsg=='')
|
||||||
|
alert(response)
|
||||||
|
else
|
||||||
|
alert(val.dbdml_errormsg)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TermineLoadTree();
|
||||||
|
SetStatusBarText('Daten wurden gespeichert');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -50,6 +50,7 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
|
|||||||
<popupset>
|
<popupset>
|
||||||
<menupopup id="termine-tree-popup">
|
<menupopup id="termine-tree-popup">
|
||||||
<menuitem label="Anwesenheit umschalten" oncommand="TermineToggleAnwesenheit();" id="termine-tree-popup-toggle-anwesenheit" hidden="false"/>
|
<menuitem label="Anwesenheit umschalten" oncommand="TermineToggleAnwesenheit();" id="termine-tree-popup-toggle-anwesenheit" hidden="false"/>
|
||||||
|
<menuitem label="Anwesenheit umschalten" oncommand="TermineToggleAnwesenheitMitarbeiter();" id="termine-tree-popup-togglemitarbeiter-anwesenheit" hidden="false"/>
|
||||||
</menupopup>
|
</menupopup>
|
||||||
</popupset>
|
</popupset>
|
||||||
<groupbox id="termine-groupbox-termine" flex="1">
|
<groupbox id="termine-groupbox-termine" flex="1">
|
||||||
|
|||||||
@@ -597,12 +597,12 @@ class anwesenheit extends basis_db
|
|||||||
// Anwesenheitsliste wurde noch nicht erfasst. Eintrag neu anlegen
|
// Anwesenheitsliste wurde noch nicht erfasst. Eintrag neu anlegen
|
||||||
|
|
||||||
// Einheiten ermitteln
|
// Einheiten ermitteln
|
||||||
$qry = "SELECT
|
$qry = "SELECT
|
||||||
distinct stunde
|
distinct stunde
|
||||||
FROM
|
FROM
|
||||||
lehre.tbl_stundenplan
|
lehre.tbl_stundenplan
|
||||||
WHERE
|
WHERE
|
||||||
lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
|
lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
|
||||||
AND datum=".$this->db_add_param($datum);
|
AND datum=".$this->db_add_param($datum);
|
||||||
|
|
||||||
if($result = $this->db_query($qry))
|
if($result = $this->db_query($qry))
|
||||||
@@ -636,4 +636,23 @@ class anwesenheit extends basis_db
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loescht eine Anwesenheit
|
||||||
|
* @param anwesenheit_id integer ID der Anwesenheit.
|
||||||
|
* @return boolean true wenn ok , false im fehlerfall
|
||||||
|
*/
|
||||||
|
public function delete($anwesenheit_id)
|
||||||
|
{
|
||||||
|
$qry = "DELETE FROM campus.tbl_anwesenheit WHERE anwesenheit_id=".$this->db_add_param($anwesenheit_id, FHC_INTEGER).";";
|
||||||
|
|
||||||
|
if($this->db_query($qry))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg = 'Fehler beim Löschen der Anwesenheit';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user