[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [11578] controller: add filter to controller list
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [11578] controller: add filter to controller list |
Date: |
Sun, 29 Dec 2013 18:08:03 +0000 |
Revision: 11578
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11578
Author: sigurdne
Date: 2013-12-29 18:08:02 +0000 (Sun, 29 Dec 2013)
Log Message:
-----------
controller: add filter to controller list
Modified Paths:
--------------
trunk/controller/inc/class.socontrol.inc.php
trunk/controller/inc/class.uicontrol.inc.php
trunk/phpgwapi/inc/common_functions.inc.php
Modified: trunk/controller/inc/class.socontrol.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol.inc.php 2013-12-27 12:24:37 UTC
(rev 11577)
+++ trunk/controller/inc/class.socontrol.inc.php 2013-12-29 18:08:02 UTC
(rev 11578)
@@ -964,6 +964,43 @@
$filter_clauses[] =
"controller_control.responsibility_id =
{$this->marshal($filters['responsibilities'],'int')}";
}
+ if($filters['district_id'])
+ {
+ $sql = "SELECT DISTINCT control_id"
+ . " FROM controller_control_location_list
{$this->join} fm_locations ON controller_control_location_list.location_code =
fm_locations.location_code"
+ . " {$this->join} fm_location1 ON
fm_locations.loc1 = fm_location1.loc1"
+ . " {$this->join} fm_part_of_town ON
fm_location1.part_of_town_id = fm_part_of_town.part_of_town_id"
+ . " WHERE district_id =" .
(int)$filters['district_id'];
+
+ $db = & $GLOBALS['phpgw']->db;
+ $db->query($sql, __LINE__, __FILE__);
+
+ $control_at_district = array();
+ while ($db->next_record())
+ {
+ $control_at_district[] =
$db->f('control_id');
+ }
+
+ $sql = "SELECT DISTINCT control_id"
+ . " FROM controller_control_component_list
{$this->join} fm_bim_item ON controller_control_component_list.location_id =
fm_bim_item.location_id AND controller_control_component_list.component_id =
fm_bim_item.id"
+ . " {$this->join} fm_location1 ON
fm_bim_item.loc1 = fm_location1.loc1"
+ . " {$this->join} fm_part_of_town ON
fm_location1.part_of_town_id = fm_part_of_town.part_of_town_id"
+ . " WHERE district_id =" .
(int)$filters['district_id'];
+
+ $db->query($sql, __LINE__, __FILE__);
+
+ while ($db->next_record())
+ {
+ $control_at_district[] =
$db->f('control_id');
+ }
+
+ if($control_at_district)
+ {
+ $filter_clauses[] =
"controller_control.id IN (" . implode(',',
array_unique($control_at_district)) .')';
+ }
+
+ }
+
if(count($filter_clauses))
{
$clauses[] = join(' AND ', $filter_clauses);
Modified: trunk/controller/inc/class.uicontrol.inc.php
===================================================================
--- trunk/controller/inc/class.uicontrol.inc.php 2013-12-27 12:24:37 UTC
(rev 11577)
+++ trunk/controller/inc/class.uicontrol.inc.php 2013-12-29 18:08:02 UTC
(rev 11578)
@@ -67,18 +67,18 @@
public $public_functions = array
(
- 'index'
=> true,
- 'control_list'
=> true,
- 'view'
=> true,
- 'view_control_details'
=> true,
- 'save_control_details'
=> true,
- 'view_control_groups'
=> true,
- 'save_control_groups'
=> true,
- 'view_control_items'
=> true,
- 'save_control_items'
=> true,
- 'view_check_list'
=> true,
+ 'index'
=> true,
+ 'control_list' =>
true,
+ 'view'
=> true,
+ 'view_control_details' => true,
+ 'save_control_details' => true,
+ 'view_control_groups' => true,
+ 'save_control_groups' => true,
+ 'view_control_items' => true,
+ 'save_control_items' => true,
+ 'view_check_list' =>
true,
'get_controls_by_control_area' => true,
- 'get_control_details' =>
true
+ 'get_control_details' => true
);
public function __construct()
@@ -144,10 +144,10 @@
$control_areas =
$cats->formatted_xslt_list(array('format'=>'filter','selected' =>
$control_area_id,'globals' => true,'use_acl' => $this->_category_acl));
array_unshift($control_areas['cat_list'],array
('cat_id'=>'','name'=> lang('select value')));
- $control_areas_array2 = array();
+ $control_areas_array = array();
foreach($control_areas['cat_list'] as $cat_list)
{
- $control_areas_array2[] = array
+ $control_areas_array[] = array
(
'id' => $cat_list['cat_id'],
'name' => $cat_list['name'],
@@ -155,6 +155,13 @@
}
// END categories
+ // start district
+ $property_bocommon =
CreateObject('property.bocommon');
+ $district_list =
$property_bocommon->select_district_list('dummy',$this->district_id);
+ array_unshift ($district_list,array
('id'=>'','name'=>lang('no district')));
+ // end district
+
+
$data = array(
'datatable_name' =>
'Kontroller',//lang('controls'),
'form' => array(
@@ -190,13 +197,18 @@
array('type' =>
'filter',
'name' =>
'control_areas',
'text' =>
lang('Control_area'),
- 'list' =>
$control_areas_array2,
+ 'list' =>
$control_areas_array,
),
array('type' =>
'filter',
'name' =>
'responsibilities',
'text' => lang('Responsibility'),
'list' => $this->so->get_roles(),
),
+ array('type' =>
'filter',
+ 'name' =>
'district_id',
+ 'text' => lang('district'),
+ 'list' => $district_list,
+ ),
array('type' => 'text',
'text' => lang('searchfield'),
'name' =>
'query'
@@ -227,7 +239,7 @@
array(
'key' => 'title',
'label' =>
lang('Control title'),
- 'sortable' =>
false,
+ 'sortable' =>
true,
'formatter' => 'YAHOO.portico.formatLink'
),
array(
@@ -855,6 +867,8 @@
{
$filters['responsibilities'] = $responsibility;
}
+
+ $filters['district_id'] = phpgw::get_var('district_id',
'int', 'REQUEST', null);
$search_for = phpgw::get_var('query');
@@ -862,7 +876,8 @@
{
$user_rows_per_page =
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
}
- else {
+ else
+ {
$user_rows_per_page = 10;
}
Modified: trunk/phpgwapi/inc/common_functions.inc.php
===================================================================
--- trunk/phpgwapi/inc/common_functions.inc.php 2013-12-27 12:24:37 UTC (rev
11577)
+++ trunk/phpgwapi/inc/common_functions.inc.php 2013-12-29 18:08:02 UTC (rev
11578)
@@ -402,9 +402,9 @@
*/
function _debug_array($array,$print=True)
{
- if( phpgw::get_var('phpgw_return_as') == 'json' )
+ if( phpgw::get_var('phpgw_return_as') == 'json' )
{
- $bt = debug_backtrace();
+ $bt = debug_backtrace();
if($array && !is_array($array))
{
$array = array($array);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [11578] controller: add filter to controller list,
Sigurd Nes <=