diff --git a/wawi/bestellung.php b/wawi/bestellung.php index e39c664f1..fbae50232 100644 --- a/wawi/bestellung.php +++ b/wawi/bestellung.php @@ -1042,16 +1042,19 @@ if($_GET['method']=='update') // wer ist freigabeberechtigt auf kostenstelle $rechte_fg = new benutzerberechtigung(); $uids = $rechte_fg->getFreigabeBenutzer($bestellung_new->kostenstelle_id, null); - $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new); + if(empty($uids)) + $ausgabemsg .='Es ist niemand zur Freigabe der Kostenstelle berechtigt.
'; + else + $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new); } } } - // kostenstelle gibt frei + // Kostenstelle hat freigegeben if(isset($_POST['btn_freigabe']) ) { if(!isset($_POST['freigabe_oe'])) { - // Kostenstelle gibt frei + // wenn status Storno vorhanden, soll nicht mehr freigegeben werden. if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno')) { @@ -1090,7 +1093,10 @@ if($_GET['method']=='update') { $rechte_fg = new benutzerberechtigung(); $uids = $rechte_fg->getFreigabeBenutzer(null, $o); - $freigabe = true; + if(empty($uids)) + $ausgabemsg .='Es ist niemand zur Freigabe der Kostenstelle berechtigt.
'; + else + $freigabe = true; break; } } @@ -1113,7 +1119,7 @@ if($_GET['method']=='update') } else { - // OE gibt frei + // OE hat freigegeben // wenn status Storno vorhanden, soll nicht mehr freigegeben werden. if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno')) { @@ -1152,7 +1158,10 @@ if($_GET['method']=='update') { $rechte_fg = new benutzerberechtigung(); $uids = $rechte_fg->getFreigabeBenutzer(null, $o); - $freigabe = true; + if(empty($uids)) + $ausgabemsg .='Es ist niemand zur Freigabe der Kostenstelle berechtigt.
'; + else + $freigabe = true; break; } } @@ -1175,6 +1184,54 @@ if($_GET['method']=='update') } } } + + // es soll die freigabenachricht erneut versendet werden, an dem der zum freigeben drann ist + if(isset($_POST['btn_erneut_abschicken'])) + { + if(!$status->isStatiVorhanden($bestellung_new->bestellung_id, 'Freigabe')) + { + // KST hat noch nicht freigegeben + $rechte_fg = new benutzerberechtigung(); + $uids = $rechte_fg->getFreigabeBenutzer($bestellung_new->kostenstelle_id, null); + if(empty($uids)) + $ausgabemsg .='Es ist niemand zur Freigabe der Kostenstelle berechtigt.
'; + else + $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new); + } + else + { + $bestellung_new->load($bestellung_id); + + // wer ist freigabeberechtigt auf nächsthöhere Organisationseinheit + $oes = array(); + $oes = $bestellung_new->FreigabeOe($bestellung_id); + $freigabe= false; + foreach($oes as $o) + { + if(!$status->isStatiVorhanden($bestellung_new->bestellung_id, 'Freigabe', $o)) + { + $rechte_fg = new benutzerberechtigung(); + $uids = $rechte_fg->getFreigabeBenutzer(null, $o); + if(empty($uids)) + $ausgabemsg .='Es ist niemand zur Freigabe der Kostenstelle berechtigt.
'; + else + $freigabe = true; + break; + } + } + if(!$freigabe == false) + { + $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new); + // fehlermeldung wenn kein uid gefunden + } + else + { + $ausgabemsg.= 'Die Bestellung wurde komplett freigegeben
'; + } + + } + + } $_GET['method']='update'; $_GET['id']=$bestellung_new->bestellung_id; } @@ -1272,7 +1329,7 @@ if($_GET['method']=='update') $disabled = ''; if($status->isStatiVorhanden($bestellung->bestellung_id, 'Bestellung') || $status->isStatiVorhanden($bestellung->bestellung_id, 'Storno') || $status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt')) $disabled = 'disabled'; - if($rechte->isberechtigt('wawi/bestellung_advanced',null, 'suid', $bestellung->kostenstelle_id)) + if($rechte->isberechtigt('wawi/bestellung_advanced',null, 'suid', $bestellung->kostenstelle_id) || ($rechte->isBerechtigt('wawi/freigabe', null, 'suid',$bestellung->kostenstelle_id) && $bestellung->freigegeben =='f')) $disabled = ''; echo "Kostenstelle:"; + echo ""; echo ""; echo ""; echo "Gesamtpreis Netto:"; echo " €"; + echo ""; echo ""; echo ""; echo ""; @@ -1550,6 +1611,7 @@ if($_GET['method']=='update') echo ""; echo "Gesamtpreis Brutto:"; echo " €"; + echo""; echo ""; echo ""; echo "\n"; @@ -1837,7 +1899,7 @@ if($_GET['method']=='update') * uebergebene id, die der letzte Zeile ist * und der Betrag eingetragen wurde */ - function checkNewRow(id) + function checkNewRow(id, bestellung_id) { var betrag=""; betrag = $("#preisprove_"+id).val(); @@ -1847,7 +1909,7 @@ if($_GET['method']=='update') // dann eine neue Zeile hinzufuegen if(betrag.length>0 && anzahlRows==id) { - $.post("bestellung.php", {id: id+1, getDetailRow: "true"}, + $.post("bestellung.php", {id: id+1, bestellung_id: bestellung_id, getDetailRow: "true"}, function(data){ $("#detailTable").append(data); anzahlRows=anzahlRows+1; @@ -2002,18 +2064,21 @@ if($_GET['method']=='update') $aktBrutto = $bestellung->getBrutto($bestellung->bestellung_id); if($aktBrutto =='') $aktBrutto ="0"; - echo "\n"; - echo "\n"; - // neue Zeile hinzufügen nur mit Berechtigung - if($rechte->isberechtigt('wawi/bestellung_advanced',null, 'suid', $bestellung->kostenstelle_id)) - echo ""; - echo "
Bestellschein generieren
"; - echo "

"; + echo ''; + echo ""; + echo ""; + if($status->isStatiVorhanden($bestellung->bestellung_id, 'Abgeschickt') && $bestellung->freigegeben == 'f') + echo ""; + echo"
"; + echo "
Bestellschein generieren
"; + echo "


"; if($disabled!='') { - //Wenn die Advanced Berechtigung vorhanden ist, werden die Felder nicht gesperrt - if(!$rechte->isBerechtigt('wawi/bestellung_advanced',null, 'suid')) + //Wenn die Advanced Berechtigung vorhanden ist, werden die Felder nicht gesperrt oder derjenige hat berechtigungen auf die kst oder oe und die bestellung ist noch nicht freigegeben + if(!($rechte->isBerechtigt('wawi/bestellung_advanced',null, 'suid') + || ($rechte->isBerechtigt('wawi/freigabe',null,'suid',$bestellung->kostenstelle_id)) && $bestellung->freigegeben == 'f')) { + // Felder Sperren echo '