diff --git a/content/fas.xul.php b/content/fas.xul.php index d387cb525..449f917b7 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -26,6 +26,7 @@ require_once('../include/benutzerberechtigung.class.php'); require_once('../include/studiensemester.class.php'); require_once('../include/variable.class.php'); require_once('../include/addon.class.php'); +require_once('../include/datum.class.php'); $user=get_uid(); @@ -45,6 +46,8 @@ if(!$variable->loadVariables($user)) $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); +$datum_obj = new datum(); + if(!$rechte->isBerechtigt('basis/fas')) die('Sie haben keine Berechtigung für diese Seite'); @@ -248,6 +251,7 @@ foreach($addon_obj->result as $addon) label = '$stsem->studiensemester_kurzbz' type = 'radio' command = 'menu-properties-studiensemester:command' + tooltiptext = '(".$datum_obj->formatDatum($stsem->start, "d.m.Y")." - ".$datum_obj->formatDatum($stsem->ende, "d.m.Y").")' checked = ".($variable->variable->semester_aktuell==$stsem->studiensemester_kurzbz?"'true' ":"'false'")." />"; } ?> @@ -934,8 +938,8 @@ foreach($addon_obj->result as $addon) oncommand="studiensemesterChange('', 1)" /> - - + + diff --git a/content/fasDBDML.php b/content/fasDBDML.php index 1c5a7a4c4..2c4fcccbc 100644 --- a/content/fasDBDML.php +++ b/content/fasDBDML.php @@ -493,6 +493,14 @@ if(!$error) $variable->name = 'semester_aktuell'; $variable->wert = $studiensemester_kurzbz; } + elseif(isset($_POST['stsem_aktuell'])) + { + $stsem = new studiensemester(); + $studiensemester_kurzbz = $stsem->getakt(); + + $variable->name = 'semester_aktuell'; + $variable->wert = $studiensemester_kurzbz; + } elseif(isset($_POST['kontofilterstg'])) { $variable->name = 'kontofilterstg'; diff --git a/content/lvplanung/lehrveranstaltungDBDML.php b/content/lvplanung/lehrveranstaltungDBDML.php index 438844071..915efc817 100644 --- a/content/lvplanung/lehrveranstaltungDBDML.php +++ b/content/lvplanung/lehrveranstaltungDBDML.php @@ -1388,6 +1388,118 @@ if(!$error) } } } + else if ($_POST['do']=='copy') + { + if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'sui') + && !$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'sui') + && !$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'sui')) + { + $error = true; + $return = false; + $errormsg = 'Keine Berechtigung'; + } + + if(!$leDAO->load($_POST['lehreinheit_id'])) + { + $return = false; + $error = true; + $errormsg = 'Fehler beim Laden des LV-Teils'; + } + + if(!$error) + { + // Neue Lehreinheit anlegen + $leDAO->new = true; + $leDAO->unr = ''; + $leDAO->updateamum = date('Y-m-d H:i:s'); + $leDAO->updatevon = $user; + $leDAO->insertamum = date('Y-m-d H:i:s'); + $leDAO->insertvon = $user; + + if ($leDAO->save()) + { + // Wenn Art "alle" oder "gruppen" ist, werden auch alle Lehreinheitgruppe kopiert + if(isset($_POST['art']) && ($_POST['art'] == 'alle' || $_POST['art'] == 'gruppen')) + { + $legruppe = new lehreinheitgruppe(); + $legruppe->getLehreinheitgruppe($_POST['lehreinheit_id']); + + if (count($legruppe->lehreinheitgruppe) > 0) + { + foreach ($legruppe->lehreinheitgruppe as $row) + { + $legruppe_new = new lehreinheitgruppe(); + $legruppe_new->lehreinheit_id = $leDAO->lehreinheit_id; + $legruppe_new->studiengang_kz = $row->studiengang_kz; + $legruppe_new->semester = $row->semester; + $legruppe_new->verband = $row->verband; + $legruppe_new->gruppe = $row->gruppe; + $legruppe_new->gruppe_kurzbz = $row->gruppe_kurzbz; + $legruppe_new->updateamum = date('Y-m-d H:i:s'); + $legruppe_new->updatevon = $user; + $legruppe_new->insertamum = date('Y-m-d H:i:s'); + $legruppe_new->insertvon = $user; + + if (!$legruppe_new->save(true)) + { + $errormsg = 'Fehler beim Kopieren der Gruppe: '.$legruppe_new->errormsg; + $return = false; + } + else + { + $return = true; + } + } + } + } + // Wenn Art "alle" oder "lektoren" ist, werden auch alle Lehreinheitmitarbeiter kopiert + if(isset($_POST['art']) && ($_POST['art'] == 'alle' || $_POST['art'] == 'lektoren')) + { + $lema = new lehreinheitmitarbeiter(); + $lema->getLehreinheitmitarbeiter($_POST['lehreinheit_id']); + + if (count($lema->lehreinheitmitarbeiter) > 0) + { + foreach ($lema->lehreinheitmitarbeiter as $row) + { + $lema_new = new lehreinheitmitarbeiter(); + $lema_new->lehreinheit_id = $leDAO->lehreinheit_id; + $lema_new->mitarbeiter_uid = $row->mitarbeiter_uid; + $lema_new->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz; + $lema_new->semesterstunden = $row->semesterstunden; + $lema_new->planstunden = $row->planstunden; + $lema_new->stundensatz = $row->stundensatz; + $lema_new->faktor = $row->faktor; + $lema_new->anmerkung = $row->anmerkung; + $lema_new->bismelden = $row->bismelden; + $lema_new->updateamum = date('Y-m-d H:i:s'); + $lema_new->updatevon = $user; + $lema_new->insertamum = date('Y-m-d H:i:s'); + $lema_new->insertvon = $user; + $lema_new->ext_id = $row->ext_id; + $lema_new->vertrag_id = $row->vertrag_id; + + if (!$lema_new->save(true)) + { + $errormsg = 'Fehler beim Kopieren der MitarbeiterInnen: '.$lema_new->errormsg; + $return = false; + } + else + { + $return = true; + } + } + } + } + $return = true; + } + else + { + $return = false; + $errormsg = $leDAO->errormsg; + } + } + } else if ($_POST['do']=='delete') //Lehreinheit loeschen { if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') && diff --git a/content/lvplanung/lehrveranstaltungoverlay.js.php b/content/lvplanung/lehrveranstaltungoverlay.js.php index dfb1bf4ec..436c48eb8 100644 --- a/content/lvplanung/lehrveranstaltungoverlay.js.php +++ b/content/lvplanung/lehrveranstaltungoverlay.js.php @@ -521,7 +521,7 @@ function LeDelete() } //Abfrage ob wirklich geloescht werden soll - if (confirm('Wollen Sie diese Lehreinheit wirklich loeschen?')) + if (confirm('Wollen Sie diesen LV-Teil wirklich loeschen?')) { //Script zum loeschen der Lehreinheit aufrufen var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','',''); @@ -541,6 +541,52 @@ function LeDelete() } } +// **** +// * LV-Teile kopieren +// **** +function LeCopy(art) +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + var tree = document.getElementById('lehrveranstaltung-tree'); + + if (tree.currentIndex==-1) + return; + + try + { + //Ausgewaehlte LV-Teile holen + var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehreinheit_id"] : "lehrveranstaltung-treecol-lehreinheit_id"; + var lehreinheit_id = tree.view.getCellText(tree.currentIndex,col); + if(lehreinheit_id == '') + { + alert('Lehreinheit_id konnte nicht ermittelt werden'); + return false; + } + } + catch(e) + { + alert(e); + return false; + } + + //Script zum kopieren des LV-Teils aufrufen + var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','',''); + + req.add('type','lehreinheit'); + req.add('do','copy'); + req.add('art',art); + req.add('lehreinheit_id',lehreinheit_id); + var response = req.executePOST(); + + var val = new ParseReturnValue(response) + if(!val.dbdml_return) + alert(val.dbdml_errormsg) + + LvTreeRefresh(); + LeDetailReset(); + LeDetailDisableFields(true); +} + // **** // * Leert alle Eingabe- und Auswahlfelder // **** @@ -2673,7 +2719,7 @@ function LeMitarbeiterGesamtkosten() /* * Oeffnet alle Subtrees */ -function LvTreeOpenAllSubtrees() +function LvTreeOpenAllSubtrees(art) { var tree=document.getElementById('lehrveranstaltung-tree'); @@ -2682,10 +2728,21 @@ function LvTreeOpenAllSubtrees() else return false; - for(var i=items-1;i>=0;i--) + if (art == 'aus') { - if(!tree.view.isContainerOpen(i)) - tree.view.toggleOpenState(i); + for(var i=items-1;i>=0;i--) + { + if(!tree.view.isContainerOpen(i)) + tree.view.toggleOpenState(i); + } + } + else if (art == 'ein') + { + for(var i=items-1;i>=0;i--) + { + if(tree.view.isContainerOpen(i)) + tree.view.toggleOpenState(i); + } } } diff --git a/content/lvplanung/lehrveranstaltungoverlay.xul.php b/content/lvplanung/lehrveranstaltungoverlay.xul.php index f2cc27b2d..4fde1fcc3 100644 --- a/content/lvplanung/lehrveranstaltungoverlay.xul.php +++ b/content/lvplanung/lehrveranstaltungoverlay.xul.php @@ -54,13 +54,21 @@ echo ' + + + + - - + +