diff --git a/content/ToDo_FASo.html b/content/ToDo_FASo.html
index 32554fada..55728cd97 100644
--- a/content/ToDo_FASo.html
+++ b/content/ToDo_FASo.html
@@ -417,6 +417,21 @@ Studenten
Erledigte Anforderungen
+ - Beim Filtern der Studentenliste erscheint nun eine Fehlermeldung
+wenn kein Studiengang markiert ist
+14.01.2007 oesi
+
+
+ - Studiensemester ist jetzt in der Statusleiste mit Pfeiltasten
+änderbar.
+14.01.2008 oesi
+
+
+ - Incoming werden beim Anlegen automatisch in die Gruppe "0I"
+verschoben
+14.01.2008 oesi
+
+
- Tippfehler in Diplomasupplement korrigiert
07.01.2008
diff --git a/content/ToDo_Tempus.html b/content/ToDo_Tempus.html
index 698e04f54..fd2768861 100644
--- a/content/ToDo_Tempus.html
+++ b/content/ToDo_Tempus.html
@@ -103,10 +103,8 @@ wenn "Raumtyp" und "Raumtyp alternativ" belegt sind
- Eintragen von Anmerkungen zu einzelnen (verplanten)
-Lehreinheiten direkt im Tempus
- |
- med |
+ Lektoränderung durch Drag&Drop in Tempus einbauen |
+ low |
?
|
@@ -191,11 +189,11 @@ Lektorenansicht Stunden aus anderen Studiengängen verplanen)
- Lektoränderung durch Drag&Drop in Tempus einbauen
+ |
|
- low
+ |
|
- ?
+ |
|
@@ -524,7 +522,9 @@ ist fehlerhaft
Erledigte Anforderungen
- - Text
+ - Eintragen von Anmerkungen zu einzelnen (verplanten)
+Lehreinheiten direkt im Tempus
+12.01.2007
diff --git a/content/lvplanung/lehrveranstaltungDBDML.php b/content/lvplanung/lehrveranstaltungDBDML.php
index 698df653f..6eee6682c 100644
--- a/content/lvplanung/lehrveranstaltungDBDML.php
+++ b/content/lvplanung/lehrveranstaltungDBDML.php
@@ -67,12 +67,20 @@ if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz'))
$data = '';
$error = true;
}
-
+
+
+function check_kollision($lehreinheit_id, $mitarbeiter_uid, $mitarbeiter_uid_old)
+{
+ return true;
+}
+
if(!$error)
{
if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_save')
{
+ loadVariables($conn, $user);
+
//Lehreinheitmitarbeiter Zuteilung
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach
@@ -134,7 +142,21 @@ if(!$error)
$lem->new=false;
-
+ if(!$ignore_kollision && $lem->mitarbeiter_uid!=$lem->mitarbeiter_uid_old)
+ {
+ //check kollision
+ if(check_kollision($lem->lehreinheit_id, $lem->mitarbeiter_uid, $lem->mitarbeiter_uid_old))
+ {
+ //Update im Stundenplan
+ }
+ else
+ {
+ $return = false;
+ $errormsg = 'Fehler: Die Aenderung des Lektors fuehrt zu einer Kollision im Stundenplan';
+ $error = true;
+ }
+ }
+
if(!$error)
{
if($lem->save())
diff --git a/content/student/interessentdokumenteoverlay.js.php b/content/student/interessentdokumenteoverlay.js.php
index 7ce0ffe57..48605eb1f 100644
--- a/content/student/interessentdokumenteoverlay.js.php
+++ b/content/student/interessentdokumenteoverlay.js.php
@@ -359,7 +359,10 @@ function InteressentDokumenteFilter()
//Wenn nichts markiert wurde -> beenden
if(tree.currentIndex==-1)
+ {
+ alert('Bitte einen Studiengang/Semester waehlen');
return;
+ }
// Progressmeter starten. Ab jetzt keine 'return's mehr.
document.getElementById('statusbar-progressmeter').setAttribute('mode','undetermined');
diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php
index c31a36833..3bd9b46c9 100644
--- a/content/student/studentDBDML.php
+++ b/content/student/studentDBDML.php
@@ -584,32 +584,61 @@ if(!$error)
}
else
{
- $rolle = new prestudent($conn, null, true);
- if($rolle->load_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester']))
+ $qry = "SELECT count(*) as anzahl FROM public.tbl_prestudentrolle WHERE prestudent_id='".addslashes($_POST['prestudent_id'])."'";
+ if($result = pg_query($conn, $qry))
{
- if($rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') || $rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
+ if($row = pg_fetch_object($result))
{
- if($rolle->delete_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester']))
+ if($row->anzahl<=1)
{
- $return = true;
+ $return = false;
+ $errormsg = 'Die letzte Rolle darf nicht geloescht werden';
+ $error = true;
+ }
+ }
+ else
+ {
+ $return = false;
+ $errormsg = 'Fehler beim Ermitteln der Rollen';
+ $error = true;
+ }
+ }
+ else
+ {
+ $return = false;
+ $error = true;
+ $errormsg = 'Fehler beim Ermitteln der Rollen';
+ }
+
+ if(!$error)
+ {
+ $rolle = new prestudent($conn, null, true);
+ if($rolle->load_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester']))
+ {
+ if($rechte->isBerechtigt('admin', $_POST['studiengang_kz'], 'suid') || $rechte->isBerechtigt('assistenz', $_POST['studiengang_kz'], 'suid'))
+ {
+ if($rolle->delete_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz'], $_POST['ausbildungssemester']))
+ {
+ $return = true;
+ }
+ else
+ {
+ $return = false;
+ $errormsg = $rolle->errormsg;
+ }
}
else
{
$return = false;
- $errormsg = $rolle->errormsg;
+ $errormsg = 'Sie haben keine Berechtigung zum Loeschen dieser Rolle:'.$_POST['studiengang_kz'];
}
}
else
{
$return = false;
- $errormsg = 'Sie haben keine Berechtigung zum Loeschen dieser Rolle:'.$_POST['studiengang_kz'];
+ $errormsg = $rolle->errormsg;
}
}
- else
- {
- $return = false;
- $errormsg = $rolle->errormsg;
- }
}
}
else
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index 70c317223..65721c690 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -1945,7 +1945,10 @@ function StudentKontoFilterStudenten(filter)
//Wenn nichts markiert wurde -> beenden
if(tree.currentIndex==-1)
+ {
+ alert('Bitte zuerst einen Studiengang/Semester waehlen');
return;
+ }
// Progressmeter starten. Ab jetzt keine 'return's mehr.
document.getElementById('statusbar-progressmeter').setAttribute('mode','undetermined');
diff --git a/content/tempus.js.php b/content/tempus.js.php
index b7aaf72e1..14d891a08 100644
--- a/content/tempus.js.php
+++ b/content/tempus.js.php
@@ -321,4 +321,12 @@ function UnDo(log_id, bezeichnung)
function HelpOpenToDo()
{
window.open('ToDo_Tempus.html','ToDo');
+}
+
+// ****
+// * Zeigt das Fenster zur Kollisionspruefung auf Studentenebene an
+// ****
+function KollisionStudentShow()
+{
+ window.open('vilesci/lehre/stpl_benutzer_kollision_frameset.html', 'Kollision Student');
}
\ No newline at end of file
diff --git a/content/tempus.xul.php b/content/tempus.xul.php
index 2c0d675c3..12681730b 100644
--- a/content/tempus.xul.php
+++ b/content/tempus.xul.php
@@ -56,6 +56,7 @@ echo '';
+
@@ -173,6 +174,16 @@ echo '';
?>
+
';
-echo '| Ausbildungssemester * | |