Neu anlegen eines Studienplanes, Neues Attribut klasse in Tabelle Webservicerecht hinzugefügt

This commit is contained in:
Andreas Österreicher
2013-11-11 12:35:39 +00:00
parent 8e94e24a97
commit 2c37d6afe4
5 changed files with 110 additions and 20 deletions
+16 -12
View File
@@ -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; $i<sizeof($attributArray); $i++)
{
@@ -124,4 +129,3 @@ class webservicerecht extends basis_db
return $helpObject;
}
}
class foobar{};
+1 -2
View File
@@ -52,9 +52,8 @@ require_once('../include/'.$class.'.class.php');
// Berechtigung pruefen
$uid = get_uid();
// TODO Klasse pruefen und nicht nur die Methode
$wsrecht = new webservicerecht();
if(!$wsrecht->isUserAuthorized($uid, $method))
if(!$wsrecht->isUserAuthorized($uid, $method, $class))
die('Sie haben keine Berechtigung fuer diesen Vorgang');
// Funktion aufrufen
+12 -1
View File
@@ -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 '<strong>system.tbl_webservicerecht: '.$db->db_last_error().'</strong><br>';
else
echo 'system.tbl_webservicerecht: Spalte klasse hinzugefügt';
}
echo '<br>';
$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"),
+13
View File
@@ -138,6 +138,7 @@ switch($method)
die('Studiengang ist ungültig');
echo '
<input type="hidden" id="studienplan_id" />
<table>
<tr>
<td>Bezeichnung:</td>
@@ -176,6 +177,18 @@ switch($method)
}
echo '
</select></td>
<tr>
<td>Semesterwochen:</td>
<td><input type="text" id="semesterwochen" maxlength="2" size="2" value="15"/></td>
</tr>
<tr>
<td>Testtool Sprachwahl:</td>
<td><input type="checkbox" id="testtool_sprachwahl" checked="checked"/></td>
</tr>
<tr>
<td>Aktiv:</td>
<td><input type="checkbox" id="aktiv" checked="checked"/></td>
</tr>
<tr>
<td></td>
<td><input type="button" value="Anlegen" onclick="saveStudienplan()" /></td>
+68 -5
View File
@@ -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);
}
}