Prüfung der Berechtigung für LVA berücksichtigt nun Studienpläne der LVA

This commit is contained in:
Nikolaus Krondraf
2015-04-20 11:05:45 +02:00
parent 69fcb0144c
commit 48813b4e41
4 changed files with 233 additions and 144 deletions
+163 -120
View File
@@ -169,11 +169,13 @@ function getStundenproInstitut($mitarbeiter_uid, $studiensemester_kurzbz)
if(!$error)
{
if(!empty($_POST['lehrveranstaltung']))
$lva = new lehrveranstaltung($_POST['lehrveranstaltung']);
if(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_save')
{
//Lehreinheitmitarbeiter Zuteilung
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz,
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
@@ -182,11 +184,13 @@ if(!$error)
{
if($row = $db->db_fetch_object($result))
{
if(!$rechte->isBerechtigt('admin', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('lv-plan', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigt('admin', $row->studiengang_kz, 'suid', $row->fachbereich_kurzbz))
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz))
{
$error = true;
$return = false;
@@ -394,7 +398,7 @@ if(!$error)
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_add')
{
//neue Lehreinheitmitarbeiterzuteilung anlegen
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz,
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
@@ -403,11 +407,13 @@ if(!$error)
{
if($row = $db->db_fetch_object())
{
if(!$rechte->isBerechtigt('admin', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('lv-plan', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigt('admin', $row->studiengang_kz, 'suid', $row->fachbereich_kurzbz))
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz))
{
$error = true;
$return = false;
@@ -584,7 +590,7 @@ if(!$error)
}
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_mitarbeiter_del')
{
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz,
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
@@ -593,11 +599,13 @@ if(!$error)
{
if($row = $db->db_fetch_object())
{
if(!$rechte->isBerechtigt('admin', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('lv-plan', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigt('admin', $row->studiengang_kz, 'suid', $row->fachbereich_kurzbz))
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz))
{
$error = true;
$return = false;
@@ -663,7 +671,7 @@ if(!$error)
}
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_del')
{
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz,
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
@@ -672,11 +680,13 @@ if(!$error)
{
if($row = $db->db_fetch_object())
{
if(!$rechte->isBerechtigt('admin', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('lv-plan', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigt('admin', $row->studiengang_kz, 'suid', $row->fachbereich_kurzbz))
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz))
{
$error = true;
$return = false;
@@ -792,7 +802,7 @@ if(!$error)
}
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_add')
{
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz,
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
@@ -801,11 +811,13 @@ if(!$error)
{
if($row = $db->db_fetch_object())
{
if(!$rechte->isBerechtigt('admin', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('lv-plan', $row->studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $row->studiengang_kz, 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigt('admin', $row->studiengang_kz, 'suid', $row->fachbereich_kurzbz))
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz))
{
$error = true;
$return = false;
@@ -878,7 +890,8 @@ if(!$error)
{
//Lehreinheit anlegen/aktualisieren
if(isset($_POST['lehreinheit_id']) && $_POST['lehreinheit_id']!='')
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, (SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER);
@@ -890,9 +903,11 @@ if(!$error)
if($row = $db->db_fetch_object())
{
$studiengang_kz = $row->studiengang_kz;
$fachbereich_kurzbz = 0;
$fachbereich_kurzbz = 0;
if(isset($row->fachbereich_kurzbz))
$fachbereich_kurzbz = $row->fachbereich_kurzbz;
if(!isset($lva))
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
}
else
{
@@ -922,11 +937,10 @@ if(!$error)
$errormsg = 'Fehler beim Laden der Lehreinheit';
}
if(!$rechte->isBerechtigt('admin', $studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('lv-plan', $studiengang_kz, 'suid') &&
!$rechte->isBerechtigt('assistenz', $studiengang_kz, 'suid', $fachbereich_kurzbz)) /*&&
!$rechte->isBerechtigt('admin', $studiengang_kz, 'suid', $fachbereich_kurzbz))*/
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid', $fachbereich_kurzbz))
{
$error = true;
$return = false;
@@ -935,8 +949,8 @@ if(!$error)
}
else
{
if(!$rechte->isBerechtigt('admin', $studiengang_kz, 'si') && !$rechte->isBerechtigt('assistenz', $studiengang_kz, 'si') &&
!$rechte->isBerechtigt('admin', $studiengang_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $studiengang_kz, 'suid') && !$rechte->isBerechtigt('lv-plan', $studiengang_kz, 'suid'))
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'si') && !$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'si') &&
!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') && !$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') && !$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid'))
{
$error = true;
$return = false;
@@ -1023,7 +1037,9 @@ if(!$error)
}
else if ($_POST['do']=='delete') //Lehreinheit loeschen
{
if(!$rechte->isBerechtigt('admin', $studiengang_kz, 'suid') && !$rechte->isBerechtigt('assistenz', $studiengang_kz, 'suid') && !$rechte->isBerechtigt('lv-plan', $studiengang_kz, 'suid'))
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'suid'))
{
$return = false;
$error = true;
@@ -1101,94 +1117,121 @@ if(!$error)
}
elseif(isset($_POST['type']) && $_POST['type']=='lvangebot-gruppe-save')
{
isset($_POST['lvangebot_id']) ? $lvangebot_id = $_POST['lvangebot_id'] : $lvangebot_id = null;
$datum_obj = new datum();
$lvangebot = new lvangebot();
$lvangebot->insertamum = date('Y-m-d H:i:s');
$lvangebot->insertvon = $user;
if($lvangebot_id)
{
$lvangebot->load($lvangebot_id);
$lvangebot->new = false;
}
else
{
$lvangebot->new = true;
}
$lehrveranstaltung_obj = new lehrveranstaltung();
if(!$lehrveranstaltung_obj->load($_POST['lehrveranstaltung_id']))
$errormsg = 'Fehler beim Laden der Lehrveranstaltung';
if(!$lehrveranstaltung_obj->load($_POST['lehrveranstaltung_id']))
$errormsg = 'Fehler beim Laden der Lehrveranstaltung';
if(!$rechte->isBerechtigtMultipleOe('admin', $lehrveranstaltung_obj->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lehrveranstaltung_obj->getAllOe(), 'suid'))
{
$error = true;
$return = false;
$errormsg = 'Keine Berechtigung';
}
if(!$error)
{
isset($_POST['lvangebot_id']) ? $lvangebot_id = $_POST['lvangebot_id'] : $lvangebot_id = null;
$datum_obj = new datum();
$lvangebot = new lvangebot();
$lvangebot->insertamum = date('Y-m-d H:i:s');
$lvangebot->insertvon = $user;
$studiengang = new studiengang();
if(!$studiengang->load($lehrveranstaltung_obj->studiengang_kz))
$errormsg = 'Fehler beim Laden des Studienganges';
if($lvangebot_id)
{
$lvangebot->load($lvangebot_id);
$lvangebot->new = false;
}
else
{
$lvangebot->new = true;
}
if($_POST['neue_gruppe'] == "false")
{
$gruppe_kurzbz = $_POST['gruppe'];
}
else
{
$gruppe = new gruppe();
$gruppe_kurzbz = mb_strtoupper(substr($studiengang->kuerzel.$lehrveranstaltung_obj->semester.'-'.$_POST['studiensemester_kurzbz'].'-'.$lehrveranstaltung_obj->kurzbz,0,32));
$gruppe_kurzbz = $gruppe->getNummerierteGruppenbez($gruppe_kurzbz);
$gruppe->gruppe_kurzbz=$gruppe_kurzbz;
$gruppe->studiengang_kz=$studiengang->studiengang_kz;
$gruppe->bezeichnung=mb_substr($lehrveranstaltung_obj->bezeichnung,0,30);
$gruppe->semester=$lehrveranstaltung_obj->semester;
$gruppe->sort='';
$gruppe->mailgrp=false;
$gruppe->beschreibung=$lehrveranstaltung_obj->bezeichnung;
$gruppe->sichtbar=true;
$gruppe->generiert=false;
$gruppe->aktiv=true;
$gruppe->lehre=true;
$gruppe->content_visible=false;
$gruppe->orgform_kurzbz=$lehrveranstaltung_obj->orgform_kurzbz;
$gruppe->gesperrt=false;
$gruppe->zutrittssystem=false;
$gruppe->insertamum=date('Y-m-d H:i:s');
$gruppe->insertvon=$user;
$studiengang = new studiengang();
if(!$studiengang->load($lehrveranstaltung_obj->studiengang_kz))
$errormsg = 'Fehler beim Laden des Studienganges';
if(!$gruppe->save(true))
{
$errormsg = 'Fehler beim Erstellen der Gruppe'.$gruppe->errormsg;
$return = false;
}
}
$lvangebot->lehrveranstaltung_id = $_POST['lehrveranstaltung_id'];
$lvangebot->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
$lvangebot->gruppe_kurzbz = $gruppe_kurzbz;
$lvangebot->incomingplaetze = $_POST['incomingplaetze'];
$lvangebot->gesamtplaetze = $_POST['gesamtplaetze'];
$lvangebot->anmeldefenster_start = $datum_obj->formatDatum($_POST['anmeldefenster_start'], 'Y-m-d');
$lvangebot->anmeldefenster_ende = $datum_obj->formatDatum($_POST['anmeldefenster_ende'],'Y-m-d');
if($_POST['neue_gruppe'] == "false")
{
$gruppe_kurzbz = $_POST['gruppe'];
}
else
{
$gruppe = new gruppe();
$gruppe_kurzbz = mb_strtoupper(substr($studiengang->kuerzel.$lehrveranstaltung_obj->semester.'-'.$_POST['studiensemester_kurzbz'].'-'.$lehrveranstaltung_obj->kurzbz,0,32));
$gruppe_kurzbz = $gruppe->getNummerierteGruppenbez($gruppe_kurzbz);
$gruppe->gruppe_kurzbz=$gruppe_kurzbz;
$gruppe->studiengang_kz=$studiengang->studiengang_kz;
$gruppe->bezeichnung=mb_substr($lehrveranstaltung_obj->bezeichnung,0,30);
$gruppe->semester=$lehrveranstaltung_obj->semester;
$gruppe->sort='';
$gruppe->mailgrp=false;
$gruppe->beschreibung=$lehrveranstaltung_obj->bezeichnung;
$gruppe->sichtbar=true;
$gruppe->generiert=false;
$gruppe->aktiv=true;
$gruppe->lehre=true;
$gruppe->content_visible=false;
$gruppe->orgform_kurzbz=$lehrveranstaltung_obj->orgform_kurzbz;
$gruppe->gesperrt=false;
$gruppe->zutrittssystem=false;
$gruppe->insertamum=date('Y-m-d H:i:s');
$gruppe->insertvon=$user;
if(!$lvangebot->save())
{
$errormsg = $lvangebot->errormsg;
$return = false;
}
else
{
$return = true;
}
if(!$gruppe->save(true))
{
$errormsg = 'Fehler beim Erstellen der Gruppe'.$gruppe->errormsg;
$return = false;
}
}
$lvangebot->lehrveranstaltung_id = $_POST['lehrveranstaltung_id'];
$lvangebot->studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
$lvangebot->gruppe_kurzbz = $gruppe_kurzbz;
$lvangebot->incomingplaetze = $_POST['incomingplaetze'];
$lvangebot->gesamtplaetze = $_POST['gesamtplaetze'];
$lvangebot->anmeldefenster_start = $datum_obj->formatDatum($_POST['anmeldefenster_start'], 'Y-m-d');
$lvangebot->anmeldefenster_ende = $datum_obj->formatDatum($_POST['anmeldefenster_ende'],'Y-m-d');
if(!$lvangebot->save())
{
$errormsg = $lvangebot->errormsg;
$return = false;
}
else
{
$return = true;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='lvangebot_gruppe_del')
{
$lvangebot = new lvangebot();
if(!$lvangebot->delete($_POST['lvangebot_id']))
{
$errormsg = $this->errormsg;
$return = false;
}
else
{
$return = true;
}
$lvangebot->load($_POST['lvangebot_id']);
$lva = new lehrveranstaltung($lvangebot->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz) &&
!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid', $row->fachbereich_kurzbz))
{
$error = true;
$return = false;
$errormsg = 'Keine Berechtigung';
}
if(!$error)
{
if(!$lvangebot->delete($_POST['lvangebot_id']))
{
$errormsg = $this->errormsg;
$return = false;
}
else
{
$return = true;
}
}
}
else
{
+6 -24
View File
@@ -63,6 +63,7 @@ require_once('../../include/kontakt.class.php');
require_once('../../include/dms.class.php');
require_once('../../include/notenschluessel.class.php');
require_once('../../include/anrechnung.class.php');
require_once('../../include/lehrveranstaltung.class.php');
$user = get_uid();
$db = new basis_db();
@@ -2453,28 +2454,7 @@ if(!$error)
if(!is_null($lehrveranstaltung_id) && !is_null($student_uid) && !is_null($studiensemester_kurzbz))
{
//Berechtigung pruefen
$qry = "SELECT studiengang_kz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
{
$stg_lva = $row->studiengang_kz;
}
else
{
$return = false;
$error = true;
$errormsg = 'Fehler beim Ermitteln der LVA';
}
}
else
{
$return = false;
$error = true;
$errormsg = 'Fehler beim Ermitteln der LVA';
}
$qry = "SELECT studiengang_kz FROM public.tbl_student WHERE student_uid=".$db->db_add_param($student_uid);
$qry = "SELECT studiengang_kz FROM public.tbl_student WHERE student_uid=".$db->db_add_param($student_uid);
if($result = $db->db_query($qry))
{
if($row = $db->db_fetch_object($result))
@@ -2497,8 +2477,10 @@ if(!$error)
if(!$error)
{
if(!$rechte->isBerechtigt('admin', $stg_lva, 'suid') && !$rechte->isBerechtigt('admin', $stg_std, 'suid') &&
!$rechte->isBerechtigt('assistenz', $stg_lva, 'suid') && !$rechte->isBerechtigt('assistenz', $stg_std, 'suid'))
$lva = new lehrveranstaltung($lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') && !$rechte->isBerechtigt('admin', $stg_std, 'suid') &&
!$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'suid') && !$rechte->isBerechtigt('assistenz', $stg_std, 'suid'))
{
$return = false;
$error = true;
+23
View File
@@ -575,6 +575,29 @@ class benutzerberechtigung extends basis_db
return $this->isBerechtigt(substr($berechtigung_kurzbz,0,$pos-1), $oe_kurzbz, $art, $kostenstelle_id);
}
}
/**
* Prueft ob die Berechtigung zumindest fuer eine der angegebenen OE vorhanden ist.
* @param $berechtigung_kurzbz
* @param $oe_kurzbz
* @param $art
* @param $kostenstelle_id
* @return boolean
*/
public function isBerechtigtMultipleOe($berechtigung_kurzbz, $oe_kurzbz, $art=null, $kostenstelle_id=null)
{
$results = array();
foreach($oe_kurzbz as $value)
{
$results[] = $this->isBerechtigt($berechtigung_kurzbz, $value, $art, $kostenstelle_id);
}
if(!in_array(true, $results))
return false;
else
return true;
}
/**
* Prueft ob die Person Fixangestellt ist
+41
View File
@@ -22,6 +22,7 @@
*/
require_once(dirname(__FILE__) . '/basis_db.class.php');
require_once(dirname(__FILE__) . '/functions.inc.php');
require_once(dirname(__FILE__) . '/studiengang.class.php');
class lehrveranstaltung extends basis_db
{
@@ -2151,5 +2152,45 @@ class lehrveranstaltung extends basis_db
return false;
}
}
/**
* Gibt alle Organisationseinheiten der Studiengänge zurück, mit denen
* die Lehrveranstaltung über Studienpläne verknüpft ist
* @return boolean|array false im Fehlerfall, sonst ein Array
*/
public function getAllOe()
{
$oe = array();
$qry = 'SELECT DISTINCT oe_kurzbz
FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE lehrveranstaltung_id = '.$this->db_add_param($this->lehrveranstaltung_id);
if($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
{
$oe[] = $row->oe_kurzbz;
}
}
else
{
$this->errormsg = "Fehler beim Laden der Daten";
return false;
}
// oe_kurzbz des Studiengangs der LVA hinzufügen
$stg = new studiengang($this->studiengang_kz);
if(!in_array($stg->oe_kurzbz, $oe))
{
$oe[] = $this->oe_kurzbz;
}
return $oe;
}
}
?>