* Code for qc.

This commit is contained in:
Yagami
2020-08-14 11:13:53 +08:00
parent ba50010878
commit 89eb2e6f34
10 changed files with 40 additions and 26 deletions

View File

@@ -1126,7 +1126,7 @@ $lang->cmmi->subMenu = new stdclass();
$lang->cmmi->subMenu->list = new stdclass();
$lang->cmmi->subMenu->list->workestimation = array('link' => '估算|workestimation|index|program=%s', 'subModule' => 'durationestimation,budget');
$lang->cmmi->subMenu->list->pssp = '过程|pssp|browse|program=%s';
$lang->cmmi->subMenu->list->stakeholder = array('link' => '干系人|stakeholder|browse|program=%s', 'subModule' => 'stakeholder');
$lang->cmmi->subMenu->list->stakeholder = array('link' => '干系人|stakeholder|browse|', 'subModule' => 'stakeholder');
$lang->cmmi->subMenu->list->program = '项目|||';
$lang->cmmiproduct = new stdclass();
@@ -1196,10 +1196,10 @@ $lang->nc->menu = $lang->auditplan->menu;
$lang->cm->menu->browse = array('link' => '基线|cm|browse|program={PROGRAM}', 'alias' => 'create,edit,view');
$lang->cm->menu->report = '基线状态报告|cm|report|program={PROGRAM}';
$lang->stakeholder->menu->plan = array('link' => '介入计划|stakeholder|plan|program={PROGRAM}');
$lang->stakeholder->menu->expectation = array('link' => '期望管理|stakeholder|expectation|program={PROGRAM}');
$lang->stakeholder->menu->issue = array('link' => '问题管理|stakeholder|issue|program={PROGRAM}');
$lang->stakeholder->menu->list = array('link' => '干系人列表|stakeholder|browse|program={PROGRAM}', 'alias' => 'create,edit');
$lang->stakeholder->menu->plan = array('link' => '介入计划|stakeholder|plan|');
$lang->stakeholder->menu->expectation = array('link' => '期望管理|stakeholder|expectation|', 'alias' => 'createexpect');
$lang->stakeholder->menu->issue = array('link' => '问题管理|stakeholder|issue|');
$lang->stakeholder->menu->list = array('link' => '干系人列表|stakeholder|browse|', 'alias' => 'create,edit,view');
$lang->noMenuModule = array('my', 'todo', 'effort', 'program', 'attend', 'leave', 'makeup', 'overtime', 'lieu', 'holiday', 'custom', 'auditcl', 'subject', 'admin', 'mail', 'extension', 'dev', 'backup', 'action', 'cron', 'issue', 'risk', 'pssp', 'sms', 'message', 'webhook', 'search');
$lang->haveMenuMethod = array('custom');

View File

@@ -612,6 +612,7 @@ class commonModel extends model
$subActive .= 'dropdown-submenu';
$subLink = 'javascript:;';
$subProgram .= "<ul class='dropdown-menu'>";
$subProgram .= '<li>' . html::a(helper::createLink('program', 'edit', "programID={$app->session->program}"), "<i class=icon-edit></i> " . "<span class='text'>{$lang->program->edit}</span>", '', "class='btn btn-link'") . '</li>';
$subProgram .= '<li>' . self::buildIconButton('program', 'group', "projectID={$app->session->program}", $program, 'button', 'group', '', '', '', '', $lang->program->group) . '</li>';
$subProgram .= '<li>' . self::buildIconButton('program', 'manageMembers', "projectID={$app->session->program}", $program, 'button', 'persons', '', '', '', '', $lang->program->manageMembers) . '</li>';
$subProgram .= '<li>' . self::buildIconButton('program', 'start', "projectID={$app->session->program}", $program, 'button', 'play', '', 'iframe', true, '', $lang->program->start) . '</li>';

View File

@@ -46,7 +46,7 @@ class company extends control
* @access public
* @return void
*/
public function browse($param = 0, $type = 'bydept', $orderBy = 'id', $recTotal = 0, $recPerPage = 20, $pageID = 1)
public function browse($browseType = 'inside', $param = 0, $type = 'bydept', $orderBy = 'id', $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
$this->loadModel('search');
$this->lang->set('menugroup.company', 'company');
@@ -66,11 +66,11 @@ class company extends control
/* Build the search form. */
$queryID = $type == 'bydept' ? 0 : (int)$param;
$actionURL = $this->createLink('company', 'browse', "param=myQueryID&type=bysearch");
$actionURL = $this->createLink('company', 'browse', "browseType=all&param=myQueryID&type=bysearch");
$this->company->buildSearchForm($queryID, $actionURL);
/* Get users. */
$users = $this->company->getUsers($type, $queryID, $deptID, $sort, $pager);
$users = $this->company->getUsers($browseType, $type, $queryID, $deptID, $sort, $pager);
/* Remove passwd. */
foreach($users as $user) unset($user->password);
@@ -87,6 +87,7 @@ class company extends control
$this->view->pager = $pager;
$this->view->param = $param;
$this->view->type = $type;
$this->view->browseType = $browseType;
$this->display();
}

View File

@@ -72,13 +72,13 @@ class companyModel extends model
* @access public
* @return array
*/
public function getUsers($type, $queryID, $deptID, $sort, $pager)
public function getUsers($browseType = 'inside', $type, $queryID, $deptID, $sort, $pager)
{
/* Get users. */
if($type == 'bydept')
{
$childDeptIds = $this->loadModel('dept')->getAllChildID($deptID);
return $this->dept->getUsers($childDeptIds, $pager, $sort);
return $this->dept->getUsers($browseType, $childDeptIds, $pager, $sort);
}
else
{
@@ -95,7 +95,7 @@ class companyModel extends model
$this->session->set('userQuery', ' 1 = 1');
}
}
return $this->loadModel('user')->getByQuery($this->session->userQuery, $pager, $sort);
return $this->loadModel('user')->getByQuery($browseType, $this->session->userQuery, $pager, $sort);
}
}

View File

@@ -13,6 +13,7 @@
<?php
include '../../common/view/header.html.php';
js::set('deptID', $deptID);
js::set('browseType', $browseType);
js::set('confirmDelete', $lang->user->confirmDelete);
?>
<div id='mainMenu' class='clearfix'>
@@ -23,6 +24,8 @@ js::set('confirmDelete', $lang->user->confirmDelete);
</div>
</div>
<div class='btn-toolbar pull-left'>
<?php echo html::a($this->createLink('company', 'browse', 'browseType=inside'), '<span class="text">' . $lang->user->inside . '</span>', '', 'class="btn btn-link inside"');?>
<?php echo html::a($this->createLink('company', 'browse', 'browseType=outside'), '<span class="text">' . $lang->user->outside . '</span>', '', 'class="btn btn-link outside"');?>
<a class="btn btn-link querybox-toggle" id='bysearchTab'><i class="icon icon-search muted"></i> <?php echo $lang->user->search;?></a>
</div>
<div class='btn-toolbar pull-right'>
@@ -124,5 +127,8 @@ js::set('confirmDelete', $lang->user->confirmDelete);
</form>
</div>
</div>
<script lanugage='javascript'>$('#dept<?php echo $deptID;?>').addClass('active');</script>
<script lanugage='javascript'>
$('#dept<?php echo $deptID;?>').addClass('active');
$('.pull-left .' + browseType).addClass('btn-active-text');
</script>
<?php include '../../common/view/footer.html.php';?>

View File

@@ -117,7 +117,7 @@ class dept extends control
{
/* Check this dept when delete. */
$sons = $this->dept->getSons($deptID);
$users = $this->dept->getUsers($deptID);
$users = $this->dept->getUsers('all', $deptID);
if($sons) die(js::alert($this->lang->dept->error->hasSons));
if($users) die(js::alert($this->lang->dept->error->hasUsers));

View File

@@ -202,7 +202,7 @@ class deptModel extends model
*/
public function createMemberLink($dept)
{
$linkHtml = html::a(helper::createLink('company', 'browse', "dept={$dept->id}"), $dept->name, '_self', "id='dept{$dept->id}'");
$linkHtml = html::a(helper::createLink('company', 'browse', "browseType=inside&dept={$dept->id}"), $dept->name, '_self', "id='dept{$dept->id}'");
return $linkHtml;
}
@@ -353,10 +353,12 @@ class deptModel extends model
* @access public
* @return array
*/
public function getUsers($deptID, $pager = null, $orderBy = 'id')
public function getUsers($browseType = 'inside', $deptID, $pager = null, $orderBy = 'id')
{
return $this->dao->select('*')->from(TABLE_USER)
->where('deleted')->eq(0)
->beginIF($browseType == 'inside')->andWhere('type')->eq('')->fi()
->beginIF($browseType == 'outside')->andWhere('type')->eq('outside')->fi()
->beginIF($deptID)->andWhere('dept')->in($deptID)->fi()
->orderBy($orderBy)
->page($pager)

View File

@@ -15,12 +15,12 @@ $lang->program->PM = '项目负责人';
$lang->program->create = '添加项目';
$lang->program->edit = '编辑项目';
$lang->program->all = '所有项目';
$lang->program->start = '启动';
$lang->program->finish = '完成';
$lang->program->suspend = '挂起';
$lang->program->delete = '删除';
$lang->program->close = '关闭';
$lang->program->activate = '激活';
$lang->program->start = '启动项目';
$lang->program->finish = '完成项目';
$lang->program->suspend = '挂起项目';
$lang->program->delete = '删除项目';
$lang->program->close = '关闭项目';
$lang->program->activate = '激活项目';
$lang->program->budget = '项目预算';
$lang->program->dateRange = '起止时间';
$lang->program->to = '至';
@@ -29,13 +29,13 @@ $lang->program->realStarted = '实际开始日期';
$lang->program->bygrid = '看板';
$lang->program->bylist = '列表';
$lang->program->mine = '我参与的';
$lang->program->group = '分组';
$lang->program->group = '权限分组';
$lang->program->createGroup = '创建分组';
$lang->program->editGroup = '编辑分组';
$lang->program->copyGroup = '复制分组';
$lang->program->manageView = '维护视图';
$lang->program->managePriv = '维护权限';
$lang->program->manageMembers = '团队';
$lang->program->manageMembers = '项目团队';
$lang->program->transfer = '进入项目';
$lang->program->setPlanduration = '设置工期';
$lang->program->export = '导出';

View File

@@ -11,6 +11,8 @@
*/
$lang->user->common = '用户';
$lang->user->id = '用户编号';
$lang->user->inside = '内部人员';
$lang->user->outside = '外部人员';
$lang->user->company = '所属公司';
$lang->user->dept = '所属部门';
$lang->user->account = '用户名';

View File

@@ -78,7 +78,7 @@ class userModel extends model
* thus to make sure users of this role at first.
*/
$fields = 'account, realname, deleted';
$type = (strpos($params, 'outside') === false) ? '' : 'outside';
$type = (strpos($params, 'outside') !== false) ? 'outside' : '';
if(strpos($params, 'pofirst') !== false) $fields .= ", INSTR(',pd,po,', role) AS roleOrder";
if(strpos($params, 'pdfirst') !== false) $fields .= ", INSTR(',po,pd,', role) AS roleOrder";
if(strpos($params, 'qafirst') !== false) $fields .= ", INSTR(',qd,qa,', role) AS roleOrder";
@@ -91,7 +91,7 @@ class userModel extends model
$this->app->loadConfig('user');
$users = $this->dao->select($fields)->from(TABLE_USER)
->where('1')
->andWhere('type')->eq($type)
->beginIF(strpos($params, 'all') === false)->andWhere('type')->eq($type)->fi()
->beginIF(strpos($params, 'nodeleted') !== false or empty($this->config->user->showDeleted))->andWhere('deleted')->eq('0')->fi()
->orderBy($orderBy)
->fetchAll('account');
@@ -192,11 +192,13 @@ class userModel extends model
* @access public
* @return void
*/
public function getByQuery($query, $pager = null, $orderBy = 'id')
public function getByQuery($browseType = 'inside', $query, $pager = null, $orderBy = 'id')
{
return $this->dao->select('*')->from(TABLE_USER)
->where('deleted')->eq(0)
->beginIF($query)->andWhere($query)->fi()
->beginIF($browseType == 'inside')->andWhere('type')->eq('')->fi()
->beginIF($browseType == 'outside')->andWhere('type')->eq('outside')->fi()
->orderBy($orderBy)
->page($pager)
->fetchAll();