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 '
'; + echo ''; + echo ''; + echo ''; + 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 '
@@ -502,6 +550,7 @@ if($aktion=='update') Rechnungsnummer Rechnungsdatum    Bestellung + Typ @@ -512,7 +561,38 @@ if($aktion=='update') - + + + + @@ -532,7 +612,7 @@ if($aktion=='update') $("#buchungsdatum" ).datepicker($.datepicker.regional["de"]); - + @@ -640,11 +720,7 @@ if($aktion=='update')
'; - } - else - { - echo 'Sie haben keine ID uebergeben'; - } + } /**