From 2c37d6afe4485554b8d376b8629b4ca9010499b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 11 Nov 2013 12:35:39 +0000 Subject: [PATCH] =?UTF-8?q?Neu=20anlegen=20eines=20Studienplanes,=20Neues?= =?UTF-8?q?=20Attribut=20klasse=20in=20Tabelle=20Webservicerecht=20hinzuge?= =?UTF-8?q?f=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/webservicerecht.class.php | 28 ++++++----- soap/fhcomplete.php | 3 +- system/checksystem.php | 13 ++++- vilesci/lehre/studienordnung.inc.php | 13 +++++ vilesci/lehre/studienordnung.js | 73 ++++++++++++++++++++++++++-- 5 files changed, 110 insertions(+), 20 deletions(-) diff --git a/include/webservicerecht.class.php b/include/webservicerecht.class.php index e2fa4d0c3..566a32d71 100755 --- a/include/webservicerecht.class.php +++ b/include/webservicerecht.class.php @@ -23,17 +23,18 @@ require_once(dirname(__FILE__).'/benutzerberechtigung.class.php'); class webservicerecht extends basis_db { - public $webservicerecht_id; // Serial - public $berechtigung_kurzbz; // FK varchar(32) - public $methode; // varchar(64) + public $webservicerecht_id; // Serial + public $berechtigung_kurzbz;// FK varchar(32) + public $methode; // varchar(256) public $attribut; // varchar(256) - public $insertamum; // text - public $insertvon; // timestampt - public $updateamum; // varchar(32) - public $updatevon; // timestampt + public $insertamum; // timestamp + public $insertvon; // varchar(32) + public $updateamum; // timestamp + public $updatevon; // varchar(32) + public $klasse; // varchar(256) public $new; // boolean - public $result = array(); // webservicelog object array + public $result = array(); // webservicerecht object array /** * Konstruktor - Laedt optional einen DS @@ -53,8 +54,9 @@ class webservicerecht extends basis_db * * @param $user * @param $methode + * @param $klasse */ - public function isUserAuthorized($user, $methode) + public function isUserAuthorized($user, $methode, $klasse=null) { $berechtigung = new benutzerberechtigung(); $berechtigung->getBerechtigungen($user); @@ -68,7 +70,10 @@ class webservicerecht extends basis_db } $qry = "SELECT 1 from system.tbl_webservicerecht where methode = ".$this->db_add_param($methode)." - AND berechtigung_kurzbz IN (".$this->implode4SQL($berechtigungArray).');'; + AND berechtigung_kurzbz IN (".$this->implode4SQL($berechtigungArray).')'; + + if(!is_null($klasse)) + $qry.=" AND klasse=".$this->db_add_param($klasse); if($result = $this->db_query($qry)) { @@ -113,7 +118,7 @@ class webservicerecht extends basis_db } } - $helpObject = new foobar(); + $helpObject = new stdClass(); for($i = 0; $iisUserAuthorized($uid, $method)) +if(!$wsrecht->isUserAuthorized($uid, $method, $class)) die('Sie haben keine Berechtigung fuer diesen Vorgang'); // Funktion aufrufen diff --git a/system/checksystem.php b/system/checksystem.php index 050d90b92..8646acb25 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -575,6 +575,17 @@ if(!$result = @$db->db_query("SELECT zutrittssystem from public.tbl_gruppe LIMIT echo 'public.tbl_gruppe: Spalte zutrittssystem hinzugefuegt'; } +// tbl_webservicerecht neue Spalte klasse +if(!$result = @$db->db_query("SELECT klasse from system.tbl_webservicerecht LIMIT 1;")) +{ + $qry = "ALTER TABLE system.tbl_webservicerecht ADD COLUMN klasse varchar(256);"; + + if(!$db->db_query($qry)) + echo 'system.tbl_webservicerecht: '.$db->db_last_error().'
'; + else + echo 'system.tbl_webservicerecht: Spalte klasse hinzugefügt'; +} + echo '
'; $tabellen=array( @@ -784,7 +795,7 @@ $tabellen=array( "system.tbl_rolle" => array("rolle_kurzbz","beschreibung"), "system.tbl_rolleberechtigung" => array("berechtigung_kurzbz","rolle_kurzbz","art"), "system.tbl_webservicelog" => array("webservicelog_id","webservicetyp_kurzbz","request_id","beschreibung","request_data","execute_time","execute_user"), - "system.tbl_webservicerecht" => array("webservicerecht_id","berechtigung_kurzbz","methode","attribut","insertamum","insertvon","updateamum","updatevon"), + "system.tbl_webservicerecht" => array("webservicerecht_id","berechtigung_kurzbz","methode","attribut","insertamum","insertvon","updateamum","updatevon","klasse"), "system.tbl_webservicetyp" => array("webservicetyp_kurzbz","beschreibung"), "system.tbl_server" => array("server_kurzbz","beschreibung"), "wawi.tbl_betriebsmittelperson" => array("betriebsmittelperson_id","betriebsmittel_id","person_id", "anmerkung", "kaution", "ausgegebenam", "retouram","insertamum", "insertvon","updateamum", "updatevon","ext_id","uid"), diff --git a/vilesci/lehre/studienordnung.inc.php b/vilesci/lehre/studienordnung.inc.php index d443eca3d..f02282af9 100644 --- a/vilesci/lehre/studienordnung.inc.php +++ b/vilesci/lehre/studienordnung.inc.php @@ -138,6 +138,7 @@ switch($method) die('Studiengang ist ungültig'); echo ' + @@ -176,6 +177,18 @@ switch($method) } echo ' + + + + + + + + + + + + diff --git a/vilesci/lehre/studienordnung.js b/vilesci/lehre/studienordnung.js index 4453f3ed4..4317e33f1 100644 --- a/vilesci/lehre/studienordnung.js +++ b/vilesci/lehre/studienordnung.js @@ -102,10 +102,10 @@ function drawStudienordnungen(data) $('#studienordnung').html(obj); } -function loadStudienplanSTO(studienordnung_id,bezeichnung) +function loadStudienplanSTO(neue_studienordnung_id,bezeichnung) { studienordnung_bezeichnung=bezeichnung; - studienordnung_id=studienordnung_id; + studienordnung_id=neue_studienordnung_id; drawHeader(); $.ajax( { @@ -226,14 +226,14 @@ function saveStudienordnung() studiengangbezeichnung = $("#studiengangbezeichnung").val(); studiengangbezeichnungenglisch = $("#studiengangbezeichnungenglisch").val(); studiengangkurzbzlang = $("#studiengangkurzbzlang").val(); - studienordnung_id = $("#studienordnung_id").val(); + mystudienordnung_id = $("#studienordnung_id").val(); akadgrad_id = $("#akadgrad_id").val(); - if(studienordnung_id!='') + if(mystudienordnung_id!='') { loaddata = { "method": "loadStudienordnung", - "parameter_0": studienordnung_id + "parameter_0": mystudienordnung_id }; } else @@ -281,3 +281,66 @@ function StudienordnungSaved() } } +function saveStudienplan() +{ + bezeichnung = $("#bezeichnung").val(); + version = $("#version").val(); + orgform_kurzbz = $("#orgform_kurzbz option:selected").val(); + sprache = $("#sprache option:selected").val(); + regelstudiendauer = $("#regelstudiendauer").val(); + semesterwochen = $("#semesterwochen").val(); + testtool_sprachwahl = $("#testtool_sprachwahl").prop("checked"); + aktiv = $("#aktiv").prop("checked"); + mystudienplan_id = $("#studienplan_id").val(); + + if(mystudienplan_id!='') + { + loaddata = { + "method": "loadStudienplan", + "parameter_0": mystudienplan_id + }; + } + else + loaddata={}; + + savedata = { + "bezeichnung": bezeichnung, + "version":version, + "orgform_kurzbz":orgform_kurzbz, + "sprache":sprache, + "regelstudiendauer":regelstudiendauer, + "semesterwochen":semesterwochen, + "testtool_sprachwahl":testtool_sprachwahl, + "aktiv":aktiv, + "studienordnung_id":studienordnung_id + }; + + + $.ajax( + { + dataType: "json", + url: "../../soap/fhcomplete.php", + type: "POST", + data: { + "typ": "json", + "class": "studienplan", + "method": "save", + "loaddata": JSON.stringify(loaddata), + "savedata": JSON.stringify(savedata), + }, + success: StudienplanSaved, + error: loadError + }); +} +function StudienplanSaved(data) +{ + if(data.error=='true') + { + alert('Fehler:'+data.errormsg); + } + else + { + loadStudienplanSTO(studienordnung_id,studienordnung_bezeichnung); + } +} +
Bezeichnung:
Semesterwochen:
Testtool Sprachwahl:
Aktiv: