diff --git a/cis/private/lehre/ects/index.php b/cis/private/lehre/ects/index.php
index 5f82fd8d1..90af3ce39 100644
--- a/cis/private/lehre/ects/index.php
+++ b/cis/private/lehre/ects/index.php
@@ -453,6 +453,7 @@
//FB Leiter auslesen
$qry = "SELECT distinct vorname, nachname FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='fbl' AND fachbereich_kurzbz in (SELECT distinct fachbereich_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach WHERE lehrveranstaltung_id='$lv' AND studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE tbl_lehreinheit.lehrveranstaltung_id='$lv' ORDER BY ende DESC LIMIT 1) AND tbl_lehreinheit.lehrfach_id=tbl_lehrfach.lehrfach_id)";
+
echo "
";
//FB Koordinator auslesen
- $qry = "SELECT distinct vorname, nachname FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='fbk' AND studiengang_kz='$stg' AND fachbereich_kurzbz in (SELECT fachbereich_kurzbz FROM lehre.tbl_lehrfach, lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lv' AND tbl_lehrfach.lehrfach_id=tbl_lehreinheit.lehrfach_id AND tbl_lehreinheit.studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE tbl_lehreinheit.lehrveranstaltung_id='$lv' ORDER BY ende DESC LIMIT 1))";
- echo "
FB Koordinator
";
+ //$qry = "SELECT distinct vorname, nachname FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='fbk' AND studiengang_kz='$stg' AND fachbereich_kurzbz in (SELECT fachbereich_kurzbz FROM lehre.tbl_lehrfach, lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lv' AND tbl_lehrfach.lehrfach_id=tbl_lehreinheit.lehrfach_id AND tbl_lehreinheit.studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE tbl_lehreinheit.lehrveranstaltung_id='$lv' ORDER BY ende DESC LIMIT 1))";
+ $qry = "SELECT
+ distinct vorname, nachname, tbl_lehrfach.fachbereich_kurzbz
+ FROM
+ lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach, public.tbl_benutzerfunktion, campus.vw_mitarbeiter
+ WHERE
+ tbl_lehrveranstaltung.lehrveranstaltung_id='$lv' AND
+ tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
+ tbl_lehreinheit.lehrfach_id=tbl_lehrfach.lehrfach_id AND
+ tbl_lehrfach.fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz AND
+ tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
+ vw_mitarbeiter.uid=COALESCE(koordinator, tbl_benutzerfunktion.uid) AND
+ tbl_benutzerfunktion.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz";
+
+ echo "
FB Koordinator
";
if($result=pg_query($conn,$qry))
{
while($row=pg_fetch_object($result))
diff --git a/cis/private/lehre/ects/preview.php b/cis/private/lehre/ects/preview.php
index db93fd28a..90ec9ee82 100644
--- a/cis/private/lehre/ects/preview.php
+++ b/cis/private/lehre/ects/preview.php
@@ -191,6 +191,7 @@
$lehrform_kurzbz[] = $row->lehrform_kurzbz;
//Fachbereichsleiter fuer alle FB ermitteln
$qry="SELECT * FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='fbl' AND fachbereich_kurzbz in($fachbereiche)";
+
if(!$res=pg_query($conn,$qry))
die('Fehler beim herstellen der DB Connection');
@@ -199,7 +200,19 @@
$fachbereichsleiter[$row->fachbereich_kurzbz] = $row->vorname." ".$row->nachname;
//Fachbereichskoordinatoren fuer alle FB ermitteln
- $qry="SELECT * FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='fbk' AND studiengang_kz='$stg' AND fachbereich_kurzbz in($fachbereiche)";
+ //$qry="SELECT * FROM public.tbl_benutzerfunktion JOIN campus.vw_mitarbeiter USING(uid) WHERE funktion_kurzbz='fbk' AND studiengang_kz='$stg' AND fachbereich_kurzbz in($fachbereiche)";
+ $qry = "SELECT
+ distinct vorname, nachname, tbl_lehrfach.fachbereich_kurzbz
+ FROM
+ lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach, public.tbl_benutzerfunktion, campus.vw_mitarbeiter
+ WHERE
+ tbl_lehrveranstaltung.lehrveranstaltung_id='$lv' AND
+ tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
+ tbl_lehreinheit.lehrfach_id=tbl_lehrfach.lehrfach_id AND
+ tbl_lehrfach.fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz AND
+ tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
+ vw_mitarbeiter.uid=COALESCE(koordinator, tbl_benutzerfunktion.uid) AND
+ tbl_benutzerfunktion.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz ";
if(!$res=pg_exec($conn,$qry))
die('Fehler beim herstellen der DB Connection');
diff --git a/content/ToDo_FASo.html b/content/ToDo_FASo.html
index b0c618114..ec7d9403f 100644
--- a/content/ToDo_FASo.html
+++ b/content/ToDo_FASo.html
@@ -110,7 +110,7 @@
Priorität
-
Projektarbeit - nach dem ändern der LVA wird das Feld Lehreinheit nicht geleert
+
2
@@ -141,17 +141,19 @@
Erledigte Anforderungen
ALVS Statistik
-18.10.2007 oesi
+18.10.2007 oesi
Statistik Student/Semester
-18.10.2007 oesi
+18.10.2007 oesi
+
Projektarbeit - nach dem ändern der LVA wird das Feld Lehreinheit nicht geleert
+17.10.2007 oesi
neues Berechtigungskonzept
-15.10.2007 oesi
+15.10.2007 oesi
Titel fehlt auf Prüfungsprotokoll, Prüfungszeugnis und Urkunde
-15.10.2007 oesi
+15.10.2007 oesi
Notenspiegel soll alle LVs anzeigen bei denen er Mitgemacht hat und nicht nur die des Studienganges
-10.10.2005 oesi
+10.10.2005 oesi
Soll am Zeugnis bei einem Berufspraktikum auch die Firma angezeigt werden?
-15.10.2007 oesi - wird nun angezeigt
+15.10.2007 oesi - wird nun angezeigt
ECTS Punkte am Zeugnis nur mit 1er Nachkommastelle
01.10.2007 oesi
diff --git a/content/fasoverlay.xul.php b/content/fasoverlay.xul.php
index fa65bcdce..bfe7047da 100644
--- a/content/fasoverlay.xul.php
+++ b/content/fasoverlay.xul.php
@@ -118,7 +118,7 @@ echo '';*/
-
+
diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php
index 63dfea9d4..a67d8397c 100644
--- a/content/student/studentprojektarbeit.js.php
+++ b/content/student/studentprojektarbeit.js.php
@@ -912,9 +912,10 @@ function StudentProjektbetreuerSpeichern()
StudentProjektbetreuerSelectPersonID=person_id;
StudentProjektbetreuerSelectProjektarbeitID=projektarbeit_id;
StudentProjektbetreuerSelectBetreuerartKurzbz=betreuerart_kurzbz;
+ StudentProjektbetreuerDetailDisableFields(true);
StudentProjektbetreuerTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
- StudentProjektbetreuerDetailDisableFields(true);
+
}
}
diff --git a/include/projektbetreuer.class.php b/include/projektbetreuer.class.php
index df314d0e6..800f418c4 100644
--- a/include/projektbetreuer.class.php
+++ b/include/projektbetreuer.class.php
@@ -141,35 +141,40 @@ class projektbetreuer
//Gesamtlaenge pruefen
//$this->errormsg='Eine der Gesamtlaengen wurde ueberschritten';
-
+
+ if($this->betreuerart_kurzbz=='')
+ {
+ $this->errormsg = 'Betreuerart muss eingegeben werden';
+ return false;
+ }
if(strlen($this->betreuerart_kurzbz)>16)
{
- $this->errormsg = 'betreuerart darf nicht länger als 16 Zeichen sein - person_id/projektarbeit: '.$this->person_id.'/'.$this->projektarbeit_id;
+ $this->errormsg = 'betreuerart darf nicht länger als 16 Zeichen sein';
return false;
}
if(strlen($this->name)>32)
{
- $this->errormsg = 'Name darf nicht länger als 32 Zeichen sein - person_id/projektarbeit: '.$this->person_id.'/'.$this->projektarbeit_id;
+ $this->errormsg = 'Name darf nicht länger als 32 Zeichen sein';
return false;
}
if($this->note!='' && !is_numeric($this->note))
{
- $this->errormsg = 'Note muss ein numerischer Wert sein - person_id/projektarbeit: '.$this->person_id.'/'.$this->projektarbeit_id;
+ $this->errormsg = 'Note muss ein numerischer Wert sein';
return false;
}
- if(!is_numeric($this->punkte))
+ if($this->punkte!='' && !is_numeric($this->punkte))
{
- $this->errormsg = 'Punkte muß ein numerischer Wert sein - person_id/projektarbeit: '.$this->person_id.'/'.$this->projektarbeit_id;
+ $this->errormsg = 'Punkte muss ein numerischer Wert sein';
}
- if(!is_numeric($this->faktor))
+ if($this->faktor!='' && !is_numeric($this->faktor))
{
- $this->errormsg = 'Faktor muß ein numerischer Wert sein - person_id/projektarbeit: '.$this->person_id.'/'.$this->projektarbeit_id;
+ $this->errormsg = 'Faktor muss ein numerischer Wert sein';
return false;
}
- if(!is_numeric($this->stundensatz))
+ if($this->stundensatz!='' && !is_numeric($this->stundensatz))
{
- $this->errormsg = 'Stundensatz muß ein numerischer Wert sein - person_id/projektarbeit: '.$this->person_id.'/'.$this->projektarbeit_id;
+ $this->errormsg = 'Stundensatz muss ein numerischer Wert sein';
return false;
}
diff --git a/include/studiengang.class.php b/include/studiengang.class.php
index ccf9e308c..c574f9290 100644
--- a/include/studiengang.class.php
+++ b/include/studiengang.class.php
@@ -45,7 +45,6 @@ class studiengang
var $bescheidbgbl2; // varchar(16)
var $bescheidgz; // varchar(16)
var $bescheidvom; // Date
- var $organisationsform; // varchar(1)
var $titelbescheidvom; // Date
var $ext_id; // bigint
@@ -124,7 +123,6 @@ class studiengang
$this->kuerzel = strtoupper($row->typ.$row->kurzbz);
$this->telefon=$row->telefon;
- $this->organisationsform=$row->organisationsform;
$this->titelbescheidvom=$row->titelbescheidvom;
$this->aktiv=$row->aktiv;
}
@@ -182,7 +180,6 @@ class studiengang
$stg_obj->kuerzel = strtoupper($row->typ.$row->kurzbz);
$stg_obj->telefon=$row->telefon;
- $stg_obj->organisationsform=$row->organisationsform;
$stg_obj->titelbescheidvom=$row->titelbescheidvom;
$stg_obj->aktiv=$row->aktiv;
@@ -265,7 +262,7 @@ class studiengang
//Neuen Datensatz anlegen
$qry = 'INSERT INTO public.tbl_studiengang (studiengang_kz, kurzbz, kurzbzlang, bezeichnung, english,
typ, farbe, email, telefon, max_verband, max_semester, max_gruppe, erhalter_kz, bescheid, bescheidbgbl1,
- bescheidbgbl2, bescheidgz, bescheidvom, organisationsform, titelbescheidvom, aktiv, ext_id) VALUES ('.
+ bescheidbgbl2, bescheidgz, bescheidvom, titelbescheidvom, aktiv, ext_id) VALUES ('.
$this->addslashes($this->studiengang_kz).', '.
$this->addslashes($this->kurzbz).', '.
$this->addslashes($this->kurzbzlang).', '.
@@ -284,7 +281,6 @@ class studiengang
$this->addslashes($this->bescheidbgbl2).', '.
$this->addslashes($this->bescheidgz).', '.
$this->addslashes($this->bescheidvom).', '.
- $this->addslashes($this->organisationsform).', '.
$this->addslashes($this->titelbescheidvom).', '.
$this->addslashes($this->aktiv).', '.
$this->addslashes($this->ext_id).');';
@@ -318,7 +314,6 @@ class studiengang
'bescheidbgbl2='.$this->addslashes($this->bescheidbgbl2).', '.
'bescheidgz='.$this->addslashes($this->bescheidgz).', '.
'bescheidvom='.$this->addslashes($this->bescheidvom).', '.
- 'organisationsform='.$this->addslashes($this->organisationsform).', '.
'titelbescheidvom='.$this->addslashes($this->titelbescheidvom).', '.
'ext_id='.$this->addslashes($this->ext_id).', '.
'telefon='.$this->addslashes($this->telefon).', '.
diff --git a/rdf/lehrveranstaltung_einheiten.rdf.php b/rdf/lehrveranstaltung_einheiten.rdf.php
index a2844de86..166c3b374 100644
--- a/rdf/lehrveranstaltung_einheiten.rdf.php
+++ b/rdf/lehrveranstaltung_einheiten.rdf.php
@@ -133,13 +133,20 @@ if(!$result = pg_query($conn, $qry))
while($row_lva = pg_fetch_object($result))
{
//Fachbereichskoordinatoren laden
- $qry_fbk = "SELECT distinct tbl_mitarbeiter.kurzbz as kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, public.tbl_mitarbeiter, public.tbl_benutzerfunktion
- WHERE tbl_lehreinheit.lehrveranstaltung_id='$row_lva->lehrveranstaltung_id' AND
- tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND
- tbl_lehrfach.fachbereich_kurzbz = tbl_benutzerfunktion.fachbereich_kurzbz AND
- tbl_mitarbeiter.mitarbeiter_uid = tbl_benutzerfunktion.uid AND
- tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
- tbl_benutzerfunktion.studiengang_kz='$row_lva->studiengang_kz'";
+ $qry_fbk = "SELECT kurzbz FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid =
+ (
+ SELECT
+ COALESCE(koordinator, uid) as koordinator
+ FROM
+ lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach, public.tbl_benutzerfunktion
+ WHERE
+ tbl_lehrveranstaltung.lehrveranstaltung_id='$row_lva->lehrveranstaltung_id' AND
+ tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
+ tbl_lehreinheit.lehrfach_id=tbl_lehrfach.lehrfach_id AND
+ tbl_lehrfach.fachbereich_kurzbz=tbl_benutzerfunktion.fachbereich_kurzbz AND
+ tbl_benutzerfunktion.funktion_kurzbz='fbk' AND
+ tbl_benutzerfunktion.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz LIMIT 1 ) ";
+
$result_fbk = pg_query($conn, $qry_fbk);
$fbk='';
while($row_fbk = pg_fetch_object($result_fbk))
diff --git a/vilesci/lehre/lehrveranstaltung.php b/vilesci/lehre/lehrveranstaltung.php
index c99104c3b..f50d446cf 100644
--- a/vilesci/lehre/lehrveranstaltung.php
+++ b/vilesci/lehre/lehrveranstaltung.php
@@ -23,6 +23,7 @@
require_once('../config.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/functions.inc.php');
+require_once('../../include/benutzerberechtigung.class.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
@@ -44,12 +45,41 @@ else
if(!is_numeric($stg_kz))
$stg_kz=0;
+
if(!is_numeric($semester))
$semester=0;
+$rechte = new benutzerberechtigung($conn);
+$rechte->getBerechtigungen($user);
+
+if(!$rechte->isBerechtigt('admin', $stg_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $stg_kz, 'suid'))
+ die('Sie haben keine Berechtigung für diesen Studiengang');
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
{
+ if($rechte->isBerechtigt('admin', $stg_kz, 'suid'))
+ {
+ //Lehrevz Speichern
+ if(isset($_POST['lehrevz']))
+ {
+ $qry = "UPDATE lehre.tbl_lehrveranstaltung SET lehreverzeichnis='".addslashes($_POST['lehrevz'])."' WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
+ if(!pg_query($conn, $qry))
+ echo "Fehler beim Speichern!";
+ else
+ echo "Erfolgreich gespeichert";
+ }
+
+ //Aktiv Feld setzen
+ if(isset($_GET['aktiv']))
+ {
+ $qry = "UPDATE lehre.tbl_lehrveranstaltung SET aktiv=".($_GET['aktiv']=='t'?'false':'true')." WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
+ if(!pg_query($conn, $qry))
+ echo "Fehler beim Speichen!";
+ else
+ echo "Erfolgreich gespeichert";
+ }
+ }
+
//Lehre Feld setzen
if(isset($_GET['lehre']))
{
@@ -59,17 +89,7 @@ if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
else
echo "Erfolgreich gespeichert";
}
-
- //Aktiv Feld setzen
- if(isset($_GET['aktiv']))
- {
- $qry = "UPDATE lehre.tbl_lehrveranstaltung SET aktiv=".($_GET['aktiv']=='t'?'false':'true')." WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
- if(!pg_query($conn, $qry))
- echo "Fehler beim Speichen!";
- else
- echo "Erfolgreich gespeichert";
- }
-
+
//Zeugnis Feld setzen
if(isset($_GET['zeugnis']))
{
@@ -79,56 +99,104 @@ if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
else
echo "Erfolgreich gespeichert";
}
-
- //Lehrevz Speichern
- if(isset($_POST['lehrevz']))
+
+ //Sort Speichern
+ if(isset($_POST['sort']))
{
- $qry = "UPDATE lehre.tbl_lehrveranstaltung SET lehreverzeichnis='".addslashes($_POST['lehrevz'])."' WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
+ $qry = "UPDATE lehre.tbl_lehrveranstaltung SET sort='".addslashes($_POST['sort'])."' WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
+ if(!pg_query($conn, $qry))
+ echo "Fehler beim Speichern!";
+ else
+ echo "Erfolgreich gespeichert";
+ }
+
+ //FBK Speichern
+ if(isset($_POST['fbk']))
+ {
+ $qry = "UPDATE lehre.tbl_lehrveranstaltung SET koordinator=".($_POST['fbk']==''?'null':"'".addslashes($_POST['fbk'])."'")." WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
if(!pg_query($conn, $qry))
echo "Fehler beim Speichern!";
else
echo "Erfolgreich gespeichert";
}
}
+
+//Fachbereichskoordinatoren holen
+$qry = "
+SELECT
+ distinct
+ vorname,
+ nachname,
+ uid
+FROM
+ campus.vw_mitarbeiter JOIN
+ (SELECT uid FROM public.tbl_benutzerfunktion WHERE funktion_kurzbz='fbk' AND studiengang_kz='257'
+ UNION
+ SELECT koordinator as uid from lehre.tbl_lehrveranstaltung WHERE studiengang_kz='257') as a USING(uid) ORDER BY nachname, vorname";
+
+$fbk = array();
+if($result = pg_query($conn, $qry))
+{
+ while($row = pg_fetch_object($result))
+ {
+ $fbk[$row->uid]['vorname']=$row->vorname;
+ $fbk[$row->uid]['nachname']=$row->nachname;
+ }
+}
+
+//Lehrveranstaltungen holen
+
+//Wenn nicht admin, dann nur die Aktiven anzeigen
+$aktiv='';
+if(!$rechte->isBerechtigt('admin'))
+ $aktiv = ' AND aktiv=true';
$sql_query="SELECT * FROM lehre.tbl_lehrveranstaltung
- WHERE studiengang_kz='$stg_kz' AND semester='$semester' ORDER BY bezeichnung";
-//echo $sql_query;
-$result_lv=pg_query($conn, $sql_query);
-if(!$result_lv) error("Lehrveranstaltung not found!");
+ WHERE studiengang_kz='$stg_kz' AND semester='$semester' $aktiv ORDER BY bezeichnung";
+
+if(!$result_lv = pg_query($conn, $sql_query))
+ die("Lehrveranstaltung not found!");
+
+//Studiengang DropDown
$outp='';
$s=array();
$outp.="';
-$outp.= ' -- ';
+
+//Semester
+$outp.= ' Semester: -- ';
for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++)
$outp.= ''.$i.' -- ';
-?>
-
-
-Lehrveranstaltung Verwaltung
-
-
-
-
-
-
-
+
+ Lehrveranstaltung Verwaltung
+
+
+
+
+
+
+ ';
echo "