mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 17:02:19 +00:00
This commit is contained in:
@@ -953,5 +953,48 @@ class benutzerberechtigung extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function getKostenstelleUser($kostenstelle_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct uid, a.art,
|
||||
CASE WHEN a.berechtigung_kurzbz is null
|
||||
THEN tbl_rolleberechtigung.berechtigung_kurzbz
|
||||
ELSE a.berechtigung_kurzbz END as berechtigung_kurzbz
|
||||
FROM
|
||||
(
|
||||
SELECT * FROM system.tbl_benutzerrolle WHERE kostenstelle_id='".addslashes($kostenstelle_id)."'
|
||||
UNION
|
||||
SELECT * FROM system.tbl_benutzerrolle WHERE
|
||||
oe_kurzbz = (SELECT oe_kurzbz FROM wawi.tbl_kostenstelle WHERE kostenstelle_id='".addslashes($kostenstelle_id)."')
|
||||
OR oe_kurzbz IN(
|
||||
WITH RECURSIVE oes(oe_parent_kurzbz) as
|
||||
(
|
||||
SELECT oe_parent_kurzbz FROM public.tbl_organisationseinheit
|
||||
WHERE oe_kurzbz=(SELECT oe_kurzbz FROM wawi.tbl_kostenstelle WHERE kostenstelle_id='".addslashes($kostenstelle_id)."')
|
||||
UNION ALL
|
||||
SELECT o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
|
||||
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz
|
||||
)
|
||||
SELECT oe_parent_kurzbz
|
||||
FROM oes)
|
||||
) as a
|
||||
LEFT JOIN system.tbl_rolleberechtigung USING(rolle_kurzbz)
|
||||
WHERE (start is null OR start<=now()) AND (ende is null OR ende>=now()) AND negativ=false";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new benutzerberechtigung();
|
||||
|
||||
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
|
||||
$obj->uid = $row->uid;
|
||||
$obj->art = $row->art;
|
||||
|
||||
$this->berechtigungen[] = $obj;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
+26
-5
@@ -360,15 +360,36 @@ class firma extends basis_db
|
||||
*/
|
||||
public function getAll($firma_search = null)
|
||||
{
|
||||
$qry = "SElECT * FROM public.tbl_firma";
|
||||
|
||||
if (!empty($firma_search))
|
||||
{
|
||||
$qry.= " WHERE ";
|
||||
$matchcode=mb_strtoupper(addslashes(str_replace(array('<','>',' ',';','*','_','-',',',"'",'"'),"%",$firma_search)));
|
||||
$qry.=" UPPER(trim(public.tbl_firma.name)) like '%".$matchcode."%'";
|
||||
$matchcode=mb_strtoupper(addslashes(str_replace(array('<','>',' ',';','*','_','-',',',"'",'"'),"%",$firma_search)));
|
||||
//Zuerst werden die Ergebnisse geliefert, die mit $filter_search beginnen
|
||||
//danach jene Ergebnisse bei denen $filter_search innerhalb des Namens vorkommt
|
||||
$qry = "
|
||||
|
||||
SELECT
|
||||
firma_id, name, anmerkung, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
|
||||
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort
|
||||
FROM public.tbl_firma
|
||||
WHERE
|
||||
UPPER(trim(public.tbl_firma.name)) like '".$matchcode."%'
|
||||
UNION
|
||||
SELECT
|
||||
firma_id, name, anmerkung, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
|
||||
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '2' as sort
|
||||
FROM public.tbl_firma
|
||||
WHERE
|
||||
UPPER(trim(public.tbl_firma.name)) like '%".$matchcode."%'
|
||||
AND UPPER(trim(public.tbl_firma.name)) NOT like '".$matchcode."%'
|
||||
ORDER BY sort, name, firma_id";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_firma ORDER BY name";
|
||||
}
|
||||
|
||||
$qry.= " ORDER BY NAME";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
|
||||
@@ -67,7 +67,11 @@ $menu=array
|
||||
'name'=>'Firma', 'link'=>'firma.php', 'target'=>'content','permissions'=>array('wawi/firma'),
|
||||
'FirmaNeu'=>array('name'=>'Neu', 'link'=>'firma.php?method=new', 'target'=>'content'),
|
||||
'FirmaSuchen'=>array('name'=>'Suchen', 'link'=>'firma.php', 'target'=>'content'),
|
||||
)
|
||||
),
|
||||
'Berechtigungen'=>array
|
||||
(
|
||||
'name'=>'Berechtigungen', 'link'=>'berechtigung.php', 'target'=>'content',
|
||||
),
|
||||
),
|
||||
'Berichte'=> array
|
||||
(
|
||||
|
||||
+105
-4
@@ -94,6 +94,10 @@ if(isset($_POST['save']))
|
||||
$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='';
|
||||
|
||||
@@ -141,6 +145,74 @@ if(isset($_POST['save']))
|
||||
|
||||
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();
|
||||
|
||||
@@ -314,6 +386,10 @@ if($method=='new' || $method=='update')
|
||||
$email_id='';
|
||||
$telefon_id='';
|
||||
$anmerkung='';
|
||||
$kundennummer_erhalter='';
|
||||
$kundennummer_erhalter_id='';
|
||||
$kundennummer_gmbh='';
|
||||
$kundennummer_gmbh_id='';
|
||||
|
||||
if($method=='new')
|
||||
echo '<h1>Neue Firma</h1>';
|
||||
@@ -333,6 +409,21 @@ if($method=='new' || $method=='update')
|
||||
$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);
|
||||
@@ -382,14 +473,16 @@ if($method=='new' || $method=='update')
|
||||
<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="50" value="'.$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="30" maxlength="256" value="'.$strasse.'"/></td>
|
||||
<td><input type="text" name="strasse" size="40" maxlength="256" value="'.$strasse.'"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Plz / Ort:</td>
|
||||
@@ -427,11 +520,19 @@ if($method=='new' || $method=='update')
|
||||
</tr>
|
||||
<tr>
|
||||
<td>E-Mail:</td>
|
||||
<td><input type="text" name="email" maxlength="128" value="'.$email.'"/></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="30" rows="3">'.$anmerkung.'</textarea></td>
|
||||
<td><textarea name="anmerkung" cols="50" rows="3">'.$anmerkung.'</textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
Reference in New Issue
Block a user