diff --git a/config/wawi.config-default.inc.php b/config/wawi.config-default.inc.php
index a931fe158..dcc804dcc 100644
--- a/config/wawi.config-default.inc.php
+++ b/config/wawi.config-default.inc.php
@@ -39,6 +39,8 @@
define('MAIL_LVPLAN','info@technikum-wien.at');
define('MAIL_IT','info@technikum-wien.at');
define('MAIL_SUPPORT','info@technikum-wien.at');
+
+ define('MAIL_ZENTRALEINKAUF','info@technikum-wien.at');
//Gibt an welche Funktion zur generierung des PDF Files herangezogen wird
//moegliche Werte: FOP | XSLFO2PDF
diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php
index 946bcc3bd..77fd3b062 100644
--- a/include/mitarbeiter.class.php
+++ b/include/mitarbeiter.class.php
@@ -765,7 +765,50 @@ class mitarbeiter extends benutzer
return false;
}
}
+
+ /**
+ * Sucht die Mitarbeiter deren
+ * Nachname, Vorname, UID $filter enthaelt
+ * @param $filter
+ */
+ public function search($filter)
+ {
+ $qry = "SELECT vorname, nachname, titelpre, titelpost, kurzbz, vornamen, uid
+ FROM campus.vw_mitarbeiter
+ WHERE
+ lower(nachname) like lower('%".addslashes($filter)."%')
+ OR lower(uid) like lower('%".addslashes($filter)."%')
+ OR lower(vorname) like lower('%".addslashes($filter)."%')
+ OR lower(vorname || ' ' || nachname) like lower('%".addslashes($filter)."%')
+ OR lower(nachname || ' ' || vorname) like lower('%".addslashes($filter)."%')
+ ORDER BY nachname, vorname";
+ //echo $qry;
+ if($this->db_query($qry))
+ {
+ while($row = $this->db_fetch_object())
+ {
+ $obj = new mitarbeiter();
+ $obj->uid = $row->uid;
+ $obj->vorname = $row->vorname;
+ $obj->nachname = $row->nachname;
+ $obj->titelpre = $row->titelpre;
+ $obj->titelpost = $row->titelpost;
+ $obj->kurzbz = $row->kurzbz;
+ $obj->vornamen = $row->vornamen;
+
+ $this->result[] = $obj;
+ }
+
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+ }
+
/**
* Liefert die Personen die den Suchkriterien entsprechen
*
diff --git a/include/tw/wawi_menu_main.inc.php b/include/tw/wawi_menu_main.inc.php
index cbcf1ac80..4adae99cf 100644
--- a/include/tw/wawi_menu_main.inc.php
+++ b/include/tw/wawi_menu_main.inc.php
@@ -59,7 +59,7 @@ $menu=array
),
'Personensuche'=>array
(
- 'name'=>'Personensuche', 'link'=>'https://cis.technikum-wien.at/cis/private/tools/psearch.php', 'target'=>'content',
+ 'name'=>'Personensuche', 'link'=>'https://cis.technikum-wien.at/cis/private/tools/psearch.php', 'target'=>'_blank',
),
'Firma'=>array
(
diff --git a/include/wawi_bestellstatus.class.php b/include/wawi_bestellstatus.class.php
index 0da63d9c8..ac4722770 100644
--- a/include/wawi_bestellstatus.class.php
+++ b/include/wawi_bestellstatus.class.php
@@ -153,16 +153,19 @@ class wawi_bestellstatus extends basis_db
if($oe_kurzbz!='')
{
- $status .= " and oe_kurzbz = ".$this->addslashes($oe_kurzbz);
+ $status .= " AND oe_kurzbz = ".$this->addslashes($oe_kurzbz);
}
if($status_kurzbz!='')
{
- $status.=" and bestellstatus_kurzbz = ".$this->addslashes($status_kurzbz);
+ $status.=" AND bestellstatus_kurzbz = ".$this->addslashes($status_kurzbz);
}
- $qry = "select bestellstatus.* from wawi.tbl_bestellung_bestellstatus as bestellstatus
- WHERE
- bestellung_id = ".$this->addslashes($bestellung_id).$status.";";
+ $qry = "SELECT bestellstatus.*
+ FROM wawi.tbl_bestellung_bestellstatus as bestellstatus
+ WHERE
+ bestellung_id = ".$this->addslashes($bestellung_id).$status."
+ ORDER BY insertamum LIMIT 1;";
+
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
diff --git a/skin/fhcomplete.css b/skin/fhcomplete.css
index 4ea1fc4f5..90d9da1c0 100644
--- a/skin/fhcomplete.css
+++ b/skin/fhcomplete.css
@@ -24,4 +24,8 @@
{
color: red;
}
+.ok
+{
+ color: green;
+}
\ No newline at end of file
diff --git a/wawi/bestellung.php b/wawi/bestellung.php
index 6fc3acbb0..aa416488a 100644
--- a/wawi/bestellung.php
+++ b/wawi/bestellung.php
@@ -45,6 +45,7 @@ $aktion ='';
$test = 0; // Bestelldetail Anzahl
$date = new datum();
$user=get_uid();
+$ausgabemsg='';
$berechtigung_kurzbz='wawi/bestellung';
$rechte = new benutzerberechtigung();
@@ -233,7 +234,9 @@ if(isset($_POST['deleteBtnGeliefert']) && isset($_POST['id']))
if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui'))
die('Sie haben keine Berechtigung fuer diese Aktion');
- $date = new datum();
+ $bestellung = new wawi_bestellung();
+ if(!$bestellung->load($_POST['id']))
+ die('Bestellung konnte nicht geladen werden');
$bestellstatus = new wawi_bestellstatus();
$bestellstatus->bestellung_id = $_POST['id'];
@@ -246,7 +249,10 @@ if(isset($_POST['deleteBtnGeliefert']) && isset($_POST['id']))
$bestellstatus->updatevon = $_POST['user_id'];
$bestellstatus->updateamum = date('Y-m-d H:i:s');
if($bestellstatus->save())
- echo $date->formatDatum($bestellstatus->datum, 'd.m.Y');
+ {
+ echo $date->formatDatum($bestellstatus->datum, 'd.m.Y');
+ sendBestellerMail($bestellung, 'geliefert');
+ }
else
echo $bestellstatus->errormsg;
exit;
@@ -257,7 +263,9 @@ if(isset($_POST['deleteBtnBestellt']) && isset($_POST['id']))
if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui'))
die('Sie haben keine Berechtigung fuer diese Aktion');
- $date = new datum();
+ $bestellung = new wawi_bestellung();
+ if(!$bestellung->load($_POST['id']))
+ die('Bestellung konnte nicht geladen werden');
$bestellstatus = new wawi_bestellstatus();
$bestellstatus->bestellung_id = $_POST['id'];
@@ -270,7 +278,10 @@ if(isset($_POST['deleteBtnBestellt']) && isset($_POST['id']))
$bestellstatus->updatevon = $_POST['user_id'];
$bestellstatus->updateamum = date('Y-m-d H:i:s');
if($bestellstatus->save())
+ {
echo $date->formatDatum($bestellstatus->datum, 'd.m.Y');
+ sendBestellerMail($bestellung, 'bestellt');
+ }
else
echo $bestellstatus->errormsg;
exit;
@@ -280,6 +291,10 @@ if(isset($_POST['deleteBtnStorno']) && isset($_POST['id']))
{
if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui'))
die('Sie haben keine Berechtigung fuer diese Aktion');
+
+ $bestellung = new wawi_bestellung();
+ if(!$bestellung->load($_POST['id']))
+ die('Bestellung konnte nicht geladen werden');
$date = new datum();
$bestellstatus = new wawi_bestellstatus();
@@ -293,7 +308,10 @@ if(isset($_POST['deleteBtnStorno']) && isset($_POST['id']))
$bestellstatus->updatevon = $_POST['user_id'];
$bestellstatus->updateamum = date('Y-m-d H:i:s');
if($bestellstatus->save())
- echo $date->formatDatum($bestellstatus->datum, 'd.m.Y');
+ {
+ echo $date->formatDatum($bestellstatus->datum, 'd.m.Y');
+ sendBestellerMail($bestellung, 'storno');
+ }
else
echo $bestellstatus->errormsg;
exit;
@@ -307,6 +325,7 @@ if(isset($_POST['deleteBtnStorno']) && isset($_POST['id']))
+
@@ -667,7 +698,7 @@ elseif($aktion == 'save')
{
// Die Bestellung wird gespeichert und die neue id zurückgegeben
if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui'))
- die('Sie haben keine Berechtigung zum Suchen von Bestellungen');
+ die('Sie haben keine Berechtigung fuer diese Aktion');
$newBestellung = new wawi_bestellung();
$newBestellung->titel = $_POST['titel'];
@@ -702,7 +733,7 @@ elseif($aktion == 'save')
}
else
{
- echo "Bestellung erfolgreich angelegt. ";
+ $ausgabemsg.='Bestellung wurde erfolgreich angelegt!';
$_GET['method']= 'update';
$_GET['id'] = $bestell_id;
}
@@ -749,7 +780,7 @@ elseif($_GET['method']=='copy')
{
$_GET['method']='update';
$_GET['id']=$bestellung_neu;
- echo "Erfolgreich kopiert";
+ $ausgabemsg.='Bestellung wurde erfolgreich kopiert.
';
}
}
@@ -768,7 +799,7 @@ if($_GET['method']=='update')
{
// Update auf Bestellung
$date = new datum();
- //var_dump($_POST);
+
$save = false;
$bestellung_id = $_GET['bestellung'];
$bestellung_old = new wawi_bestellung();
@@ -781,177 +812,167 @@ if($_GET['method']=='update')
// speichern
if(isset($_POST['btn_abschicken']) || isset($_POST['btn_submit']))
{
- // wenn es status Storno oder Abgeschickt schon gibt, darf nicht gespeichert werden
- if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno') || $status->isStatiVorhanden($bestellung_new->bestellung_id, 'Abgeschickt'))
- {
- echo "Kein Speichern mehr möglich.
";
- }
- else
- {
-
+ $aufteilung_anzahl = $_POST['anz_aufteilung'];
+ $bestellung_detail_anz = $_POST['detail_anz'];
- $aufteilung_anzahl = $_POST['anz_aufteilung'];
- $bestellung_detail_anz = $_POST['detail_anz'];
-
- $bestellung_new->new = false;
- $bestellung_new->besteller_uid=$user;
- if(is_numeric($_POST['filter_konto']))
- $bestellung_new->konto_id = $_POST['filter_konto'];
- else
- $bestellung_new->konto_id = '';
- $bestellung_new->firma_id = $_POST['firma_id'];
- $bestellung_new->lieferadresse = $_POST['filter_lieferadresse'];
- $bestellung_new->rechnungsadresse = $_POST['filter_rechnungsadresse'];
- $bestellung_new->titel = $_POST['titel'];
- $bestellung_new->bemerkung = $_POST['bemerkung'];
- $bestellung_new->liefertermin = $_POST['liefertermin'];
- $bestellung_new->updateamum = date('Y-m-d H:i:s');
- $bestellung_new->updatevon = $user;
- $bestellung_new->zahlungstyp_kurzbz = $_POST['filter_zahlungstyp'];
- $bestellung_new->kostenstelle_id = $_POST['filter_kst'];
-
- // wenn sich kostenstelle geändert hat, neue bestellnummer generieren
- if($bestellung_new->kostenstelle_id != $bestellung_old->kostenstelle_id)
- $bestellung_new->bestell_nr = $bestellung_new->createBestellNr($bestellung_new->kostenstelle_id);
+ $bestellung_new->new = false;
+ $bestellung_new->besteller_uid=$_POST['besteller_uid'];
+ if(is_numeric($_POST['filter_konto']))
+ $bestellung_new->konto_id = $_POST['filter_konto'];
+ else
+ $bestellung_new->konto_id = '';
+ $bestellung_new->firma_id = $_POST['firma_id'];
+ $bestellung_new->lieferadresse = $_POST['filter_lieferadresse'];
+ $bestellung_new->rechnungsadresse = $_POST['filter_rechnungsadresse'];
+ $bestellung_new->titel = $_POST['titel'];
+ $bestellung_new->bemerkung = $_POST['bemerkung'];
+ $bestellung_new->liefertermin = $_POST['liefertermin'];
+ $bestellung_new->updateamum = date('Y-m-d H:i:s');
+ $bestellung_new->updatevon = $user;
+ $bestellung_new->zahlungstyp_kurzbz = $_POST['filter_zahlungstyp'];
+ $bestellung_new->kostenstelle_id = $_POST['filter_kst'];
+
+ // wenn sich kostenstelle geändert hat, neue bestellnummer generieren
+ if($bestellung_new->kostenstelle_id != $bestellung_old->kostenstelle_id)
+ $bestellung_new->bestell_nr = $bestellung_new->createBestellNr($bestellung_new->kostenstelle_id);
+
+ $tags = explode(";", $_POST['tags']);
+ $help_tags = new tags();
+ $help_tags->bestellung_id = $bestellung_id;
+ $help_tags->deleteBestellungTag($tags);
+
+ foreach ($tags as $bestelltags)
+ {
+ $tag_bestellung = new tags();
+ $tag_bestellung->tag = trim($bestelltags);
+ $tag_bestellung->bestellung_id = $bestellung_id;
+ $tag_bestellung->insertvon = $user;
+ $tag_besetllung->insertamum = date('Y-m-d H:i:s');
- $tags = explode(";", $_POST['tags']);
- $help_tags = new tags();
- $help_tags->bestellung_id = $bestellung_id;
- $help_tags->deleteBestellungTag($tags);
-
- foreach ($tags as $bestelltags)
+ if(!$tag_bestellung->TagExists())
{
- $tag_bestellung = new tags();
- $tag_bestellung->tag = trim($bestelltags);
- $tag_bestellung->bestellung_id = $bestellung_id;
- $tag_bestellung->insertvon = $user;
- $tag_besetllung->insertamum = date('Y-m-d H:i:s');
-
- if(!$tag_bestellung->TagExists())
- {
- $tag_bestellung->saveTag();
+ $tag_bestellung->saveTag();
+ $tag_bestellung->saveBestellungTag();
+ }
+ else
+ {
+ if(!$tag_bestellung->BestellungTagExists())
$tag_bestellung->saveBestellungTag();
- }
- else
- {
- if(!$tag_bestellung->BestellungTagExists())
- $tag_bestellung->saveBestellungTag();
- }
- }
- // letzte leere zeile nicht speichern
- for($i = 1; $i < $bestellung_detail_anz; $i++)
+ }
+ }
+ // letzte leere zeile nicht speichern
+ for($i = 1; $i < $bestellung_detail_anz; $i++)
+ {
+ // wenn ein Detail gelöscht wird Durchlauf überspringen
+ if(!isset($_POST["bestelldetailid_$i"]))
+ continue;
+ $detail_id = $_POST["bestelldetailid_$i"];
+ $bestell_detail = new wawi_bestelldetail();
+
+ // gibt es ein bestelldetail schon
+ if($detail_id != '')
{
- // wenn ein Detail gelöscht wird Durchlauf überspringen
- if(!isset($_POST["bestelldetailid_$i"]))
- continue;
- $detail_id = $_POST["bestelldetailid_$i"];
- $bestell_detail = new wawi_bestelldetail();
-
- // gibt es ein bestelldetail schon
- if($detail_id != '')
+ // Update
+ $bestell_detail->load($detail_id);
+ $tags_detail = explode(";", $_POST["detail_tag_$i"]);
+ $help_detailtags = new tags();
+ $help_detailtags->bestelldetail_id = $detail_id;
+ $help_detailtags->deleteBestelldetailTag($tags_detail);
+ foreach ($tags_detail as $det)
{
- // Update
- $bestell_detail->load($detail_id);
- $tags_detail = explode(";", $_POST["detail_tag_$i"]);
- $help_detailtags = new tags();
- $help_detailtags->bestelldetail_id = $detail_id;
- $help_detailtags->deleteBestelldetailTag($tags_detail);
- foreach ($tags_detail as $det)
- {
- $detail_tag = new tags();
- $detail_tag->tag = trim($det);
- $detail_tag->bestelldetail_id = $detail_id;
- $detail_tag->insertvon = $user;
- $detail_tag->insertamum = date('Y-m-d H:i:s');
-
- if(!$detail_tag->TagExists())
- {
- $detail_tag->saveTag();
- $detail_tag->saveBestelldetailTag();
- }
- else
- {
- if(!$detail_tag->BestelldetailTagExists())
- $detail_tag->saveBestelldetailTag();
- }
- }
- $menge = $_POST["menge_$i"];
- if($menge == '')
- $menge = '0';
- $bestell_detail->position = $_POST["pos_$i"];
- if($_POST["sort_$i"] !='')
- $bestell_detail->sort = $_POST["sort_$i"];
- else
- $bestell_detail->sort = $_POST["pos_$i"];
-
- $bestell_detail->menge = $menge;
- $bestell_detail->verpackungseinheit = $_POST["ve_$i"];
- $bestell_detail->beschreibung = $_POST["beschreibung_$i"];
- $bestell_detail->artikelnummer = $_POST["artikelnr_$i"];
- $bestell_detail->preisprove = mb_str_replace(',','.', $_POST["preisprove_$i"]);
- $bestell_detail->mwst = $_POST["mwst_$i"];
- $bestell_detail->updateamum = date('Y-m-d H:i:s');
- $bestell_detail->updatevon = $user;
- $bestell_detail->new = false;
- }
- else
- {
- // Insert
- $menge = $_POST["menge_$i"];
- if($menge == '')
- $menge = '0';
- $bestell_detail->bestellung_id = $_GET['bestellung'];
- $bestell_detail->position = $_POST["pos_$i"];
- $bestell_detail->menge = $menge;
- $bestell_detail->verpackungseinheit = $_POST["ve_$i"];
- $bestell_detail->beschreibung = $_POST["beschreibung_$i"];
- $bestell_detail->artikelnummer = $_POST["artikelnr_$i"];
- $bestell_detail->preisprove = mb_str_replace(',', '.', $_POST["preisprove_$i"]);
- $bestell_detail->mwst = $_POST["mwst_$i"];
- if($_POST["sort_$i"] != '')
- $bestell_detail->sort = $_POST["sort_$i"];
- else
- $bestell_detail->sort = $_POST["pos_$i"];
+ $detail_tag = new tags();
+ $detail_tag->tag = trim($det);
+ $detail_tag->bestelldetail_id = $detail_id;
+ $detail_tag->insertvon = $user;
+ $detail_tag->insertamum = date('Y-m-d H:i:s');
- $bestell_detail->insertamum = date('Y-m-d H:i:s');
- $bestell_detail->insertvon = $user;
- $bestell_detail->updateamum = date('Y-m-d H:i:s');
- $bestell_detail->updatevon = $user;
- $bestell_detail->new = true;
- }
- if(!$bestell_detail->save())
- echo $bestell_detail->errormsg;
+ if(!$detail_tag->TagExists())
+ {
+ $detail_tag->saveTag();
+ $detail_tag->saveBestelldetailTag();
+ }
+ else
+ {
+ if(!$detail_tag->BestelldetailTagExists())
+ $detail_tag->saveBestelldetailTag();
+ }
+ }
+ $menge = $_POST["menge_$i"];
+ if($menge == '')
+ $menge = '0';
+ $bestell_detail->position = $_POST["pos_$i"];
+ if($_POST["sort_$i"] !='')
+ $bestell_detail->sort = $_POST["sort_$i"];
+ else
+ $bestell_detail->sort = $_POST["pos_$i"];
+
+ $bestell_detail->menge = $menge;
+ $bestell_detail->verpackungseinheit = $_POST["ve_$i"];
+ $bestell_detail->beschreibung = $_POST["beschreibung_$i"];
+ $bestell_detail->artikelnummer = $_POST["artikelnr_$i"];
+ $bestell_detail->preisprove = mb_str_replace(',','.', $_POST["preisprove_$i"]);
+ $bestell_detail->mwst = $_POST["mwst_$i"];
+ $bestell_detail->updateamum = date('Y-m-d H:i:s');
+ $bestell_detail->updatevon = $user;
+ $bestell_detail->new = false;
}
-
- for($i=0; $i<$aufteilung_anzahl; $i++)
+ else
{
- $aufteilung = new wawi_aufteilung();
- $aufteilung->bestellung_id = $bestellung_id;
- $aufteilung->oe_kurzbz = $_POST['oe_kurzbz_'.$i];
- $aufteilung->anteil = $_POST['aufteilung_'.$i];
- if($aufteilung->AufteilungExists())
- {
- // Update
- $aufteilung->updateamum = date('Y-m-d H:i:s');
- $aufteilung->updatevon = $user;
- $aufteilung->new = false;
- }
+ // Insert
+ $menge = $_POST["menge_$i"];
+ if($menge == '')
+ $menge = '0';
+ $bestell_detail->bestellung_id = $_GET['bestellung'];
+ $bestell_detail->position = $_POST["pos_$i"];
+ $bestell_detail->menge = $menge;
+ $bestell_detail->verpackungseinheit = $_POST["ve_$i"];
+ $bestell_detail->beschreibung = $_POST["beschreibung_$i"];
+ $bestell_detail->artikelnummer = $_POST["artikelnr_$i"];
+ $bestell_detail->preisprove = mb_str_replace(',', '.', $_POST["preisprove_$i"]);
+ $bestell_detail->mwst = $_POST["mwst_$i"];
+ if($_POST["sort_$i"] != '')
+ $bestell_detail->sort = $_POST["sort_$i"];
else
- {
- // Insert
- $aufteilung->updateamum = date('Y-m-d H:i:s');
- $aufteilung->updatevon = $user;
- $aufteilung->insertamum = date('Y-m-d H:i:s');
- $aufteilung->insertvon = $user;
- $aufteilung->new = true;
- }
- $aufteilung->saveAufteilung();
+ $bestell_detail->sort = $_POST["pos_$i"];
+
+ $bestell_detail->insertamum = date('Y-m-d H:i:s');
+ $bestell_detail->insertvon = $user;
+ $bestell_detail->updateamum = date('Y-m-d H:i:s');
+ $bestell_detail->updatevon = $user;
+ $bestell_detail->new = true;
}
- if($bestellung_new->save())
+ if(!$bestell_detail->save())
+ echo $bestell_detail->errormsg;
+ }
+
+ for($i=0; $i<$aufteilung_anzahl; $i++)
+ {
+ $aufteilung = new wawi_aufteilung();
+ $aufteilung->bestellung_id = $bestellung_id;
+ $aufteilung->oe_kurzbz = $_POST['oe_kurzbz_'.$i];
+ $aufteilung->anteil = $_POST['aufteilung_'.$i];
+ if($aufteilung->AufteilungExists())
{
- echo "erfolgreich gespeichert.
";
- $save = true;
+ // Update
+ $aufteilung->updateamum = date('Y-m-d H:i:s');
+ $aufteilung->updatevon = $user;
+ $aufteilung->new = false;
}
+ else
+ {
+ // Insert
+ $aufteilung->updateamum = date('Y-m-d H:i:s');
+ $aufteilung->updatevon = $user;
+ $aufteilung->insertamum = date('Y-m-d H:i:s');
+ $aufteilung->insertvon = $user;
+ $aufteilung->new = true;
+ }
+ $aufteilung->saveAufteilung();
+ }
+ if($bestellung_new->save())
+ {
+ $ausgabemsg.='Bestellung wurde erfolgreich gespeichert!
';
+ $save = true;
}
}
// Bestellung freigeben wird in gang gesetzt --> durch Abschick Button
@@ -960,8 +981,7 @@ if($_GET['method']=='update')
// wenn status Storno vorhanden ist kann nicht mehr freigegeben werden
if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno'))
{
- echo "Keine Freigabe mehr möglich, da Storniert wurde.
";
- echo " Zurück zur Bestellung ";
+ echo 'Keine Freigabe mehr möglich, da Storniert wurde.
';
}
else
{
@@ -983,37 +1003,9 @@ if($_GET['method']=='update')
echo "Fehler beim Setzen auf Status Abgeschickt.";
// wer ist freigabeberechtigt auf kostenstelle
- $rechte = new benutzerberechtigung();
- $uids = $rechte->getFreigabeBenutzer($bestellung_new->kostenstelle_id, null);
- foreach($uids as $uid)
- {
- $kst_mail = new wawi_kostenstelle();
- $kst_mail->load($bestellung_new->kostenstelle_id);
- $firma_mail = new firma();
- $firma_mail->load($bestellung_new->firma_id);
- $konto_mail = new wawi_konto();
- $konto_mail->load($bestellung_new->konto_id);
-
- // E-Mail an Kostenstellenverantwortliche senden
- $email= "Dies ist eine automatisch generierte E-Mail.
";
- $email.="Es wurde eine neue Bestellung auf Kostenstelle '".$kst_mail->bezeichnung."' erstellt bzw. eine bestehende geändert. Bitte geben Sie die Bestellung frei.
";
- $email.="Bestellnummer: ".$bestellung_new->bestell_nr."
";
- $email.="Titel: ".$bestellung_new->titel."
";
- $email.="Firma: ".$firma_mail->name."
";
- $email.="Erstellt am: ".$bestellung_new->insertamum."
";
- $email.="Kostenstelle: ".$kst_mail->bezeichnung."
Konto: ".$konto_mail->kurzbz."
";
-
- $email.="Link: zur Bestellung ";
-
-
-
- $mail = new mail($uid.'@'.DOMAIN, 'no-reply', 'Freigabe Bestellung', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.');
- $mail->setHTMLContent($email);
- if(!$mail->send())
- echo 'Fehler beim Senden des Mails';
- else
- echo '
Mail verschickt an '.$uid.'!';
- }
+ $rechte_fg = new benutzerberechtigung();
+ $uids = $rechte_fg->getFreigabeBenutzer($bestellung_new->kostenstelle_id, null);
+ $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new);
}
}
}
@@ -1026,7 +1018,7 @@ if($_GET['method']=='update')
// wenn status Storno vorhanden, soll nicht mehr freigegeben werden.
if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno'))
{
- echo "Keine Freigabe mehr möglich, da Storniert wurde.
";
+ $ausgabemsg.= 'Keine Freigabe mehr möglich, da Storniert wurde.
';
}
else
{
@@ -1045,11 +1037,11 @@ if($_GET['method']=='update')
if(!$status->save())
{
- echo "Fehler beim Setzen auf Status Freigabe.
";
+ $ausgabemsg.= 'Fehler beim Setzen auf Status Freigabe.
';
}
else
{
- echo "FREIGABE KOSTENSTELLE erfolgreich";
+ $ausgabemsg.= 'Bestellung wurde erfolgreich freigegeben
';
// wer ist freigabeberechtigt auf nächsthöhere Organisationseinheit
$oes = array();
@@ -1059,43 +1051,25 @@ if($_GET['method']=='update')
{
if(!$status->isStatiVorhanden($bestellung_new->bestellung_id, 'Freigabe', $o))
{
- $rechte = new benutzerberechtigung();
- $uids = $rechte->getFreigabeBenutzer(null, $o);
+ $rechte_fg = new benutzerberechtigung();
+ $uids = $rechte_fg->getFreigabeBenutzer(null, $o);
$freigabe = true;
break;
}
}
if(!$freigabe == false)
{
- // es wurde noch nicht alles Freigegeben
- foreach($uids as $uid)
- {
- // E-Mail an OE_Verantwortlichen senden
- $kst_mail = new wawi_kostenstelle();
- $kst_mail->load($bestellung_new->kostenstelle_id);
- $firma_mail = new firma();
- $firma_mail->load($bestellung_new->firma_id);
- $konto_mail = new wawi_konto();
- $konto_mail->load($bestellung_new->konto_id);
-
- // E-Mail an Kostenstellenverantwortliche senden
- $email= "Dies ist eine automatisch generierte E-Mail.
";
- $email.="Es wurde eine neue Bestellung auf Kostenstelle '".$kst_mail->bezeichnung."' erstellt bzw. eine bestehende geändert. Bitte geben Sie die Bestellung frei.
";
- $email.="Bestellnummer: ".$bestellung_new->bestell_nr."
";
- $email.="Titel: ".$bestellung_new->titel."
";
- $email.="Firma: ".$firma_mail->name."
";
- $email.="Erstellt am: ".$bestellung_new->insertamum."
";
- $email.="Kostenstelle: ".$kst_mail->bezeichnung."
Konto: ".$konto_mail->kurzbz."
";
-
- $email.="Link: zur Bestellung ";
-
- $mail = new mail($uid.'@'.DOMAIN, 'no-reply', 'Freigabe Bestellung', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.');
- $mail->setHTMLContent($email);
- if(!$mail->send())
- echo 'Fehler beim Senden des Mails';
- else
- echo "
Mail verschickt an $uid!";
- }
+ $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new);
+ }
+ else
+ {
+ //Bestellung komplett freigegeben
+ //Freigabe setzen und Info an Zentraleinkauf schicken
+ if(!$bestellung_new->isFreigegeben($bestellung_new->bestellung_id))
+ $bestellung_new->SetFreigegeben($bestellung_new->bestellung_id);
+
+ sendZentraleinkaufFreigegeben($bestellung_new);
+ sendBestellerMail($bestellung_new, 'freigabe');
}
}
}
@@ -1106,8 +1080,7 @@ if($_GET['method']=='update')
// wenn status Storno vorhanden, soll nicht mehr freigegeben werden.
if($status->isStatiVorhanden($bestellung_new->bestellung_id, 'Storno'))
{
- echo "Keine Freigabe mehr möglich, da Storniert wurde.
";
- echo " Zurück zur Bestellung ";
+ $ausgabemsg.='Keine Freigabe mehr möglich, da Storniert wurde.
';
}
else
{
@@ -1126,12 +1099,11 @@ if($_GET['method']=='update')
if(!$status->save())
{
- echo "Fehler beim Setzen auf Status Freigabe.
";
- echo " Zurück zur Bestellung ";
+ $ausgabemsg.= 'Fehler beim Setzen auf Status Freigabe.
';
}
else
{
- echo "FREIGABE OE erfolgreich";
+ $ausgabemsg.= 'Bestellung wurde erfolgreich freigegeben
';
// wer ist freigabeberechtigt auf nächsthöhere Organisationseinheit
$oes = array();
@@ -1141,8 +1113,8 @@ if($_GET['method']=='update')
{
if(!$status->isStatiVorhanden($bestellung_new->bestellung_id, 'Freigabe', $o))
{
- $rechte = new benutzerberechtigung();
- $uids = $rechte->getFreigabeBenutzer(null, $o);
+ $rechte_fg = new benutzerberechtigung();
+ $uids = $rechte_fg->getFreigabeBenutzer(null, $o);
$freigabe = true;
break;
}
@@ -1150,17 +1122,17 @@ if($_GET['method']=='update')
if(!$freigabe == false)
{
// es wurde noch nicht alles Freigegeben
- foreach($uids as $uid)
- {
- // E-Mail an OE_Verantwortlichen senden
- $msg ="Eine Bestellung wurde angelegt und muss von Ihnen noch freigegeben werden. \n bestellung_id> Link zur Bestellung $bestellung_new->bestellung_id ";
- $mail = new mail($uid.'@'.DOMAIN, 'no-reply', 'Freigabe Bestellung', $msg);
- $mail->setHTMLContent($msg);
- if(!$mail->send())
- echo 'Fehler beim Senden des Mails';
- else
- echo '
Mail verschickt!';
- }
+ $ausgabemsg.=sendFreigabeMails($uids, $bestellung_new);
+ }
+ else
+ {
+ //Bestellung komplett freigegeben
+ //Freigabe setzen und Info an Zentraleinkauf schicken
+ if(!$bestellung_new->isFreigegeben($bestellung_new->bestellung_id))
+ $bestellung_new->SetFreigegeben($bestellung_new->bestellung_id);
+
+ sendZentraleinkaufFreigegeben($bestellung_new);
+ sendBestellerMail($bestellung_new, 'freigabe');
}
}
}
@@ -1214,36 +1186,52 @@ if($_GET['method']=='update')
$konto_vorhanden = false;
$kst_vorhanden =false;
$alert ='';
-
+ $besteller = new benutzer();
+ $besteller->load($bestellung->besteller_uid);
+ $besteller_vorname=$besteller->vorname;
+ $besteller_nachname=$besteller->nachname;
+
if($restBudget < 0)
- $alert = 'Ihr aktuelles Budget ist bereits überzogen.';
- echo "