diff --git a/config/zentaopms.php b/config/zentaopms.php index 247f68b965..77e6f31568 100644 --- a/config/zentaopms.php +++ b/config/zentaopms.php @@ -236,6 +236,7 @@ $config->objectTables['webhook'] = TABLE_WEBHOOK; $config->objectTables['risk'] = TABLE_RISK; $config->objectTables['issue'] = TABLE_ISSUE; $config->objectTables['design'] = TABLE_DESIGN; +$config->objectTables['stakeholder'] = TABLE_STAKEHOLDER; /* Program privs.*/ $config->programPriv = new stdclass(); diff --git a/module/action/config.php b/module/action/config.php index f51864c95c..7631912b80 100755 --- a/module/action/config.php +++ b/module/action/config.php @@ -26,6 +26,7 @@ $config->action->objectNameFields['webhook'] = 'name'; $config->action->objectNameFields['risk'] = 'name'; $config->action->objectNameFields['issue'] = 'title'; $config->action->objectNameFields['design'] = 'name'; +$config->action->objectNameFields['stakeholder'] = 'user'; $config->action->commonImgSize = 870; diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index 5bab4c6cc5..2bab0c07e9 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -88,6 +88,7 @@ $lang->action->objectTypes['testsuite'] = '套件'; $lang->action->objectTypes['caselib'] = '用例库'; $lang->action->objectTypes['testreport'] = '报告'; $lang->action->objectTypes['entry'] = '应用'; +$lang->action->objectTypes['stakeholder'] = '干系人'; $lang->action->objectTypes['webhook'] = 'Webhook'; /* 用来描述操作历史记录。*/ @@ -422,6 +423,7 @@ $lang->action->label->space = ' '; $lang->action->label->risk = '风险|risk|view|riskID=%s'; $lang->action->label->issue = '问题|issue|view|issueID=%s'; $lang->action->label->design = '设计|design|view|designID=%s'; +$lang->action->label->stakeholder = '干系人|stakeholder|browse|'; /* Object type. */ $lang->action->search->objectTypeList[''] = ''; diff --git a/module/stakeholder/control.php b/module/stakeholder/control.php index 86bd53b4f3..7b2a384a17 100644 --- a/module/stakeholder/control.php +++ b/module/stakeholder/control.php @@ -260,7 +260,8 @@ class stakeholder extends control } else { - $this->stakeholder->delete($userID); + $this->stakeholder->delete(TABLE_STAKEHOLDER, $userID); + $this->loadModel('user')->updateUserView($this->session->PRJ, 'project'); die(js::reload('parent')); } } @@ -332,7 +333,6 @@ class stakeholder extends control $this->commonAction($userID, 'stakeholder'); if(!empty($_POST)) { - $this->loadModel('action'); $result = $this->stakeholder->communicate($userID); if(dao::isError()) die(js::error(dao::getError())); if(isonlybody()) die(js::closeModal('parent.parent', 'this')); diff --git a/module/stakeholder/model.php b/module/stakeholder/model.php index 04c9973409..ea5cb4e652 100644 --- a/module/stakeholder/model.php +++ b/module/stakeholder/model.php @@ -89,8 +89,13 @@ class stakeholderModel extends model ->check('user', 'unique', "objectID = {$this->session->PRJ} and deleted = '0'") ->autoCheck() ->exec(); + $stakeholderID = $this->dao->lastInsertID(); - if(!dao::isError()) return $this->dao->lastInsertID(); + if(!dao::isError()) + { + $this->loadModel('user')->updateUserView($this->session->PRJ, 'project', $stakeholder->user); + return $stakeholderID; + } return false; } @@ -238,7 +243,7 @@ class stakeholderModel extends model */ public function getStakeholderGroup($objectIdList) { - $stakeholders = $this->dao->select('objectID, user')->from(TABLE_STAKEHOLDER)->where('objectID')->in($objectIdList)->fetchAll(); + $stakeholders = $this->dao->select('objectID, user')->from(TABLE_STAKEHOLDER)->where('objectID')->in($objectIdList)->andWhere('deleted')->eq('0')->fetchAll(); $stakeholderGroup = array(); foreach($stakeholders as $stakeholder) @@ -274,7 +279,7 @@ class stakeholderModel extends model } /* Get all parent stakeholders.*/ - $parentStakeholders = $this->dao->select('objectID, user')->from(TABLE_STAKEHOLDER)->where('objectID')->in(array_keys($parents))->fetchAll(); + $parentStakeholders = $this->dao->select('objectID, user')->from(TABLE_STAKEHOLDER)->where('objectID')->in(array_keys($parents))->andWhere('deleted')->eq('0')->fetchAll(); $parentStakeholderGroup = array(); foreach($parentStakeholders as $parentStakeholder) @@ -400,18 +405,6 @@ class stakeholderModel extends model ->fetchPairs(); } - /** - * Delete user. - * - * @param int $userID - * @access public - * @return void - */ - public function delete($userID, $null = null) - { - $this->dao->update(TABLE_STAKEHOLDER)->set('deleted')->eq('1')->where('id')->eq($userID)->exec(); - } - /** * Add communication record. *