diff --git a/module/action/model.php b/module/action/model.php index 9dfe977eb5..353c5adae1 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -342,6 +342,12 @@ class actionModel extends model } } } + elseif(($actionName == 'opened' or $actionName == 'managed') and $objectType == 'project') + { + $linkedProducts = $this->dao->select('id,name')->from(TABLE_PRODUCT)->where('id')->in($action->extra)->fetchPairs('id', 'name'); + $action->extra = ''; + if($linkedProducts) $action->extra = sprintf($this->lang->project->action->extra, '' . join(', ', $linkedProducts) . ''); + } $action->history = isset($histories[$actionID]) ? $histories[$actionID] : array(); $actionName = strtolower($action->action); diff --git a/module/project/control.php b/module/project/control.php index ad9bc9aec2..878fe02b3b 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -1053,7 +1053,7 @@ class project extends control $this->project->updateProducts($projectID); if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError())); - $this->loadModel('action')->create('project', $projectID, 'opened'); + $this->loadModel('action')->create('project', $projectID, 'opened', '', join(',', $_POST['products'])); $planID = reset($_POST['plans']); if(!empty($planID)) @@ -1711,7 +1711,7 @@ class project extends control * @access public * @return void */ - public function manageProducts($projectID, $from='') + public function manageProducts($projectID, $from = '') { /* use first project if projectID does not exist. */ if(!isset($this->projects[$projectID])) $projectID = key($this->projects); @@ -1723,6 +1723,8 @@ class project extends control $this->project->updateProducts($projectID); if(dao::isError()) die(js::error(dao::getError())); + + $this->loadModel('action')->create('project', $projectID, 'Managed', '', join(',', $_POST['products'])); die(js::locate($browseProjectLink)); } diff --git a/module/project/lang/en.php b/module/project/lang/en.php index 4124cf83a1..561bb22097 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -246,6 +246,11 @@ $lang->project->withweekend = 'incl. Weekend'; $lang->project->interval = 'Intervals'; $lang->project->fixFirstWithLeft = 'Modify the left'; +$lang->project->action = new stdclass(); +$lang->project->action->opened = '$date, created by $actor .' . "\n"; +$lang->project->action->managed = '$date, managed by $actor .' . "\n"; +$lang->project->action->extra = 'The related products are %s.'; + /* 统计。*/ $lang->project->charts = new stdclass(); $lang->project->charts->burn = new stdclass(); diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php index d8d86cc5e0..0c0341daba 100644 --- a/module/project/lang/zh-cn.php +++ b/module/project/lang/zh-cn.php @@ -246,6 +246,11 @@ $lang->project->withweekend = '显示周末'; $lang->project->interval = '间隔'; $lang->project->fixFirstWithLeft = '修改剩余工时'; +$lang->project->action = new stdclass(); +$lang->project->action->opened = '$date, 由 $actor 创建。$extra' . "\n"; +$lang->project->action->managed = '$date, 由 $actor 维护。$extra' . "\n"; +$lang->project->action->extra = '相关产品为 %s。'; + /* 统计。*/ $lang->project->charts = new stdclass(); $lang->project->charts->burn = new stdclass();