mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
22c3f93f17
- WaWi Edit und Delete Symbole vereinheitlicht - Boolean in WaWi Klassen auf Boolean statt t und f geändert - Bugfix für Statische Variable in Sprache Klasse
634 lines
17 KiB
PHP
634 lines
17 KiB
PHP
<?php
|
|
/* Copyright (C) 2010 Technikum-Wien
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
|
*
|
|
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
|
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
|
* Karl Burkhart <burkhart@technikum-wien.at>.
|
|
*/
|
|
/**
|
|
* Firmenverwaltung fuer WaWi
|
|
*
|
|
* Dies ist eine abgespeckte Version der Firmenverwaltung zum einfachen Anlegen und
|
|
* Bearbeiten von Firmen.
|
|
*/
|
|
require_once('../config/wawi.config.inc.php');
|
|
require_once('auth.php');
|
|
require_once('../include/benutzerberechtigung.class.php');
|
|
require_once('../include/firma.class.php');
|
|
require_once('../include/standort.class.php');
|
|
require_once('../include/kontakt.class.php');
|
|
require_once('../include/adresse.class.php');
|
|
require_once('../include/nation.class.php');
|
|
|
|
?>
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<title>WaWi Firma</title>
|
|
<link rel="stylesheet" href="../skin/wawi.css" type="text/css"/>
|
|
<link rel="stylesheet" href="../skin/tablesort.css" type="text/css"/>
|
|
<link rel="stylesheet" href="../include/js/jquery.css" type="text/css"/>
|
|
|
|
<script type="text/javascript" src="../include/js/jquery.js"></script>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
</head>
|
|
<body>
|
|
<?php
|
|
$user=get_uid();
|
|
|
|
$rechte = new benutzerberechtigung();
|
|
$rechte->getBerechtigungen($user);
|
|
|
|
if(!$rechte->isBerechtigt('wawi/firma'))
|
|
die('Sie haben keine Berechtigung für diese Seite');
|
|
|
|
$method = isset($_GET['method'])?$_GET['method']:'search';
|
|
$strasse = '';
|
|
$name = '';
|
|
$plz = '';
|
|
$ort = '';
|
|
$telefon = '';
|
|
$fax = '';
|
|
$email = '';
|
|
$nation = 'A';
|
|
$id = isset($_GET['id'])?$_GET['id']:'';
|
|
|
|
//Speichern der Daten
|
|
if(isset($_POST['save']))
|
|
{
|
|
if(!isset($_POST['strasse']) || !isset($_POST['name']) || !isset($_POST['plz']) || !isset($_POST['ort']) ||
|
|
!isset($_POST['telefon']) || !isset($_POST['fax']) || !isset($_POST['email']) || !isset($_POST['anmerkung']))
|
|
die('Ungueltige Parameteruebergabe');
|
|
|
|
$error = false;
|
|
$strasse = $_POST['strasse'];
|
|
$name = $_POST['name'];
|
|
$plz = $_POST['plz'];
|
|
$ort = $_POST['ort'];
|
|
$telefon = $_POST['telefon'];
|
|
$fax = $_POST['fax'];
|
|
$email = $_POST['email'];
|
|
$nation = $_POST['nation'];
|
|
$anmerkung = $_POST['anmerkung'];
|
|
|
|
//Bei einem Update werden die IDs der Datensaetze uebergeben
|
|
$adresse_id = $_POST['adresse_id'];
|
|
$firma_id = $_POST['firma_id'];
|
|
$standort_id = $_POST['standort_id'];
|
|
$fax_id = $_POST['fax_id'];
|
|
$telefon_id = $_POST['telefon_id'];
|
|
$email_id = $_POST['email_id'];
|
|
$kundennummer_erhalter_id = $_POST['kundennummer_erhalter_id'];
|
|
$kundennummer_erhalter = $_POST['kundennummer_erhalter'];
|
|
$kundennummer_gmbh_id = $_POST['kundennummer_gmbh_id'];
|
|
$kundennummer_gmbh = $_POST['kundennummer_gmbh'];
|
|
|
|
$errormsg='';
|
|
|
|
if($email!='' && !mb_strstr($email,'@'))
|
|
{
|
|
$errormsg = 'Email muss ein @ enthalten';
|
|
$error = true;
|
|
}
|
|
if($name=='')
|
|
{
|
|
$errormsg = 'Es muss ein Firmennamen eingetragen werden!';
|
|
$error = true;
|
|
}
|
|
$db = new basis_db();
|
|
|
|
$db->db_query('BEGIN;');
|
|
|
|
if(!$error)
|
|
{
|
|
//Firmendatensatz anlegen/updaten
|
|
$firma = new firma();
|
|
|
|
if($firma_id!='')
|
|
{
|
|
if(!$firma->load($firma_id))
|
|
die('Firma wurde nicht gefunden');
|
|
$firma->new = false;
|
|
$firma->updateamum = date('Y-m-d H:i:s');
|
|
$firma->updatevon = $user;
|
|
}
|
|
else
|
|
{
|
|
$firma->schule=false;
|
|
$firma->gesperrt=false;
|
|
$firma->aktiv=true;
|
|
$firma->insertamum = date('Y-m-d H:i:s');
|
|
$firma->insertvon = $user;
|
|
$firma->new = true;
|
|
$firma->firmentyp_kurzbz='Firma';
|
|
}
|
|
|
|
$firma->name=$name;
|
|
$firma->anmerkung=$anmerkung;
|
|
|
|
|
|
if($firma->save())
|
|
{
|
|
//Kundennummer Erhalter
|
|
if($kundennummer_erhalter_id!='' || $kundennummer_erhalter!='')
|
|
{
|
|
$firma_oe = new firma();
|
|
if($kundennummer_erhalter_id!='')
|
|
{
|
|
if(!$firma_oe->load_firmaorganisationseinheit($kundennummer_erhalter_id))
|
|
{
|
|
$error = true;
|
|
$errormsg.='Fehler beim Laden der Organisationseinheitenzuordnung';
|
|
}
|
|
$firma_oe->new = false;
|
|
}
|
|
else
|
|
{
|
|
$firma_oe->firma_id = $firma->firma_id;
|
|
$firma_oe->new = true;
|
|
$firma_oe->oe_kurzbz='etw';
|
|
$firma_oe->insertamum = date('Y-m-d H:i:s');
|
|
$firma_oe->insertvon = $user;
|
|
}
|
|
|
|
$firma_oe->updateamum = date('Y-m-d H:i:s');
|
|
$firma_oe->updatevon = $user;
|
|
$firma_oe->kundennummer=$kundennummer_erhalter;
|
|
|
|
|
|
if(!$firma_oe->saveorganisationseinheit())
|
|
{
|
|
$error = true;
|
|
$errormsg.='Fehler beim Speichern der Kundennummer:'.$firma_oe->errormsg;
|
|
}
|
|
}
|
|
|
|
//Kundennummer GmbH
|
|
if($kundennummer_gmbh_id!='' || $kundennummer_gmbh!='')
|
|
{
|
|
$firma_oe = new firma();
|
|
if($kundennummer_gmbh_id!='')
|
|
{
|
|
if(!$firma_oe->load_firmaorganisationseinheit($kundennummer_gmbh_id))
|
|
{
|
|
$error = true;
|
|
$errormsg.='Fehler beim Laden der Organisationseinheitenzuordnung';
|
|
}
|
|
$firma_oe->new = false;
|
|
}
|
|
else
|
|
{
|
|
$firma_oe->firma_id = $firma->firma_id;
|
|
$firma_oe->new = true;
|
|
$firma_oe->oe_kurzbz='gmbh';
|
|
$firma_oe->insertamum = date('Y-m-d H:i:s');
|
|
$firma_oe->insertvon = $user;
|
|
}
|
|
|
|
$firma_oe->updateamum = date('Y-m-d H:i:s');
|
|
$firma_oe->updatevon = $user;
|
|
$firma_oe->kundennummer=$kundennummer_gmbh;
|
|
|
|
|
|
if(!$firma_oe->saveorganisationseinheit())
|
|
{
|
|
$error = true;
|
|
$errormsg.='Fehler beim Speichern der Kundennummer:'.$firma_oe->errormsg;
|
|
}
|
|
}
|
|
|
|
//Adressdatensatz anlegen/updaten
|
|
$adresse = new adresse();
|
|
|
|
if($adresse_id!='')
|
|
{
|
|
$adresse->load($adresse_id);
|
|
$adresse->udpateamum = date('Y-m-d H:i:s');
|
|
$adresse->updatevon = $user;
|
|
$adresse->new = false;
|
|
}
|
|
else
|
|
{
|
|
$adresse->zustelladresse = true;
|
|
$adresse->heimatadresse = false;
|
|
$adresse->new = true;
|
|
$adresse->insertamum = date('Y-m-d H:i:s');
|
|
$adresse->insertvon = $user;
|
|
}
|
|
|
|
$adresse->strasse = $strasse;
|
|
$adresse->plz = $plz;
|
|
$adresse->ort = $ort;
|
|
$adresse->nation = $nation;
|
|
|
|
if($adresse->save())
|
|
{
|
|
//Standort anlegen/updaten
|
|
$standort = new standort();
|
|
|
|
if($standort_id!='')
|
|
{
|
|
$standort->load($standort_id);
|
|
$standort->new = false;
|
|
$standort->insertamum = date('Y-m-d H:i:s');
|
|
$standort->insertvon = $user;
|
|
$standort->new = false;
|
|
}
|
|
else
|
|
{
|
|
$standort->insertamum = date('Y-m-d H:i:s');
|
|
$standort->insertvon = $user;
|
|
$standort->new = true;
|
|
}
|
|
|
|
$standort->firma_id = $firma->firma_id;
|
|
$standort->adresse_id = $adresse->adresse_id;
|
|
$standort->kurzbz = mb_substr($firma->name, 0,16);
|
|
|
|
if($standort->save())
|
|
{
|
|
//Kontaktdaten anlegen/updaten
|
|
if($fax!='')
|
|
{
|
|
$kontakt = new kontakt();
|
|
if($fax_id!='')
|
|
{
|
|
$kontakt->load($fax_id);
|
|
$kontakt->new = false;
|
|
}
|
|
else
|
|
$kontakt->new = true;
|
|
|
|
$kontakt->kontakttyp='fax';
|
|
$kontakt->standort_id = $standort->standort_id;
|
|
$kontakt->kontakt = $fax;
|
|
|
|
if(!$kontakt->save())
|
|
{
|
|
$errormsg.=$kontakt->errormsg;
|
|
$error = true;
|
|
}
|
|
}
|
|
if($telefon!='')
|
|
{
|
|
$kontakt = new kontakt();
|
|
if($telefon_id!='')
|
|
{
|
|
$kontakt->load($telefon_id);
|
|
$kontakt->new = false;
|
|
}
|
|
else
|
|
{
|
|
$kontakt->new = true;
|
|
}
|
|
$kontakt->kontakttyp='telefon';
|
|
$kontakt->standort_id = $standort->standort_id;
|
|
$kontakt->kontakt = $telefon;
|
|
|
|
if(!$kontakt->save())
|
|
{
|
|
$errormsg.=$kontakt->errormsg;
|
|
$error = true;
|
|
}
|
|
}
|
|
|
|
if($email!='')
|
|
{
|
|
$kontakt = new kontakt();
|
|
if($email_id!='')
|
|
{
|
|
$kontakt->load($email_id);
|
|
$kontakt->new = false;
|
|
}
|
|
else
|
|
{
|
|
$kontakt->new = true;
|
|
}
|
|
|
|
$kontakt->kontakttyp='email';
|
|
$kontakt->standort_id = $standort->standort_id;
|
|
$kontakt->kontakt = $email;
|
|
|
|
if(!$kontakt->save())
|
|
{
|
|
$errormsg.=$kontakt->errormsg;
|
|
$error = true;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg.='Standort:'.$standort->errormsg;
|
|
$error = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg.='Adresse:'.$adresse->errormsg;
|
|
$error=true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$errormsg.='Firma:'.$firma->errormsg;
|
|
$error=true;
|
|
}
|
|
}
|
|
|
|
if($error)
|
|
{
|
|
echo '<span class="error">Fehler: '.$errormsg.'</span>';
|
|
$db->db_query('ROLLBACK;');
|
|
if($firma_id!='')
|
|
{
|
|
$method='update';
|
|
$id = $firma_id;
|
|
}
|
|
else
|
|
$method='new';
|
|
}
|
|
else
|
|
{
|
|
$db->db_query('COMMIT;');
|
|
echo 'Die Firma wurde erfolgreich gespeichert!';
|
|
|
|
if(isset($_SESSION['wawi/last_bestellung_id']))
|
|
echo '<br><a href="bestellung.php?method=update&id=',$_SESSION['wawi/last_bestellung_id'],'">Zurück zur letzten Bestellung</a>';
|
|
|
|
$method='update';
|
|
$id=$firma->firma_id;
|
|
}
|
|
}
|
|
|
|
// Update / Neuanlage
|
|
if($method=='new' || $method=='update')
|
|
{
|
|
$firma_id='';
|
|
$standort_id='';
|
|
$adresse_id='';
|
|
$fax_id='';
|
|
$email_id='';
|
|
$telefon_id='';
|
|
$anmerkung='';
|
|
$kundennummer_erhalter='';
|
|
$kundennummer_erhalter_id='';
|
|
$kundennummer_gmbh='';
|
|
$kundennummer_gmbh_id='';
|
|
|
|
if($method=='new')
|
|
echo '<h1>Neue Firma</h1>';
|
|
else
|
|
{
|
|
echo '<h1>Firma Bearbeiten</h1>';
|
|
|
|
if(!is_numeric($id))
|
|
die('ID ist ungueltig');
|
|
|
|
//Firma Laden
|
|
$firma = new firma();
|
|
if(!$firma->load($id))
|
|
die('Firma konnte nicht geladen werden');
|
|
|
|
$name = $firma->name;
|
|
$anmerkung = $firma->anmerkung;
|
|
$firma_id = $firma->firma_id;
|
|
|
|
$firma_oe = new firma();
|
|
$firma_oe->get_firmaorganisationseinheit($firma_id,'etw');
|
|
if(isset($firma_oe->result[0]))
|
|
{
|
|
$kundennummer_erhalter = $firma_oe->result[0]->kundennummer;
|
|
$kundennummer_erhalter_id = $firma_oe->result[0]->firma_organisationseinheit_id;
|
|
}
|
|
$firma_oe = new firma();
|
|
$firma_oe->get_firmaorganisationseinheit($firma_id,'gmbh');
|
|
if(isset($firma_oe->result[0]))
|
|
{
|
|
$kundennummer_gmbh = $firma_oe->result[0]->kundennummer;
|
|
$kundennummer_gmbh_id = $firma_oe->result[0]->firma_organisationseinheit_id;
|
|
}
|
|
|
|
//Standort Laden
|
|
$standort = new standort();
|
|
$standort->load_firma($firma_id);
|
|
if(isset($standort->result[0]))
|
|
{
|
|
$standort_id = $standort->result[0]->standort_id;
|
|
$adresse_id = $standort->result[0]->adresse_id;
|
|
|
|
//Adresse Laden
|
|
$adresse = new adresse();
|
|
$adresse->load($adresse_id);
|
|
|
|
$strasse = $adresse->strasse;
|
|
$plz = $adresse->plz;
|
|
$ort = $adresse->ort;
|
|
$nation = $adresse->nation;
|
|
if($nation=='')
|
|
$nation='A';
|
|
|
|
//Kontaktdaten Laden
|
|
$kontakt = new kontakt();
|
|
$kontakt->loadFirmaKontakttyp($standort_id, 'telefon');
|
|
|
|
$telefon = $kontakt->kontakt;
|
|
$telefon_id = $kontakt->kontakt_id;
|
|
|
|
$kontakt = new kontakt();
|
|
$kontakt->loadFirmaKontakttyp($standort_id, 'fax');
|
|
|
|
$fax = $kontakt->kontakt;
|
|
$fax_id = $kontakt->kontakt_id;
|
|
|
|
$kontakt = new kontakt();
|
|
$kontakt->loadFirmaKontakttyp($standort_id, 'email');
|
|
|
|
$email = $kontakt->kontakt;
|
|
$email_id = $kontakt->kontakt_id;
|
|
}
|
|
}
|
|
|
|
|
|
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST" name="firmaForm">';
|
|
echo '
|
|
<input type="hidden" name="firma_id" value="'.$firma_id.'">
|
|
<input type="hidden" name="standort_id" value="'.$standort_id.'">
|
|
<input type="hidden" name="adresse_id" value="'.$adresse_id.'">
|
|
<input type="hidden" name="telefon_id" value="'.$telefon_id.'">
|
|
<input type="hidden" name="fax_id" value="'.$fax_id.'">
|
|
<input type="hidden" name="email_id" value="'.$email_id.'">
|
|
<input type="hidden" name="kundennummer_erhalter_id" value="'.$kundennummer_erhalter_id.'">
|
|
<input type="hidden" name="kundennummer_gmbh_id" value="'.$kundennummer_gmbh_id.'">
|
|
<table>
|
|
<tr>
|
|
<td>Name:</td>
|
|
<td><input type="text" name="name" maxlength="128" size="80" value="'.$name.'"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Straße:</td>
|
|
<td><input type="text" name="strasse" size="40" maxlength="255" value="'.$strasse.'"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Plz / Ort:</td>
|
|
<td><input type="text" size="6" name="plz" maxlength="10" value="'.$plz.'"/><input type="text" name="ort" maxlength="255" value="'.$ort.'"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Nation:</td>
|
|
<td>
|
|
';
|
|
$nat = new nation();
|
|
$nat->getAll();
|
|
|
|
echo '<SELECT name="nation">';
|
|
|
|
foreach($nat->nation as $row)
|
|
{
|
|
if($row->code==$nation)
|
|
$selected='selected';
|
|
else
|
|
$selected='';
|
|
|
|
echo '<OPTION value="'.$row->code.'" '.$selected.'>'.$row->kurztext.'</OPTION>';
|
|
}
|
|
echo '</SELECT>';
|
|
echo '
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Telefon:</td>
|
|
<td><input type="text" name="telefon" maxlength="128" value="'.$telefon.'"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Fax:</td>
|
|
<td><input type="text" name="fax" maxlength="128" value="'.$fax.'"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td>E-Mail:</td>
|
|
<td><input type="text" name="email" maxlength="128" size="40" value="'.$email.'"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Kundennummer Erhalter:</td>
|
|
<td><input type="text" name="kundennummer_erhalter" maxlength="128" value="'.$kundennummer_erhalter.'"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Kundennummer GmbH:</td>
|
|
<td><input type="text" name="kundennummer_gmbh" maxlength="128" value="'.$kundennummer_gmbh.'"/></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Anmerkungen:</td>
|
|
<td><textarea name="anmerkung" cols="50" rows="3">'.$anmerkung.'</textarea></td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td><input type="submit" name="save" value="Speichern" onclick="return validate()"/></td>
|
|
</tr>
|
|
</table>
|
|
';
|
|
|
|
echo '</form>';
|
|
|
|
echo '<script language="javascript" type="text/javascript">
|
|
function validate()
|
|
{
|
|
maxlength=256;
|
|
|
|
if(document.firmaForm.name.value == "")
|
|
{
|
|
alert("Name der Firma darf nicht leer sein!");
|
|
document.firmaForm.name.focus();
|
|
return false;
|
|
}
|
|
if(document.firmaForm.email.value.indexOf("@") == -1 && document.firmaForm.email.value != "")
|
|
{
|
|
alert("Ungültige E-Mail Adresse eingegeben!");
|
|
document.firmaForm.email.focus();
|
|
return false;
|
|
}
|
|
if(document.firmaForm.anmerkung.value.length>=maxlength)
|
|
{
|
|
alert("Die Anmerkung darf nur 256 Zeichen lang sein. Aktuell sind es : "+document.firmaForm.anmerkung.value.length+" Zeichen.");
|
|
document.firmaForm.anmerkung.focus();
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
</script>';
|
|
}
|
|
|
|
//Suchen von Firmen
|
|
if($method=='search')
|
|
{
|
|
$filter = (isset($_POST['filter'])?$_POST['filter']:'');
|
|
|
|
echo '<H1>Firma suchen</H1>';
|
|
echo '<form action="'.$_SERVER['PHP_SELF'].'?method=search" method="POST">';
|
|
echo '<input type="text" size="30" name="filter" value="'.$filter.'">';
|
|
echo ' <input type="submit" name="send" value="Suchen">';
|
|
echo '</form>';
|
|
|
|
if($filter!='')
|
|
{
|
|
$firma = new firma();
|
|
if($firma->searchFirma($filter))
|
|
{
|
|
echo '<br /><br />
|
|
<script type="text/javascript">
|
|
$(document).ready(function()
|
|
{
|
|
$("#myTable").tablesorter(
|
|
{
|
|
sortList: [[2,0]],
|
|
widgets: ["zebra"]
|
|
});
|
|
});
|
|
</script>
|
|
|
|
<table id="myTable" class="tablesorter">
|
|
<thead>
|
|
<tr>
|
|
<th> </th>
|
|
<th>ID</th>
|
|
<th>Name</th>
|
|
<th>Adresse</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>';
|
|
|
|
|
|
foreach($firma->result as $row)
|
|
{
|
|
echo '<tr>';
|
|
echo '<td><a href="firma.php?method=update&id='.$row->firma_id.'" title="Bearbeiten"> <img src="../skin/images/edit_wawi.gif"> </a></td>';
|
|
echo '<td>',$row->firma_id,'</td>';
|
|
echo '<td>',$row->name,'</td>';
|
|
echo '<td>',$row->strasse,' ',$row->plz,' ',$row->ort,'</td>';
|
|
echo '</tr>';
|
|
}
|
|
|
|
echo '</tbody></table>';
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
?>
|
|
</body>
|
|
</html>
|