diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php
index 3ab470363..fa95cc15e 100644
--- a/include/benutzerberechtigung.class.php
+++ b/include/benutzerberechtigung.class.php
@@ -848,7 +848,7 @@ class benutzerberechtigung extends basis_db
if(!$all)
{
- if(count($kst_id)==0)
+ if(count($kst_id)==0 && count($oe_kurzbz)==0)
return array();
$qry.="
WHERE
diff --git a/include/wawi_rechnung.class.php b/include/wawi_rechnung.class.php
index 0e820c61a..d0643185c 100644
--- a/include/wawi_rechnung.class.php
+++ b/include/wawi_rechnung.class.php
@@ -28,7 +28,7 @@ class wawi_rechnung extends basis_db
{
public $rechnung_id; // serial
public $bestellung_id; // int
- public $rechnungstyp_kurzbz;// varchar
+ public $rechnungstyp_kurzbz='Zahlung';// varchar
public $buchungsdatum; // date
public $rechnungsnr; // varchar
public $rechnungsdatum; // date
@@ -291,12 +291,12 @@ class wawi_rechnung extends basis_db
if($this->new)
{
$qry = 'BEGIN; INSERT INTO wawi.tbl_rechnung (bestellung_id,rechnungstyp_kurzbz, buchungsdatum,
- rechnungsnr, rechnugsdatum, transfer_datum, buchungstext, freigegeben, freigegebenvon, freigegebenamum,
+ rechnungsnr, rechnungsdatum, transfer_datum, buchungstext, freigegeben, freigegebenvon, freigegebenamum,
updateamum, updatevon, insertamum, insertvon) VALUES ('.
$this->addslashes($this->bestellung_id).', '.
$this->addslashes($this->rechnungstyp_kurzbz).', '.
$this->addslashes($this->buchungsdatum).', '.
- "currval('wawi.seq_rechnung_rechnung_id'), ".
+ ($this->rechnungsnr==''?"currval('wawi.seq_rechnung_rechnung_id')":$this->addslashes($this->rechnungsnr)).", ".
$this->addslashes($this->rechnungsdatum).', '.
$this->addslashes($this->transfer_datum).", ".
$this->addslashes($this->buchungstext).', '.
@@ -338,7 +338,8 @@ class wawi_rechnung extends basis_db
if($row = $this->db_fetch_object())
{
$this->rechnung_id = $row->id;
- $this->rechnungsnr = $row->rechnungsnr;
+ if($this->rechnungsnr=='')
+ $this->rechnungsnr = $row->id;
$this->db_query('COMMIT');
}
else
@@ -484,4 +485,27 @@ class wawi_rechnung extends basis_db
}
}
+ /**
+ * Laedt alle Rechnungstypen
+ */
+ public function getRechnungstyp()
+ {
+ $qry = 'SELECT * FROM wawi.tbl_rechnungstyp ORDER BY beschreibung';
+ if($result = $this->db_query($qry))
+ {
+ while($row = $this->db_fetch_object($result))
+ {
+ $obj = new wawi_rechnung();
+ $obj->rechnungstyp_kurzbz = $row->rechnungstyp_kurzbz;
+ $obj->beschreibung = $row->beschreibung;
+
+ $this->result[] = $obj;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+ }
}
\ No newline at end of file
diff --git a/wawi/rechnung.php b/wawi/rechnung.php
index 6e1fc96c7..583b1fc11 100644
--- a/wawi/rechnung.php
+++ b/wawi/rechnung.php
@@ -336,7 +336,28 @@ elseif($aktion == 'new')
if(!$rechte->isBerechtigt('wawi/rechnung',null,'sui'))
die('Sie haben keine Berechtigung zum Anlegen von Rechnungen');
- echo '
Noch nicht implementiert
';
+ if(isset($_GET['oe_kurzbz']))
+ {
+ $aktion='update';
+ }
+ else
+ {
+ echo 'Rechnung Neu
';
+ echo '';
+ }
+
}
elseif($aktion == 'save')
{
@@ -348,6 +369,7 @@ elseif($aktion == 'save')
&& isset($_POST['buchungstext'])
&& isset($_POST['rechnungsdatum'])
&& isset($_POST['bestellung_id'])
+ && isset($_POST['rechnungstyp_kurzbz'])
&& isset($_POST['buchungsdatum']))
{
$rechnung_id = $_POST['rechnung_id'];
@@ -356,6 +378,7 @@ elseif($aktion == 'save')
$rechnungsdatum = $_POST['rechnungsdatum'];
$bestellung_id = $_POST['bestellung_id'];
$buchungsdatum = $_POST['buchungsdatum'];
+ $rechnungstyp_kurzbz = $_POST['rechnungstyp_kurzbz'];
foreach($_POST as $key=>$value)
{
@@ -370,9 +393,20 @@ elseif($aktion == 'save')
}
$rechnung = new wawi_rechnung();
- if(!$rechnung->load($rechnung_id))
- die('Rechnung wurde nicht gefunden');
-
+ if($rechnung_id!='')
+ {
+ //Update
+ if(!$rechnung->load($rechnung_id))
+ die('Rechnung wurde nicht gefunden');
+ }
+ else
+ {
+ //Neue Rechnung
+ $rechnung->new = true;
+ $rechnung->insertamum = date('Y-m-d');
+ $rechnung->insertvon = $user;
+ $rechnung->freigegeben = false;
+ }
$rechnung->rechnungsnr = $rechnungsnummer;
$rechnung->buchungstext = $buchungstext;
$rechnung->rechnungsdatum = $date->formatDatum($rechnungsdatum);
@@ -380,6 +414,7 @@ elseif($aktion == 'save')
$rechnung->bestellung_id = $bestellung_id;
$rechnung->updateamum = date('Y-m-d H:i:s');
$rechnung->updatevon = $user;
+ $rechnung->rechnungstyp_kurzbz = $rechnungstyp_kurzbz;
if($rechnung->save())
{
@@ -399,7 +434,7 @@ elseif($aktion == 'save')
{
//Speichern der Zeile
$rb->rechnungsbetrag_id=$row['id'];
- $rb->rechnung_id = $rechnung_id;
+ $rb->rechnung_id = $rechnung->rechnung_id;
$rb->betrag = $row['betrag'];
$rb->bezeichnung = $row['bezeichnung'];
$rb->mwst = $row['mwst'];
@@ -413,7 +448,7 @@ elseif($aktion == 'save')
}
echo 'Daten wurden gespeichert!';
- $_GET['id']=$rechnung_id;
+ $_GET['id']=$rechnung->rechnung_id;
$aktion = 'update';
}
else
@@ -451,32 +486,35 @@ if($aktion=='update')
if(!$rechte->isBerechtigt('wawi/rechnung',null,'su'))
die('Sie haben keine Berechtigung zum Bearbeiten der Rechnungen');
- echo 'Rechnung Bearbeiten
';
+ $rechnung = new wawi_rechnung();
+ $bestellung = new wawi_bestellung();
+ $kostenstelle = new wawi_kostenstelle();
+ $konto = new wawi_konto();
+ $firma = new firma();
+ $oe_kurzbz='';
+
if(isset($_GET['id']))
{
+ echo 'Rechnung Bearbeiten
';
$rechnung_id = $_GET['id'];
if(!is_numeric($rechnung_id))
die('RechnungID ist ungueltig');
-
- $rechnung = new wawi_rechnung();
+
if(!$rechnung->load($rechnung_id))
die('Rechnung wurde nicht gefunden');
- $bestellung = new wawi_bestellung();
if(!$bestellung->load($rechnung->bestellung_id))
die('Diese Rechnung ist keiner gueltigen Bestellung zugeordnet');
- $kostenstelle = new wawi_kostenstelle();
if(!$kostenstelle->load($bestellung->kostenstelle_id))
die('Die Rechnung bzw Bestellung ist keiner gueltigen Kostenstelle zugeordnet');
- $konto = new wawi_konto();
if(!$konto->load($bestellung->konto_id))
die('Die Rechnung bzw Bestellung ist keim gueltigen Konto zugeordnet');
- $firma = new firma();
if(!$firma->load($bestellung->firma_id))
die('Die Rechnung bzw Bestellung ist keiner gueltigen Firma zugeordnet');
+ $oe_kurzbz=$kostenstelle->oe_kurzbz;
echo '
@@ -492,7 +530,17 @@ if($aktion=='update')
| '.$firma->name.' |
';
-
+ }
+ elseif(isset($_GET['oe_kurzbz']))
+ {
+ echo 'Rechnung Neu
';
+ $rechnung_id='';
+ $oe_kurzbz = $_GET['oe_kurzbz'];
+ }
+ else
+ {
+ die('ungueltige parameter');
+ }
echo '