diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index 9fc58645a3..6c73a985d3 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -200,6 +200,42 @@ $lang->action->label->deleteestimate = "删除了工时"; $lang->action->label->linked2build = "关联了"; $lang->action->label->linked2bug = "关联了"; +/* 动态信息按照对象分组 */ +$lang->action->dynamicAction = new stdclass; +$lang->action->dynamicAction->product['opened'] = '创建'; +$lang->action->dynamicAction->product['edited'] = '编辑'; +$lang->action->dynamicAction->product['deleted'] = '删除'; +$lang->action->dynamicAction->product['closed'] = '关闭'; +$lang->action->dynamicAction->story['opened'] = '创建'; +$lang->action->dynamicAction->story['edited'] = '编辑'; +$lang->action->dynamicAction->story['deleted'] = '删除'; +$lang->action->dynamicAction->story['changed'] = '变更'; +$lang->action->dynamicAction->story['changed'] = '变更'; +$lang->action->dynamicAction->story['linked2project'] = "关联{$lang->projectCommon}"; +$lang->action->dynamicAction->story['unlinkedfromproject'] = "移除{$lang->projectCommon}"; +$lang->action->dynamicAction->story['subdividestory'] = $lang->action->label->subdividestory; +$lang->action->dynamicAction->story['unlinkchildstory'] = $lang->action->label->unlinkchildstory; +$lang->action->dynamicAction->story['undeleted'] = '还原'; +$lang->action->dynamicAction->story['hidden'] = '隐藏'; +$lang->action->dynamicAction->project['opened'] = '创建'; +$lang->action->dynamicAction->project['edited'] = '编辑'; +$lang->action->dynamicAction->project['deleted'] = '删除'; +$lang->action->dynamicAction->project['closed'] = '关闭'; +$lang->action->dynamicAction->project['activated'] = '激活'; +$lang->action->dynamicAction->task['opened'] = '创建'; +$lang->action->dynamicAction->task['edited'] = '编辑'; +$lang->action->dynamicAction->task['deleted'] = '删除'; +$lang->action->dynamicAction->bug['opened'] = '创建'; +$lang->action->dynamicAction->bug['edited'] = '编辑'; +$lang->action->dynamicAction->bug['deleted'] = '删除'; +$lang->action->dynamicAction->bug['resolved'] = '解决'; +$lang->action->dynamicAction->bug['bugconfirmed'] = '确认'; +$lang->action->dynamicAction->bug['assigned'] = '指派'; +$lang->action->dynamicAction->bug['activated'] = '激活'; +$lang->action->dynamicAction->doc['opened'] = '创建'; +$lang->action->dynamicAction->doc['edited'] = '编辑'; +$lang->action->dynamicAction->doc['deleted'] = '删除'; + /* 用来生成相应对象的链接。*/ $lang->action->label->product = $lang->productCommon . '|product|view|productID=%s'; $lang->action->label->productplan = '计划|productplan|view|productID=%s'; diff --git a/module/action/model.php b/module/action/model.php index 77bcb5d07b..b202bfd034 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -602,7 +602,18 @@ class actionModel extends model $this->loadModel('doc'); $libs = $this->doc->getLibs('all'); $docs = $this->doc->getPrivDocs(array_keys($libs)); - + + $setDynamicActions = array(); + $actions = ''; + if(isset($this->config->global->setdynamic) and $this->config->global->setdynamic != 'false') + { + $setDynamicActions = json_decode($this->config->global->setdynamic, true); + foreach($setDynamicActions as $moudle => $action) + { + $actions .= implode(',', $action) . ','; + } + } + /* Get actions. */ $actions = $this->dao->select('*')->from(TABLE_ACTION) ->where(1) @@ -620,6 +631,7 @@ class actionModel extends model ->beginIF($this->config->global->flow == 'onlyStory')->andWhere('objectType')->notin('bug,build,project,task,taskcase,testreport,testsuite,testtask')->fi() ->beginIF($this->config->global->flow == 'onlyTask')->andWhere('objectType')->notin('product,productplan,release,story,testcase,testreport,testsuite')->fi() ->beginIF($this->config->global->flow == 'onlyTest')->andWhere('objectType')->notin('project,productplan,release,story,task')->fi() + ->beginIF(!empty($setDynamicActions))->andWhere('objectType')->in(array_keys($setDynamicActions))->andWhere('action')->in($actions)->fi() ->orderBy($orderBy) ->page($pager) ->fetchAll(); @@ -628,10 +640,7 @@ class actionModel extends model $this->loadModel('common')->saveQueryCondition($this->dao->get(), 'action'); - $actions = $this->transformActions($actions); - $actioned = $this->loadModel('setting')->getItem("owner=system&module=common§ion=global&key=setdynamic"); - foreach($actions as $index => $action) if(strpos($actioned, $action->action) === false) unset($actions[$index]); - return $actions; + return $this->transformActions($actions);; } /** diff --git a/module/custom/control.php b/module/custom/control.php index 473052fa3c..5dc2b9d319 100644 --- a/module/custom/control.php +++ b/module/custom/control.php @@ -331,20 +331,23 @@ class custom extends control */ public function setDynamic() { - if($_POST) + if($_SERVER['REQUEST_METHOD'] == 'POST') { $actions = $this->post->actions; - $actions = implode(',', array_filter($actions)); + $actions = json_encode($actions); $this->loadModel('setting')->setItem('system.common.global.setdynamic', $actions); $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => 'reload')); - } + $this->app->loadLang('action'); - $this->view->title = $this->lang->custom->setDynamic; - $this->view->position[] = $this->lang->custom->common; - $this->view->position[] = $this->view->title; - $this->view->actions = $this->lang->action->search->label; - $this->view->actioned = $this->loadModel('setting')->getItem("owner=system&module=common§ion=global&key=setdynamic"); + $this->app->loadLang('group'); + $this->view->title = $this->lang->custom->setDynamic; + $this->view->position[] = $this->lang->custom->common; + $this->view->position[] = $this->view->title; + $this->view->objectTypes = $this->lang->action->objectTypes; + $this->view->dynamicAction = $this->lang->action->dynamicAction; + $this->view->actions = $this->lang->action->search->label; + $this->view->setActions = json_decode($this->loadModel('setting')->getItem("owner=system&module=common§ion=global&key=setdynamic"), true); $this->display(); } diff --git a/module/custom/view/setdynamic.html.php b/module/custom/view/setdynamic.html.php index 7f001825cf..1f72b45593 100644 --- a/module/custom/view/setdynamic.html.php +++ b/module/custom/view/setdynamic.html.php @@ -10,6 +10,9 @@ */ ?> +
| group->module;?> | +action->action;?> | +||
|---|---|---|---|
| custom->setAction;?> | -+ |
+
+
+
+ |
+
+ $objectKey)):?>
+
+ $objectKey, isset($setActions[$objectKey]) ? $setActions[$objectKey] : '', '');?>
+
+
+ |
| diff --git a/module/group/lang/zh-cn.php b/module/group/lang/zh-cn.php index c10d8e07e5..c70d02dc3c 100644 --- a/module/group/lang/zh-cn.php +++ b/module/group/lang/zh-cn.php @@ -24,9 +24,9 @@ $lang->group->manageMember = '成员维护'; $lang->group->confirmDelete = '您确定删除该用户分组吗?'; $lang->group->successSaved = '成功保存'; $lang->group->errorNotSaved = '没有保存,请确认选择了权限数据。'; -$lang->group->viewList = '允许访问视图'; -$lang->group->productList = '允许访问' . $lang->productCommon; -$lang->group->projectList = '允许访问' . $lang->projectCommon; +$lang->group->viewList = '可访问视图'; +$lang->group->productList = '可访问' . $lang->productCommon; +$lang->group->projectList = '可访问' . $lang->projectCommon; $lang->group->noticeVisit = '空代表访问没有访问限制'; $lang->group->id = '编号'; diff --git a/module/task/model.php b/module/task/model.php index 5db36c26db..a7822017e4 100644 --- a/module/task/model.php +++ b/module/task/model.php @@ -318,7 +318,7 @@ class taskModel extends model $this->updateParentStatus($taskID); $this->computeBeginAndEnd($parentID); $this->dao->update(TABLE_TASK)->set('parent')->eq(-1)->where('id')->eq($parentID)->exec(); - $this->action->create('task', $parentID, 'batchCreate', $childTasks); + $this->action->create('task', $parentID, 'batchCreate', '', $taskID); } return $mails; } @@ -750,7 +750,7 @@ class taskModel extends model if($oldTask->parent > 0) { if($task->parent == 0) $this->computeWorkingHours($oldTask->parent); - $this->updateParentStatus($taskID, false); + $this->updateParentStatus($taskID); $this->computeBeginAndEnd($oldTask->parent); } |