Bugfix und Rechte für Bearbeitung inaktiver Studienordnungen

This commit is contained in:
Stefan Puraner
2015-10-15 12:43:45 +02:00
parent 7c62a869e5
commit 0fc7be8d63
8 changed files with 46 additions and 12 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ $uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('lehre/studienordnung'))
if((!$rechte->isBerechtigt('lehre/studienordnung')) && (!$rechte->isBerechtigt('lehre/studienordnungInaktiv')))
die('Sie haben keine Berechtigung für diese Seite');
$method = isset($_REQUEST['method'])?$_REQUEST['method']:'';
+23 -5
View File
@@ -3489,21 +3489,21 @@ if(!@$db->db_query("SELECT inkludierte_lehre FROM bis.tbl_bisverwendung LIMIT 1"
}
// Eigene Berechtigung fuer LV-Info Freigabe
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='lehre/studienordnungInaktiv' LIMIT 1"))
// Eigene Berechtigung fuer Bearbeitung inaktiver Studienordnungen
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='lehre/lehrveranstaltungAnlegen' LIMIT 1"))
{
if($db->db_num_rows($result)==0)
{
$qry = "
INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('lehre/studienordnungInaktiv','Recht zur Bearbeitung inaktiver Studienordnungen');
INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('lehre/lehrveranstaltungAnlegen','Recht zur Anlage von Lehrveranstaltungen');
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/studienordnungInaktiv','assistenz','suid');
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/lehrveranstaltungAnlegen','assistenz','suid');
";
if(!$db->db_query($qry))
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
else
echo ' system.tbl_berechtigung: Eigene Berechtigung lehre/studienordnungInaktiv zur Bearbeitung von inaktiven Studienordnungen hinzugefuegt!<br>';
echo ' system.tbl_berechtigung: Eigene Berechtigung lehre/lehrveranstalgungAnlegen Anlage von Lehrveranstaltungen hinzugefuegt!<br>';
}
}
@@ -3529,6 +3529,24 @@ if(!@$db->db_query("SELECT bezeichnung FROM bis.tbl_zgv LIMIT 1"))
echo ' Mehrsprachige Bezeichnung für ZGV, Master ZGV und Doktor ZGV hinzugefügt<br>';
}
// Eigene Berechtigung fuer Anlage neuer Lehrveranstaltung
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='lehre/studienordnungInaktiv' LIMIT 1"))
{
if($db->db_num_rows($result)==0)
{
$qry = "
INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('lehre/studienordnungInaktiv','Recht zur Bearbeitung inaktiver Studienordnungen');
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/studienordnungInaktiv','assistenz','suid');
";
if(!$db->db_query($qry))
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
else
echo ' system.tbl_berechtigung: Eigene Berechtigung lehre/studienordnungInaktiv zur Bearbeitung von inaktiven Studienordnungen hinzugefuegt!<br>';
}
}
echo '<br><br><br>';
+1 -1
View File
@@ -853,7 +853,7 @@ echo $outp;
echo '</td><td valign="top">';
//Neu Button
if($write_admin)
if($write_admin || $rechte->isBerechtigt('lehre/lehrveranstaltungAnlegen',null,'suid'))
echo '<input type="button" onclick="parent.lv_detail.location=\'lehrveranstaltung_details.php?neu=true&stg_kz='.$db->convert_html_chars($stg_kz).'&semester='.$db->convert_html_chars($semester).'\'" value="Neu"/>';
echo '</td></tr></table>';
+2 -2
View File
@@ -50,9 +50,9 @@
if(isset($_POST["schick"]) || isset($_POST["schick_neu"]))
{
if(!$rechte->isBerechtigt('lehre/lehrveranstaltung',null,'sui'))
if(!$rechte->isBerechtigt('lehre/lehrveranstaltung',null,'sui') && !$rechte->isBerechtigt('lehre/lehrveranstaltungAnlegen',null,'sui'))
die('Sie haben keine Berechtigung fuer diese Aktion');
$lv = new lehrveranstaltung();
if(isset($_POST["schick_neu"]))
+15 -1
View File
@@ -30,6 +30,7 @@ require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/webservicerecht.class.php');
require_once('../../include/studienordnung.class.php');
require_once('../../include/studienplan.class.php');
$class = $_REQUEST['class'];
$method = $_REQUEST['method'];
@@ -147,7 +148,20 @@ elseif(mb_stristr($method,'delete'))
{
if(!$rechte->isBerechtigt("lehre/studienordnung"))
{
die('Sie haben keine Berechtigung fuer diesen Vorgang.');
if(!$rechte->isBerechtigt("lehre/studienordnungInaktiv"))
{
die('Sie haben keine Berechtigung fuer diesen Vorgang. Recht: lehre/studienordnung');
}
else
{
$studienplan = new studienplan();
$studienplan->loadStudienplanLehrveranstaltung($_REQUEST['parameter_0']);
$studienordnung = new studienordnung();
$studienordnung->getStudienordnungFromStudienplan($studienplan->studienplan_id);
if($studienordnung->isAktiv($studienordnung->studienordnung_id))
die('Sie haben keine Berechtigung fuer diesen Vorgang. Studienordnung ist aktiv.');
}
}
}
$return = '';
+1 -1
View File
@@ -39,7 +39,7 @@ $rechte->getBerechtigungen($uid);
$method=(isset($_GET['method'])?$_GET['method']:'');
if(!$rechte->isBerechtigt('lehre/studienordnung'))
if((!$rechte->isBerechtigt('lehre/studienordnung')) && (!$rechte->isBerechtigt('lehre/studienordnungInaktiv')))
die('Sie haben keine Berechtigung für diese Seite');
switch($method)
+1 -1
View File
@@ -1060,7 +1060,7 @@ function loadSemester()
if($("#neueLV").length === 0)
$("#lehrveranstaltung").append("<div id='neueLV'></div>");
$("#neueLV").html("<br/><a href='./lehrveranstaltung_details.php?neu=true' target='_blank'><input type='button' value='Neue LV anlegen'></a>");
$("#neueLV").html("<br/><a href='./lehrveranstaltung_details.php?neu=true&stg_kz="+studiengang_kz+"' target='_blank'><input type='button' value='Neue LV anlegen'></a>");
isLVFilterLoaded=true;
loadFilteredLehrveranstaltungen();
});
+2
View File
@@ -152,6 +152,8 @@ if((!$rechte->isBerechtigt('lehre/studienordnung')) && (!$rechte->isBerechtigt('
if($rechte->isBerechtigt('lehre/studienordnungInaktiv'))
echo "<script type='text/javascript'>var initSTOs = 'inaktiv';</script>";
$stg_arr = $rechte->getStgKz('lehre/studienordnung');
if(empty($stg_arr))
$stg_arr = $rechte->getStgKz('lehre/studienordnungInaktiv');
$studiengang = new studiengang();
$studiengang->loadArray($stg_arr,'typ,kurzbz');