Merge branch '15.0.beta3' of https://gitlab.zcorp.cc/easycorp/zentaopms into 15.0.beta3

This commit is contained in:
wangyidong
2021-06-01 11:03:48 +08:00
19 changed files with 88 additions and 53 deletions
+1
View File
@@ -263,6 +263,7 @@ $lang->action->label->reviewclosed = 'Review Failed';
$lang->action->label->passreviewed = 'Pass';
$lang->action->label->clarifyreviewed = 'Clarify';
$lang->action->label->commitsummary = 'Commit Summary';
$lang->action->label->updatetrainee = 'Update Trainee';
/* 动态信息按照对象分组 */
$lang->action->dynamicAction = new stdclass;
+1
View File
@@ -267,6 +267,7 @@ $lang->action->label->reviewclosed = 'Review Failed';
$lang->action->label->passreviewed = 'Pass';
$lang->action->label->clarifyreviewed = 'Clarify';
$lang->action->label->commitsummary = 'Commit Summary';
$lang->action->label->updatetrainee = 'Update Trainee';
/* Dynamic information is grouped by object. */
$lang->action->dynamicAction = new stdclass;
+1
View File
@@ -263,6 +263,7 @@ $lang->action->label->reviewclosed = 'Review Failed';
$lang->action->label->passreviewed = 'Pass';
$lang->action->label->clarifyreviewed = 'Clarify';
$lang->action->label->commitsummary = 'Commit Summary';
$lang->action->label->updatetrainee = 'Update Trainee';
/* 动态信息按照对象分组 */
$lang->action->dynamicAction = new stdclass();
+1
View File
@@ -263,6 +263,7 @@ $lang->action->label->reviewclosed = 'Review Failed';
$lang->action->label->passreviewed = 'Pass';
$lang->action->label->clarifyreviewed = 'Clarify';
$lang->action->label->commitsummary = 'Commit Summary';
$lang->action->label->updatetrainee = 'Update Trainee';
/* Dynamic information is grouped by object. */
$lang->action->dynamicAction = new stdclass;
+1
View File
@@ -267,6 +267,7 @@ $lang->action->label->reviewclosed = '评审失败';
$lang->action->label->passreviewed = '确认通过';
$lang->action->label->clarifyreviewed = '有待明确';
$lang->action->label->commitsummary = '提交培训总结';
$lang->action->label->updatetrainee = '更新培训人员';
/* 动态信息按照对象分组 */
$lang->action->dynamicAction = new stdclass();
-13
View File
@@ -420,19 +420,6 @@ class custom extends control
$this->display();
}
/**
* Set story concept.
*
* @param int $key
* @access public
* @return void
*/
public function setDefaultConcept($key = 0)
{
$this->loadModel('setting')->setItem('system.custom.URSR', $key);
die(js::reload('parent'));
}
/**
* Delete story concept.
*
-1
View File
@@ -38,7 +38,6 @@ $lang->custom->waterfallCommon = "Waterfall";
$lang->custom->buildin = "Buildin";
$lang->custom->editStoryConcept = "Edit Story Concept";
$lang->custom->setStoryConcept = "Set Story Concept";
$lang->custom->setDefaultConcept = "Set Default Concept";
$lang->custom->browseStoryConcept = "List of story concepts";
$lang->custom->deleteStoryConcept = "Delete story Concept";
$lang->custom->URConcept = "UR Concept";
-1
View File
@@ -38,7 +38,6 @@ $lang->custom->waterfallCommon = "Waterfall";
$lang->custom->buildin = "Buildin";
$lang->custom->editStoryConcept = "Edit Story Concept";
$lang->custom->setStoryConcept = "Set Story Concept";
$lang->custom->setDefaultConcept = "Set Default Concept";
$lang->custom->browseStoryConcept = "List of story concepts";
$lang->custom->deleteStoryConcept = "Delete story Concept";
$lang->custom->URConcept = "UR Concept";
-1
View File
@@ -38,7 +38,6 @@ $lang->custom->waterfallCommon = "Waterfall";
$lang->custom->buildin = "Buildin";
$lang->custom->editStoryConcept = "Edit Story Concept";
$lang->custom->setStoryConcept = "Set Story Concept";
$lang->custom->setDefaultConcept = "Set Default Concept";
$lang->custom->browseStoryConcept = "List of story concepts";
$lang->custom->deleteStoryConcept = "Delete story Concept";
$lang->custom->URConcept = "UR Concept";
-1
View File
@@ -38,7 +38,6 @@ $lang->custom->waterfallCommon = "Waterfall";
$lang->custom->buildin = "Buildin";
$lang->custom->editStoryConcept = "Edit Story Concept";
$lang->custom->setStoryConcept = "Set Story Concept";
$lang->custom->setDefaultConcept = "Set Default Concept";
$lang->custom->browseStoryConcept = "List of story concepts";
$lang->custom->deleteStoryConcept = "Delete story Concept";
$lang->custom->URConcept = "UR Concept";
-1
View File
@@ -38,7 +38,6 @@ $lang->custom->waterfallCommon = "瀑布";
$lang->custom->buildin = "系统内置";
$lang->custom->editStoryConcept = "编辑需求概念";
$lang->custom->setStoryConcept = "设置需求概念";
$lang->custom->setDefaultConcept = "设置默认概念";
$lang->custom->browseStoryConcept = "需求概念列表";
$lang->custom->deleteStoryConcept = "删除需求概念";
$lang->custom->URConcept = "用需概念";
-1
View File
@@ -38,7 +38,6 @@ $lang->custom->waterfallCommon = "瀑布";
$lang->custom->buildin = "系統內置";
$lang->custom->editStoryConcept = "編輯需求概念";
$lang->custom->setStoryConcept = "設置需求概念";
$lang->custom->setDefaultConcept = "設置預設概念";
$lang->custom->browseStoryConcept = "需求概念列表";
$lang->custom->deleteStoryConcept = "刪除需求概念";
$lang->custom->URConcept = "用需概念";
+1 -14
View File
@@ -11,7 +11,7 @@
?>
<?php include '../../common/view/header.html.php';?>
<style>
.table-form>tbody>tr>th{text-align: center}
.table-form>tbody>tr>th{text-align: center}
</style>
<div id='mainMenu' class='clearfix'>
<div class='pull-right'>
@@ -23,9 +23,6 @@
<table class='table table-form'>
<thead>
<tr>
<?php if(common::hasPriv('custom', 'setDefaultConcept')):?>
<th class='w-60px text-center'><?php echo $lang->custom->default;?> </th>
<?php endif;?>
<?php if($this->config->URAndSR):?>
<th class='text-left'><?php echo $lang->custom->URConcept;?> </th>
<?php endif;?>
@@ -36,9 +33,6 @@
<tbody>
<?php foreach($URSRList as $key => $URSR):?>
<tr>
<?php if(common::hasPriv('custom', 'setDefaultConcept')):?>
<td class='text-center'><input type="radio" name='default' value='<?php echo $key;?>' <?php if($key == $config->custom->URSR) echo 'checked';?>></td>
<?php endif;?>
<?php if($this->config->URAndSR):?>
<td class='text-left'><?php echo $URSR['URName'];?></td>
<?php endif;?>
@@ -54,11 +48,4 @@
</table>
</div>
</div>
<script>
$("input[name='default']").change(function()
{
var checked = $(this).val();
hiddenwin.location.href = createLink('custom', 'setDefaultConcept', 'key=' + checked);
})
</script>
<?php include '../../common/view/footer.html.php';?>
+1 -4
View File
@@ -1081,7 +1081,6 @@ $lang->resource->custom->timezone = 'timezone';
$lang->resource->custom->setStoryConcept = 'setStoryConcept';
$lang->resource->custom->editStoryConcept = 'editStoryConcept';
$lang->resource->custom->browseStoryConcept = 'browseStoryConcept';
$lang->resource->custom->setDefaultConcept = 'setDefaultConcept';
$lang->resource->custom->deleteStoryConcept = 'deleteStoryConcept';
$lang->custom->methodOrder[5] = 'index';
@@ -1096,8 +1095,7 @@ $lang->custom->methodOrder[45] = 'timezone';
$lang->custom->methodOrder[50] = 'setStoryConcept';
$lang->custom->methodOrder[55] = 'editStoryConcept';
$lang->custom->methodOrder[60] = 'browseStoryConcept';
$lang->custom->methodOrder[65] = 'setDefaultConcept';
$lang->custom->methodOrder[70] = 'deleteStoryConcept';
$lang->custom->methodOrder[65] = 'deleteStoryConcept';
$lang->resource->datatable = new stdclass();
$lang->resource->datatable->setGlobal = 'setGlobal';
@@ -1808,7 +1806,6 @@ $lang->changelog['15.0.rc1'][] = 'user-execution';
$lang->changelog['15.0.rc1'][] = 'custom-setStoryConcept';
$lang->changelog['15.0.rc1'][] = 'custom-editStoryConcept';
$lang->changelog['15.0.rc1'][] = 'custom-browseStoryConcept';
$lang->changelog['15.0.rc1'][] = 'custom-setDefaultConcept';
$lang->changelog['15.0.rc1'][] = 'custom-deleteStoryConcept';
$lang->changelog['15.0.rc1'][] = 'search-index';
$lang->changelog['15.0.rc1'][] = 'search-buildIndex';
+1 -1
View File
@@ -98,7 +98,7 @@
<td class="c-date"><?php echo $todo->date == '2030-01-01' ? $lang->todo->periods['future'] : $todo->date;?></td>
<td class="c-type"><?php echo zget($lang->todo->typeList, $todo->type, '');?></td>
<td class="c-pri"><span title="<?php echo zget($lang->todo->priList, $todo->pri);?>" class='label-pri <?php echo 'label-pri-' . $todo->pri;?>' title='<?php echo zget($lang->todo->priList, $todo->pri, $todo->pri);?>'><?php echo zget($lang->todo->priList, $todo->pri)?></span></td>
<td class="c-name" title="<?php echo $todo->name;?>"><?php echo html::a($this->createLink('todo', 'view', "id=$todo->id&from=my", '', true), $todo->name, '', "data-toggle='modal' data-width='75%' data-type='iframe' data-title='" . $lang->todo->view . "' data-icon='check'");?></td>
<td class="c-name" title="<?php echo $todo->name;?>"><?php echo html::a($this->createLink('todo', 'view', "id=$todo->id&from=my", '', true), $todo->name, '', "data-toggle='modal' data-width='80%' data-type='iframe' data-title='" . $lang->todo->view . "' data-icon='check'");?></td>
<td><?php echo zget($users, $todo->assignedBy);?></td>
<td class="c-begin"><?php echo $todo->begin;?></td>
<td class="c-end"><?php echo $todo->end;?></td>
+9 -8
View File
@@ -758,14 +758,15 @@ class projectModel extends model
{
/* If parent not empty, link products or create products. */
$product = new stdclass();
$product->name = $this->post->productName ? $this->post->productName : $project->name;
$product->bind = $this->post->parent ? 0 : 1;
$product->program = $project->parent ? current(array_filter(explode(',', $program->path))) : 0;
$product->acl = $project->acl = 'open' ? 'open' : 'private';
$product->PO = $project->PM;
$product->createdBy = $this->app->user->account;
$product->createdDate = helper::now();
$product->status = 'normal';
$product->name = $this->post->productName ? $this->post->productName : $project->name;
$product->bind = $this->post->parent ? 0 : 1;
$product->program = $project->parent ? current(array_filter(explode(',', $program->path))) : 0;
$product->acl = $project->acl = 'open' ? 'open' : 'private';
$product->PO = $project->PM;
$product->createdBy = $this->app->user->account;
$product->createdDate = helper::now();
$product->status = 'normal';
$product->createdVersion = $this->config->version;
$this->dao->insert(TABLE_PRODUCT)->data($product)->exec();
$productID = $this->dao->lastInsertId();
+2
View File
@@ -21,6 +21,8 @@ function loadAll(executionID)
*/
function loadExecutionMembers(executionID)
{
$("#multipleBox").removeAttr("checked");
$('.team-group').addClass('hidden');
$.get(createLink('execution', 'ajaxGetMembers', 'executionID=' + executionID + '&assignedTo=' + $('#assignedTo').val()), function(data)
{
$('#assignedTo_chosen').remove();
+45
View File
@@ -26,6 +26,7 @@ class todoModel extends model
$idvalue = 0;
if($hasObject && $objectType) $idvalue = $this->post->uid ? $this->post->$objectType : $this->post->idvalue;
$todo = fixer::input('post')
->add('account', $this->app->user->account)
->setDefault('idvalue', 0)
@@ -38,6 +39,50 @@ class todoModel extends model
->remove(implode(',', $this->config->todo->moduleList) . ',uid')
->get();
if(!isset($todo->pri))
{
if($this->post->type == 'task')
{
$todo->pri = $this->dao->select('pri')->from(TABLE_TASK)->where('id')->eq($this->post->idvalue)->fetch('pri');
}
elseif($this->post->type == 'bug')
{
$todo->pri = $this->dao->select('pri')->from(TABLE_BUG)->where('id')->eq($this->post->idvalue)->fetch('pri');
}
elseif($this->post->type == 'story')
{
$todo->pri = $this->dao->select('pri')->from(TABLE_STORY)->where('id')->eq($this->post->idvalue)->fetch('pri');
}
elseif($this->post->type == 'testtask')
{
$todo->pri = $this->dao->select('pri')->from(TABLE_TESTTASK)->where('id')->eq($this->post->idvalue)->fetch('pri');
}
elseif($this->post->type == 'issue' and isset($this->config->maxVersion))
{
$todo->pri = $this->dao->select('pri')->from(TABLE_ISSUE)->where('id')->eq($this->post->idvalue)->fetch('pri');
}
elseif($this->post->type == 'risk' and isset($this->config->maxVersion))
{
$todo->pri = $this->dao->select('pri')->from(TABLE_RISK)->where('id')->eq($this->post->idvalue)->fetch('pri');
}
elseif($this->post->type == 'review' and isset($this->config->maxVersion))
{
$todo->pri = $this->dao->select('pri')->from(TABLE_REVIEW)->where('id')->eq($this->post->idvalue)->fetch('pri');
}
elseif($this->post->type == 'feedback' and isset($this->config->maxVersion))
{
$todo->pri = $this->dao->select('pri')->from(TABLE_FEEDBACK)->where('id')->eq($this->post->idvalue)->fetch('pri');
}
elseif($this->post->type == 'opportunity' and isset($this->config->maxVersion))
{
$todo->pri = $this->dao->select('pri')->from(TABLE_OPPORTUNITY)->where('id')->eq($this->post->idvalue)->fetch('pri');
}
if($todo->pri == 'high') $todo->pri = 1;
if($todo->pri == 'middle') $todo->pri = 2;
if($todo->pri == 'low') $todo->pri = 3;
}
if($todo->type != 'custom')
{
$type = $todo->type;
+24 -7
View File
@@ -676,6 +676,10 @@ class upgradeModel extends model
$this->adjustBugOfProject();
$this->processBuildTable();
$this->appendExec('15_0');
case '15_0_1':
$this->saveLogs('Execute 15_0_1');
$this->updateProductVersion();
$this->appendExec('15_0_1');
}
$this->deletePatch();
@@ -4637,13 +4641,14 @@ class upgradeModel extends model
if(isset($data->name))
{
$product = new stdclass();
$product->program = $data->program;
$product->name = $data->name;
$product->acl = 'open';
$product->PO = isset($this->app->user->account) ? $this->app->user->account : '';
$product->createdBy = isset($this->app->user->account) ? $this->app->user->account : '';
$product->createdDate = helper::now();
$product->status = 'normal';
$product->program = $data->program;
$product->name = $data->name;
$product->acl = 'open';
$product->PO = isset($this->app->user->account) ? $this->app->user->account : '';
$product->createdBy = isset($this->app->user->account) ? $this->app->user->account : '';
$product->createdDate = helper::now();
$product->status = 'normal';
$product->createdVersion = $this->config->version;
$this->dao->insert(TABLE_PRODUCT)->data($product)->exec();
$productID = $this->dao->lastInsertID();
@@ -4975,4 +4980,16 @@ class upgradeModel extends model
return true;
}
/**
* Update the createdVersion field of the zt_product table.
*
* @access public
* @return void
*/
public function updateProductVersion()
{
$this->dao->update(TABLE_PRODUCT)->set('createdVersion')->eq($this->config->version)->where('createdVersion')->eq('')->exec();
return true;
}
}