From d90ea5406a801fdf679c0cc82e301008d4e76e2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 13 Jan 2011 15:24:23 +0000 Subject: [PATCH] =?UTF-8?q?-=20Berechtigungen=20Filter=20f=C3=BCr=20WaWi?= =?UTF-8?q?=20berechtigungen=20-=20Suche=20nach=20Betr=C3=A4gen=20bei=20Re?= =?UTF-8?q?chnungen=20-=20Diverse=20DB=20Indizes=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/tw/vilesci_menu_main.inc.php | 4 +- include/wawi_rechnung.class.php | 8 +- system/FH-Complete.txp | 194 +++++++++++++++--- system/checksystem.php | 3 + .../benutzerberechtigung_details.php | 25 ++- .../benutzerberechtigung_frameset.html | 2 +- .../benutzerberechtigung_uebersicht.php | 4 +- wawi/rechnung.php | 15 +- 8 files changed, 215 insertions(+), 40 deletions(-) diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index 2664ae3f8..2d9afc643 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -106,7 +106,9 @@ $menu=array 'Benutzer'=>array ( 'name'=>'Benutzer','permissions'=>array('admin','lv-plan','support'), - 'Funktionen'=>array('name'=>'Funktionen', 'link'=>'personen/funktion.php', 'target'=>'main') + 'Funktionen'=>array('name'=>'Funktionen', 'link'=>'personen/funktion.php', 'target'=>'main'), + 'Berechtigungen'=>array('name'=>'Berechtigungen', 'link'=>'stammdaten/benutzerberechtigung_frameset.html', 'target'=>'main','permissions'=>array('basis/berechtigung')), + 'Variablen'=>array('name'=>'Variablen', 'link'=>'stammdaten/variablen_frameset.html', 'target'=>'main', 'target'=>'main','permissions'=>array('basis/variable')), ), 'Mitarbeiter'=>array ( diff --git a/include/wawi_rechnung.class.php b/include/wawi_rechnung.class.php index 008253ccd..7a5f443cf 100644 --- a/include/wawi_rechnung.class.php +++ b/include/wawi_rechnung.class.php @@ -124,8 +124,9 @@ class wawi_rechnung extends basis_db * @param $oe_kurzbz * @param $konto_id * @param $kostenstelle_id + * @param $betrag */ - public function getAllSearch($rechnungsnr, $rechnungsdatum_von, $rechnungsdatum_bis, $buchungsdatum_von, $buchungsdatum_bis, $erstelldatum_von, $erstelldatum_bis, $bestelldatum_von, $bestelldatum_bis, $bestellnummer, $firma_id, $oe_kurzbz, $konto_id, $kostenstelle_id) + public function getAllSearch($rechnungsnr, $rechnungsdatum_von, $rechnungsdatum_bis, $buchungsdatum_von, $buchungsdatum_bis, $erstelldatum_von, $erstelldatum_bis, $bestelldatum_von, $bestelldatum_bis, $bestellnummer, $firma_id, $oe_kurzbz, $konto_id, $kostenstelle_id, $betrag) { $first = true; $qry = " @@ -180,7 +181,12 @@ class wawi_rechnung extends basis_db if ($bestellnummer != '') $qry.= ' AND tbl_bestellung.bestell_nr = '.$this->addslashes($bestellnummer); + if ($betrag != '') + $qry.= ' AND (\''.$betrag.'\' = (SELECT sum(betrag) FROM wawi.tbl_rechnungsbetrag WHERE rechnung_id=tbl_rechnung.rechnung_id) + OR \''.$betrag.'\' = (SELECT sum((betrag*(mwst+100)/100)) FROM wawi.tbl_rechnungsbetrag WHERE rechnung_id=tbl_rechnung.rechnung_id))'; + $qry.=" LIMIT 1000"; + if(!$this->db_query($qry)) { $this->errormsg = "Fehler bei der Datenbankabfrage."; diff --git a/system/FH-Complete.txp b/system/FH-Complete.txp index 95f0b6bc7..3ce2d8e46 100644 --- a/system/FH-Complete.txp +++ b/system/FH-Complete.txp @@ -37007,7 +37007,7 @@ 4217 0 919 - 629 + 668 0 1 1 @@ -37046,7 +37046,7 @@ 4246 0 800 - 239 + 278 0 1 1 @@ -37196,7 +37196,7 @@ 3100 0 1003 - 434 + 473 0 1 1 @@ -38325,8 +38325,8 @@ {DB59DF18-64A7-4185-8765-7238517341C0} - 3924 - 2126 + 4093 + 1954 3863 @@ -38337,12 +38337,12 @@ 1699 - 4186 - 2674 + 4523 + 2329 - 4217 - 2674 + 4523 + 2360 @@ -38369,15 +38369,15 @@ {239C6766-B0BC-4E1F-9833-C49206AF8D54} 4561 - 2982 + 3002 4676 - 2989 + 3028 4676 - 3020 + 3059 4646 @@ -38627,7 +38627,7 @@ {D8AD2B3F-B9E4-412E-992F-3B4D116FDEE1} 3556 - 2143 + 2163 3710 @@ -38639,11 +38639,11 @@ 3602 - 2180 + 2219 3602 - 2149 + 2188 @@ -38713,7 +38713,7 @@ {D8AD2B3F-B9E4-412E-992F-3B4D116FDEE1} 2556 - 2075 + 2085 2213 @@ -38725,11 +38725,11 @@ 3069 - 1932 + 1952 3100 - 1932 + 1952 @@ -38927,7 +38927,7 @@ {DB59DF18-64A7-4185-8765-7238517341C0} - 4575 + 4652 2274 @@ -38939,11 +38939,11 @@ 2338 - 4676 + 4830 2329 - 4676 + 4830 2360 @@ -39470,7 +39470,7 @@ Technikum Wien 2.0 2009-04-17T10:15:21.000+01:00 - 2011-01-13T14:53:41.009+01:00 + 2011-01-13T16:17:12.811+01:00 FH-Complete 2.0 @@ -120767,7 +120767,9 @@ Wenn FALSE haengt die Anzahl der Fragen pro Level von der Gesamtzahl pro Level a {361EF147-269D-4247-8F7C-5A3876A3999A} - + + {B0F1339C-4114-49D4-B1E0-A8AB7F440B73} + @@ -121399,7 +121401,51 @@ Wenn FALSE haengt die Anzahl der Fragen pro Level von der Gesamtzahl pro Level a {DD9F6AF0-89BF-4661-A8D3-25CE08CAF4C6} - + + + {1BCA1CDB-2819-471E-88A5-FFFF08906598} + idx_rechnung_bestellung_id + 0 + {93108A24-2EFC-45CB-BCC7-49C4395976D1} + 0 + 0 + 0 + 0 + 1 + + + + + 0 + idx_rechnung_bestellung_id + + 0 + + + {B0F1339C-4114-49D4-B1E0-A8AB7F440B73} + bestellung_id + 0 + {EA299E46-F894-477F-9CEB-A09B5430D8C4} + 0 + 1 + + + + + 0 + + {5E44A366-2737-4674-8302-5F8A794AD729} + + + + + + btree + + + + + @@ -121519,7 +121565,9 @@ Wenn FALSE haengt die Anzahl der Fragen pro Level von der Gesamtzahl pro Level a {361EF147-269D-4247-8F7C-5A3876A3999A} - + + {56563C11-4C9F-4423-BB9D-F4E7F7C551FB} + @@ -121735,7 +121783,51 @@ Wenn FALSE haengt die Anzahl der Fragen pro Level von der Gesamtzahl pro Level a {CD5E4018-85B1-4061-BADD-67493B8CE8E4} - + + + {06AD72FE-5391-49B3-9D9E-92F82AA66D2D} + idx_rechnungsbetrag_rechnung_id + 0 + {5BA2E7AF-9319-40F2-AC7F-BB073D253E67} + 0 + 0 + 0 + 0 + 1 + + + + + 0 + idx_rechnungsbetrag_rechnung_id + + 0 + + + {56563C11-4C9F-4423-BB9D-F4E7F7C551FB} + rechung_id + 0 + {3BD3099D-A38C-480F-8D2D-92F3388DD263} + 0 + 1 + + + + + 0 + + {146C883E-4FAF-4E82-BC7B-A60B7023AD1A} + + + + + + btree + + + + + @@ -123045,7 +123137,9 @@ Wenn FALSE haengt die Anzahl der Fragen pro Level von der Gesamtzahl pro Level a {361EF147-269D-4247-8F7C-5A3876A3999A} - + + {D71D59EB-1A82-4C67-ACBC-B94A5392E410} + @@ -123472,7 +123566,51 @@ Wenn FALSE haengt die Anzahl der Fragen pro Level von der Gesamtzahl pro Level a {D01B7DC4-282E-4510-9E9E-531CA4209D11} - + + + {87E3C0E1-8865-43A0-86CF-FC149A09B883} + idx_bestellung_bestellstatus_bestellung_id + 0 + {0314237B-BE68-415D-BF31-674D7B9C3C58} + 0 + 0 + 0 + 0 + 1 + + + + + 0 + idx_bestellung_bestellstatus_bestellung_id + + 0 + + + {D71D59EB-1A82-4C67-ACBC-B94A5392E410} + bestellung_id + 0 + {2589FAF8-6D30-4B3F-92B5-7971A290A047} + 0 + 1 + + + + + 0 + + {E23734E4-2CFD-48F7-9031-C62103022DF8} + + + + + + btree + + + + + diff --git a/system/checksystem.php b/system/checksystem.php index 84ccbed3a..a8e6ccf9d 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -1603,6 +1603,9 @@ if(!@$db->db_query('SELECT * FROM wawi.tbl_konto LIMIT 1')) CREATE INDEX idx_bestelldetail_bestellung_id ON wawi.tbl_bestelldetail (bestellung_id); CREATE INDEX idx_bestellung_kostenstelle_id ON wawi.tbl_bestellung (kostenstelle_id); CREATE INDEX idx_bestellung_freigegeben ON wawi.tbl_bestellung (freigegeben); + CREATE INDEX idx_rechnungsbetrag_rechnung_id ON wawi.tbl_rechnungsbetrag (rechnung_id); + CREATE INDEX idx_rechnung_bestellung_id ON tbl_rechnung (bestellung_id) + CREATE INDEX idx_bestellung_bestellstatus_bestellung_id ON tbl_bestellung_bestellstatus (bestellung_id) INSERT INTO wawi.tbl_rechnungstyp(rechnungstyp_kurzbz, beschreibung) VALUES('Zahlung','Zahlung'); INSERT INTO wawi.tbl_rechnungstyp(rechnungstyp_kurzbz, beschreibung) VALUES('Gutschrift','Gutschrift'); diff --git a/vilesci/stammdaten/benutzerberechtigung_details.php b/vilesci/stammdaten/benutzerberechtigung_details.php index caee45521..6c38f9985 100644 --- a/vilesci/stammdaten/benutzerberechtigung_details.php +++ b/vilesci/stammdaten/benutzerberechtigung_details.php @@ -65,6 +65,7 @@ $start = ''; $ende = ''; $neu = false; $negativ = false; +$filter=(isset($_GET['filter'])?$_GET['filter']:'alle'); if(isset($_POST['del'])) { @@ -203,7 +204,14 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz'])) $rights->loadBenutzerRollen(null, $funktion_kurzbz); } - $htmlstr .= "
Berechtigungen ".$uid.$funktion_kurzbz."
\n"; + + $htmlstr .= "Berechtigungen ".$uid.$funktion_kurzbz."\n"; + $htmlstr .= '      Filter: + Alle + | nur WaWi + | ohne WaWi + + '; $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= " @@ -222,7 +230,20 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz'])) \n"; foreach($rights->berechtigungen as $b) { - $htmlstr .= "\n"; + switch($filter) + { + case 'alle'; break; + case 'wawi'; + if(!mb_strstr($b->berechtigung_kurzbz,'wawi')) + continue 2; + break; + case 'ohnewawi'; + if(mb_strstr($b->berechtigung_kurzbz,'wawi')) + continue 2; + break; + default: break; + } + $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= "\n"; diff --git a/vilesci/stammdaten/benutzerberechtigung_frameset.html b/vilesci/stammdaten/benutzerberechtigung_frameset.html index 4f2b0095b..f7246e9fc 100644 --- a/vilesci/stammdaten/benutzerberechtigung_frameset.html +++ b/vilesci/stammdaten/benutzerberechtigung_frameset.html @@ -7,7 +7,7 @@ - + diff --git a/vilesci/stammdaten/benutzerberechtigung_uebersicht.php b/vilesci/stammdaten/benutzerberechtigung_uebersicht.php index ede8e5ab3..0ee35919c 100644 --- a/vilesci/stammdaten/benutzerberechtigung_uebersicht.php +++ b/vilesci/stammdaten/benutzerberechtigung_uebersicht.php @@ -45,7 +45,7 @@ function confdel() </head> -<body class="background_main"> +<body class="background_main" onload="document.getElementById(\'searchbox\').focus()"> <h2>Benutzerberechtigungen &Uuml;bersicht</h2>'; if (!$db = new basis_db()) @@ -73,7 +73,7 @@ $htmlstr=' <td> <form accept-charset="UTF-8" name="search" method="GET"> Bitte Suchbegriff eingeben: - <input type="text" name="searchstr" size="30" value="'.$searchstr.'"> + <input type="text" id="searchbox" name="searchstr" size="30" value="'.$searchstr.'"> <input type="submit" value="Suchen"> </form> </td> diff --git a/wawi/rechnung.php b/wawi/rechnung.php index 7fc5ea83d..b1b34775c 100644 --- a/wawi/rechnung.php +++ b/wawi/rechnung.php @@ -176,6 +176,10 @@ if($aktion == 'suche') echo "<td>von <input type='text' id='buchungsdatum_von' size='12' name='buchungsdatum_von'> bis <input type='text' id='buchungsdatum_bis' size='12' name='buchungsdatum_bis'></td>\n"; echo "</tr>\n"; echo "<tr>\n"; + echo "<tr>\n"; + echo "<td>Betrag</td>\n"; + echo "<td><input type='text' size='6' maxlength='16' name='filter_betrag'></td>\n"; + echo "</tr>\n"; echo "<td><b>Bestelldaten</b></td>\n"; echo "</tr>\n"; echo "<tr>\n"; @@ -191,7 +195,7 @@ if($aktion == 'suche') echo "<td>von <input type='text' id='bestelldatum_von' size='12' name='bestelldatum_von'> bis <input type='text' id='bestelldatum_bis' size='12' name='bestelldatum_bis'></td>\n"; echo "</tr>\n"; echo "<tr>\n"; - echo "<td> Organisationseinheit: </td>\n"; + echo "<td> Organisationseinheit </td>\n"; echo "<td><SELECT name='filter_oe_kurzbz' onchange='loadFirma(this.value)'>\n"; echo "<option value=''>-- auswählen --</option>\n"; foreach ($oe->result as $oei) @@ -209,14 +213,14 @@ if($aktion == 'suche') echo "</td>\n"; echo "</tr>\n"; echo "<tr>\n"; - echo "<td> Firma: </td>\n"; + echo "<td> Firma </td>\n"; echo "<td> <input id='firmenname' name='firmenname' size='32' maxlength='30' value=''>\n"; echo "</td>\n"; echo "<td> <input type ='hidden' id='firma_id' name='firma_id' size='10' maxlength='30' value='' >\n"; echo "</td>\n"; echo "</tr>\n"; echo "<tr>\n"; - echo "<td> Kostenstelle: </td>\n"; + echo "<td> Kostenstelle </td>\n"; echo "<td><SELECT name='filter_kostenstelle'>\n"; echo "<option value=''>-- auswählen --</option>\n"; foreach($kostenstelle->result as $kst) @@ -228,7 +232,7 @@ if($aktion == 'suche') echo "</td>\n"; echo "</tr>\n"; echo "<tr>\n"; - echo "<td> Konto: </td>\n"; + echo "<td> Konto </td>\n"; echo "<td><SELECT name='filter_konto' id='searchKonto' style='width: 230px;'>\n"; echo "<option value=''>-- auswählen --</option>\n"; foreach($konto->result as $ko) @@ -261,6 +265,7 @@ if($aktion == 'suche') $oe_kurzbz = $_POST['filter_oe_kurzbz']; $filter_konto = $_POST['filter_konto']; $filter_kostenstelle = $_POST['filter_kostenstelle']; + $filter_betrag = mb_str_replace(',','.',$_POST['filter_betrag']); $rechnung = new wawi_rechnung(); @@ -287,7 +292,7 @@ if($aktion == 'suche') && $bestelldatum_von!==false && $bestelldatum_bis!==false ) { - if($rechnung->getAllSearch($rechnungsnr, $rechnungsdatum_von, $rechnungsdatum_bis, $buchungsdatum_von, $buchungsdatum_bis, $erstelldatum_von, $erstelldatum_bis, $bestelldatum_von, $bestelldatum_bis, $bestellnummer, $firma_id, $oe_kurzbz, $filter_konto, $filter_kostenstelle)) + if($rechnung->getAllSearch($rechnungsnr, $rechnungsdatum_von, $rechnungsdatum_bis, $buchungsdatum_von, $buchungsdatum_bis, $erstelldatum_von, $erstelldatum_bis, $bestelldatum_von, $bestelldatum_bis, $bestellnummer, $firma_id, $oe_kurzbz, $filter_konto, $filter_kostenstelle, $filter_betrag)) { $date = new datum();