* InfoLog: change status in context menu shows now labels and icons from all types and fixed my.stylite.de bug #3359: not being able to set custom status

This commit is contained in:
Ralf Becker 2012-05-15 16:24:06 +00:00
parent feb64d5b16
commit 619691e462

View File

@ -963,23 +963,30 @@ else
// if filtered by type, show only the stati of the filtered type
if ($query['col_filter']['info_type'] && isset($this->bo->status[$query['col_filter']['info_type']]))
{
$statis = $this->bo->status[$query['col_filter']['info_type']];
$statis = $icons = $this->bo->status[$query['col_filter']['info_type']];
}
else // show all stati
{
$statis = array();
$statis = $icons = array();
foreach($this->bo->status as $type => $stati)
{
if ($type == 'defaults') continue;
$statis += $stati;
foreach($stati as $val => $label)
{
$statis[$val][$label] = lang($label);
if (!isset($icons[$val])) $icons[$val] = $label;
}
}
foreach($statis as $val => &$labels)
{
$labels = implode(', ', $labels);
}
$statis = array_unique($statis);
}
foreach($statis as $type => &$data)
{
$data = array(
'caption' => $data,
'icon' => $type,
'icon' => $icons[$type],
);
}
@ -1366,7 +1373,7 @@ else
$this->bo->status['defaults'][$entry['info_type']];
// fall-through
case 'status':
if(in_array($settings, $this->bo->status[$entry['info_type']]))
if(isset($this->bo->status[$entry['info_type']][$settings]))
{
$action_msg = lang('changed status to %1', lang($this->bo->status[$entry['info_type']][$settings]));
if($settings != 'done' && $entry['info_status'] == 'done' && $entry['info_percent'] == 100)