diff --git a/framework/model.class.php b/framework/model.class.php index 3ae6f6d4be..2bd51df082 100644 --- a/framework/model.class.php +++ b/framework/model.class.php @@ -157,6 +157,21 @@ class model extends baseModel } if(empty($relations)) $relations = $this->dao->select('next, actions')->from(TABLE_WORKFLOWRELATION)->where('prev')->eq($moduleName)->fetchPairs(); + $this->loadModel('flow'); + + $approvalProgressMenu = ''; + if($type == 'view' && !empty($this->config->openedApproval) && commonModel::hasPriv('approval', 'progress')) + { + $flow = $this->loadModel('workflow', 'flow')->getByModule($moduleName); + if($flow->approval == 'enabled') + { + $approvalID = isset($data->approval) ? $data->approval : 0; + $extraClass = strpos(',testsuite,build,release,productplan,', ",{$moduleName},") !== false ? 'btn-link' : ''; + $approvalProgressMenu .= "
"; + $approvalProgressMenu .= baseHTML::a(helper::createLink('approval', 'progress', "approvalID={$approvalID}", '', true), $this->lang->flow->approvalProgress, "class='btn {$extraClass} iframe'"); + } + } + $menu = ''; if($show) { @@ -164,8 +179,10 @@ class model extends baseModel { if(strpos($action->position, $type) === false || $action->show != $show) continue; - $menu .= $this->loadModel('flow')->buildActionMenu($moduleName, $action, $data, $type, $relations); + $menu .= $this->flow->buildActionMenu($moduleName, $action, $data, $type, $relations); } + + if($approvalProgressMenu) $menu .= $approvalProgressMenu; } else { @@ -174,10 +191,12 @@ class model extends baseModel { if(strpos($action->position, $type) === false) continue; - if($type == 'view' || $action->show == 'direct') $menu .= $this->loadModel('flow')->buildActionMenu($moduleName, $action, $data, $type, $relations); - if($type == 'browse' && $action->show == 'dropdownlist') $dropdownMenu .= $this->loadModel('flow')->buildActionMenu($moduleName, $action, $data, $type, $relations); + if($type == 'view' || $action->show == 'direct') $menu .= $this->flow->buildActionMenu($moduleName, $action, $data, $type, $relations); + if($type == 'browse' && $action->show == 'dropdownlist') $dropdownMenu .= $this->flow->buildActionMenu($moduleName, $action, $data, $type, $relations); } + if($approvalProgressMenu) $menu .= $approvalProgressMenu; + if($type == 'browse' && $dropdownMenu) { $menu .= "