From 547f89996f8e0d5e226baf3522eb4c6db2370f74 Mon Sep 17 00:00:00 2001 From: Rodrigo Pokemaobr Date: Tue, 24 May 2022 15:56:35 -0300 Subject: [PATCH] Removing Foreign Data from Twig Signed-off-by: Rodrigo Pokemaobr --- .../Controllers/Table/ZoomSearchController.php | 12 +++++++----- libraries/classes/Twig/RelationExtension.php | 4 ---- templates/table/zoom_search/result_form.twig | 3 +-- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/libraries/classes/Controllers/Table/ZoomSearchController.php b/libraries/classes/Controllers/Table/ZoomSearchController.php index 3fd4956c29..a0dd0eb553 100644 --- a/libraries/classes/Controllers/Table/ZoomSearchController.php +++ b/libraries/classes/Controllers/Table/ZoomSearchController.php @@ -371,10 +371,11 @@ class ZoomSearchController extends AbstractController $column_names_hashes = []; $foreignDropdown = []; $searchColumnInForeigners = []; + $foreignData = []; foreach ($this->columnNames as $columnIndex => $columnName) { $column_names_hashes[$columnName] = md5($columnName); - $foreignData = $this->relation->getForeignData($this->foreigners, $columnName, false, '', ''); + $foreignData[$columnIndex] = $this->relation->getForeignData($this->foreigners, $columnName, false, '', ''); $searchColumnInForeigners[$columnIndex] = $this->relation->searchColumnInForeigners( $this->foreigners, $columnName @@ -382,15 +383,15 @@ class ZoomSearchController extends AbstractController if ( ! $this->foreigners || ! $searchColumnInForeigners[$columnIndex] - || ! is_array($foreignData['disp_row']) + || ! is_array($foreignData[$columnIndex]['disp_row']) ) { continue; } $foreignDropdown[$columnIndex] = $this->relation->foreignDropdown( - $foreignData['disp_row'], - $foreignData['foreign_field'], - $foreignData['foreign_display'], + $foreignData[$columnIndex]['disp_row'], + (string) $foreignData[$columnIndex]['foreign_field'], + $foreignData[$columnIndex]['foreign_display'], '', $GLOBALS['cfg']['ForeignKeyMaxLimit'] ); @@ -410,6 +411,7 @@ class ZoomSearchController extends AbstractController 'zoom_submit' => isset($_POST['zoom_submit']), 'foreign_dropdown' => $foreignDropdown, 'search_columns_in_foreigners' => $searchColumnInForeigners, + 'foreign_data' => $foreignData, ]); } diff --git a/libraries/classes/Twig/RelationExtension.php b/libraries/classes/Twig/RelationExtension.php index 40ffa6f0a0..c14b4377ea 100644 --- a/libraries/classes/Twig/RelationExtension.php +++ b/libraries/classes/Twig/RelationExtension.php @@ -20,10 +20,6 @@ class RelationExtension extends AbstractExtension $relation = new Relation($GLOBALS['dbi']); return [ - new TwigFunction( - 'get_foreign_data', - [$relation, 'getForeignData'] - ), new TwigFunction( 'get_tables', [$relation, 'getTables'] diff --git a/templates/table/zoom_search/result_form.twig b/templates/table/zoom_search/result_form.twig index 738133568b..dd58e6c1b3 100644 --- a/templates/table/zoom_search/result_form.twig +++ b/templates/table/zoom_search/result_form.twig @@ -40,7 +40,6 @@ {% for column_index in 0..column_names|length - 1 %} {% set field_popup = column_names[column_index] %} - {% set foreign_data = get_foreign_data(foreigners, field_popup, false, '', '') %} {{ column_names[column_index] }} {# Null checkbox if column can be null #} @@ -59,7 +58,7 @@ 'foreigners': foreigners, 'column_name': field_popup, 'column_name_hash': column_name_hashes[field_popup], - 'foreign_data': foreign_data, + 'foreign_data': foreign_data[column_index], 'table': table, 'column_index': column_index, 'foreign_max_limit': foreign_max_limit,