diff --git a/application/controllers/system/TestFilterWidget.php b/application/controllers/system/TestFilterWidget.php
index 1984ddb15..45c5d36bf 100644
--- a/application/controllers/system/TestFilterWidget.php
+++ b/application/controllers/system/TestFilterWidget.php
@@ -28,14 +28,14 @@ class TestFilterWidget extends VileSci_Controller
p.vorname AS "Vorname",
k.kontakt AS "Email",
p.aktiv AS "Aktiv",
- k.updateamum AS "Update date"
+ k.updateamum AS "UpdateDate"
FROM public.tbl_person p INNER JOIN public.tbl_kontakt k USING(person_id)
WHERE p.aktiv = TRUE
AND p.person_id = k.person_id
AND k.kontakttyp = \'email\'
AND p.person_id < 1000
',
- 'hideFilters' => true,
+ 'hideHeader' => false,
'checkboxes' => array('PersonId'),
'additionalColumns' => array('Delete', 'Edit'),
'formatRaw' => function($fieldName, $fieldValue, $datasetRaw) {
diff --git a/application/widgets/FilterWidget.php b/application/widgets/FilterWidget.php
index 3a5e93247..56b83304b 100644
--- a/application/widgets/FilterWidget.php
+++ b/application/widgets/FilterWidget.php
@@ -14,6 +14,7 @@ class FilterWidget extends Widget
const ADDITIONAL_COLUMNS = 'additionalColumns';
const FORMAT_RAW = 'formatRaw';
const CHECKBOXES = 'checkboxes';
+ const HIDE_HEADER = 'hideHeader';
const DATASET_PARAMETER = 'dataset';
const METADATA_PARAMETER = 'metaData';
@@ -29,8 +30,10 @@ class FilterWidget extends Widget
const SELECTED_FIELDS = 'selectedFields';
const SELECTED_FILTERS = 'selectedFilters';
const ACTIVE_FILTERS = 'activeFilters';
+ const ACTIVE_FILTERS_OPTION = 'activeFiltersOption';
const ACTIVE_FILTERS_OPERATION = 'activeFiltersOperation';
+ const ACTIVE_FILTER_OPTION_POSTFIX = '-option';
const ACTIVE_FILTER_OPERATION_POSTFIX = '-operation';
const CMD_ADD_FILTER = 'addFilter';
@@ -41,13 +44,16 @@ class FilterWidget extends Widget
const OP_EQUAL = 'equal';
const OP_NOT_EQUAL = 'nequal';
const OP_GREATER_THAN = 'gt';
- const OP_LESS_THAN = 'ld';
+ const OP_LESS_THAN = 'lt';
const OP_IS_TRUE = 'true';
const OP_IS_FALSE = 'false';
const OP_CONTAINS = 'contains';
const OP_NOT_CONTAINS = 'ncontains';
- const DEFAULT_DATE_FORMAT = 'd.m.Y H:i:s';
+ const OPT_DAYS = 'days';
+ const OPT_MONTHS = 'months';
+
+ const DEFAULT_DATE_FORMAT = 'Y.m.d H:i:s';
private $app;
private $query;
@@ -58,7 +64,9 @@ class FilterWidget extends Widget
private $formatRaw;
private $checkboxes;
+ private $dataset;
private $metaData;
+ private $listFields;
private static $FilterWidgetInstance;
@@ -94,16 +102,16 @@ class FilterWidget extends Widget
$this->FiltersModel->resetQuery();
//
- $dataset = @$this->FiltersModel->execReadOnlyQuery($this->_generateQuery());
+ $this->dataset = @$this->FiltersModel->execReadOnlyQuery($this->_generateQuery());
//
- $listFields = $this->FiltersModel->getExecutedQueryListFields();
+ $this->listFields = $this->FiltersModel->getExecutedQueryListFields();
//
$this->metaData = $this->FiltersModel->getExecutedQueryMetaData();
//
- $this->loadViewFilters($listFields, $this->metaData, $dataset);
+ $this->loadViewFilters();
}
/**
@@ -133,30 +141,31 @@ class FilterWidget extends Widget
/**
*
*/
- public static function loadViewTableDataset($dataset)
+ public static function loadViewSelectFields()
{
- self::_loadView(
- self::WIDGET_URL_TABLE_DATASET,
- array(
- self::DATASET_PARAMETER => $dataset
- )
- );
+ if (self::$FilterWidgetInstance->hideHeader != true)
+ {
+ self::_loadView(self::WIDGET_URL_SELECT_FIELDS, array(self::LIST_FIELDS_PARAMETER => self::$FilterWidgetInstance->listFields));
+ }
}
/**
*
*/
- public static function loadViewSelectFilters($metaData)
+ public static function loadViewSelectFilters()
{
- self::_loadView(self::WIDGET_URL_SELECT_FILTERS, array(self::METADATA_PARAMETER => $metaData));
+ if (self::$FilterWidgetInstance->hideHeader != true)
+ {
+ self::_loadView(self::WIDGET_URL_SELECT_FILTERS, array(self::METADATA_PARAMETER => self::$FilterWidgetInstance->metaData));
+ }
}
/**
*
*/
- public static function loadViewSelectFields($listFields)
+ public static function loadViewTableDataset()
{
- self::_loadView(self::WIDGET_URL_SELECT_FIELDS, array(self::LIST_FIELDS_PARAMETER => $listFields));
+ self::_loadView(self::WIDGET_URL_TABLE_DATASET, array(self::DATASET_PARAMETER => self::$FilterWidgetInstance->dataset));
}
/**
@@ -186,6 +195,7 @@ class FilterWidget extends Widget
$html = '';
$activeFilterValue = self::_getActiveFilterValue($filterMetaData->name);
$activeFilterOperationValue = self::_getActiveFilterOperationValue($filterMetaData->name);
+ $activeFilterOptionValue = self::_getActiveFilterOptionValue($filterMetaData->name);
if ($filterMetaData->type == 'int4')
{
@@ -242,14 +252,14 @@ class FilterWidget extends Widget
-