diff --git a/cis/private/lehre/lesson.php b/cis/private/lehre/lesson.php
index b3b6f2e1d..4b131a124 100644
--- a/cis/private/lehre/lesson.php
+++ b/cis/private/lehre/lesson.php
@@ -32,6 +32,7 @@ require_once('../../../include/phrasen.class.php');
require_once('../../../include/lehre_tools.class.php');
require_once('../../../include/lvangebot.class.php');
require_once('../../../include/benutzergruppe.class.php');
+require_once('../../../include/lehreinheit.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
@@ -44,6 +45,7 @@ if (!$user=get_uid())
// Init
$user_is_allowed_to_upload=false;
+$lektor_der_lv=false;
// Plausib
if(check_lektor($user))
@@ -101,6 +103,43 @@ if (isset($_GET["handbuch"])){
studiengang_kz==0 || (defined('CIS_LEHRVERANSTALTUNG_AKTUELLES_STUDIENSEMESTER_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_AKTUELLES_STUDIENSEMESTER_ANZEIGEN))
+ $angezeigtes_stsem = $stsem->getNearest();
+ else
+ {
+ // wenn im nahegelegensten/aktuellen Studiensemester eine Lehreinheit angelegt ist dann diese anzeigen
+ $lehreinheit = new lehreinheit();
+ if($lehreinheit->load_lehreinheiten($lvid, $stsem->getNearest()) && count($lehreinheit->lehreinheiten)>0)
+ {
+ $lehreinheit_found=false;
+ foreach($lehreinheit->lehreinheiten as $row_lehreinheit)
+ {
+ if($row_lehreinheit->lehre)
+ {
+ $angezeigtes_stsem = $stsem->getNearest();
+ $lehreinheit_found=true;
+ break;
+ }
+ }
+ if($lehreinheit_found==false)
+ {
+ $angezeigtes_stsem = $stsem->getNearest($semester);
+ }
+ }
+ else
+ {
+ // fuer ungerade semester das naeheste WS fuer gerade semester das naeheste SS anzeigen
+ $angezeigtes_stsem = $stsem->getNearest($semester);
+ }
+ }
+}
// ADDONS laden
$addon_obj = new addon();
@@ -120,7 +159,7 @@ $( document ).ready(function()
{
for(i in addon)
{
- addon[i].init("cis/private/lehre/lesson.php", {uid:\''.$user.'\',lvid:\''.$lvid.'\',studiensemester_kurzbz:\''.$studiensemester_kurzbz.'\'});
+ addon[i].init("cis/private/lehre/lesson.php", {uid:\''.$user.'\',lvid:\''.$lvid.'\',studiensemester_kurzbz:\''.$angezeigtes_stsem.'\'});
}
}
});
@@ -170,17 +209,7 @@ $( document ).ready(function()
| |
- studiengang_kz==0 || (defined('CIS_LEHRVERANSTALTUNG_AKTUELLES_STUDIENSEMESTER_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_AKTUELLES_STUDIENSEMESTER_ANZEIGEN))
- $angezeigtes_stsem = $stsem->getNearest();
- else
- $angezeigtes_stsem = $stsem->getNearest($semester);
- }
+ uid)
+ {
+ $lektor_der_lv=true;
$user_is_allowed_to_upload=true;
+ }
if($row_lector->lvleiter=='t')
$style='style="font-weight: bold"';
@@ -298,27 +330,27 @@ $( document ).ready(function()
}
}
- //Berechtigungen auf Fachbereichsebene
- $qry = "SELECT
- distinct fachbereich_kurzbz, tbl_lehrveranstaltung.studiengang_kz, tbl_fachbereich.oe_kurzbz
+ //Berechtigungen auf Fachbereichsebene
+ $qry = "SELECT
+ distinct lehrfach.oe_kurzbz
FROM
lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id)
- JOIN public.tbl_fachbereich ON(tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz)
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER);
- if(isset($angezeigtes_stsem) && $angezeigtes_stsem!='')
- $qry .= " AND studiensemester_kurzbz=".$db->db_add_param($angezeigtes_stsem);
-
- if($result = $db->db_query($qry))
- {
- while($row = $db->db_fetch_object($result))
- {
- if($rechte->isBerechtigt('lehre',$row->oe_kurzbz) || $rechte->isBerechtigt('assistenz',$stg_obj->oe_kurzbz))
- $user_is_allowed_to_upload=true;
- }
- }
+ if(isset($angezeigtes_stsem) && $angezeigtes_stsem!='')
+ $qry .= " AND studiensemester_kurzbz=".$db->db_add_param($angezeigtes_stsem);
+ $lehrfach_oe_kurzbz_arr = array();
+ if($result = $db->db_query($qry))
+ {
+ while($row = $db->db_fetch_object($result))
+ {
+ $lehrfach_oe_kurzbz_arr[]=$row->oe_kurzbz;
+ if($rechte->isBerechtigt('lehre',$row->oe_kurzbz) || $rechte->isBerechtigt('assistenz',$stg_obj->oe_kurzbz))
+ $user_is_allowed_to_upload=true;
+ }
+ }
?> |
diff --git a/cis/private/lehre/semupload.php b/cis/private/lehre/semupload.php
index 1000a8294..50626b4a5 100644
--- a/cis/private/lehre/semupload.php
+++ b/cis/private/lehre/semupload.php
@@ -33,7 +33,7 @@ $user = get_uid();
$sprache=getSprache();
$p = new phrasen($sprache);
-
+$is_lector=false;
if(check_lektor($user))
$is_lector=true;
diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php
index e048b4fb7..a457962f2 100644
--- a/config/global.config-default.inc.php
+++ b/config/global.config-default.inc.php
@@ -133,7 +133,7 @@ define('VILESCI_PERSON_NEU_STUDIENSEMESTER_WINTERONLY',false);
define('CIS_STUDIENPLAN_SEMESTER_ANZEIGEN', false);
//Legt fest ob ein User zu einer LV angemeldet sein muss um Detailinformationen abrufen zu können. (true|false)
-define('CIS_LEHRVERANSTALTUNG_WENNANGEMELDET_DETAILS_ANZEIGEN', true);
+define('CIS_LEHRVERANSTALTUNG_WENNANGEMELDET_DETAILS_ANZEIGEN', false);
// Prestudent_ID des Dummy_Studenten (zB fuer Testtool)
define('PRESTUDENT_ID_DUMMY_STUDENT', 13478);
diff --git a/include/tw/cis_menu_lv.inc.php b/include/tw/cis_menu_lv.inc.php
index 87c896d40..5db91a048 100644
--- a/include/tw/cis_menu_lv.inc.php
+++ b/include/tw/cis_menu_lv.inc.php
@@ -69,7 +69,13 @@ function checkZeilenUmbruch()
}
}
- if($user_is_allowed_to_upload || $rechte->isBerechtigt('admin',$studiengang_kz) || $rechte->isBerechtigt('lehre',$studiengang_kz))
+ // Bearbeiten Button anzeigen wenn Lektor der LV und bearbeiten fuer Lektoren aktiviert ist
+ // Oder Berechtigung zum Bearbeiten eingetragen ist
+ if((!defined('CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT') && $lektor_der_lv)
+ || (defined('CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT') && CIS_LEHRVERANSTALTUNG_LVINFO_LEKTOR_EDIT==true && $lektor_der_lv)
+ || $rechte->isBerechtigt('lehre/lvinfo',$studiengang_kz)
+ || $rechte->isBerechtigtMultipleOe('lehre/lvinfo', $lehrfach_oe_kurzbz_arr)
+ )
{
if($need_br)
echo "
";
@@ -93,21 +99,12 @@ function checkZeilenUmbruch()
if(defined('CIS_LEHRVERANSTALTUNG_WENNANGEMELDET_DETAILS_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_WENNANGEMELDET_DETAILS_ANZEIGEN && !$is_lector)
{
$angemeldet = false;
- $studiensemester = new studiensemester($angezeigtes_stsem);
- $lvangebot = new lvangebot();
- $lvangebot->getAllFromLvId($lvid, $studiensemester->studiensemester_kurzbz);
+ $lehrveranstaltung_obj = new lehrveranstaltung();
+ $result = $lehrveranstaltung_obj->getLehreinheitenOfLv($lvid, $user, $angezeigtes_stsem);
- if(!empty($lvangebot->result))
- {
- $bngruppe = new benutzergruppe();
- $bngruppe->load($user, $lvangebot->result[0]->gruppe_kurzbz, $studiensemester->studiensemester_kurzbz);
-
- if(!is_null($bngruppe->gruppe_kurzbz))
- {
+ if(count($result)>0)
$angemeldet = true;
- }
- }
}
if((!defined('CIS_LEHRVERANSTALTUNG_SEMESTERPLAN_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_SEMESTERPLAN_ANZEIGEN) && $angemeldet)
@@ -171,7 +168,9 @@ function checkZeilenUmbruch()
echo ''.$p->t('lehre/semesterplan').'';
}
- if($user_is_allowed_to_upload || $rechte->isBerechtigt('admin',$studiengang_kz) || $rechte->isBerechtigt('lehre',$studiengang_kz))
+ if((!defined('CIS_LEHRVERANSTALTUNG_SEMESTERPLAN_LEKTOR_EDIT') && $user_is_allowed_to_upload)
+ || (defined('CIS_LEHRVERANSTALTUNG_SEMESTERPLAN_LEKTOR_EDIT') && CIS_LEHRVERANSTALTUNG_SEMESTERPLAN_LEKTOR_EDIT==true && $user_is_allowed_to_upload)
+ || $rechte->isBerechtigt('admin',$studiengang_kz) || $rechte->isBerechtigt('lehre',$studiengang_kz))
{
echo '
';
echo $p->t('lehre/semesterplanUpload')."";
@@ -523,7 +522,8 @@ function checkZeilenUmbruch()
echo '
'.$p->t('lehre/moodle').'
';
}
- if($is_lector)
+
+ if($is_lector && (!defined('CIS_LEHRVERANSTALTUNG_MOODLE_LEKTOR_EDIT') || (defined('CIS_LEHRVERANSTALTUNG_MOODLE_LEKTOR_EDIT') && CIS_LEHRVERANSTALTUNG_MOODLE_LEKTOR_EDIT)))
echo ' '.$p->t('lehre/moodleWartung').'
'.$p->t('lehre/moodleHandbuch').'';
diff --git a/system/checksystem.php b/system/checksystem.php
index ef70e82e7..f90c147d1 100644
--- a/system/checksystem.php
+++ b/system/checksystem.php
@@ -3126,6 +3126,26 @@ if(!$result = @$db->db_query("SELECT exklusiv FROM campus.tbl_infoscreen_content
echo '
campus.tbl_infoscreen_content: neue Spalte exklusiv hinzugefuegt';
}
+// Eigene Berechtigung fuer LV-Info eingabe
+if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='lehre/lvinfo' LIMIT 1"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+ $qry = "
+ INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('lehre/lvinfo','LVinfo');
+
+ INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/lvinfo','lehre','suid');
+ INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/lvinfo','admin','suid');
+ INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/lvinfo','assistenz','suid');
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'system.tbl_berechtigung '.$db->db_last_error().'
';
+ else
+ echo ' system.tbl_berechtigung: Eigene Berechtigungen fuer LV-Infos hinzugefuegt lehre/lvinfo!
';
+ }
+}
+
echo '
';
$tabellen=array(
@@ -3486,6 +3506,7 @@ $berechtigungen = array(
array('lehre/lehrveranstaltung','Lehrveranstaltungsverwaltung'),
array('lehre/lehrveranstaltung:begrenzt','nur die Felder Lehre, Sort, Zeugnis, BA/DA, FBK und LVInfo dürfen geändert werden (eventuelle Aufteilung in einzelne Berechtigungen??)'),
array('lehre/lvplan','Tempus'),
+ array('lehre/lvinfo','LVInfo editieren'),
array('lehre/pruefungsanmeldungAdmin','Erlaubt die Verwaltung der Prüfungsanmeldungen.'),
array('lehre/pruefungsbeurteilung','Erlaubt dem Benutzer Beurteilungen zu Prüfungen einzutragen.'),
array('lehre/pruefungsbeurteilungAdmin','Erlaubt dem Benutzer für alle Prüfungen Beurteilungen einzutragen.'),