refactoring and codesniff

This commit is contained in:
ma0068
2025-01-22 07:57:39 +01:00
parent 9c0baeacf2
commit 0d0071e8bf
7 changed files with 94 additions and 138 deletions
@@ -4,8 +4,6 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
class Vertragsverwaltung extends Auth_Controller
{
//TODO(Manu) Permissions
public function __construct()
{
$permissions = [];
@@ -24,7 +22,7 @@ class Vertragsverwaltung extends Auth_Controller
{
$this->load->view('Vertragsverwaltung', [
'permissions' => [
'vertragsverwaltung_schreibrechte' => $this->permissionlib->isBerechtigt('vertrag/mitarbeiter','suid')
'vertragsverwaltung_schreibrechte' => $this->permissionlib->isBerechtigt('vertrag/mitarbeiter', 'suid')
]
]);
}
@@ -34,11 +34,12 @@ class Config extends FHCAPI_Controller
]);
}
public function printDocument() {
public function printDocument()
{
$params = [];
Events::trigger('multiActionPrintHonorarvertrag',
Events::trigger(
'multiActionPrintHonorarvertrag',
// passing $menu per reference
function & () use (&$menu) {
return $menu;
@@ -48,5 +49,4 @@ class Config extends FHCAPI_Controller
$this->terminateWithSuccess($menu[0]);
}
}
@@ -670,17 +670,9 @@ class Vertraege extends FHCAPI_Controller
$result = $this->Mitarbeitermodel->getPersonAbteilung($person_id);
if (isError($result))
{
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
if (!hasData($result))
{
//TODO(Manu) rewrite better
return $this->terminateWithSuccess("no benutzerdata", self::ERROR_TYPE_GENERAL);
$data = $this->getDataOrTerminateWithError($result);
}
return $this->terminateWithSuccess(getData($result));
$this->terminateWithSuccess(current($data));
}
public function getLeitungOrg($oekurzbz)
@@ -689,18 +681,9 @@ class Vertraege extends FHCAPI_Controller
$result = $this->Mitarbeitermodel->getLeitungOrg($oekurzbz);
if (isError($result))
{
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
if (!hasData($result))
{
//TODO(Manu) rewrite better
return $this->terminateWithSuccess("no benutzerdata", self::ERROR_TYPE_GENERAL);
$data = $this->getDataOrTerminateWithError($result);
// return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id' => 'personID']), self::ERROR_TYPE_GENERAL);
}
return $this->terminateWithSuccess(getData($result));
$this->terminateWithSuccess(current($data));
}
public function getHeader($person_id)
@@ -709,38 +692,20 @@ class Vertraege extends FHCAPI_Controller
$result = $this->Mitarbeitermodel->getHeader($person_id);
if (isError($result))
{
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
if (!hasData($result))
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id' => 'personID']), self::ERROR_TYPE_GENERAL);
}
$data = $this->getDataOrTerminateWithError($result);
return $this->terminateWithSuccess(getData($result));
$this->terminateWithSuccess(current($data));
}
public function getMitarbeiter_uid($person_id)
public function getMitarbeiterUid($person_id)
{
$this->load->model('ressource/Mitarbeiter_model', 'Mitarbeitermodel');
$result = $this->Mitarbeitermodel->getMitarbeiter_uid($person_id);
if (isError($result))
{
//TODO(Manu) check ErrorLogic
return $this->terminateWithSuccess($result);
//return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
}
if (!hasData($result))
{
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id' => 'personID']), self::ERROR_TYPE_GENERAL);
}
$data = $this->getDataOrTerminateWithError($result);
return $this->terminateWithSuccess($result);
$this->terminateWithSuccess($data);
}
}
@@ -103,31 +103,32 @@ class Mitarbeiter_model extends DB_Model
*
* @return array
*/
public function getPersonenWithContractDetails($person_id=null)
public function getPersonenWithContractDetails($person_id = null)
{
$qry = "
SELECT
b.uid , p.person_id,
p.vorname, p.nachname,
TO_CHAR(gebdatum::timestamp, 'DD.MM.YYYY') AS format_gebdatum,
COALESCE(b.alias, b.uid) AS email,
STRING_AGG(DISTINCT va.bezeichnung, ', ') AS Vertragsarten,
STRING_AGG(DISTINCT u.bezeichnung, ', ') AS Unternehmen,
STRING_AGG(d.dienstverhaeltnis_id::TEXT, ', ') AS ids,
b.aktiv
-- CASE WHEN b.aktiv=true THEN 'aktiv'
-- ELSE 'nicht aktiv'
-- END as status //not working in header filter */
FROM
hr.tbl_dienstverhaeltnis d
JOIN
public.tbl_benutzer b ON d.mitarbeiter_uid = b.uid
JOIN
public.tbl_person p ON p.person_id = b.person_id
JOIN
public.tbl_organisationseinheit u ON d.oe_kurzbz = u.oe_kurzbz
JOIN
hr.tbl_vertragsart va ON d.vertragsart_kurzbz = va.vertragsart_kurzbz ";
SELECT
b.uid , p.person_id,
p.vorname, p.nachname,
TO_CHAR(gebdatum::timestamp, 'DD.MM.YYYY') AS format_gebdatum,
COALESCE(b.alias, b.uid) AS email,
STRING_AGG(DISTINCT va.bezeichnung, ', ') AS Vertragsarten,
STRING_AGG(DISTINCT u.bezeichnung, ', ') AS Unternehmen,
STRING_AGG(d.dienstverhaeltnis_id::TEXT, ', ') AS ids,
b.aktiv
-- CASE WHEN b.aktiv=true THEN 'aktiv'
-- ELSE 'nicht aktiv'
-- END as status //not working in header filter */
FROM
hr.tbl_dienstverhaeltnis d
JOIN
public.tbl_benutzer b ON d.mitarbeiter_uid = b.uid
JOIN
public.tbl_person p ON p.person_id = b.person_id
JOIN
public.tbl_organisationseinheit u ON d.oe_kurzbz = u.oe_kurzbz
JOIN
hr.tbl_vertragsart va ON d.vertragsart_kurzbz = va.vertragsart_kurzbz
";
if($person_id)
{
@@ -135,12 +136,11 @@ class Mitarbeiter_model extends DB_Model
}
$qry.= "
GROUP BY
b.uid, p.person_id, p.vorname, p.nachname, b.alias
ORDER BY
p.nachname, p.vorname; ";
GROUP BY
b.uid, p.person_id, p.vorname, p.nachname, b.alias
ORDER BY
p.nachname, p.vorname;
";
$params = array($person_id);
@@ -154,56 +154,47 @@ class Mitarbeiter_model extends DB_Model
*
* @return Array benutzerfunktionsdata
*/
function getPersonAbteilung($person_id)
public function getPersonAbteilung($person_id)
{
//TODO(Manu) use function getMitarbeiter_uid
$qry = "
SELECT tbl_benutzer.uid
FROM tbl_mitarbeiter
JOIN tbl_benutzer ON CAST(tbl_mitarbeiter.mitarbeiter_uid AS TEXT) = CAST(tbl_benutzer.uid AS TEXT)
JOIN tbl_person USING (person_id)
WHERE tbl_person.person_id = ?
";
$result = $this->execQuery($qry, [$person_id]);
$data = getData($result);
if (empty($data)) {
return null; // No UID found
}
$uid = isset($data[0]->uid) ? $data[0]->uid : null;
$uid = $this->getMitarbeiterUid($person_id);
if (!$uid) {
return null; // UID extraction failed
return null;
}
$qry = "
SELECT
bf.benutzerfunktion_id, bf.fachbereich_kurzbz, bf.uid, bf.funktion_kurzbz, bf.updateamum,
bf.updatevon, bf.insertamum, bf.insertvon, bf.ext_id, bf.semester, bf.oe_kurzbz,
bf.datum_von, bf.datum_bis, bf.bezeichnung, bf.wochenstunden,
oe.oe_kurzbz, oe.oe_parent_kurzbz, oe.bezeichnung,
oe.organisationseinheittyp_kurzbz, oe.aktiv, oe.mailverteiler,
oe.freigabegrenze, oe.kurzzeichen, oe.lehre, oe.standort,
oe.warn_semesterstunden_frei, oe.warn_semesterstunden_fix, oe.standort_id
FROM tbl_benutzerfunktion bf
JOIN public.tbl_organisationseinheit oe USING(oe_kurzbz)
WHERE uid = ?
AND funktion_kurzbz = 'oezuordnung'
AND datum_von <= NOW()
AND (datum_bis IS NULL OR datum_bis >= NOW())
";
$result = $this->execQuery($qry, [$uid]);
// Second Query
$qry2 = "
SELECT
bf.benutzerfunktion_id, bf.fachbereich_kurzbz, bf.uid, bf.funktion_kurzbz, bf.updateamum,
bf.updatevon, bf.insertamum, bf.insertvon, bf.ext_id, bf.semester, bf.oe_kurzbz,
bf.datum_von, bf.datum_bis, bf.bezeichnung, bf.wochenstunden,
oe.oe_kurzbz, oe.oe_parent_kurzbz, oe.bezeichnung,
oe.organisationseinheittyp_kurzbz, oe.aktiv, oe.mailverteiler,
oe.freigabegrenze, oe.kurzzeichen, oe.lehre, oe.standort,
oe.warn_semesterstunden_frei, oe.warn_semesterstunden_fix, oe.standort_id
FROM tbl_benutzerfunktion bf
JOIN public.tbl_organisationseinheit oe USING(oe_kurzbz)
WHERE uid = ?
AND funktion_kurzbz = 'oezuordnung'
AND datum_von <= NOW()
AND (datum_bis IS NULL OR datum_bis >= NOW())
";
$result2 = $this->execQuery($qry2, [$uid]);
return $result2;
return $result;
}
function getLeitungOrg($oe_kurzbz)
/**
* get Leitung / Vorgesetzten of current OE
*
* @param $oe_kurzbz
*
* @return Array persondata / benutzerfunktionsdata
*/
public function getLeitungOrg($oe_kurzbz)
{
$qry = "
SELECT bf.benutzerfunktion_id,bf.fachbereich_kurzbz,bf.uid,bf.funktion_kurzbz,bf.updateamum,bf.updatevon,bf.insertamum,bf.insertvon,bf.ext_id,bf.semester,bf.oe_kurzbz,bf.datum_von,bf.datum_bis,bf.bezeichnung,bf.wochenstunden,
p.person_id, p.vorname,p.nachname,p.titelpre,p.titelpost
SELECT bf.benutzerfunktion_id,bf.fachbereich_kurzbz,bf.uid,bf.funktion_kurzbz,
bf.updateamum,bf.updatevon,bf.insertamum,bf.insertvon,bf.ext_id,bf.semester,
bf.oe_kurzbz,bf.datum_von,bf.datum_bis,bf.bezeichnung,bf.wochenstunden,
p.person_id, p.vorname,p.nachname,p.titelpre,p.titelpost
FROM public.tbl_benutzerfunktion bf JOIN public.tbl_organisationseinheit oe USING(oe_kurzbz)
JOIN public.tbl_benutzer b USING (uid) JOIN public.tbl_mitarbeiter ma ON(b.uid=ma.mitarbeiter_uid)
JOIN public.tbl_person p USING(person_id)
@@ -214,7 +205,14 @@ class Mitarbeiter_model extends DB_Model
return $this->execQuery($qry, array($oe_kurzbz));
}
function getHeader($person_id)
/**
* get persondata for person_id
*
* @param $oe_kurzbz
*
* @return Array persondata
*/
public function getHeader($person_id)
{
$qry = "
SELECT
@@ -371,10 +369,8 @@ class Mitarbeiter_model extends DB_Model
return $this->execQuery($qry);
}
public function getMitarbeiter_uid($person_id){
//TODO(Manu) refactor function
//and use in function getPersonAbteilung
//check function in Vertraege.php
public function getMitarbeiterUid($person_id)
{
$qry = "
SELECT tbl_benutzer.uid
FROM tbl_mitarbeiter
@@ -388,10 +384,6 @@ class Mitarbeiter_model extends DB_Model
if (empty($data)) {
return null; // No UID found
}
//else
// $data = current($data);
// $uid = $data->uid;
$uid = isset($data[0]->uid) ? $data[0]->uid : null;
return $uid;
+1 -1
View File
@@ -62,7 +62,7 @@ export default {
getLeitungOrg(oekurzbz){
return this.$fhcApi.post('api/frontend/v1/vertraege/vertraege/getLeitungOrg/' + oekurzbz);
},
getMitarbeiter_uid(person_id){
getMitarbeiterUid(person_id){
return this.$fhcApi.get('api/frontend/v1/vertraege/vertraege/getMitarbeiter_uid/' + person_id);
},
@@ -52,7 +52,8 @@ export default {
return this.$fhcApi.factory.vertraege.person
.getHeader(person_id)
.then(result => {
this.headerData = result.data[0];
this.headerData = result.data;
})
.catch(this.$fhcAlert.handleSystemError);
},
@@ -60,7 +61,7 @@ export default {
return this.$fhcApi.factory.vertraege.person
.getPersonAbteilung(person_id)
.then(result => {
this.departmentData = result.data[0];
this.departmentData = result.data;
})
.catch(this.$fhcAlert.handleSystemError);
},
@@ -68,7 +69,7 @@ export default {
return this.$fhcApi.factory.vertraege.person
.getLeitungOrg(oekurzbz)
.then(result => {
this.leitungData = result.data[0];
this.leitungData = result.data;
})
.catch(this.$fhcAlert.handleSystemError);
}
+3 -3
View File
@@ -452,7 +452,7 @@ export default {
},
//methods for functionality ADDON KU
printContract(){
this.getMitarbeiter_uid().then(()=> {
this.getMitarbeiterUid().then(()=> {
//check if at least 2 contracts chosen
if(this.arraySelectedContracts.length < 2) {
this.$fhcAlert.alertError(this.$p.t('vertrag', 'alertMindestensZweiVertraege'));
@@ -478,9 +478,9 @@ export default {
window.open(linkToPdf, '_blank');
});
},
getMitarbeiter_uid(){
getMitarbeiterUid(){
return this.endpoint
.getMitarbeiter_uid(this.person_id)
.getMitarbeiterUid(this.person_id)
.then(response => {
this.ma_uid = response.data;
})