二开后的界面如下
1. 数据库中执行本SQL
进入禅道初始页面,选择【数据库管理】,输入对应的用户名、密码后,在数据库中执行:
ALTER TABLE `zt_bug` ADD COLUMN dept VARCHAR(100) AFTER severity;
2.修改zh-cn
进入服务器目录/opt/zbox/app/zentao/module/bug/lang/下(注意:/opt/zbox/app/为禅道安装目录),在zh-cn.php文件中新增如下:
/* 字段列表。*/ 下61行和146行新增如下代码:
$lang->bug->dept = '所属部门';
3.修改model.php页面
进入/opt/zbox/app/zentao/module/bug/model.php文件,在59行后新增代码:
/**create by xiaogao. Get dept of user */
public function getDeptByAccounts($accounts='')
{
/* if(empty($accounts)) return '';*/
$dept=$this->dao->select('account,realname,dept')->from(TABLE_USER)
->where('account')->eq($accounts)
->fetch('dept');
return strval($dept);
}
在86行后和97行后添加如下代码:
->setDefault('dept', $this->app->user->dept)
->setIF($this->post->assignedTo != '', 'dept', $this->loadModel('bug')->getDeptByAccounts($this->post->assignedTo))
在216行添加:
$depts = array_filter($data->depts[$i]);
在232行添加:
$data->depts[$i] = implode(',', $depts);
在246行添加:
$bug->dept = $this->app->user->dept;
在public function update($bugID)函数下,第786行和1090行添加如下代码
->setIF($this->post->assignedTo != $oldBug->assignedTo, 'dept', $this->loadModel('bug')->getDeptByAccounts($this->post->assignedTo))
在public function buildSearchForm函数下1694行添加如下代码:
$this->config->bug->search['params']['dept']['values'] = array('' => '') + $this->loadModel('dept')->getOptionMenu();
在3437行添加如下代码(选择是否添加)
case 'dept':
$class .= ' c-user';
$title = "title='" . zget($users, $bug->dept) . "'";
break;
4.修改control.php页面
进入/opt/zbox/app/zentao/module/bug下,在control.php文件248行、688行和1195行后新增以下代码:
$this->view->depts =$this->loadModel('dept')->getOptionMenu();
$this->view->dept = $dept;
在1583行添加如下代码(列表分配是部门跟随变动):
,$this->loadModel('bug')->getDeptByAccounts($this->post->assignedTo)
5.修改vim.html.php页面
进入/opt/zbox/app/zentao/module/bug/view/下,在vim.html.php文件350行后新增以下代码:
<tr>
<th><?php echo $lang->bug->dept;?></th>
<td><?php echo zget($this->loadModel('dept')->getOptionMenu(), $bug->dept, $dept);?></td>
</tr>
修改后效果:
6.修改config.php页面
进入/opt/zbox/app/zentao/module/bug/下,在config.php文件16和29行新增以下代码:
dept,
在101行新增如下代码:
$config->bug->search['fields']['dept'] = $lang->bug->dept;
在147行新增如下代码:
$config->bug->search['params']['dept'] = array('operator' => 'belong', 'control' => 'select', 'values' => '');