From 03bb2b5165bc4f049b293ca09d7d0bccfc9de736 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 18 Feb 2011 13:01:25 +0000 Subject: [PATCH] --- skin/wawi.css | 6 +- vilesci/stammdaten/firma_detailwork.php | 1 - wawi/berechtigung.php | 213 ++++++++++++++++++++++++ wawi/rechnung.php | 29 ++-- wawi/wawi_autocomplete.php | 11 +- 5 files changed, 244 insertions(+), 16 deletions(-) create mode 100644 wawi/berechtigung.php diff --git a/skin/wawi.css b/skin/wawi.css index d109a5352..5689768e7 100644 --- a/skin/wawi.css +++ b/skin/wawi.css @@ -139,8 +139,8 @@ p.freigegeben color:green; } -.error +input[type="submit"],input[type="button"] { - -} + cursor: pointer; +} \ No newline at end of file diff --git a/vilesci/stammdaten/firma_detailwork.php b/vilesci/stammdaten/firma_detailwork.php index 160daeff2..d1f08dddf 100644 --- a/vilesci/stammdaten/firma_detailwork.php +++ b/vilesci/stammdaten/firma_detailwork.php @@ -591,7 +591,6 @@ function eingabeOrganisationseinheit($firma_id,$firma_organisationseinheit_id,$o $organisationseinheit_obj = new organisationseinheit(); $organisationseinheit_obj->getAll(); - $i=0; foreach ($firma->result as $row) { diff --git a/wawi/berechtigung.php b/wawi/berechtigung.php new file mode 100644 index 000000000..f984b8971 --- /dev/null +++ b/wawi/berechtigung.php @@ -0,0 +1,213 @@ +, + * Andreas Oesterreicher and + * Karl Burkhart . + */ + +require_once('../config/wawi.config.inc.php'); +require_once('auth.php'); +require_once('../include/wawi_kostenstelle.class.php'); +require_once('../include/benutzerberechtigung.class.php'); +require_once('../include/benutzer.class.php'); +?> + + + + WaWi Kostenstellen - Berechtigungen + + + + + + + + +getBerechtigungen($user); + +if(isset($_GET['kostenstelle_id'])) +{ + $kostenstelle_id = $_GET['kostenstelle_id']; + + if($rechte->isBerechtigt('wawi/rechnung',null, null, $kostenstelle_id) + || $rechte->isBerechtigt('wawi/bestellung',null, null, $kostenstelle_id) + || $rechte->isBerechtigt('wawi/freigabe',null, null, $kostenstelle_id)) + { + $kst = new wawi_kostenstelle(); + if(!$kst->load($kostenstelle_id)) + die('Fehler beim Laden der Kostenstelle'); + + echo '

Berechtigungen - Kostenstelle '.$kst->bezeichnung.'

'; + echo 'Zurück'; + $rechte->getKostenstelleUser($kostenstelle_id); + + $rights = array(); + + function getArt($art) + { + $value=array(); + if(mb_strstr($art,'s')) + $value['read']=true; + if(mb_strstr($art,'u')) + $value['write']=true; + if(mb_strstr($art,'i')) + $value['write']=true; + if(mb_strstr($art,'d')) + $value['delete']=true; + return $value; + } + + foreach($rechte->berechtigungen as $row) + { + + if(!isset($rights[$row->uid])) + { + $benutzer = new benutzer(); + $benutzer->load($row->uid); + + if($benutzer->bnaktiv==true && in_array($row->berechtigung_kurzbz, array('wawi/rechnung','wawi/bestellung','wawi/freigabe'))) + { + $rights[$row->uid]['vorname']=$benutzer->vorname; + $rights[$row->uid]['nachname']=$benutzer->nachname; + + } + else + continue; + } + switch($row->berechtigung_kurzbz) + { + case 'wawi/rechnung': $rights[$row->uid]['rechnung']=getArt($row->art); break; + case 'wawi/bestellung': $rights[$row->uid]['bestellung']=getArt($row->art); break; + case 'wawi/freigabe': $rights[$row->uid]['freigabe']=true; break; + default: break; + } + + } + echo ' + '; + echo ' + + + + + + + + + + + + + + + + + + + + + '; + foreach($rights as $user) + { + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + + echo '
NachnameVornameBestellungRechnungFreigabe
LesenSchreibenLöschenLesenSchreibenLöschen
'.$user['nachname'].''.$user['vorname'].''.(isset($user['bestellung']['read'])?'X':'').''.(isset($user['bestellung']['write'])?'X':'').''.(isset($user['bestellung']['delete'])?'X':'').''.(isset($user['rechnung']['read'])?'X':'').''.(isset($user['rechnung']['write'])?'X':'').''.(isset($user['rechnung']['delete'])?'X':'').''.(isset($user['freigabe'])?'X':'').'
'; + } + else + die('Sie haben keine Berechtigung!'); +} +else +{ + $kst_array = $rechte->getKostenstelle('wawi/bestellung'); + $kst_array = array_merge($kst_array, $rechte->getKostenstelle('wawi/rechnung')); + $kst_array = array_merge($kst_array, $rechte->getKostenstelle('wawi/bestellung')); + $kst_array = array_merge($kst_array, $rechte->getKostenstelle('wawi/freigabe')); + + $kst_array = array_unique($kst_array); + + echo '

Kostenstellen - Berechtigungen

'; + + if(count($kst_array)==0) + die('Sie benoetigen eine Kostenstellenberechtigung um diese Seite anzuzeigen'); + + $kst = new wawi_kostenstelle(); + $kst->loadArray($kst_array); + echo ' + '; + echo ' + + + + + + + + '; + foreach($kst->result as $row) + { + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + echo ' +
IDBezeichnungBerechtigung
',$row->kostenstelle_id,'',$row->bezeichnung,'User anzeigen
'; +} + +echo '





'; + +?> \ No newline at end of file diff --git a/wawi/rechnung.php b/wawi/rechnung.php index cdd1bb934..8c49f164a 100644 --- a/wawi/rechnung.php +++ b/wawi/rechnung.php @@ -52,18 +52,16 @@ if(isset($_POST['getBetragRow']) && isset($_POST['id'])) } } -?> - +?> WaWi Rechnung - - - - - + + + + @@ -84,7 +82,7 @@ if(isset($_POST['getBetragRow']) && isset($_POST['id'])) function formatItem(row) { - return row[0] + "
" + row[1]; + return row[0] + "
" + row[1]; } @@ -368,7 +366,7 @@ elseif($aktion == 'new') echo '

Rechnung Neu

'; echo '
'; - echo ''; + echo ''; echo 'Kostenstelle: '; - echo ''; + echo ''; echo '
'; } @@ -607,7 +605,10 @@ if($aktion=='update') @@ -688,7 +689,10 @@ if($aktion=='update') Buchungsdatum (tt.mm.JJJJ)


Transferdatum (tt.mm.JJJJ)
'; @@ -701,7 +705,10 @@ if($aktion=='update') echo ' '; } echo ' diff --git a/wawi/wawi_autocomplete.php b/wawi/wawi_autocomplete.php index 76888c3d1..2d4503717 100644 --- a/wawi/wawi_autocomplete.php +++ b/wawi/wawi_autocomplete.php @@ -32,6 +32,7 @@ require_once('../include/benutzerberechtigung.class.php'); require_once('../include/mitarbeiter.class.php'); require_once ('../include/firma.class.php'); + require_once('../include/standort.class.php'); require_once ('../include/tags.class.php'); if (!$uid = get_uid()) @@ -69,7 +70,15 @@ if (!$sFirma->getAll($firma_search)) exit($sFirma->errormsg."\n"); for ($i=0;$iresult);$i++) - echo html_entity_decode($sFirma->result[$i]->name).'|'.html_entity_decode($sFirma->result[$i]->firma_id)."\n"; + { + $standort = new standort(); + $standort->load_firma($sFirma->result[$i]->firma_id); + if(isset($standort->result[0])) + $kurzbz = $standort->result[0]->kurzbz; + else + $kurzbz = ''; + echo html_entity_decode($sFirma->result[$i]->name).($kurzbz!=''?' ('.$kurzbz.')':'').'|'.html_entity_decode($sFirma->result[$i]->firma_id)."\n"; + } break; // Bestellung Tags