diff --git a/application/libraries/SearchBarLib.php b/application/libraries/SearchBarLib.php index b725f6e90..60f22f51a 100755 --- a/application/libraries/SearchBarLib.php +++ b/application/libraries/SearchBarLib.php @@ -454,6 +454,71 @@ EOSC; */ private function _raum($searchstr, $type) { + $dbModel = new DB_Model(); + + $rooms = $dbModel->execReadOnlyQuery(' + SELECT + \''.$type.'\' AS type, + COALESCE(ort.ort_kurzbz, \'N/A\') as ort_kurzbz, + COALESCE(ort.gebteil, \'N/A\') as building, + COALESCE(ort.ausstattung, \'N/A\') as austattung, + COALESCE(CAST(ort.stockwerk AS VARCHAR), \'N/A\') as floor, + COALESCE(CAST(ort.dislozierung AS VARCHAR), \'N/A\') as room_number, + COALESCE(CAST(ort.content_id AS VARCHAR), \'N/A\') as content_id, + + CASE + WHEN standort.plz IS NULL OR standort.ort IS NULL THEN + CASE + WHEN standort.strasse IS NULL THEN + CASE + WHEN ort.stockwerk IS NULL THEN \'N/A\' + ELSE CONCAT(ort.stockwerk,\' Stockwerk\') + END + ELSE + CASE + WHEN ort.stockwerk IS NULL THEN standort.strasse + ELSE CONCAT(standort.strasse,\' / \',ort.stockwerk,\' Stockwerk\') + END + END + ELSE + CASE + WHEN standort.strasse IS NULL THEN + CASE + WHEN ort.stockwerk IS NULL THEN CONCAT(standort.plz,\' \',standort.ort) + ELSE CONCAT(standort.plz,\' \',standort.ort,\' / \',ort.stockwerk,\' Stockwerk\') + END + ELSE + CASE + WHEN ort.stockwerk IS NULL THEN CONCAT(standort.plz,\' \',standort.ort,\' / \',standort.strasse) + ELSE CONCAT(standort.plz,\' \',standort.ort,\', \',standort.strasse,\' / \',ort.stockwerk,\' Stockwerk\') + END + END + END as standort, + + + CASE + WHEN ort.max_person IS NULL OR ort.arbeitsplaetze IS NULL THEN \'N/A\' + ELSE CONCAT(ort.max_person,\', davon \',ort.arbeitsplaetze,\' PC-Plätze\') + END as sitzplaetze + + FROM public.tbl_ort as ort + LEFT JOIN ( + select ort,standort_id,strasse, plz + FROM public.tbl_standort + LEFT JOIN public.tbl_adresse USING(adresse_id) + ) standort USING(standort_id) + WHERE LOWER(ort.ort_kurzbz) like LOWER(\'%'. $searchstr . '%\') ' + + ); + + // If something has been found + if (hasData($rooms)) + { + // Returns the dataset + return getData($rooms); + } + + // Otherwise return an empty array return array(); } } diff --git a/public/js/components/Cis/Menu.js b/public/js/components/Cis/Menu.js index 99023032d..a183509d7 100755 --- a/public/js/components/Cis/Menu.js +++ b/public/js/components/Cis/Menu.js @@ -55,4 +55,4 @@ export default { ` -}; \ No newline at end of file +}; diff --git a/public/js/components/searchbar/raum.js b/public/js/components/searchbar/raum.js index 887820d6c..69e303ed4 100755 --- a/public/js/components/searchbar/raum.js +++ b/public/js/components/searchbar/raum.js @@ -7,10 +7,18 @@ export default { action: action, actions: actions }, + created(){ + //! this should be the default action for a raum + /*this.actions.defaultaction = { + type: "link", + action: function(data) { + return FHC_JS_DATA_STORAGE_OBJECT.app_root+'cms/content.php?content_id='+data.content_id; + } + }; */ + }, emits: [ 'actionexecuted' ], - template: ` + template: /*html*/`