diff --git a/include/studienordnung.class.php b/include/studienordnung.class.php
index a7fba89a1..569166370 100644
--- a/include/studienordnung.class.php
+++ b/include/studienordnung.class.php
@@ -672,13 +672,13 @@ class studienordnung extends basis_db
{
$studiensemester = new studiensemester();
$studiensemester->getTimestamp($studiensemester_kurzbz);
- var_dump($this);
+
$semGueltigVon = $studiensemester->begin->start;
//$semGueltigBis = $studiensemester->ende->ende;
$studiensemester = new studiensemester();
$studiensemester->getTimestamp($this->gueltigvon);
- var_dump($studiensemester);
+
$stoGueltigVon = $studiensemester->begin->start;
if($this->gueltigbis != null)
diff --git a/soap/studienordnung.json.php b/soap/studienordnung.json.php
index f633778ae..444fb026e 100644
--- a/soap/studienordnung.json.php
+++ b/soap/studienordnung.json.php
@@ -57,10 +57,10 @@ switch($method)
$data['errormsg']=$studienordnung->errormsg;
}
break;
- case 'copyStudienordnung':
- $studienordnung_id=$_REQUEST['studienordnung_id'];
-
- $studienordnung = new studienordnung();
+ case 'copyStudienordnung':
+ $studienordnung_id=$_REQUEST['studienordnung_id'];
+
+ $studienordnung = new studienordnung();
if($studienordnung->loadStudienordnung($studienordnung_id))
{
// Studienordnung anlegen
@@ -150,28 +150,28 @@ switch($method)
}
}
- // Alle neuen LVRegeln nochmals durchlaufen und die parents korrekt setzen
- foreach($lvregel_ID_Array as $lvregel_id)
- {
- $lvregel_obj = new lvregel();
- if($lvregel_obj->load($lvregel_id))
+ // Alle neuen LVRegeln nochmals durchlaufen und die parents korrekt setzen
+ foreach($lvregel_ID_Array as $lvregel_id)
+ {
+ $lvregel_obj = new lvregel();
+ if($lvregel_obj->load($lvregel_id))
{
if($lvregel_obj->lvregel_id_parent!='')
- {
- $lvregel_obj->lvregel_id_parent = $lvregel_ID_Array[$lvregel_obj->lvregel_id_parent];
+ {
+ $lvregel_obj->lvregel_id_parent = $lvregel_ID_Array[$lvregel_obj->lvregel_id_parent];
$lvregel_obj->save();
- }
- }
+ }
+ }
}
}
- // tbl_studienordnung_semester: wird nicht kopiert da es sonst dazu kommen kann, dass mehrere aktive Studienordnungen vorhanden sind
- $data['error']='false';
+ // tbl_studienordnung_semester: wird nicht kopiert da es sonst dazu kommen kann, dass mehrere aktive Studienordnungen vorhanden sind
+ $data['error']='false';
$data['errormsg']='';
}
- else
- {
- $data['error']='true';
- $data['errormsg']=$studienplan->errormsg;
+ else
+ {
+ $data['error']='true';
+ $data['errormsg']=$studienplan->errormsg;
}
}
else
@@ -179,12 +179,12 @@ switch($method)
$data['error']='true';
$data['errormsg']=$studienordnung->errormsg;
}
- }
- else
- {
- $data['error']='true';
- $data['errormsg']=$studienordnung->errormsg;
- }
+ }
+ else
+ {
+ $data['error']='true';
+ $data['errormsg']=$studienordnung->errormsg;
+ }
break;
default:
break;
diff --git a/system/checksystem.php b/system/checksystem.php
index 5cb820a20..030ed457f 100644
--- a/system/checksystem.php
+++ b/system/checksystem.php
@@ -3489,6 +3489,24 @@ 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"))
+{
+ 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 'system.tbl_berechtigung '.$db->db_last_error().'
';
+ else
+ echo ' system.tbl_berechtigung: Eigene Berechtigung lehre/studienordnungInaktiv zur Bearbeitung von inaktiven Studienordnungen hinzugefuegt!
';
+ }
+}
+
echo '
';
$tabellen=array(
@@ -3869,6 +3887,7 @@ $berechtigungen = array(
array('lehre/reservierung','erweiterte Reservierung inkl. Lektorauswahl, Stg, Sem und Gruppe'),
array('lehre/reservierung:begrenzt','normale Raumreservierung im CIS'),
array('lehre/studienordnung','Studienordnung'),
+ array('lehre/studienordnungInaktiv','Studienordnung Inaktiv'),
array('lehre/vorrueckung','Lehreinheitenvorrückung'),
array('lv-plan','Stundenplan'),
array('lv-plan/gruppenentfernen','Erlaut das Entfernen von Gruppen aus LVPlan vom FAS aus'),
diff --git a/vilesci/lehre/saveStudienordnung.php b/vilesci/lehre/saveStudienordnung.php
index d0687e378..43f8705c0 100644
--- a/vilesci/lehre/saveStudienordnung.php
+++ b/vilesci/lehre/saveStudienordnung.php
@@ -79,12 +79,11 @@ if(mb_stristr($method,'save'))
$loaddata=json_decode($_REQUEST['loaddata'], true);
$savedata=json_decode($_REQUEST['savedata'], true);
-
if(!$rechte->isBerechtigt('lehre/studienordnung'))
{
- if(!$rechte->isBerechtigt("'lehre/studienordnungInaktiv'"))
+ if(!$rechte->isBerechtigt("lehre/studienordnungInaktiv"))
{
- die('Sie haben keine Berechtigung fuer diesen Vorgang.');
+ die('Sie haben keine Berechtigung fuer diesen Vorgang. Recht: lehre/studienordnung');
}
else
{
@@ -144,6 +143,13 @@ if(mb_stristr($method,'save'))
}
}
}
+elseif(mb_stristr($method,'delete'))
+{
+ if(!$rechte->isBerechtigt("lehre/studienordnung"))
+ {
+ die('Sie haben keine Berechtigung fuer diesen Vorgang.');
+ }
+}
$return = '';
if(!$error && ($return = call_user_func_array(array($obj, $method), $parameter)))
{
diff --git a/vilesci/lehre/studienordnung.js b/vilesci/lehre/studienordnung.js
index eaf7854f6..b01fba7f9 100644
--- a/vilesci/lehre/studienordnung.js
+++ b/vilesci/lehre/studienordnung.js
@@ -83,6 +83,11 @@ function drawHeader(text)
*/
function loadStudienordnung()
{
+ var method = 'loadStudienordnungSTGInaktiv';
+ if(typeof initSTOs === 'undefined')
+ {
+ method = 'loadStudienordnungSTG';
+ }
// Ausgewaehlten Studiengang holen
studiengang_kz = $('#studiengang').val();
studiengang_bezeichnung = $( "#studiengang option:selected" ).text();
@@ -103,7 +108,7 @@ function loadStudienordnung()
data: {
"typ": "json",
"class": "studienordnung",
- "method": "loadStudienordnungSTG",
+ "method": method,
"parameter_0": studiengang_kz
},
error: loadError
@@ -486,7 +491,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
var studienplan_lehrveranstaltung_id='';
if(data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id){
studienplan_lehrveranstaltung_id=data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id.value;
- //$("#treeData").jstree.refresh();
+ $("#treeData").jstree('refresh');
}
// Aenderung speichern
@@ -1052,6 +1057,10 @@ function loadSemester()
}
html+="";
$("#semesterListe").html(html);
+ if($("#neueLV").length === 0)
+ $("#lehrveranstaltung").append("