[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [11385] controller: bugfix
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [11385] controller: bugfix |
Date: |
Tue, 22 Oct 2013 10:52:48 +0000 |
Revision: 11385
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11385
Author: sigurdne
Date: 2013-10-22 10:52:47 +0000 (Tue, 22 Oct 2013)
Log Message:
-----------
controller: bugfix
Modified Paths:
--------------
trunk/controller/inc/class.hook_helper.inc.php
trunk/controller/inc/class.socontrol.inc.php
Modified: trunk/controller/inc/class.hook_helper.inc.php
===================================================================
--- trunk/controller/inc/class.hook_helper.inc.php 2013-10-21 10:19:49 UTC
(rev 11384)
+++ trunk/controller/inc/class.hook_helper.inc.php 2013-10-22 10:52:47 UTC
(rev 11385)
@@ -67,6 +67,7 @@
$location_array = array();
$component_short_desc = array();
+ $component_short_desc[0][0] = '';
$so_check_list =
CreateObject('controller.socheck_list');
$so_control = CreateObject('controller.socontrol');
@@ -195,7 +196,6 @@
}
$my_planned_controls = array();
-
// Generates an array with planned controls
foreach($my_controls as $container_arr)
{
@@ -268,8 +268,12 @@
{
foreach($planned_controls_on_date as
$my_planned_control)
{
+
$deadline_ts = $my_planned_control[0];
$my_control = $my_planned_control[1];
+
+ $location_id =
isset($my_control['location_id']) && $my_control['location_id'] ?
$my_control['location_id'] : 0;
+ $component_id =
isset($my_control['component_id']) && $my_control['component_id'] ?
$my_control['component_id'] : 0;
$control_area_name =
$this->get_control_area_name( $my_control["control_area_id"] );
@@ -279,11 +283,13 @@
$check_list_id = $my_planned_control[2];
$location_code = $my_planned_control[4];
-
if(!isset($location_array[$location_code]) || !$location_array[$location_code])
+ $location_name =
$this->get_location_name($location_code);
+
+ if($component_id)
{
- $location_array[$location_code]
= execMethod('property.bolocation.read_single', array('location_code' =>
$location_code));
+ $short_descr =
$this->get_short_description($location_id, $component_id);
+ $location_name .=
"::{$short_descr}";
}
- $location_name =
$location_array[$location_code]["loc1_name"];
$link = "";
// $link =
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'controller.uicheck_list.edit_check_list', 'check_list_id' => $check_list_id));
@@ -388,16 +394,18 @@
//Add assigned
$my_check_lists =
$this->get_my_assigned_check_list($from_date_ts, $to_date_ts, $repeat_type,
true);
+/*??
$_assigned_list = array();
foreach ($my_check_lists as $_key => $my_check_list)
{
$_assigned_list[$my_check_list['location_code']][$_key] = $my_check_list;
}
-
+*/
foreach ($my_check_lists as $_key => $my_check_list)
{
$my_undone_controls[$my_check_list['deadline']][] = array("edit",
$my_check_list['deadline'], $my_check_list, $_key,
$my_check_list['location_code'] );
}
+//_debug_array($my_undone_controls);
ksort($my_undone_controls);
@@ -440,12 +448,9 @@
if($check_list_type ==
"location")
{
$location_code =
$my_undone_control[4];
-
if(!isset($location_array[$location_code]) || !$location_array[$location_code])
- {
-
$location_array[$location_code] = execMethod('property.bolocation.read_single',
array('location_code' => $location_code));
- }
- $location_name =
$location_array[$location_code]["loc1_name"];
+ $location_name =
$this->get_location_name($location_code);
+
if(count(
$controls_on_date) > 1 )
{
$link = "";
@@ -467,42 +472,41 @@
$location_id =
$my_undone_control[4];
$component_id =
$my_undone_control[5];
-
if(!isset($component_short_desc[$location_id][$component_id]))
- {
-
$component_short_desc[$location_id][$component_id] =
execMethod('property.soentity.get_short_description', array('location_id' =>
$location_id, 'id' => $component_id));
- }
-
-
if($component_short_desc[$location_id][$component_id])
- {
- $short_desc_arr
= $component_short_desc[$location_id][$component_id];
- }
-
+ $short_descr =
$this->get_short_description($location_id, $component_id);
if(count(
$controls_on_date) > 1 )
{
$link = "";
$link =
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'controller.uicheck_list.add_check_list', 'type' => "component", 'control_id'
=> $my_control['id'], 'location_id' => $location_id, 'component_id' =>
$component_id, 'deadline_ts' => $deadline_ts));
-
$my_undone_controls_HTML .= "<li><a href='{$link}'><div
class='date'>{$date_str}</div><div
class='control'>{$my_control['title']}</div><div
class='title'>{$short_desc_arr}</div><div
class='control-area'>{$control_area_name}</div></a></li>";
+
$my_undone_controls_HTML .= "<li><a href='{$link}'><div
class='date'>{$date_str}</div><div
class='control'>{$my_control['title']}</div><div
class='title'>{$short_descr}</div><div
class='control-area'>{$control_area_name}</div></a></li>";
}
else
{
$link = "";
$link =
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'controller.uicheck_list.add_check_list', 'type' => "component", 'control_id'
=> $my_control['id'], 'location_id' => $location_id, 'component_id' =>
$component_id, 'deadline_ts' => $deadline_ts));
-
$my_undone_controls_HTML .= "<a href='{$link}'><div
class='date'>{$date_str}</div><div
class='control'>{$my_control['title']}</div><div
class='title'>{$short_desc_arr}</div><div
class='control-area'>{$control_area_name}</div></a>";
+
$my_undone_controls_HTML .= "<a href='{$link}'><div
class='date'>{$date_str}</div><div
class='control'>{$my_control['title']}</div><div
class='title'>{$short_descr}</div><div
class='control-area'>{$control_area_name}</div></a>";
}
}
}
else if($check_list_status == "edit")
{
+
+ $location_id =
isset($my_control['location_id']) && $my_control['location_id'] ?
$my_control['location_id'] : 0;
+ $component_id =
isset($my_control['component_id']) && $my_control['component_id'] ?
$my_control['component_id'] : 0;
+
+
$check_list_id =
$my_undone_control[3];
$location_code =
$my_undone_control[4];
-
if(!isset($location_array[$location_code]) || !$location_array[$location_code])
+ $location_name =
$this->get_location_name($location_code);
+
+ if($component_id)
{
-
$location_array[$location_code] = execMethod('property.bolocation.read_single',
array('location_code' => $location_code));
+ $short_descr =
$this->get_short_description($location_id, $component_id);
+
+ $location_name .=
"::{$short_descr}";
}
- $location_name =
$location_array[$location_code]["loc1_name"];
if(count( $controls_on_date) >
1 )
{
@@ -668,11 +672,7 @@
{
$location_code =
$my_assigned_control[4];
-
if(!isset($location_array[$location_code]) || !$location_array[$location_code])
- {
-
$location_array[$location_code] = execMethod('property.bolocation.read_single',
array('location_code' => $location_code));
- }
- $location_name =
$location_array[$location_code]["loc1_name"];
+ $location_name =
$this->get_location_name($location_code);
$link = "";
$link =
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'controller.uicheck_list.add_check_list', 'type' => "location", 'control_id' =>
$my_control['id'], 'location_code' => $location_code, 'deadline_ts' =>
$deadline_ts));
@@ -683,21 +683,13 @@
{
$location_id =
$my_assigned_control[4];
$component_id =
$my_assigned_control[5];
+
+ $short_descr =
$this->get_short_description($location_id, $component_id);
-
if(!isset($component_short_desc[$location_id][$component_id]))
- {
-
$component_short_desc[$location_id][$component_id] =
execMethod('property.soentity.get_short_description', array('location_id' =>
$location_id, 'id' => $component_id));
- }
-
-
if($component_short_desc[$location_id][$component_id])
- {
- $short_desc_arr
= $component_short_desc[$location_id][$component_id];
- }
-
$link = "";
$link =
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'controller.uicheck_list.add_check_list', 'type' => "component", 'control_id'
=> $my_control['id'], 'location_id' => $location_id, 'component_id' =>
$component_id, 'deadline_ts' => $deadline_ts));
-
$my_assigned_controls_HTML .= "<li><a href='$link'><div
class='date'>{$date_str}</div><div
class='control'>{$my_control['title']}</div><div
class='title'>{$short_desc_arr}</div><div
class='control-area'>{$control_area_name}</div></a></li>";
+
$my_assigned_controls_HTML .= "<li><a href='$link'><div
class='date'>{$date_str}</div><div
class='control'>{$my_control['title']}</div><div
class='title'>{$short_descr}</div><div
class='control-area'>{$control_area_name}</div></a></li>";
}
}
else if($check_list_status == "edit")
@@ -705,11 +697,7 @@
$check_list_id =
$my_assigned_control[3];
$location_code =
$my_assigned_control[4];
-
if(!isset($location_array[$location_code]) || !$location_array[$location_code])
- {
-
$location_array[$location_code] = execMethod('property.bolocation.read_single',
array('location_code' => $location_code));
- }
- $location_name =
$location_array[$location_code]["loc1_name"];
+ $location_name =
$this->get_location_name($location_code);
$link = "";
$link =
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'controller.uicheck_list.edit_check_list', 'check_list_id' => $check_list_id));
@@ -826,4 +814,40 @@
return $control_area_name;
}
+
+ function get_location_name($location_code)
+ {
+ static $location_array = array();
+ if(!isset($location_array[$location_code]) ||
!$location_array[$location_code])
+ {
+ $_location_info =
execMethod('property.bolocation.read_single', array
+ (
+ 'location_code' =>
$location_code,
+ 'extra' =>
array('noattrib' => true)
+ )
+ );
+
+ $_loc_name_arr = array();
+ for ($i=1; $i < count(explode('-',
$location_code)) +1;$i++)
+ {
+ $_loc_name_arr[] =
$_location_info["loc{$i}_name"];
+ }
+
+ $location_array[$location_code] = implode(' |
',$_loc_name_arr);
+ }
+
+ return $location_array[$location_code];
+ }
+
+ function get_short_description($location_id, $component_id)
+ {
+ static $component_short_desc = array();
+
+
if(!isset($component_short_desc[$location_id][$component_id]))
+ {
+
$component_short_desc[$location_id][$component_id] =
execMethod('property.soentity.get_short_description', array('location_id' =>
$location_id, 'id' => $component_id));
+ }
+
+ return
$component_short_desc[$location_id][$component_id];
+ }
}
Modified: trunk/controller/inc/class.socontrol.inc.php
===================================================================
--- trunk/controller/inc/class.socontrol.inc.php 2013-10-21 10:19:49 UTC
(rev 11384)
+++ trunk/controller/inc/class.socontrol.inc.php 2013-10-22 10:52:47 UTC
(rev 11385)
@@ -206,15 +206,14 @@
$sql = "SELECT DISTINCT
controller_check_list.location_code, controller_check_list.control_id,
controller_check_list.id AS check_list_id,"
- . "
procedure_id,requirement_id,costresponsibility_id,
controller_control.description, start_date, end_date, deadline,planned_date,
completed_date,"
- . " control_area_id,
repeat_type,repeat_interval, title,"
- . " bim_item.guid,bim_item.type as
component_type, bim_item.id as component_id, bim_item.address,"
- . " bim_item.loc1"
+ . " controller_control.description, start_date,
end_date, deadline,planned_date, completed_date,"
+ . "
control_area_id,controller_check_list.location_id,title,controller_check_list.component_id"
. " FROM controller_check_list"
. " {$this->join} controller_control ON
controller_check_list.control_id = controller_control.id"
- . " {$this->join}
controller_control_component_list ON
controller_control_component_list.control_id = controller_control.id"
- . " {$this->join} fm_bim_item bim_item ON
controller_control_component_list.component_id = bim_item.id"
- . " {$this->join} fm_bim_type bim_type ON
controller_control_component_list.location_id = bim_type.location_id"
+ . " {$this->join}
controller_control_component_list "
+ . " ON
(controller_control_component_list.control_id =
controller_check_list.control_id"
+ . " AND
controller_control_component_list.location_id =
controller_check_list.location_id"
+ . " AND
controller_control_component_list.component_id =
controller_check_list.component_id)"
. " WHERE assigned_to = {$user_id}";
if( $repeat_type )
@@ -227,10 +226,9 @@
$sql .= " AND
controller_check_list.completed_date IS NULL ";
}
- $sql .= " AND ((controller_control.start_date <=
$to_date AND controller_control.end_date IS NULL) ";
- $sql .= " OR (controller_control.start_date <= $to_date
AND controller_control.end_date > $from_date ))";
- $sql .= " ORDER BY bim_item.id ";
-
+ $sql .= " AND ((deadline <= $to_date AND
controller_control.end_date IS NULL) ";
+ $sql .= " OR (deadline <= $to_date AND deadline >
$from_date ))";
+
$this->db->query($sql);
$check_list_array = array();
@@ -239,6 +237,8 @@
{
$check_list = new
controller_check_list($this->unmarshal($this->db->f('check_list_id'), 'int'));
$check_list->set_control_id($this->unmarshal($this->db->f('control_id'),
'int'));
+
$check_list->set_location_id($this->unmarshal($this->db->f('location_id'),
'int'));
+
$check_list->set_component_id($this->unmarshal($this->db->f('component_id'),
'int'));
$check_list->set_title($this->unmarshal($this->db->f('title', true), 'string'));
$check_list->set_description($this->unmarshal($this->db->f('description',
true), 'string'));
$check_list->set_start_date($this->unmarshal($this->db->f('start_date'),
'int'));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [11385] controller: bugfix,
Sigurd Nes <=