fixing various problems regarding the notification via close shortlink (klick on close/close all button in infolog list view)

This commit is contained in:
Klaus Leithoff 2009-11-23 16:15:16 +00:00
parent ddb0f86257
commit 6c25590e9e
2 changed files with 9 additions and 3 deletions

View File

@ -704,7 +704,8 @@ class infolog_bo
); );
} }
$values['info_id'] = $info_id; $values['info_id'] = $info_id;
// if the info responbsible array is not passed, fetch it from old.
if (!array_key_exists('info_responsible',$values)) $values['info_responsible'] = $old['info_responsible'];
if (!is_array($values['info_responsible'])) // this should not happen, bug it does ;-) if (!is_array($values['info_responsible'])) // this should not happen, bug it does ;-)
{ {
$values['info_responsible'] = $values['info_responsible'] ? explode(',',$values['info_responsible']) : array(); $values['info_responsible'] = $values['info_responsible'] ? explode(',',$values['info_responsible']) : array();
@ -723,6 +724,11 @@ class infolog_bo
{ {
$this->tracking = new infolog_tracking($this); $this->tracking = new infolog_tracking($this);
} }
if (($missing_fields = array_diff_key($old,$values)))
{
$values = array_merge($values,$missing_fields);
}
$this->tracking->track($values,$old,$this->user,$values['info_status'] == 'deleted' || $old['info_status'] == 'deleted'); $this->tracking->track($values,$old,$this->user,$values['info_status'] == 'deleted' || $old['info_status'] == 'deleted');
} }
if ($info_from_set) $values['info_from'] = ''; if ($info_from_set) $values['info_from'] = '';

View File

@ -208,7 +208,7 @@ class infolog_tracking extends bo_tracking
'info_owner' => $GLOBALS['egw']->common->grab_owner_name($data['info_owner']), 'info_owner' => $GLOBALS['egw']->common->grab_owner_name($data['info_owner']),
'info_status' => lang($data['info_status']=='deleted'?'deleted':$this->infolog->status[$data['info_type']][$data['info_status']]), 'info_status' => lang($data['info_status']=='deleted'?'deleted':$this->infolog->status[$data['info_type']][$data['info_status']]),
'info_percent' => (int)$data['info_percent'].'%', 'info_percent' => (int)$data['info_percent'].'%',
'info_datecompleted' => $data['info_datecomplete'] ? $this->datetime($data['info_datecompleted']-$this->infolog->tz_offset_s) : '', 'info_datecompleted' => $data['info_datecompleted'] ? $this->datetime($data['info_datecompleted']-$this->infolog->tz_offset_s) : '',
'info_location' => $data['info_location'], 'info_location' => $data['info_location'],
'info_startdate' => $data['info_startdate'] ? $this->datetime($data['info_startdate']-$this->infolog->tz_offset_s,null) : '', 'info_startdate' => $data['info_startdate'] ? $this->datetime($data['info_startdate']-$this->infolog->tz_offset_s,null) : '',
'info_enddate' => $data['info_enddate'] ? $this->datetime($data['info_enddate']-$this->infolog->tz_offset_s,false) : '', 'info_enddate' => $data['info_enddate'] ? $this->datetime($data['info_enddate']-$this->infolog->tz_offset_s,false) : '',