From d5585c3104a135b823c6092c1b39ad29bbbadbe2 Mon Sep 17 00:00:00 2001 From: Rodrigo Pokemaobr Date: Tue, 24 May 2022 15:05:37 -0300 Subject: [PATCH] Removing search columns in foreigners from twig Signed-off-by: Rodrigo Pokemaobr --- libraries/classes/Controllers/Table/SearchController.php | 8 +++++++- .../classes/Controllers/Table/ZoomSearchController.php | 8 +++++++- libraries/classes/Twig/RelationExtension.php | 4 ---- templates/table/search/input_box.twig | 2 +- templates/table/zoom_search/result_form.twig | 3 ++- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/libraries/classes/Controllers/Table/SearchController.php b/libraries/classes/Controllers/Table/SearchController.php index bb36c3c7d8..db316574a4 100644 --- a/libraries/classes/Controllers/Table/SearchController.php +++ b/libraries/classes/Controllers/Table/SearchController.php @@ -374,9 +374,14 @@ class SearchController extends AbstractController $foreignDropdown = ''; + $searchColumnInForeigners = $this->relation->searchColumnInForeigners( + $this->foreigners, + $this->columnNames[$column_index] + ); + if ( $this->foreigners - && $this->relation->searchColumnInForeigners($this->foreigners, $this->columnNames[$column_index]) + && $searchColumnInForeigners && is_array($foreignData['disp_row']) ) { $foreignDropdown = $this->relation->foreignDropdown( @@ -405,6 +410,7 @@ class SearchController extends AbstractController 'db' => $GLOBALS['db'], 'in_fbs' => true, 'foreign_dropdown' => $foreignDropdown, + 'search_column_in_foreigners' => $searchColumnInForeigners, ]); return [ diff --git a/libraries/classes/Controllers/Table/ZoomSearchController.php b/libraries/classes/Controllers/Table/ZoomSearchController.php index 7c26f4f5f3..3fd4956c29 100644 --- a/libraries/classes/Controllers/Table/ZoomSearchController.php +++ b/libraries/classes/Controllers/Table/ZoomSearchController.php @@ -370,13 +370,18 @@ class ZoomSearchController extends AbstractController $column_names_hashes = []; $foreignDropdown = []; + $searchColumnInForeigners = []; foreach ($this->columnNames as $columnIndex => $columnName) { $column_names_hashes[$columnName] = md5($columnName); $foreignData = $this->relation->getForeignData($this->foreigners, $columnName, false, '', ''); + $searchColumnInForeigners[$columnIndex] = $this->relation->searchColumnInForeigners( + $this->foreigners, + $columnName + ); if ( ! $this->foreigners - || ! $this->relation->searchColumnInForeigners($this->foreigners, $columnName) + || ! $searchColumnInForeigners[$columnIndex] || ! is_array($foreignData['disp_row']) ) { continue; @@ -404,6 +409,7 @@ class ZoomSearchController extends AbstractController 'data_json' => json_encode($data), 'zoom_submit' => isset($_POST['zoom_submit']), 'foreign_dropdown' => $foreignDropdown, + 'search_columns_in_foreigners' => $searchColumnInForeigners, ]); } diff --git a/libraries/classes/Twig/RelationExtension.php b/libraries/classes/Twig/RelationExtension.php index 2ad18b2359..40ffa6f0a0 100644 --- a/libraries/classes/Twig/RelationExtension.php +++ b/libraries/classes/Twig/RelationExtension.php @@ -28,10 +28,6 @@ class RelationExtension extends AbstractExtension 'get_tables', [$relation, 'getTables'] ), - new TwigFunction( - 'search_column_in_foreigners', - [$relation, 'searchColumnInForeigners'] - ), ]; } } diff --git a/templates/table/search/input_box.twig b/templates/table/search/input_box.twig index f3c0bd8797..ca30bc2b8d 100644 --- a/templates/table/search/input_box.twig +++ b/templates/table/search/input_box.twig @@ -1,5 +1,5 @@ {# Get inputbox based on different column types (Foreign key, geometrical, enum) #} -{% if foreigners and search_column_in_foreigners(foreigners, column_name) %} +{% if foreigners and search_column_in_foreigners %} {% if foreign_data['disp_row'] is iterable %}