mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-26 16:48:49 +01:00
* ProjectManager/InfoLog: visualisation if InfoLog has a parent or sub-entries (up-arrow or right-arrow like in InfoLog)
This commit is contained in:
parent
f40c008dd8
commit
aa58708ffd
@ -1363,27 +1363,40 @@ class infolog_bo
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returm InfoLog (custom) status icons for projectmanager
|
* Returm InfoLog (custom) information for projectmanager: status icon, type icon, css class
|
||||||
*
|
*
|
||||||
* @param array $args array with id's in $args['infolog']
|
* @param array $args array with id's in $args['infolog']
|
||||||
* @return array with id => icon pairs
|
* @return array with id => array with values for keys 'status', 'icon', 'class'
|
||||||
*/
|
*/
|
||||||
function pm_icons($args)
|
function pm_icons($args)
|
||||||
{
|
{
|
||||||
if (isset($args['infolog']) && count($args['infolog']))
|
if (isset($args['infolog']) && count($args['infolog']))
|
||||||
{
|
{
|
||||||
$icons = $this->so->get_status($args['infolog']);
|
$query = array(
|
||||||
foreach ((array) $icons as $id => $status)
|
'col_filter' => array('info_id' => $args['infolog']),
|
||||||
|
'subs' => true,
|
||||||
|
'cols' => 'info_id,info_type,info_status,info_percent,info_id_parent',
|
||||||
|
);
|
||||||
|
$ids = $infos = array();
|
||||||
|
foreach($this->search($query) as $row)
|
||||||
{
|
{
|
||||||
if ($status && substr($status,-1) != '%')
|
$infos[$row['info_id']] = array(
|
||||||
|
'status' => $row['info_type'] != 'phone' && $row['info_status'] == 'ongoing' ?
|
||||||
|
$row['info_percent'].'%' : 'infolog/'.$this->status[$row['info_type']][$row['info_status']],
|
||||||
|
'class' => $row['info_id_parent'] ? 'rowHasParent' : null,
|
||||||
|
);
|
||||||
|
if (common::image('infolog', $icon=$row['info_type'].'_element') ||
|
||||||
|
common::image('infolog', $icon=$row['info_type']))
|
||||||
{
|
{
|
||||||
list($type,$status) = explode('-', $status);
|
$infos[$row['info_id']]['icon'] = 'infolog/'.$icon;
|
||||||
$status = $this->status[$type][$status];
|
|
||||||
$icons[$id] = 'infolog/'.$status;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
foreach($this->anzSubs(array_keys($infos)) as $info_id => $subs)
|
||||||
|
{
|
||||||
|
if ($subs) $infos[$info_id]['class'] .= ' rowHasSubs';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $icons;
|
return $infos;
|
||||||
}
|
}
|
||||||
|
|
||||||
var $categories;
|
var $categories;
|
||||||
|
@ -406,33 +406,6 @@ class infolog_so
|
|||||||
return $this->data;
|
return $this->data;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Read the status of the given infolog-ids
|
|
||||||
*
|
|
||||||
* @param array $ids array with id's
|
|
||||||
* @return array with id => status pairs
|
|
||||||
*/
|
|
||||||
function get_status($ids)
|
|
||||||
{
|
|
||||||
foreach($this->db->select($this->info_table,'info_id,info_type,info_status,info_percent',array('info_id'=>$ids),__LINE__,__FILE__) as $info)
|
|
||||||
{
|
|
||||||
switch ($info['info_type'].'-'.$info['info_status'])
|
|
||||||
{
|
|
||||||
case 'phone-not-started':
|
|
||||||
$status = 'call';
|
|
||||||
break;
|
|
||||||
case 'phone-ongoing':
|
|
||||||
$status = 'will-call';
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
$status = $info['info_status'] == 'ongoing' ? $info['info_percent'].'%' :
|
|
||||||
$info['info_type'].'-'.$info['info_status'];
|
|
||||||
}
|
|
||||||
$stati[$info['info_id']] = $status;
|
|
||||||
}
|
|
||||||
return $stati;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* delete InfoLog entry $info_id AND the links to it
|
* delete InfoLog entry $info_id AND the links to it
|
||||||
*
|
*
|
||||||
@ -481,12 +454,10 @@ class infolog_so
|
|||||||
*/
|
*/
|
||||||
function get_children($info_id)
|
function get_children($info_id)
|
||||||
{
|
{
|
||||||
$this->db->select($this->info_table,'info_id,info_owner',array(
|
|
||||||
'info_id_parent' => $info_id,
|
|
||||||
),__LINE__,__FILE__);
|
|
||||||
|
|
||||||
$children = array();
|
$children = array();
|
||||||
while (($row = $this->db->row(true)))
|
foreach($this->db->select($this->info_table, 'info_id,info_owner', array(
|
||||||
|
'info_id_parent' => $info_id,
|
||||||
|
),__LINE__,__FILE__) as $row)
|
||||||
{
|
{
|
||||||
$children[$row['info_id']] = $row['info_owner'];
|
$children[$row['info_id']] = $row['info_owner'];
|
||||||
}
|
}
|
||||||
@ -880,7 +851,7 @@ class infolog_so
|
|||||||
$info_customfield = '';
|
$info_customfield = '';
|
||||||
if ($sortbycf != '')
|
if ($sortbycf != '')
|
||||||
{
|
{
|
||||||
$info_customfield = ", (SELECT DISTINCT info_extra_value FROM $this->extra_table sub2 where sub2.info_id=main.info_id AND info_extra_name=".$this->db->quote($sortbycf).") AS cfsortcrit ";
|
$info_customfield = ", (SELECT DISTINCT info_extra_value FROM $this->extra_table sub2 WHERE sub2.info_id=main.info_id AND info_extra_name=".$this->db->quote($sortbycf).") AS cfsortcrit ";
|
||||||
}
|
}
|
||||||
//echo "SELECT $distinct main.* $info_customfield $sql_query $ordermethod"."<br>";
|
//echo "SELECT $distinct main.* $info_customfield $sql_query $ordermethod"."<br>";
|
||||||
do
|
do
|
||||||
|
Loading…
Reference in New Issue
Block a user