diff --git a/application/views/widgets/filter/selectFields.php b/application/views/widgets/filter/selectFields.php index 8bc988125..729cfedc4 100644 --- a/application/views/widgets/filter/selectFields.php +++ b/application/views/widgets/filter/selectFields.php @@ -1,12 +1,23 @@
- + @@ -23,8 +34,14 @@ for ($listFieldsCounter = 0; $listFieldsCounter < count($listFields); $listFieldsCounter++) { $listField = $listFields[$listFieldsCounter]; + $listFieldAlias = $listField; + + if ($columnsAliases != null) + { + $listFieldAlias = $columnsAliases[$listFieldsCounter]; + } ?> - + diff --git a/application/views/widgets/filter/selectFilters.php b/application/views/widgets/filter/selectFilters.php index 9a4aa0ffd..bb6de317f 100644 --- a/application/views/widgets/filter/selectFilters.php +++ b/application/views/widgets/filter/selectFilters.php @@ -1,17 +1,29 @@
name; + + if ($columnsAliases != null) + { + $indx = array_search($selectedFilter, $listFields); + if ($indx !== false) + { + $selectedFieldAlias = $columnsAliases[$indx]; + } + } + ?>
- name; ?> + @@ -37,8 +49,14 @@ for ($listFieldsCounter = 0; $listFieldsCounter < count($listFields); $listFieldsCounter++) { $field = $listFields[$listFieldsCounter]; + $listFieldAlias = $field; + + if ($columnsAliases != null) + { + $listFieldAlias = $columnsAliases[$listFieldsCounter]; + } ?> - + diff --git a/application/views/widgets/filter/tableDataset.php b/application/views/widgets/filter/tableDataset.php index 160345692..b8de42803 100644 --- a/application/views/widgets/filter/tableDataset.php +++ b/application/views/widgets/filter/tableDataset.php @@ -4,6 +4,7 @@ $selectedFields = FilterWidget::getSelectedFields(); $additionalColumns = FilterWidget::getAdditionalColumns(); $checkboxes = FilterWidget::getCheckboxes(); + $columnsAliases = FilterWidget::getColumnsAliases(); ?>
@@ -21,8 +22,19 @@ for ($selectedFieldsCounter = 0; $selectedFieldsCounter < count($selectedFields); $selectedFieldsCounter++) { $selectedField = $selectedFields[$selectedFieldsCounter]; + $selectedFieldAlias = $selectedField; + + if ($columnsAliases != null) + { + $indx = array_search($selectedField, $listFields); + if ($indx !== false) + { + $selectedFieldAlias = $columnsAliases[$indx]; + } + } + ?> - + diff --git a/application/widgets/FilterWidget.php b/application/widgets/FilterWidget.php index bfd59e894..cb1b58581 100644 --- a/application/widgets/FilterWidget.php +++ b/application/widgets/FilterWidget.php @@ -16,6 +16,7 @@ class FilterWidget extends Widget const CHECKBOXES = 'checkboxes'; const HIDE_HEADER = 'hideHeader'; const HIDE_SAVE = 'hideSave'; + const COLUMNS_ALIASES = 'columnsAliases'; const DATASET_PARAMETER = 'dataset'; const METADATA_PARAMETER = 'metaData'; @@ -67,6 +68,7 @@ class FilterWidget extends Widget private $additionalColumns; private $formatRaw; private $checkboxes; + private $columnsAliases; private $dataset; private $metaData; @@ -171,6 +173,14 @@ class FilterWidget extends Widget return self::_getFromSession(self::ADDITIONAL_COLUMNS); } + /** + * + */ + public static function getColumnsAliases() + { + return self::_getFromSession(self::COLUMNS_ALIASES); + } + /** * */ @@ -178,7 +188,12 @@ class FilterWidget extends Widget { if (self::$FilterWidgetInstance->hideHeader != true) { - self::_loadView(self::WIDGET_URL_SELECT_FIELDS, array(self::LIST_FIELDS_PARAMETER => self::$FilterWidgetInstance->listFields)); + self::_loadView( + self::WIDGET_URL_SELECT_FIELDS, + array( + self::LIST_FIELDS_PARAMETER => self::$FilterWidgetInstance->listFields + ) + ); } } @@ -189,7 +204,13 @@ class FilterWidget extends Widget { if (self::$FilterWidgetInstance->hideHeader != true) { - self::_loadView(self::WIDGET_URL_SELECT_FILTERS, array(self::METADATA_PARAMETER => self::$FilterWidgetInstance->metaData)); + self::_loadView( + self::WIDGET_URL_SELECT_FILTERS, + array( + self::LIST_FIELDS_PARAMETER => self::$FilterWidgetInstance->listFields, + self::METADATA_PARAMETER => self::$FilterWidgetInstance->metaData + ) + ); } } @@ -209,7 +230,13 @@ class FilterWidget extends Widget */ public static function loadViewTableDataset() { - self::_loadView(self::WIDGET_URL_TABLE_DATASET, array(self::DATASET_PARAMETER => self::$FilterWidgetInstance->dataset)); + self::_loadView( + self::WIDGET_URL_TABLE_DATASET, + array( + self::LIST_FIELDS_PARAMETER => self::$FilterWidgetInstance->listFields, + self::DATASET_PARAMETER => self::$FilterWidgetInstance->dataset + ) + ); } /** @@ -510,6 +537,11 @@ class FilterWidget extends Widget $filterSessionArray[self::FILTER_ID] = -1; } + if (!isset($filterSessionArray[self::COLUMNS_ALIASES])) + { + $filterSessionArray[self::COLUMNS_ALIASES] = array(); + } + $this->session->set_userdata(self::SESSION_NAME, $filterSessionArray); } @@ -528,6 +560,7 @@ class FilterWidget extends Widget $this->checkboxes = null; $this->hideHeader = false; $this->hideSave = false; + $this->columnsAliases = null; if (!is_array($args) || (is_array($args) && count($args) == 0)) { @@ -604,6 +637,13 @@ class FilterWidget extends Widget { $this->hideSave = $args[self::HIDE_SAVE]; } + + if (isset($args[self::COLUMNS_ALIASES]) + && is_array($args[self::COLUMNS_ALIASES]) + && count($args[self::COLUMNS_ALIASES]) > 0) + { + $this->columnsAliases = $args[self::COLUMNS_ALIASES]; + } } } @@ -967,7 +1007,8 @@ class FilterWidget extends Widget $filterSessionArray = array( self::SELECTED_FIELDS => $this->_getSelectedFieldsFromPost(), self::SELECTED_FILTERS => $this->_getSelectedFiltersFromPost(), - self::ADDITIONAL_COLUMNS => $this->additionalColumns + self::ADDITIONAL_COLUMNS => $this->additionalColumns, + self::COLUMNS_ALIASES => $this->columnsAliases ); $filterSessionArray[self::ACTIVE_FILTERS] = array();