fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [17364] controller: filter on control types


From: sigurdne
Subject: [Fmsystem-commits] [17364] controller: filter on control types
Date: Fri, 24 Nov 2017 15:51:14 -0500 (EST)

Revision: 17364
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=17364
Author:   sigurdne
Date:     2017-11-24 15:51:14 -0500 (Fri, 24 Nov 2017)
Log Message:
-----------
controller: filter on control types

Modified Paths:
--------------
    trunk/controller/inc/class.socontrol.inc.php
    trunk/controller/inc/class.uicomponent.inc.php

Modified: trunk/controller/inc/class.socontrol.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol.inc.php        2017-11-24 15:55:38 UTC 
(rev 17363)
+++ trunk/controller/inc/class.socontrol.inc.php        2017-11-24 20:51:14 UTC 
(rev 17364)
@@ -782,11 +782,12 @@
                        return $this->db->next_record();
                }
 
-               public function get_assigned_control_components( $from_date, 
$to_date, $assigned_to = 0 )
+               public function get_assigned_control_components( $from_date, 
$to_date, $assigned_to = 0 , $control_id = 0)
                {
                        $assigned_to = (int)$assigned_to;
                        $location_id = (int)$location_id;
                        $component_id = (int)$component_id;
+                       $control_id = (int)$control_id;
 
                        $sql = "SELECT DISTINCT ccl.component_id, 
ccl.location_id";
                        $sql .= " FROM controller_control_component_list ccl , 
controller_control_serie cs";
@@ -798,6 +799,11 @@
 //                     $sql .= " OR (cs.start_date <= $to_date AND cs.end_date 
> $from_date ))";
                        $sql .= " AND cs.start_date <= $to_date";
 
+                       if($control_id)
+                       {
+                               $sql .= " AND ccl.control_id = {$control_id}";
+                       }
+
                        $this->db->query($sql, __LINE__, __FILE__);
                        $components = array();
 

Modified: trunk/controller/inc/class.uicomponent.inc.php
===================================================================
--- trunk/controller/inc/class.uicomponent.inc.php      2017-11-24 15:55:38 UTC 
(rev 17363)
+++ trunk/controller/inc/class.uicomponent.inc.php      2017-11-24 20:51:14 UTC 
(rev 17364)
@@ -318,6 +318,18 @@
                        {
                                $filter_component = 
phpgw::get_var('location_id', 'int') . '_' . phpgw::get_var('component_id', 
'int');
                        }
+
+                       $control_types = 
createObject('controller.socontrol')->get(0, 0, 'title', true, '', '', array());
+
+                       $control_types_arr = array(array('id'=>'', 'name' => 
lang('select')));
+                       foreach ($control_types as $control_type)
+                       {
+                               $control_types_arr[] = array(
+                                       'id'    => $control_type->get_id(),
+                                       'name'  => $control_type->get_title()
+                               );
+                       }
+       //              _debug_array($control_types_arr);
                        $data = array(
                                'datatable_name' =>  
phpgw::get_var('get_locations', 'bool') ? lang('status locations') : 
lang('status components'),
                                'form' => array(
@@ -337,6 +349,12 @@
                                                                'onchange' => 
'update_table();'
                                                        ),
                                                        array('type' => 
'filter',
+                                                               'name' => 
'control_id',
+                                                               'text' => 
lang('control types'),
+                                                               'list' => 
$control_types_arr,
+                                                               'onchange' => 
'update_table();'
+                                                       ),
+                                                       array('type' => 
'filter',
                                                                'name' => 
'entity_group_id',
                                                                'text' => 
lang('entity group'),
                                                                'list' => 
execMethod('property.bogeneric.get_list', array('type' => 'entity_group',
@@ -623,6 +641,7 @@
                {
                        $get_locations = $this->get_locations;
                        $entity_group_id = phpgw::get_var('entity_group_id', 
'int');
+                       $filter_control_id = phpgw::get_var('control_id', 
'int');
                        $location_id = phpgw::get_var('location_id', 'int');
                        $location_code = phpgw::get_var('location_code', 
'string');
                        $control_area = phpgw::get_var('control_area', 'int');
@@ -697,7 +716,7 @@
                                $all_items = false;
 
                                $keep_only_assigned_to = $user_id;
-                               $assigned_items = 
$so_control->get_assigned_control_components($from_date_ts, $to_date_ts, 
$assigned_to = $user_id);
+                               $assigned_items = 
$so_control->get_assigned_control_components($from_date_ts, $to_date_ts, 
$assigned_to = $user_id, $filter_control_id);
 
                                if(empty($get_locations))
                                {
@@ -706,6 +725,7 @@
                                                $_items = 
execMethod('property.soentity.read', array(
                                                        'filter_entity_group' 
=> $entity_group_id,
                                                        'location_id' => 
$_location_id,
+                                                       'control_id' => 
$filter_control_id,
                                                        'district_id' => 
$district_id,
                                                        'location_code' => 
$location_code,
                                                        'allrows' => true,
@@ -722,6 +742,7 @@
                                                $_items = 
execMethod('property.solocation.read', array(
                                                        'filter_entity_group' 
=> $entity_group_id,
                                                        'location_id' => 
$_location_id,
+                                                       'control_id' => 
$filter_control_id,
                                                        'district_id' => 
$district_id,
                                                        'location_code' => 
$location_code,
                                                        'allrows' => true,
@@ -765,6 +786,7 @@
                                                $_items = 
execMethod('property.soentity.read', array(
                                                        'filter_entity_group' 
=> $entity_group_id,
                                                        'location_id' => 
$_location_id,
+                                                       'control_id' => 
$filter_control_id,
                                                        'district_id' => 
$district_id,
                                                        'location_code' => 
$location_code,
                                                        'org_units' => 
$this->org_units,
@@ -801,6 +823,7 @@
                                                'entity_group_id' => 
$entity_group_id,
                                                'exclude_locations' => 
$exclude_locations,
                                                'location_id' => $_location_id,
+                                               'control_id' => 
$filter_control_id,
                                                'district_id' => $district_id,
                                                'location_code' => 
$location_code,
                                                'org_units' => $this->org_units,




reply via email to

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