diff --git a/include/berechtigung.class.php b/include/berechtigung.class.php
index e7be01283..9d9a8e79b 100644
--- a/include/berechtigung.class.php
+++ b/include/berechtigung.class.php
@@ -29,6 +29,10 @@ class berechtigung extends basis_db
public $rolle_kurzbz;
public $beschreibung;
public $berechtigung_kurzbz;
+ public $art;
+ public $anmerkung;
+ public $insertamum;
+ public $insertvon;
/**
* Konstruktor
@@ -78,8 +82,7 @@ class berechtigung extends basis_db
public function save($new=null)
{
if(is_null($new))
- $new = $this->new;
-
+
if($new)
{
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES(".
@@ -176,6 +179,9 @@ class berechtigung extends basis_db
$obj->rolle_kurzbz = $row->rolle_kurzbz;
$obj->art = $row->art;
$obj->beschreibung = $row->beschreibung;
+ $obj->anmerkung = $row->anmerkung;
+ $obj->insertamum = $row->insertamum;
+ $obj->insertvon = $row->insertvon;
$this->result[] = $obj;
}
@@ -276,15 +282,22 @@ class berechtigung extends basis_db
if($this->db_num_rows()>0)
{
//Update
- $qry = "UPDATE system.tbl_rolleberechtigung SET art=".$this->db_add_param($this->art)." WHERE rolle_kurzbz=".$this->db_add_param($this->rolle_kurzbz)." AND berechtigung_kurzbz=".$this->db_add_param($this->berechtigung_kurzbz).";";
+ $qry = "UPDATE system.tbl_rolleberechtigung SET art=".$this->db_add_param($this->art).",
+ anmerkung=".$this->db_add_param($this->anmerkung).",
+ insertamum=".$this->db_add_param($this->insertamum).",
+ insertvon=".$this->db_add_param($this->insertvon)."
+ WHERE rolle_kurzbz=".$this->db_add_param($this->rolle_kurzbz)." AND berechtigung_kurzbz=".$this->db_add_param($this->berechtigung_kurzbz).";";
}
else
{
//Insert
- $qry = "INSERT INTO system.tbl_rolleberechtigung (rolle_kurzbz, berechtigung_kurzbz, art) VALUES(".
+ $qry = "INSERT INTO system.tbl_rolleberechtigung (rolle_kurzbz, berechtigung_kurzbz, art, anmerkung, insertamum, insertvon) VALUES(".
$this->db_add_param($this->rolle_kurzbz).",".
$this->db_add_param($this->berechtigung_kurzbz).",".
- $this->db_add_param($this->art).");";
+ $this->db_add_param($this->art).",".
+ $this->db_add_param($this->anmerkung).",".
+ $this->db_add_param($this->insertamum).",".
+ $this->db_add_param($this->insertvon).");";
}
if($this->db_query($qry))
diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php
index 9fda09bba..ed60aeddf 100644
--- a/system/dbupdate_3.4.php
+++ b/system/dbupdate_3.4.php
@@ -39,6 +39,7 @@ require_once('dbupdate_3.4/27107_vilesci_erfassung_abwesenheiten_reinigung.php')
require_once('dbupdate_3.4/24913_tabelle_raumtyp_neues_attribut_aktiv.php');
require_once('dbupdate_3.4/28089_plausichecks_in_extension_hinzufuegen.php');
require_once('dbupdate_3.4/29133_einzelne_studiengaenge_aus_issuechecks_ausnehmen.php');
+require_once('dbupdate_3.4/30537_anmerkung_in_tbl_rolleberechtigung.php');
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '
Pruefe Tabellen und Attribute!
';
@@ -326,7 +327,7 @@ $tabellen=array(
"system.tbl_phrase" => array("phrase_id","app","phrase","insertamum","insertvon","category"),
"system.tbl_phrasentext" => array("phrasentext_id","phrase_id","sprache","orgeinheit_kurzbz","orgform_kurzbz","text","description","insertamum","insertvon"),
"system.tbl_rolle" => array("rolle_kurzbz","beschreibung"),
- "system.tbl_rolleberechtigung" => array("berechtigung_kurzbz","rolle_kurzbz","art"),
+ "system.tbl_rolleberechtigung" => array("berechtigung_kurzbz","rolle_kurzbz","art","anmerkung","insertamum","insertvon"),
"system.tbl_verarbeitungstaetigkeit" => array("taetigkeit_kurzbz", "bezeichnung", "bezeichnung_mehrsprachig","aktiv"),
"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","klasse"),
diff --git a/system/dbupdate_3.4/30537_anmerkung_in_tbl_rolleberechtigung.php b/system/dbupdate_3.4/30537_anmerkung_in_tbl_rolleberechtigung.php
new file mode 100644
index 000000000..0d7b43b8f
--- /dev/null
+++ b/system/dbupdate_3.4/30537_anmerkung_in_tbl_rolleberechtigung.php
@@ -0,0 +1,15 @@
+db_query("SELECT anmerkung FROM system.tbl_rolleberechtigung LIMIT 1"))
+{
+ $qry = "ALTER TABLE system.tbl_rolleberechtigung ADD COLUMN anmerkung varchar(256);
+ ALTER TABLE system.tbl_rolleberechtigung ADD COLUMN insertamum timestamp DEFAULT now();
+ ALTER TABLE system.tbl_rolleberechtigung ADD COLUMN insertvon varchar(32);";
+
+ if(!$db->db_query($qry))
+ echo 'system.tbl_rolleberechtigung '.$db->db_last_error().'
';
+ else
+ echo '
Spalten anmerkung, insertamum, insertvon in system.tbl_rolleberechtigung hinzugefügt';
+}
diff --git a/vilesci/stammdaten/berechtigungrolle.php b/vilesci/stammdaten/berechtigungrolle.php
index 82430d64e..7e87a4901 100644
--- a/vilesci/stammdaten/berechtigungrolle.php
+++ b/vilesci/stammdaten/berechtigungrolle.php
@@ -1,239 +1,3 @@
-
- * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
- * Rudolf Hangl < rudolf.hangl@technikum-wien.at >
- * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
- */
-require_once('../../config/vilesci.config.inc.php');
-require_once('../../include/functions.inc.php');
-require_once('../../include/berechtigung.class.php');
-require_once('../../include/benutzerberechtigung.class.php');
-
-$user = get_uid();
-
-$rechte = new benutzerberechtigung();
-$rechte->getBerechtigungen($user);
-
-if(!$rechte->isBerechtigt('basis/berechtigung'))
- die($rechte->errormsg);
-
-$berechtigung_kurzbz = filter_input(INPUT_POST, 'berechtigung_kurzbz');
-$beschreibung = filter_input(INPUT_POST, 'beschreibung');
-$kurzbz = filter_input(INPUT_GET, 'kurzbz');
-$kurzbzPost = filter_input(INPUT_POST, 'kurzbz_post');
-$edit = filter_input(INPUT_GET, 'edit');
-$save = filter_input(INPUT_POST, 'save');
-$delete = filter_input(INPUT_GET, 'delete');
-$saveNew = filter_input(INPUT_POST, 'saveNew');
-
-//$delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
-?>
-
-
- Rechte
-
-
-
-
-
-
-
-
-
-
- Rollenübersicht
-
- berechtigung_kurzbz = $kurzbzPost;
- $berechtigung->beschreibung = $beschreibung;
- $berechtigung->new = true;
-
- if($berechtigung->save())
- {
- echo 'Recht '.$kurzbzPost.' wurde angelegt
';
- }
- else
- {
- echo 'Fehler beim Speichern:'.$berechtigung->errormsg.'
';
- }
- }
- else
- {
- echo 'Zum Speichern der Daten muss die Kurzbz und die Beschreibung angegeben werden
';
- }
- }
-
- if(isset($delete) && isset($kurzbz))
- {
- $berechtigung = new berechtigung();
- if($berechtigung->delete($kurzbz))
- echo 'Das Recht "'.$kurzbz.'" wurde erfolgreich gelöscht
';
- else
- echo 'Fehler beim Löschen des Rechts:'.$berechtigung->errormsg.'
';
- }
-
- if(isset($save))
- {
- $berechtigung = new berechtigung();
- $berechtigung->load($berechtigung_kurzbz);
- $berechtigung->beschreibung = $beschreibung;
- if (!$berechtigung->save(false))
- echo 'Fehler beim Speichern:'.$berechtigung->errormsg.'
';
- }
-
- //Tabelle mit Rollen anzeigen
- $berechtigung = new berechtigung();
- $berechtigung->getBerechtigungen();
-
- echo '';
- echo '
-
-
-
- | Kurzbz |
- Beschreibung |
- Aktion |
-
-
- ';
-
- foreach($berechtigung->result as $recht)
- {
- if($edit && $recht->berechtigung_kurzbz == $kurzbz)
- {
- echo '
-
- |
- '.$recht->berechtigung_kurzbz.'
- |
-
- |
-
';
- }
- else
- {
- echo '
-
- | '.$recht->berechtigung_kurzbz.' |
- '.$recht->beschreibung.' |
-
-
- Bearbeiten
-
- |
-
-
- Recht löschen
-
- |
-
';
- }
- }
- echo '
-
-
-
-
';
-
- echo '
-
-
-';
- ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
isBerechtigt('basis/berechtigung'))
$rolle_kurzbz = filter_input(INPUT_GET, 'rolle_kurzbz');
$delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
+$copy = filter_input(INPUT_POST, 'copy');
+$vergleich = filter_input(INPUT_GET, 'vergleich');
?>
- Berechtigungen Uebersicht
+ Rollen Uebersicht
@@ -290,15 +56,37 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
$("#t1").tablesorter(
{
sortList: [[0,0]],
- widgets: ["zebra"],
- headers: {3:{sorter:false}}
+ widgets: ["zebra", "filter", "stickyHeaders"],
+ headers: {3:{filter:false, sorter:false}},
+ widgetOptions : {filter_saveFilters : true}
});
$("#t2").tablesorter(
{
sortList: [[0,0]],
- widgets: ["zebra"],
- headers: {2:{sorter:false}}
+ widgets: ["zebra", "filter", "stickyHeaders"],
+ headers: {2:{filter:false, sorter:false}},
+ widgetOptions : {filter_saveFilters : true}
+ });
+ $("#t3").tablesorter(
+ {
+ sortList: [],
+ widgets: ["zebra"]
+ });
+ $("#t4").tablesorter(
+ {
+ sortList: [],
+ widgets: ["zebra"]
+ });
+ $('.resetsaved').click(function()
+ {
+ $(".tablesorter").trigger("filterReset");
+ window.location("");
+ return false;
+ });
+ $("textarea").keyup(function()
+ {
+ $(this).siblings("span").text((256 - $(this).val().length));
});
// Breite des Autocompletes korrigieren um das Springen zu verhindern
@@ -329,16 +117,15 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
$(this).val(ui.item.berechtigung_kurzbz);
}
});
- });
- function confdel()
- {
- var value=prompt('Achtung! Sie sind dabei eine Rolle zu löschen. Die Zuordnungen gehen dadurch verloren! Um diese Rolle wirklich zu Löschen tippen Sie "LÖSCHEN" in das untenstehende Feld.');
- if(value=='LÖSCHEN')
- return true;
- else
- return false;
- }
+ $(".copyButton").click(function(event)
+ {
+ event.preventDefault();
+ $(this).siblings().show();
+ $(this).hide();
+ });
+ });
+
function validateNewData()
{
if($('#berechtigung_neu_autocomplete').val() == '')
@@ -374,14 +161,16 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
- Berechtigung - Rolle -
+
Berechtigungen der Rolle "'.$rolle_kurzbz.'"';
$berechtigung_kurzbz = filter_input(INPUT_GET, 'berechtigung_kurzbz');
$art = filter_input(INPUT_GET, 'art');
$save = filter_input(INPUT_GET, 'save');
+ $anmerkung = filter_input(INPUT_GET, 'anmerkung');
if(isset($save))
{
@@ -391,10 +180,17 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
$berechtigung->rolle_kurzbz = $rolle_kurzbz;
$berechtigung->berechtigung_kurzbz = $berechtigung_kurzbz;
$berechtigung->art = $art;
+ $berechtigung->anmerkung = $anmerkung;
+ $berechtigung->insertamum = date('Y-m-d H:i:s');
+ $berechtigung->insertvon = $user;
if($berechtigung->saveRolleBerechtigung()): ?>
Zuteilung gespeichert
-
+
Fehler beim Speichern der Zuteilung: errormsg ?>
- Zurück zur Rollenübersicht
+ Zurück zur Rollen Übersicht
getBerechtigungen();
?>
-
+
| Kurzbz |
Art |
Beschreibung |
- |
+ Anmerkung |
+ |
@@ -460,9 +262,15 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
berechtigung_kurzbz ?> |
art ?> |
beschreibung ?> |
+ anmerkung ?> |
-
- entfernen
+
+ Bearbeiten
+
+ |
+
+
+ Recht entfernen
|
@@ -471,8 +279,166 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
Rollen vergleichen';
+ $rolle1 = filter_input(INPUT_GET, 'rolle_kurzbz1');
+ $rolle2 = filter_input(INPUT_GET, 'rolle_kurzbz2');
+ ?>
+
+
+ Zurück zur Rollen Übersicht
+
+
+
+ getRolleBerechtigung($rolle1);
+ foreach ($rollen->result AS $recht)
+ {
+ $rollen1Arr[$recht->berechtigung_kurzbz] = $recht->art;
+ }
+ $rollen = new berechtigung();
+ $rollen->getRolleBerechtigung($rolle2);
+ foreach ($rollen->result AS $recht)
+ {
+ $rollen2Arr[$recht->berechtigung_kurzbz] = $recht->art;
+ }
+ $rollenGesamt = array_merge($rollen1Arr,$rollen2Arr);
+ ksort($rollenGesamt);
+
+ echo ' ';
+ }
else
{
+ echo 'Rollen Übersicht
';
$save = filter_input(INPUT_POST, 'save');
$edit = filter_input(INPUT_POST, 'edit');
@@ -509,11 +475,56 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
{
$berechtigung = new berechtigung();
if($berechtigung->deleteRolle($kurzbz))
- echo 'Rolle wurde entfernt';
+ echo 'Die Rolle '.$kurzbz.' wurde erfolgreich gelöscht';
else
echo 'Fehler beim Löschen:'.$berechtigung->errormsg;
}
+ if(isset($copy))
+ {
+ $kurzbz = filter_input(INPUT_POST, 'kurzbz');
+ $copyName = filter_input(INPUT_POST, 'copy_name');
+ $beschreibung = filter_input(INPUT_POST, 'beschreibung');
+
+ if(isset($kurzbz))
+ {
+ $berechtigung = new berechtigung();
+ $berechtigung->rolle_kurzbz = $copyName;
+ $berechtigung->beschreibung = $beschreibung;
+ $berechtigung->new = true;
+
+ if($berechtigung->saveRolle())
+ {
+ $rollenrechte = new berechtigung();
+ $rollenrechte->getRolleBerechtigung($kurzbz);
+ foreach($rollenrechte->result as $rollenrecht)
+ {
+ $newRolleRecht = new berechtigung();
+ $newRolleRecht->rolle_kurzbz = $copyName;
+ $newRolleRecht->berechtigung_kurzbz = $rollenrecht->berechtigung_kurzbz;
+ $newRolleRecht->art = $rollenrecht->art;
+ $newRolleRecht->anmerkung = $rollenrecht->anmerkung;
+ $newRolleRecht->insertamum = date('Y-m-d H:i:s');
+ $newRolleRecht->insertvon = $user;
+ if(!$newRolleRecht->saveRolleBerechtigung())
+ {
+ echo 'Fehler beim Speichern des Rechts '.$rollenrecht->berechtigung_kurzbz.' zur Rolle '.$rollenrecht->rolle_kurzbz;
+ break;
+ }
+ }
+ echo 'Rolle erfolgreich kopiert';
+ }
+ else
+ {
+ echo 'Fehler beim kopieren der Rolle '.$kurzbz.':'.$berechtigung->errormsg;
+ }
+ }
+ else
+ {
+ echo 'Zum Speichern der Daten muss die kurzbz und die Beschreibung angegeben werden';
+ }
+ }
+
if(isset($edit))
{
$beschreibung = filter_input(INPUT_POST, 'beschreibung');
@@ -528,13 +539,18 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
$berechtigung = new berechtigung();
$berechtigung->getRollen(); ?>
- Rollen:
+
+
+ Rollen vergleichen
+
+
+
| Kurzbz |
Beschreibung |
- Aktion |
+ Aktion |
@@ -561,7 +577,18 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
-
+
+
+ Rolle kopieren
+
+ |
+
+
Rolle löschen
|
@@ -577,6 +604,7 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);
Neue Rolle anlegen
@@ -584,6 +612,7 @@ $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN);