fmsystem-commits
[Top][All Lists]
Advanced

[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);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]