This commit is contained in:
yfl
2019-05-05 18:40:51 +08:00
parent b860286d04
commit e4952b3eb2
6 changed files with 90 additions and 21 deletions
+36
View File
@@ -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';
+14 -5
View File
@@ -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&section=global&key=setdynamic");
foreach($actions as $index => $action) if(strpos($actioned, $action->action) === false) unset($actions[$index]);
return $actions;
return $this->transformActions($actions);;
}
/**
+11 -8
View File
@@ -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&section=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&section=global&key=setdynamic"), true);
$this->display();
}
+24 -3
View File
@@ -10,6 +10,9 @@
*/
?>
<?php include 'header.html.php';?>
<style>
.checkbox-primary{float:left;margin-left:5px;}
</style>
<div id='mainContent' class='main-content'>
<form class="load-indicator main-form form-ajax" method='post'>
<div class='main-header'>
@@ -17,11 +20,29 @@
<strong><?php echo $lang->custom->setDynamic?></strong>
</div>
</div>
<table class='table table-form'>
<table class='table table-hover table-striped table-bordered'>
<thead>
<tr class='text-center'>
<th class='w-150px'><?php echo $lang->group->module;?></th>
<th><?php echo $lang->action->action;?></th>
</tr>
</thead>
<?php foreach($objectTypes as $objectKey => $objectTypeName):?>
<tr>
<th class='w-100px'><?php echo $lang->custom->setAction;?></th>
<td><?php echo html::select("actions[]", $actions, $actioned, "class='form-control chosen' multiple");?></td>
<th class='text-middle w-150px'>
<div class="text-center check-all">
<?php echo $objectTypeName?>
</div>
</th>
<td class='pv-10px'>
<?php if(isset($dynamicAction->$objectKey)):?>
<div class='group-item'>
<?php echo html::checkbox("actions[{$objectKey}]", $dynamicAction->$objectKey, isset($setActions[$objectKey]) ? $setActions[$objectKey] : '', '');?>
</div>
<?php endif;?>
</td>
</tr>
<?php endforeach;?>
<tr>
<th></th>
<td class='form-actions'>
+3 -3
View File
@@ -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 = '编号';
+2 -2
View File
@@ -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);
}