diff --git a/include/wawi_bestellung.class.php b/include/wawi_bestellung.class.php
index a6e2eb24b..7c4441289 100644
--- a/include/wawi_bestellung.class.php
+++ b/include/wawi_bestellung.class.php
@@ -427,11 +427,17 @@ class wawi_bestellung extends basis_db
}
/**
*
- * Rechnet den Bruttopreis einer Rechnung aus
+ * Rechnet den Bruttopreis einer Rechnung aus, false im Fehlerfall
* @param $bestellung_id dessen Bruttopreis ausgerechnet werden soll
*/
public function getBrutto($bestellung_id)
{
+ if(!is_numeric($bestellung_id))
+ {
+ $this->errormsg = "Keine gültige Bestell ID";
+ return false;
+ }
+
$brutto = 0;
$qry_brutto= "select sum(brutto) as brutto
from
@@ -463,6 +469,12 @@ class wawi_bestellung extends basis_db
*/
function copyBestellung($bestellung_id, $user)
{
+ if(!is_numeric($bestellung_id))
+ {
+ $this->errormsg = "Keine gültige Bestell ID";
+ return false;
+ }
+
$error = false;
$this->db_query('BEGIN;');
@@ -585,6 +597,12 @@ class wawi_bestellung extends basis_db
*/
public function FreigabeOe($bestellung_id)
{
+ if(!is_numeric($bestellung_id))
+ {
+ $this->errormsg = "Keine gültige Bestell ID";
+ return false;
+ }
+
$oe = new organisationseinheit();
$bestellung = new wawi_bestellung();
@@ -619,7 +637,86 @@ class wawi_bestellung extends basis_db
}
else
return false;
+ }
+
+ /**
+ *
+ * Gibt true zurück wenn schon eine Rechnung zur Übergebenen Bestellung vorhanden ist, andernfalls false
+ * @param $bestellung_id
+ */
+ public function RechnungVorhanden($bestellung_id)
+ {
+ if(!is_numeric($bestellung_id))
+ {
+ $this->errormsg = "Keine gültige Bestell ID";
+ return false;
+ }
+
+ $qry = "SELECT * FROM wawi.tbl_rechnung WHERE bestellung_id = ".$bestellung_id.";";
+ if($this->db_query($qry))
+ {
+ if($row = $this->db_fetch_object())
+ {
+ return true;
+ }
+ return false;
+ }
+ else
+ return false;
+ }
+
+ /**
+ *
+ * Enter description here ...
+ * @param unknown_type $bestellung_id
+ */
+ public function SetFreigegeben($bestellung_id)
+ {
+ if(!is_numeric($bestellung_id))
+ {
+ $this->errormsg = "Keine gültige Bestell ID";
+ return false;
+ }
+
+ $qry = "UPDATE wawi.tbl_bestellung SET freigegeben = true where bestellung_id = ".$bestellung_id.";";
+
+ if($this->db_query($qry))
+ return true;
+ else
+ {
+ $this->errormsg ="Fehler beim Setzen von Freigegeben";
+ return false;
+ }
+ }
+
+ /**
+ *
+ * true wenn die Bestellung schon freigegeben wurde
+ * @param $bestellung_id
+ */
+ public function isFreigegeben($bestellung_id)
+ {
+ if(!is_numeric($bestellung_id))
+ {
+ $this->errormsg = "Keine gültige Bestell ID";
+ return false;
+ }
+
+ $qry = "SELECT * FROM wawi.tbl_bestellung WHERE freigegeben = true AND bestellung_id = ".$bestellung_id.";";
+
+ if($this->db_query($qry))
+ {
+ if($row = $this->db_fetch_object())
+ {
+ return true;
+ }
+ }
+ else
+ {
+ return false;
+ }
+ return false;
}
}
\ No newline at end of file
diff --git a/wawi/bestellung.php b/wawi/bestellung.php
index dc693e635..611b37be3 100644
--- a/wawi/bestellung.php
+++ b/wawi/bestellung.php
@@ -656,13 +656,16 @@ if($aktion == 'suche')
// Bestellung löschen
$id = (isset($_GET['id'])?$_GET['id']:null);
$bestellung = new wawi_bestellung();
- if($bestellung->delete($id))
+ if($bestellung->RechnungVorhanden($id))
{
- echo 'Bestellung erfolgreich gelöscht.
';
+ echo 'Kann nicht gelöscht werden. Der Bestellung ist noch eine Rechnung zugeordnet.';
}
- else
+ else
{
- echo $bestellung->errormsg;
+ if($bestellung->delete($id))
+ echo 'Bestellung erfolgreich gelöscht.
';
+ else
+ echo $bestellung->errormsg;
}
}
else if($_GET['method']=='deletedetail')
@@ -682,7 +685,6 @@ if($aktion == 'suche')
$bestellung = new wawi_bestellung();
if ($bestellung_neu = $bestellung->copyBestellung($bestellung_id, $user))
{
- //header ("Location: bestellung.php?method=update&id=$bestellung_neu");
$_GET['method']='update';
$_GET['id']=$bestellung_neu;
}
@@ -771,7 +773,6 @@ if($aktion == 'suche')
echo "