- Adressen zur Firmenverwaltung hinzugefügt

- Diverse Anpassungen am PreInteressenten Modul
This commit is contained in:
Andreas Österreicher
2008-12-19 12:51:56 +00:00
parent fa9bad789b
commit 1072a9ecf7
6 changed files with 371 additions and 84 deletions
+50 -1
View File
@@ -182,6 +182,55 @@ class adresse
}
return true;
}
// *************************************************************************
// * Laedt alle adressen zu der Firma die uebergeben wird
// * @param $firma_id ID der Firma zu der die Adressen geladen werden sollen
// * @return true wenn ok, false im Fehlerfall
// *************************************************************************
function load_firma($firma_id)
{
//Pruefen ob pers_id eine gueltige Zahl ist
if(!is_numeric($firma_id) || $firma_id == '')
{
$this->errormsg = 'firma_id muss eine gueltige Zahl sein';
return false;
}
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM public.tbl_adresse WHERE firma_id='$firma_id'";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
{
$adr_obj = new adresse($this->conn, null, null);
$adr_obj->adresse_id = $row->adresse_id;
$adr_obj->heimatadresse = ($row->heimatadresse=='t'?true:false);
$adr_obj->gemeinde = $row->gemeinde;
$adr_obj->name = $row->name;
$adr_obj->nation = $row->nation;
$adr_obj->ort = $row->ort;
$adr_obj->person_id = $row->person_id;
$adr_obj->plz = $row->plz;
$adr_obj->strasse = $row->strasse;
$adr_obj->typ = $row->typ;
$adr_obj->firma_id = $row->firma_id;
$adr_obj->updateamum = $row->updateamum;
$adr_obj->updatevon = $row->updatevon;
$adr_obj->insertamum = $row->insertamum;
$adr_obj->insertvon = $row->insertvon;
$adr_obj->zustelladresse = ($row->zustelladresse=='t'?true:false);
$this->result[] = $adr_obj;
}
return true;
}
// *******************************************
// * Prueft die Variablen auf Gueltigkeit
@@ -190,7 +239,7 @@ class adresse
function validate()
{
//Zahlenfelder pruefen
if(!is_numeric($this->person_id))
if(!is_numeric($this->person_id) && $this->person_id!='')
{
$this->errormsg='person_id enthaelt ungueltige Zeichen:'.$this->person_id.' - adresse: '.$this->adresse_id."\n";
return false;
Binary file not shown.

After

Width:  |  Height:  |  Size: 611 B

+9 -8
View File
@@ -365,9 +365,9 @@ $stsem = new studiensemester($conn);
$stsem->getNextStudiensemester('WS');
$studiensemester_kurzbz = (isset($_POST['studiensemester_kurzbz'])?$_POST['studiensemester_kurzbz']:$stsem->studiensemester_kurzbz);
if(isset($_POST['schule_id']) && $_POST['schule_id']!='')
if(isset($_REQUEST['schule_id']) && $_REQUEST['schule_id']!='')
{
$schule = $_POST['schule_id'];
$schule = $_REQUEST['schule_id'];
}
elseif(isset($_POST['schule']))
{
@@ -602,7 +602,7 @@ if(isset($_POST['save']))
window.opener.StudentProjektbetreuerMenulistPersonLoad(window.opener.document.getElementById('student-projektbetreuer-menulist-person'), '$nachname');
window.opener.MenulistSelectItemOnValue('student-projektbetreuer-menulist-person', $person->person_id);
</script>*/
die("<b>Person $vorname $nachname wurde erfolgreich angelegt</b><br><br><a href='preinteressent_anlegen.php'>Neuen Preinteressenten anlegen</a><br>");
die("<b>Person $vorname $nachname wurde erfolgreich angelegt</b><br><br><a href='preinteressent_anlegen.php?schule_id=".$schule."'>Neuen Preinteressenten anlegen</a><br>");
}
else
{
@@ -742,10 +742,11 @@ foreach ($stsem->studiensemester as $row)
echo "<option value='$row->studiensemester_kurzbz' $selected>$row->studiensemester_kurzbz</option>";
}
echo '</SELECT></td></tr>';
echo '<tr><td>Schule: </td><td><SELECT id="schuledd" name="schule">';
echo '<tr><td>Schule: </td><td><SELECT id="schuledd" name="schule" onchange="document.getElementById(\'schule_id\').value=this.value">';
echo "<option value=''>-- keine Auswahl --</option>";
$qry = "SELECT * FROM public.tbl_firma WHERE schule ORDER BY name";
$qry = "SELECT plz, ort, strasse, tbl_firma.name, firma_id
FROM public.tbl_firma LEFT JOIN public.tbl_adresse USING(firma_id)
WHERE schule ORDER BY plz, name";
//bei namen die laenger als 40 zeichen sind wird ein teil aus der mitte
//herausgeschnitten damit das DD nicht zu gross wird
function shortname($name)
@@ -767,11 +768,11 @@ if($result = pg_query($conn, $qry))
else
$selected='';
echo "<option value='$row->firma_id' title='$row->name' $selected>".shortname($row->name)." ( $row->firma_id )</option>";
echo "<option value='$row->firma_id' title='$row->name' $selected>$row->plz $row->ort - ".shortname($row->name)." ( $row->firma_id )</option>";
}
}
echo '</SELECT></td></tr>';
echo '</tr><td>Schule ID:</td><td><input type="text" size="3" name="schule_id" value="'.$schule.'" onkeyup="checkschulid(this.value)"></td></tr>';
echo '</tr><td>Schule ID:</td><td><input type="text" size="3" name="schule_id" id="schule_id" value="'.$schule.'" onkeyup="checkschulid(this.value)"></td></tr>';
echo '<tr><td></td><td>';
if(($vorname!='' && $geburtsdatum=='' && $nachname=='')
|| ($vorname=='' && $geburtsdatum=='' && $nachname!='')
+49 -12
View File
@@ -73,6 +73,27 @@ echo '<html>
<!--
var selection = "'.htmlentities($selection).'";
function checkschulid(schuleid)
{
if(schuleid!="")
{
dd = document.getElementById("firma")
//preufen ob die id im DD vorhanden ist
myoptions = dd.getElementsByTagName("option");
id="";
for(i=0;i<myoptions.length;i++)
{
node = myoptions[i];
if(node.value==schuleid)
id=schuleid;
}
document.getElementById("firma").value=id;
}
return true;
}
function changeTo(id)
{
selection=id;
@@ -697,6 +718,7 @@ echo '</tr><tr>';
$schule = new firma($conn);
if($preinteressent->firma_id!='')
$schule->load($preinteressent->firma_id);
/*
//SCHULTYP
echo "<td>Schultyp:</td><td> <SELECT name='schultyp' id='schultyp' onchange='reloadSchulen()'>";
echo "<option value=''>-- Alle --</option>";
@@ -711,23 +733,38 @@ foreach ($firmentyp->result as $row)
echo "<option value='$row->firmentyp_kurzbz' $selected>$row->beschreibung</option>";
}
echo "</SELECT></td>";
echo "</SELECT></td>";*/
echo '<td>Schule ID:</td><td><input type="text" size="3" name="schule_id" id="schule_id" value="'.$preinteressent->firma_id.'" onkeyup="checkschulid(this.value)"></td>';
//SCHULE
echo "<td>Schule:</td><td colspan='5'> <SELECT id='firma' name='firma'>";
$firma = new firma($conn);
$firma->getFirmen($schule->firmentyp_kurzbz);
echo "<td>Schule:</td><td colspan='5'> <SELECT id='firma' name='firma' onchange='document.getElementById(\"schule_id\").value=this.value'>";
$qry = "SELECT plz, ort, strasse, tbl_firma.name, firma_id
FROM public.tbl_firma LEFT JOIN public.tbl_adresse USING(firma_id)
WHERE schule ORDER BY plz, name";
echo "<option value='' >-- keine Angabe --</option>";
foreach ($firma->result as $row)
function shortname($name)
{
if($row->firma_id==$preinteressent->firma_id)
$selected='selected';
else
$selected='';
echo "<option value='$row->firma_id' $selected>$row->name</option>";
if(strlen($name)>40)
{
return substr($name, 0, 20).' ... '.substr($name, strlen($name)-20);
}
else
return $name;
}
echo "</SELECT> <a href='../stammdaten/firma_frameset.html' target='_blank'>Schulverwaltung</a></td>";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($row->firma_id==$preinteressent->firma_id)
$selected='selected';
else
$selected='';
echo "<option value='$row->firma_id' $selected>$row->plz $row->ort - ".shortname($row->name)." ($row->firma_id)</option>";
}
}
echo "</SELECT> <a href='../stammdaten/firma_frameset.html' target='_blank'><img src='../../skin/images/preferences-system.png' alt='Schulverwaltung' /></a></td>";
echo '</tr><tr>';
@@ -115,10 +115,16 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
else
return false;
}
function sorttable()
{
//Meister IE braucht ein Timeout sonst sortiert er nicht
window.setTimeout("Table.sort(document.getElementById(\'mytab\'),\'asc\')",10);
}
-->
</script>
</head>
<body class="Background_main" style="margin-top:0px; padding-top:0px;" onload="Table.sort(document.getElementById(\'mytab\'),\'asc\')">
<body class="Background_main" style="margin-top:0px; padding-top:0px;" onload="sorttable()" >
<div style="position: fixed; background-color: white; width: 99%; padding-top:5px;">
<h2>PreInteressenten</h2>
';
+256 -62
View File
@@ -18,16 +18,31 @@
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Detailansicht fuer die Firmenverwaltung
* Ermoeglicht die Eingabe der Firmendaten plus zugehoeriger Adressen
*/
require_once('../config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/firma.class.php');
require_once('../../include/adresse.class.php');
require_once('../../include/nation.class.php');
require_once('../../include/benutzerberechtigung.class.php');
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
// ******* INIT ********
$user = get_uid();
//Zugriffsrechte pruefen
$rechte = new benutzerberechtigung($conn);
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('preinteressent') && !$rechte->isBerechtigt('assistenz'))
die('Sie haben keine Berechtigung für diese Seite');
$htmlstr = '';
$errorstr = '';
$reloadstr = '';
@@ -42,7 +57,83 @@
$firmentyp_kurzbz = (isset($_POST['typ'])?$_POST['typ']:'');
$schule = isset($_POST['schule']);
// ******* SPEICHERN ********
$adresstyp = (isset($_POST['adresstyp'])?$_POST['adresstyp']:'');
$strasse = (isset($_POST['strasse'])?$_POST['strasse']:'');
$plz = (isset($_POST['plz'])?$_POST['plz']:'');
$ort = (isset($_POST['ort'])?$_POST['ort']:'');
$gemeinde = (isset($_POST['gemeinde'])?$_POST['gemeinde']:'');
$nation = (isset($_POST['nation'])?$_POST['nation']:'');
$heimatadresse = (isset($_POST['heimatadresse'])?true:false);
$zustelladresse = (isset($_POST['zustelladresse'])?true:false);
$zustellung = (isset($_POST['zustellung'])?true:false);
$adresse_id = (isset($_REQUEST['adresse_id'])?$_REQUEST['adresse_id']:'');
//Loeschen einer Adresse
if(isset($_GET['deleteadresse']))
{
if(is_numeric($adresse_id))
{
$adresse_obj = new adresse($conn);
if(!$adresse_obj->delete($adresse_id))
{
$errorstr = 'Fehler beim Loeschen der Adresse:'.$adresse_obj->errormsg;
}
}
}
//Speichern einer Adresse
if(isset($_POST['saveadresse']))
{
$adresse_obj = new adresse($conn);
if(is_numeric($adresse_id))
{
if($adresse_obj->load($adresse_id))
{
$adresse_obj->new = false;
}
else
{
$errorstr = 'Adresse wurde nicht gefunden:'.$adresse_id;
$error=true;
}
}
else
{
$adresse_obj->new = true;
$adresse_obj->insertamum = date('Y-m-d H:i:s');
$adresse_obj->insertvon = $user;
}
if(!$error)
{
$adresse_obj->person_id=null;
$adresse_obj->strasse = $strasse;
$adresse_obj->plz = $plz;
$adresse_obj->ort = $ort;
$adresse_obj->gemeinde = $gemeinde;
$adresse_obj->nation = $nation;
$adresse_obj->typ = $adresstyp;
$adresse_obj->heimatadresse = $heimatadresse;
$adresse_obj->zustelladresse = $zustelladresse;
$adresse_obj->firma_id = $firma_id;
$adresse_obj->updateamum = date('Y-m-d H:i:s');
$adresse_obj->updatvon = $user;
//var_dump($adresse_obj);
if(!$adresse_obj->save())
{
$errorstr = 'Fehler beim Speichern der Adresse:'.$adresse_obj->errormsg;
}
else
{
$errorstr = 'Daten wurden gespeichert';
}
}
}
// Speichern der Firmendaten
if(isset($_POST['save']))
{
$firma = new firma($conn);
@@ -92,67 +183,7 @@
}
}
// ******* FORMULAR **********
$firma = new firma($conn);
if($firma_id!='')
{
if (!$firma->load($firma_id))
{
$htmlstr .= "<br><div class='kopf'>Firma mit der ID <b>".$firma_id."</b> existiert nicht</div>";
}
}
else
{
//Bei neuen Firmen wird standardmaessig Partnerfirma ausgewaehlt
$firma->firmentyp_kurzbz='Partnerfirma';
}
$htmlstr .= "<form action='firma_details.php' method='POST' name='firma'>\n";
$htmlstr .= "<input type='hidden' name='firma_id' value='".$firma->firma_id."'>\n";
$htmlstr .= "<br><div class='kopf'>Firma</div>\n";
$htmlstr .= "<table class='detail' style='padding-top:10px;'>\n";
$htmlstr .= "<tr></tr>\n";
$htmlstr .= " <tr>\n";
$htmlstr .= " <td>Name: </td>";
$htmlstr .= " <td colspan='3'><input type='text' name='name' value='".htmlentities($firma->name)."' size='80' maxlength='128' /></td>\n";
$htmlstr .= " <td>Typ: </td>";
$htmlstr .= " <td><select name='typ'>\n";
$qry = "SELECT firmentyp_kurzbz FROM public.tbl_firmentyp ORDER BY firmentyp_kurzbz";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if ($firma->firmentyp_kurzbz == $row->firmentyp_kurzbz)
$sel = " selected";
else
$sel = "";
$htmlstr .= " <option value='".$row->firmentyp_kurzbz."' ".$sel.">".$row->firmentyp_kurzbz."</option>";
}
}
$htmlstr .= " </select></td></tr><tr>\n";
$htmlstr .= " <td>EMail: </td>";
$htmlstr .= " <td><input type='text' name='email' value='".htmlentities($firma->email)."' maxlength='128' /></td>\n";
$htmlstr .= " <td>Telefon: </td>";
$htmlstr .= " <td><input type='text' name='telefon' value='".htmlentities($firma->telefon)."' maxlength='32' /></td>\n";
$htmlstr .= " <td>Fax: </td>";
$htmlstr .= " <td><input type='text' name='fax' value='".htmlentities($firma->fax)."' maxlength='32' /></td>\n";
$htmlstr .= "</tr><tr valign='top'>";
$htmlstr .= " <td>Adresse: </td>";
$htmlstr .= " <td><input type='text' name='adresse' value='".htmlentities($firma->adresse)."' maxlength='256'></td>\n";
$htmlstr .= " <td>Anmerkung: </td>";
$htmlstr .= " <td><textarea name='anmerkung'/>".htmlentities($firma->anmerkung)."</textarea></td>\n";
$htmlstr .= " <td>Schule: </td>";
$htmlstr .= " <td><input type='checkbox' name='schule' ".($firma->schule?'checked':'')."<br><input type='submit' name='save' value='speichern'></td>";
$htmlstr .= " </tr></table>\n";
$htmlstr .= "</form>\n";
$htmlstr .= "<div class='inserterror'>".$errorstr."</div>\n";
?>
@@ -177,7 +208,170 @@ function confdel()
<body style="background-color:#eeeeee;">
<?php
echo $htmlstr;
//Formular fuer die Firmendaten
$firma = new firma($conn);
if($firma_id!='')
{
if (!$firma->load($firma_id))
{
die('<br>Firma mit der ID <b>'.$firma_id.'</b> existiert nicht');
}
}
else
{
//Bei neuen Firmen wird standardmaessig Partnerfirma ausgewaehlt
$firma->firmentyp_kurzbz='Partnerfirma';
}
echo "<form action='firma_details.php' method='POST' name='firma'>\n";
echo "<input type='hidden' name='firma_id' value='".$firma->firma_id."'>\n";
echo "<table class='detail' style='padding-top:10px;'>\n";
echo "<tr></tr>\n";
echo " <tr>\n";
echo " <td>Name: </td>";
echo " <td colspan='3'><input type='text' name='name' value='".htmlentities($firma->name)."' size='80' maxlength='128' /></td>\n";
echo " <td>Typ: </td>";
echo " <td><select name='typ'>\n";
$qry = "SELECT firmentyp_kurzbz FROM public.tbl_firmentyp ORDER BY firmentyp_kurzbz";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if ($firma->firmentyp_kurzbz == $row->firmentyp_kurzbz)
$sel = " selected";
else
$sel = "";
echo " <option value='".$row->firmentyp_kurzbz."' ".$sel.">".$row->firmentyp_kurzbz."</option>";
}
}
echo " </select></td></tr><tr>\n";
echo " <td>EMail: </td>";
echo " <td><input type='text' name='email' value='".htmlentities($firma->email)."' size='40' maxlength='128' /></td>\n";
echo " <td>Telefon: </td>";
echo " <td><input type='text' name='telefon' value='".htmlentities($firma->telefon)."' maxlength='32' /></td>\n";
echo " <td>Fax: </td>";
echo " <td><input type='text' name='fax' value='".htmlentities($firma->fax)."' maxlength='32' /></td>\n";
echo " <td>Adresse (alt): </td>";
echo " <td><input type='text' name='adresse' value='".htmlentities($firma->adresse)."' maxlength='256'></td>\n";
echo "</tr><tr valign='top'>";
echo " <td>Anmerkung: </td>";
echo " <td colspan='5'><textarea style='width:100%' name='anmerkung'/>".htmlentities($firma->anmerkung)."</textarea></td>\n";
echo " <td>Schule: </td>";
echo " <td><input type='checkbox' name='schule' ".($firma->schule?'checked':'')."<br><input type='submit' name='save' value='speichern'></td>";
echo " </tr></table>\n";
echo "</form>\n";
echo "<div class='inserterror'>".$errorstr."</div>\n";
//Nationen laden
$nation_arr = array();
$nation = new nation($conn);
$nation->getAll();
foreach($nation->nation as $row)
$nation_arr[$row->code]=$row->kurztext;
$adresstyp_arr = array('h'=>'Hauptwohnsitz','n'=>'Nebenwohnsitz','f'=>'Firma',''=>'');
// Formular fuer die Adressdaten
echo "<h3>Adressen:</h3>";
echo "<form action='".$_SERVER['PHP_SELF']."?firma_id=$firma_id' method='POST' />";
echo "<table class='liste'><tr><th>STRASSE</th><th>PLZ</th><th>ORT</th><th>GEMEINDE</th><th>NATION</th><th>TYP</th><th>HEIMAT</th><th>ZUSTELLUNG</th></tr>";
$adresse_obj = new adresse($conn);
$adresse_obj->load_firma($firma_id);
//Anzeigen aller Adresssen
foreach ($adresse_obj->result as $row)
{
echo '<tr class="liste1">';
echo "<td>$row->strasse</td>";
echo "<td>$row->plz</td>";
echo "<td>$row->ort</td>";
echo "<td>$row->gemeinde</td>";
echo "<td>".$nation_arr[$row->nation]."</td>";
echo "<td>".$adresstyp_arr[$row->typ]."</td>";
echo "<td>".($row->heimatadresse?'Ja':'Nein')."</td>";
echo "<td>".($row->zustelladresse?'Ja':'Nein')."</td>";
echo "<td><a href='".$_SERVER['PHP_SELF']."?editadresse=true&adresse_id=$row->adresse_id&firma_id=$firma_id'>bearbeiten</a></td>";
echo "<td><a href='".$_SERVER['PHP_SELF']."?deleteadresse=true&adresse_id=$row->adresse_id&firma_id=$firma_id' onclick='return confdel()'>loeschen</a></td>";
}
$savebuttonvalue='Neu';
//wenn die Adressen editiert werden dann die Adressdaten laden
if(isset($_GET['editadresse']))
{
$adresse_obj = new adresse($conn);
if($adresse_obj->load($adresse_id))
{
$strasse = $adresse_obj->strasse;
$plz = $adresse_obj->plz;
$ort = $adresse_obj->ort;
$gemeinde = $adresse_obj->gemeinde;
$nation = $adresse_obj->nation;
$typ = $adresse_obj->typ;
$heimatadresse = $adresse_obj->heimatadresse;
$zustelladresse = $adresse_obj->zustelladresse;
$firma_id = $adresse_obj->firma_id;
$savebuttonvalue='Speichern';
}
}
else
{
//bei einer neuen Adresse die Felder leeren
$strasse='';
$plz='';
$ort='';
$gemeinde='';
$nation = 'A';
$typ='';
$heimatadresse='';
$zustelladresse='';
$adresse_id='';
}
echo "<input type='hidden' name='adresse_id' value='".$adresse_id."' />";
echo '<tr class="liste1">';
echo "<td><input type='text' name='strasse' value='".htmlentities($strasse)."' /></td>";
echo "<td><input type='text' name='plz' size='4' value='".htmlentities($plz)."' /></td>";
echo "<td><input type='text' name='ort' value='".htmlentities($ort)."' /></td>";
echo "<td><input type='text' name='gemeinde' value='".htmlentities($gemeinde)."' /></td>";
echo "<td><SELECT name='nation'>";
foreach ($nation_arr as $code=>$kurzbz)
{
if($code==$nation)
$selected='selected';
else
$selected='';
echo "<OPTION value='$code' $selected>$kurzbz</OPTION>";
}
echo "</SELECT></td>";
echo "<td><SELECT name='adresstyp'>";
foreach($adresstyp_arr as $code=>$kurzbz)
{
if($code==$typ)
$selected='selected';
else
$selected='';
echo "<OPTION value='$code' $selected>$kurzbz</OPTION>";
}
echo "</SELECT></td>";
echo "<td><input type='checkbox' name='heimatadresse' ".($heimatadresse?'checked':'')." /></td>";
echo "<td><input type='checkbox' name='zustelladresse' ".($zustelladresse?'checked':'')." /></td>";
echo "<td><input type='submit' name='saveadresse' value='$savebuttonvalue' /></td>";
echo "</table>";
echo "</form>";
//eventuell die Felder im oeffnenden Fenster aktualisieren
echo $reloadstr;
?>