Editieren LVInfo, Semesterplan und Moodle-Kursen für Lektoren deaktivierbar

This commit is contained in:
oesi
2015-05-31 16:43:00 +02:00
parent c14feb7aff
commit 93473c8db4
5 changed files with 97 additions and 44 deletions
+59 -27
View File
@@ -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"])){
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript" ></script>
<?php
// Angezeigtes Studiensemester ermitteln
// Wenn ein Studiensemester uebergeben wird, wird das uebergebene angezeigt
$stsem = new studiensemester();
if($studiensemester_kurzbz!='')
$angezeigtes_stsem=$studiensemester_kurzbz;
else
{
if($lv->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()
<tr>
<td class="tdwidth10">&nbsp;</td>
<td style="vertical-align:top; height: 10px"><h1 style="white-space:normal;">
<?php
$stsem = new studiensemester();
if($studiensemester_kurzbz!='')
$angezeigtes_stsem=$studiensemester_kurzbz;
else
{
if($lv->studiengang_kz==0 || (defined('CIS_LEHRVERANSTALTUNG_AKTUELLES_STUDIENSEMESTER_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_AKTUELLES_STUDIENSEMESTER_ANZEIGEN))
$angezeigtes_stsem = $stsem->getNearest();
else
$angezeigtes_stsem = $stsem->getNearest($semester);
}
<?php
$lehrfach_id='';
if(defined('CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN') && CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN)
{
@@ -285,7 +314,10 @@ $( document ).ready(function()
{
$i++;
if($user==$row_lector->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;
}
}
?></td>
</tr>
<tr>
+1 -1
View File
@@ -33,7 +33,7 @@ $user = get_uid();
$sprache=getSprache();
$p = new phrasen($sprache);
$is_lector=false;
if(check_lektor($user))
$is_lector=true;
+1 -1
View File
@@ -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);
+15 -15
View File
@@ -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 "<br>";
@@ -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 '<strong>'.$p->t('lehre/semesterplan').'</strong>';
}
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 '<br><a class="Item" href="#" onClick="javascript:window.open(\'semupload.php?lvid='.$lvid.'\',\'_blank\',\'width=400,height=300,location=no,menubar=no,status=no,toolbar=no\');return false;">';
echo $p->t('lehre/semesterplanUpload')."</a>";
@@ -523,7 +522,8 @@ function checkZeilenUmbruch()
echo '<img class="lv" src="../../../skin/images/button_moodle.png"><br>
<strong>'.$p->t('lehre/moodle').'</strong><br>';
}
if($is_lector)
if($is_lector && (!defined('CIS_LEHRVERANSTALTUNG_MOODLE_LEKTOR_EDIT') || (defined('CIS_LEHRVERANSTALTUNG_MOODLE_LEKTOR_EDIT') && CIS_LEHRVERANSTALTUNG_MOODLE_LEKTOR_EDIT)))
echo ' <a href="moodle2_4_wartung.php?lvid='.$lvid.'&stsem='.$angezeigtes_stsem.'" class="Item">'.$p->t('lehre/moodleWartung').'</a>
<br /><a href="'.APP_ROOT.'cms/dms.php?id='.$p->t('dms_link/moodleHandbuch24').'" class="Item" target="_blank">'.$p->t('lehre/moodleHandbuch').'</a>';
+21
View File
@@ -3126,6 +3126,26 @@ if(!$result = @$db->db_query("SELECT exklusiv FROM campus.tbl_infoscreen_content
echo '<br>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 '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
else
echo ' system.tbl_berechtigung: Eigene Berechtigungen fuer LV-Infos hinzugefuegt lehre/lvinfo!<br>';
}
}
echo '<br><br><br>';
$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.'),