diff --git a/skin/images/split-arrows.png b/skin/images/split-arrows.png new file mode 100644 index 000000000..7daf400d6 Binary files /dev/null and b/skin/images/split-arrows.png differ diff --git a/soap/studienordnung.json.php b/soap/studienordnung.json.php index 444fb026e..c7a230a30 100644 --- a/soap/studienordnung.json.php +++ b/soap/studienordnung.json.php @@ -57,6 +57,53 @@ switch($method) $data['errormsg']=$studienordnung->errormsg; } break; + case 'saveSemesterSTPLZuordnung': + $studienplan_id=$_REQUEST['studienplan_id']; + $studiensemester_kurzbz=$_REQUEST['studiensemester_kurzbz']; + $ausbildungssemester=$_REQUEST['ausbildungssemester']; + + $studienplan = new studienplan(); + $studienplan->loadStudienplan($studienplan_id); + $saveArr = array(array("studienplan_id"=>$studienplan_id, "studiensemester_kurzbz"=>$studiensemester_kurzbz, "ausbildungssemester"=>$ausbildungssemester)); + if($result = $studienplan->saveSemesterZuordnung($saveArr)) + { + $data['result']=$result; + $data['error']='false'; + $data['errormsg']=''; + } + else + { + $data['error']='true'; + $data['errormsg']=$studienplan->errormsg; + } + break; + case 'deleteSemesterSTPLZuordnung': + $studienplan_id=$_REQUEST['studienplan_id']; + $ausbildungssemester_kurzbz=$_REQUEST['ausbildungssemester_kurzbz']; + $studienplan = new studienplan(); + $studienplan->loadStudienplan($studienplan_id); + + if(!isset($_REQUEST["studiensemester"])) + { + $result = $studienplan->deleteSemesterZuordnung($studienplan_id, $ausbildungssemester_kurzbz); + } + else + { + $studiensemester = $_REQUEST["studiensemester"]; + $result = $studienplan->deleteSemesterZuordnung($studienplan_id, $ausbildungssemester_kurzbz, $studiensemester); + } + + if($result) + { + $data['error']='false'; + $data['errormsg']=''; + } + else + { + $data['error']='true'; + $data['errormsg']=$studienplan->errormsg; + } + break; case 'copyStudienordnung': $studienordnung_id=$_REQUEST['studienordnung_id']; diff --git a/soap/test_client.php b/soap/test_client.php index be66e0bd7..fe2cfda20 100644 --- a/soap/test_client.php +++ b/soap/test_client.php @@ -1,84 +1,84 @@ - - - - - - - - - Test-Client - - - - -

Testclient für Webservices

- -
- - -
- -
'; - try - { - $response = $client->myTest('foo'); - var_dump($response); - } - catch(SoapFault $fault) - { - echo "SOAP Fault: (faultcode: ".$fault->faultcode.", faultstring: ".$fault->faultstring.")", E_USER_ERROR; - } - -} - -?> - - + + + + + + + + + Test-Client + + + + +

Testclient für Webservices

+ +
+ + +
+ +
'; + try + { + $response = $client->myTest('foo'); + var_dump($response); + } + catch(SoapFault $fault) + { + echo "SOAP Fault: (faultcode: ".$fault->faultcode.", faultstring: ".$fault->faultstring.")", E_USER_ERROR; + } + +} + +?> + + diff --git a/vilesci/lehre/studienordnung.inc.php b/vilesci/lehre/studienordnung.inc.php index 91448abc4..5ece67a8d 100644 --- a/vilesci/lehre/studienordnung.inc.php +++ b/vilesci/lehre/studienordnung.inc.php @@ -259,7 +259,7 @@ switch($method) $studienordnung = new studienordnung(); $studienordnung->loadStudienordnung($studienordnung_id); - + $studienSemesterResult = $studienordnung->loadStudiensemesterFromStudienordnung($studienordnung_id); foreach ($studienSemesterResult as $studienSem) { @@ -332,6 +332,88 @@ switch($method) '; break; + + case 'semesterSTPLZuordnung': + $studienplan_id = $_GET["studienplan_id"]; + + $studienplan = new studienplan(); + $studienplan->loadStudienplan($studienplan_id); + $studienSemesterResult = $studienplan->loadStudiensemesterFromStudienplan($studienplan_id); + + $studiensemester = new studiensemester(); + $studiensemester->getAll(); + + $ausbildungssemesterResult = array(); +/* + $studienSemesterResult = $studienordnung->loadStudiensemesterFromStudienordnung($studienordnung_id);*/ + foreach ($studienSemesterResult as $studienSem) + { + $obj = new stdClass(); + $obj->studiensemester = $studienSem; + $obj->ausbildungssemester = $studienplan->loadAusbildungsemesterFromStudiensemester($studienplan_id, $studienSem); + $ausbildungssemesterResult[] = $obj; + } + + $studiengang = new studiengang(); + //$studiengang->load($studienordnung->studiengang_kz); +// $ausbildungssemester = $studiengang->getSemesterFromStudiengang($studienordnung->studiengang_kz) + $ausbildungssemester = $studienplan->regelstudiendauer; + + echo ' + + + + + '; + for($i = 1; $i<=$ausbildungssemester; $i++) + { + echo '"; + } + echo ''; + echo ' + + '; + + + foreach($ausbildungssemesterResult as $row) + { + echo ''; + for($i = 1; $i<=$ausbildungssemester; $i++) + { + if(in_array($i, $row->ausbildungssemester)) + { + echo ''; + } + else + { + echo ''; + } + } + echo ''; + } + echo ' + '; + for($j=1; $j<=$ausbildungssemester; $j++) + { + echo ''; + } + echo ' + + + + + '; + echo ' +
Studiensasdfemester'.$i.". Semester 
'.$row->studiensemester.'Löschen
+ '; + break; + default: echo 'Unknown Method'.$method; break; diff --git a/vilesci/lehre/studienordnung.js b/vilesci/lehre/studienordnung.js index 7617d33e5..5f601b142 100755 --- a/vilesci/lehre/studienordnung.js +++ b/vilesci/lehre/studienordnung.js @@ -16,12 +16,13 @@ * * Authors: Andreas Oesterreicher , * Stefan Puraner + * Andreas Moik */ -var studiengang_kz=''; -var studiengang_bezeichnung=''; -var studienordnung_id=''; -var studienordnung_bezeichnung=''; -var studienplan_id=''; +var global_studiengang_kz=''; +var global_studiengang_bezeichnung=''; +var global_studienordnung_id=''; +var global_studienordnung_bezeichnung=''; +var global_studienplan_id=''; var lehrveranstaltungen=''; // Speichert die Parameter des aktuell angezeigten Studienplans fuer Refresh des Trees @@ -63,10 +64,10 @@ function drawHeader(text) if(text===undefined) { text = '

'; - if(studiengang_bezeichnung!='') - text=text+studiengang_bezeichnung; - if(studienordnung_bezeichnung!='') - text=text+' > '+studienordnung_bezeichnung; + if(global_studiengang_bezeichnung!='') + text=text+global_studiengang_bezeichnung; + if(global_studienordnung_bezeichnung!='') + text=text+' > '+global_studienordnung_bezeichnung; if(studienplan_bezeichnung!='') text=text+' > '+studienplan_bezeichnung; @@ -89,13 +90,13 @@ function loadStudienordnung() method = 'loadStudienordnungSTG'; } // Ausgewaehlten Studiengang holen - studiengang_kz = $('#studiengang').val(); - studiengang_bezeichnung = $( "#studiengang option:selected" ).text(); + global_studiengang_kz = $('#studiengang').val(); + global_studiengang_bezeichnung = $( "#studiengang option:selected" ).text(); // Globale Variablen resetten - studienordnung_id=''; - studienordnung_bezeichnung=''; - studienplan_id=''; + global_studienordnung_id=''; + global_studienordnung_bezeichnung=''; + global_studienplan_id=''; studienplan_bezeichnung=''; drawHeader(); @@ -109,7 +110,7 @@ function loadStudienordnung() "typ": "json", "class": "studienordnung", "method": method, - "parameter_0": studiengang_kz + "parameter_0": global_studiengang_kz }, error: loadError }).success(function(data) @@ -139,7 +140,7 @@ function drawStudienordnungen(data) { if(data[i].studienordnung_id !== null) { - obj=obj+'
  • '+data[i].bezeichnung+'' + obj=obj+'
  • '+data[i].bezeichnung+'' +' ' +'    ' +' ' @@ -155,10 +156,12 @@ function drawStudienordnungen(data) /** * Laedt die Studienplaene zu einer Studienordnung */ -function loadStudienplanSTO(neue_studienordnung_id,bezeichnung) +function loadStudienplanSTO(neue_studienordnung_id, studienplan_id,bezeichnung, callback) { - studienordnung_bezeichnung=bezeichnung; - studienordnung_id=neue_studienordnung_id; + global_studienordnung_bezeichnung=bezeichnung; + global_studienordnung_id=neue_studienordnung_id; + global_studienplan_id = studienplan_id; + drawHeader(); $.ajax( { @@ -168,7 +171,7 @@ function loadStudienplanSTO(neue_studienordnung_id,bezeichnung) "typ": "json", "class": "studienplan", "method": "loadStudienplanSTO", - "parameter_0": studienordnung_id + "parameter_0": global_studienordnung_id }, error: loadError }).success(function(data) @@ -182,7 +185,7 @@ function loadStudienplanSTO(neue_studienordnung_id,bezeichnung) drawStudienplan(data.result); //jqUi( "#menueLinks" ).accordion("option","active",2); } - semesterStoZuordnung(); + callback(); }); $.ajax({ dataType: "json", @@ -191,7 +194,7 @@ function loadStudienplanSTO(neue_studienordnung_id,bezeichnung) "typ" : "json", "class": "studienordnung", "method": "loadStudienordnung", - "parameter_0": studienordnung_id + "parameter_0": global_studienordnung_id }, error: loadError }).success(function(data){ @@ -203,19 +206,23 @@ function loadStudienplanSTO(neue_studienordnung_id,bezeichnung) }); } + /** * Erstellt die Links zu den Studienplaenen */ function drawStudienplan(data) { - var obj='Neuer Studienplan
      '; + var obj ='Neuer Studienplan'; @@ -223,6 +230,7 @@ function drawStudienplan(data) $('#studienplan').html(obj); } + /** * Konvertiert den Tree fuer den Studienplan damit dieser mit jstree angezeigt werden kann */ @@ -254,7 +262,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester) loadLehrveranstaltungSTPLBezeichnung = bezeichnung; loadLehrveranstaltungSTPLSemester = max_semester; - //studienplan_id = studienplan_id; + global_studienplan_id = studienplan_id; studienplan_bezeichnung=bezeichnung; drawHeader(); @@ -267,7 +275,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester) "typ": "json", "class": "lehrveranstaltung", "method": "getLvTree", - "parameter_0": studienplan_id, + "parameter_0": global_studienplan_id, }, error: loadError }).success(function(data) @@ -495,7 +503,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester) } // Aenderung speichern - saveJsondataFromTree(data.rslt.o[0].id, studienplan_id, studienplan_lehrveranstaltung_id); + saveJsondataFromTree(data.rslt.o[0].id, global_studienplan_id, studienplan_lehrveranstaltung_id); // ECTS Summen neu berechnen var root = data.inst.get_container_ul(); @@ -769,7 +777,7 @@ function neueStudienordnung() { $("#tabs").hide(); drawHeader('Neue Studienordnung'); - $("#data").load('studienordnung.inc.php?method=neueStudienordnung&studiengang_kz='+studiengang_kz); + $("#data").load('studienordnung.inc.php?method=neueStudienordnung&studiengang_kz='+global_studiengang_kz); } /** @@ -779,7 +787,7 @@ function neuerStudienplan() { $("#tabs").hide(); drawHeader('Neuer Studienplan'); - $("#data").load('studienordnung.inc.php?method=neuerStudienplan&studiengang_kz='+studiengang_kz); + $("#data").load('studienordnung.inc.php?method=neuerStudienplan&studiengang_kz='+global_studiengang_kz); } /** @@ -789,7 +797,7 @@ function editStudienordnung(studienordnung_id) { $("#tabs").hide(); drawHeader('Studienordnung bearbeiten'); - $("#data").load('studienordnung.inc.php?method=neueStudienordnung&studiengang_kz='+studiengang_kz+'&studienordnung_id='+studienordnung_id); + $("#data").load('studienordnung.inc.php?method=neueStudienordnung&studiengang_kz='+global_studiengang_kz+'&studienordnung_id='+studienordnung_id); } /** @@ -799,7 +807,7 @@ function editStudienplan(studienplan_id) { $("#tabs").hide(); drawHeader('Studienplan bearbeiten'); - $("#data").load('studienordnung.inc.php?method=neuerStudienplan&studiengang_kz='+studiengang_kz+'&studienplan_id='+studienplan_id); + $("#data").load('studienordnung.inc.php?method=neuerStudienplan&studiengang_kz='+global_studiengang_kz+'&studienplan_id='+studienplan_id); } /* @@ -818,7 +826,7 @@ function loadFilteredLehrveranstaltungen() "typ": "json", "class": "lehrveranstaltung", "method": "load_lva", - "parameter_0": studiengang_kz, //Studiengangskennzahl + "parameter_0": global_studiengang_kz, //Studiengangskennzahl "parameter_1": $("#semesterDropdown").val(), //Semester "parameter_2": "null", //Lehrverzeichnis "parameter_3": "null", //Lehre // sollte TRUE sein @@ -961,7 +969,7 @@ function showLVTree(data) } // Aenderung speichern - saveJsondataFromTree(data.rslt.o[0].id, studienplan_id, studienplan_lehrveranstaltung_id); + saveJsondataFromTree(data.rslt.o[0].id, global_studienplan_id, studienplan_lehrveranstaltung_id); // ECTS Summen neu berechnen @@ -1029,7 +1037,7 @@ function loadSemester() url: "../../soap/studienplan.json.php", data: { "method": "getSemesterFromStudiengang", - "studiengang_kz": studiengang_kz + "studiengang_kz": global_studiengang_kz }, error: loadError }).success(function(data) @@ -1060,7 +1068,7 @@ function loadSemester() if($("#neueLV").length === 0) $("#lehrveranstaltung").append("
      "); - $("#neueLV").html("
      "); + $("#neueLV").html("
      "); isLVFilterLoaded=true; loadFilteredLehrveranstaltungen(); }); @@ -1287,7 +1295,7 @@ function saveStudienordnung() "studiengangbezeichnung_englisch":studiengangbezeichnungenglisch, "studiengangkurzbzlang":studiengangkurzbzlang, "akadgrad_id":akadgrad_id, - "studiengang_kz":studiengang_kz + "studiengang_kz":global_studiengang_kz }; @@ -1330,13 +1338,13 @@ function saveStudienplan() semesterwochen = $("#semesterwochen").val(); testtool_sprachwahl = $("#testtool_sprachwahl").prop("checked"); aktiv = $("#aktiv").prop("checked"); - mystudienplan_id = $("#studienplan_id").val(); + var studienplan_id = $("#studienplan_id").val(); - if(mystudienplan_id!='') + if(studienplan_id!='') { loaddata = { "method": "loadStudienplan", - "parameter_0": mystudienplan_id + "parameter_0": studienplan_id }; } else @@ -1351,7 +1359,7 @@ function saveStudienplan() "semesterwochen":semesterwochen, "testtool_sprachwahl":testtool_sprachwahl, "aktiv":aktiv, - "studienordnung_id":studienordnung_id + "studienordnung_id":global_studienordnung_id }; @@ -1374,7 +1382,7 @@ function saveStudienplan() { $("#submsg").css("visibility", "visible"); window.setTimeout(function(){$("#submsg").css("visibility", "hidden");}, 1500); - loadStudienplanSTO(studienordnung_id,studienordnung_bezeichnung); + loadStudienplanSTO(global_studienordnung_id, studienplan_id, global_studienordnung_bezeichnung, semesterStoZuordnung); } }, error: loadError @@ -1435,7 +1443,16 @@ function writeOverallSum(root) function semesterStoZuordnung() { drawHeader('Neue Semester Zuordnung'); - $("#data").load('studienordnung.inc.php?method=semesterStoZuordnung&studienordnung_id='+studienordnung_id); + $("#data").load('studienordnung.inc.php?method=semesterStoZuordnung&studienordnung_id='+global_studienordnung_id); +} + +/** + * Laedt die Daten zum Eintragen der Studienplan/Semester zuordnung + */ +function semesterSTPLZuordnung() +{ + drawHeader('Neue Studienplan Zuordnung'); + $("#data").load('studienordnung.inc.php?method=semesterSTPLZuordnung&studienplan_id='+global_studienplan_id); } /** @@ -1467,7 +1484,7 @@ function saveSemesterStoZuordnung(studiensemester, ausbildungssemester) type: "POST", data: { "method": "saveSemesterZuordnung", - "studienordnung_id": studienordnung_id, + "studienordnung_id": global_studienordnung_id, "studiensemester_kurzbz" : studiensemester, "ausbildungssemester": j+1 } @@ -1490,7 +1507,7 @@ function saveSemesterStoZuordnung(studiensemester, ausbildungssemester) type: "POST", data: { "method": "saveSemesterZuordnung", - "studienordnung_id": studienordnung_id, + "studienordnung_id": global_studienordnung_id, "studiensemester_kurzbz" : studiensemester, "ausbildungssemester": ausbildungssemester } @@ -1503,9 +1520,79 @@ function saveSemesterStoZuordnung(studiensemester, ausbildungssemester) semesterStoZuordnung(); }); } - } + +/** + * Speichert die Studienplan/Semester zuordnung + */ +function saveSemesterSTPLZuordnung(studiensemester, ausbildungssemester) +{ + //new + if(studiensemester == undefined && ausbildungssemester == undefined) + { + var sem = $("#studiensemester").val(); + var cells = $("#studiensemester").parents().closest("tr").find("input[type=checkbox]"); + var semester = new Array(); + var semesterKurzbz = ""; + + for(var i = 0; i < cells.length; i++) + { + //semester[cells[i].getAttribute("semester")] = cells[i].checked; + semester.push(cells[i].checked); + } + + var studiensemester = $("#studiensemester").val(); + for(var j=0; j * Stefan Puraner + * Andreas Moik */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/studienordnung.class.php');