From dfa5b0386d8d57f8c6e9fa7afcdf28f414d15c58 Mon Sep 17 00:00:00 2001 From: paolo Date: Tue, 14 Jun 2016 15:23:08 +0200 Subject: [PATCH] - Added method getOnlyKontakt to controller Kontakt --- application/models/crm/Akte_model.php | 77 ++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 2 deletions(-) diff --git a/application/models/crm/Akte_model.php b/application/models/crm/Akte_model.php index c844de435..b679c161b 100644 --- a/application/models/crm/Akte_model.php +++ b/application/models/crm/Akte_model.php @@ -1,7 +1,7 @@ dbTable = 'public.tbl_akte'; $this->pk = 'akte_id'; } -} + + /** + * + */ + public function getAkten($person_id, $dokument_kurzbz = null, $stg_kz = null, $prestudent_id = null) + { + // Checks if the operation is permitted by the API caller + if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_akte'], 's')) + return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_akte'], FHC_MODEL_ERROR); + + if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_dokument'], 's')) + return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_dokument'], FHC_MODEL_ERROR); + + if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_dokumentstudiengang'], 's')) + return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_dokumentstudiengang'], FHC_MODEL_ERROR); + + if (! $this->fhc_db_acl->isBerechtigt($this->acl['public.tbl_dokumentprestudent'], 's')) + return $this->_error(lang('fhc_'.FHC_NORIGHT).' -> '.$this->acl['public.tbl_dokumentprestudent'], FHC_MODEL_ERROR); + + $query = 'SELECT akte_id, + person_id, + dokument_kurzbz, + mimetype, + erstelltam, + gedruckt, + titel_intern, + anmerkung_intern, + titel, bezeichnung, + updateamum, + insertamum, + updatevon, + insertvon, + uid, + dms_id, + anmerkung, + nachgereicht, + CASE WHEN inhalt is not null THEN true ELSE false END as inhalt_vorhanden + FROM public.tbl_akte + WHERE person_id = ?'; + + $parametersArray = array($person_id); + + if (!is_null($dokument_kurzbz)) + { + $query .= ' AND dokument_kurzbz = ?'; + array_push($parametersArray, $dokument_kurzbz); + } + + if (!is_null($stg_kz) && !is_null($prestudent_id)) + { + $query .= ' AND dokument_kurzbz NOT IN ( + SELECT dokument_kurzbz + FROM public.tbl_dokument JOIN public.tbl_dokumentstudiengang USING (dokument_kurzbz) + WHERE studiengang_kz = ? + ) + AND dokument_kurzbz NOT IN (\'Zeugnis\') + AND dokument_kurzbz NOT IN ( + SELECT dokument_kurzbz + FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING (dokument_kurzbz) + WHERE prestudent_id = ? + )'; + array_push($parametersArray, $stg_kz, $prestudent_id); + } + + $query .= ' ORDER BY erstelltam'; + + $result = $this->db->query($query, $parametersArray); + + if (is_object($result)) + return $this->_success($result->result()); + else + return $this->_error($this->db->error(), FHC_DB_ERROR); + } +} \ No newline at end of file