* Finish task #76435、76436、76437.
This commit is contained in:
+10
-18
@@ -255,7 +255,7 @@ class build extends control
|
||||
|
||||
$bugPager = new pager($type == 'bug' ? $recTotal : 0, $recPerPage, $type == 'bug' ? $pageID : 1);
|
||||
$bugs = $this->dao->select('*')->from(TABLE_BUG)
|
||||
->where('id')->in($build->bugs)
|
||||
->where('id')->in($build->allBugs)
|
||||
->andWhere('deleted')->eq(0)
|
||||
->beginIF($type == 'bug')->orderBy($sort)->fi()
|
||||
->page($bugPager)
|
||||
@@ -264,7 +264,7 @@ class build extends control
|
||||
/* Get stories and stages. */
|
||||
$storyPager = new pager($type == 'story' ? $recTotal : 0, $recPerPage, $type == 'story' ? $pageID : 1);
|
||||
$stories = $this->dao->select("*, IF(`pri` = 0, {$this->config->maxPriValue}, `pri`) as priOrder")->from(TABLE_STORY)
|
||||
->where('id')->in($build->stories)
|
||||
->where('id')->in($build->allStories)
|
||||
->andWhere('deleted')->eq(0)
|
||||
->beginIF($type == 'story')->orderBy($sort)->fi()
|
||||
->page($storyPager)
|
||||
@@ -277,10 +277,14 @@ class build extends control
|
||||
if($this->app->tab == 'project')
|
||||
{
|
||||
$this->loadModel('project')->setMenu($build->project);
|
||||
$objectType = 'project';
|
||||
$objectID = $build->project;
|
||||
}
|
||||
elseif($this->app->tab == 'execution')
|
||||
{
|
||||
$this->loadModel('execution')->setMenu($build->execution);
|
||||
$objectType = 'execution';
|
||||
$objectID = $build->execution;
|
||||
}
|
||||
|
||||
$executions = $this->loadModel('execution')->getPairs($this->session->project, 'all', 'empty');
|
||||
@@ -297,18 +301,6 @@ class build extends control
|
||||
|
||||
$this->executeHooks($buildID);
|
||||
|
||||
if($this->app->tab == 'execution')
|
||||
{
|
||||
$objectType = 'execution';
|
||||
$objectID = $build->execution;
|
||||
}
|
||||
else
|
||||
{
|
||||
$objectType = 'project';
|
||||
$objectID = $build->project;
|
||||
}
|
||||
|
||||
|
||||
/* Assign. */
|
||||
$this->view->canBeChanged = common::canBeChanged('build', $build); // Determines whether an object is editable.
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noletter');
|
||||
@@ -611,11 +603,11 @@ class build extends control
|
||||
$executionID = $build->execution ? $build->execution : $build->project;
|
||||
if($browseType == 'bySearch')
|
||||
{
|
||||
$allStories = $this->story->getBySearch($build->product, $build->branch, $queryID, 'id', $executionID, 'story', $build->stories, $pager);
|
||||
$allStories = $this->story->getBySearch($build->product, $build->branch, $queryID, 'id', $executionID, 'story', $build->allStories, $pager);
|
||||
}
|
||||
else
|
||||
{
|
||||
$allStories = $this->story->getExecutionStories($executionID, $build->product, 0, 't1.`order`_desc', 'byBranch', $build->branch, 'story', $build->stories, $pager);
|
||||
$allStories = $this->story->getExecutionStories($executionID, $build->product, 0, 't1.`order`_desc', 'byBranch', $build->branch, 'story', $build->allStories, $pager);
|
||||
}
|
||||
|
||||
$this->view->allStories = $allStories;
|
||||
@@ -735,11 +727,11 @@ class build extends control
|
||||
$executionID = $build->execution ? $build->execution : $build->project;
|
||||
if($browseType == 'bySearch')
|
||||
{
|
||||
$allBugs = $this->bug->getBySearch($build->product, $build->branch, $queryID, 'id_desc', $build->bugs, $pager, $build->project);
|
||||
$allBugs = $this->bug->getBySearch($build->product, $build->branch, $queryID, 'id_desc', $build->allBugs, $pager, $build->project);
|
||||
}
|
||||
else
|
||||
{
|
||||
$allBugs = $this->bug->getExecutionBugs($executionID, 0, 'all', $buildID, 'noclosed', 0, 'status_desc,id_desc', $build->bugs, $pager);
|
||||
$allBugs = $this->bug->getExecutionBugs($executionID, 0, 'all', $buildID, 'noclosed', 0, 'status_desc,id_desc', $build->allBugs, $pager);
|
||||
}
|
||||
|
||||
$this->view->allBugs = $allBugs;
|
||||
|
||||
+14
-16
@@ -31,6 +31,7 @@ class buildModel extends model
|
||||
->fetch();
|
||||
if(!$build) return false;
|
||||
|
||||
$build = $this->linkChildBuilds($build);
|
||||
$build = $this->loadModel('file')->replaceImgURL($build, 'desc');
|
||||
$build->files = $this->file->getByObject('build', $buildID);
|
||||
if($setImgSize) $build->desc = $this->file->setImgSize($build->desc);
|
||||
@@ -349,7 +350,6 @@ class buildModel extends model
|
||||
if(!dao::isError())
|
||||
{
|
||||
$buildID = $this->dao->lastInsertID();
|
||||
$this->linkChildBuilds($buildID, $build->builds);
|
||||
$this->file->updateObjectID($this->post->uid, $buildID, 'build');
|
||||
$this->file->saveUpload('build', $buildID);
|
||||
$this->loadModel('score')->create('build', 'create', $buildID);
|
||||
@@ -389,8 +389,6 @@ class buildModel extends model
|
||||
if(isset($build->branch) and $oldBuild->branch != $build->branch) $this->dao->update(TABLE_RELEASE)->set('branch')->eq($build->branch)->where('build')->eq($buildID)->exec();
|
||||
if(!dao::isError())
|
||||
{
|
||||
$addBuilds = array_diff(explode(',', $build->builds), explode(',', $oldBuild->builds));
|
||||
if($addBuilds) $this->linkChildBuilds($buildID, $addBuilds);
|
||||
$this->file->updateObjectID($this->post->uid, $buildID, 'build');
|
||||
return common::createChanges($oldBuild, $build);
|
||||
}
|
||||
@@ -569,28 +567,28 @@ class buildModel extends model
|
||||
/**
|
||||
* Bugs and stories associated with child builds.
|
||||
*
|
||||
* @param int $buildID
|
||||
* @param string $childBuildIDList
|
||||
* @param object $build
|
||||
* @access public
|
||||
* @return void
|
||||
* @return object
|
||||
*/
|
||||
public function linkChildBuilds($buildID, $childBuildIDList)
|
||||
public function linkChildBuilds($build)
|
||||
{
|
||||
$build = $this->dao->select('bugs, stories')->from(TABLE_BUILD)->where('id')->eq($buildID)->fetch();
|
||||
$childBuilds = $this->dao->select('bugs, stories')->from(TABLE_BUILD)->where('id')->in($childBuildIDList)->fetchAll();
|
||||
$build->allBugs = $build->bugs;
|
||||
$build->allStories = $build->stories;
|
||||
$childBuilds = $this->dao->select('bugs, stories')->from(TABLE_BUILD)->where('id')->in($build->builds)->fetchAll();
|
||||
|
||||
foreach($childBuilds as $childBuild)
|
||||
{
|
||||
if($childBuild->bugs) $build->bugs .= ",{$childBuild->bugs}";
|
||||
if($childBuild->stories) $build->stories .= ",{$childBuild->stories}";
|
||||
if($childBuild->bugs) $build->allBugs .= ",{$childBuild->bugs}";
|
||||
if($childBuild->stories) $build->allStories .= ",{$childBuild->stories}";
|
||||
}
|
||||
|
||||
$build->bugs = explode(',', $build->bugs);
|
||||
$build->bugs = join(',', array_unique(array_filter($build->bugs)));
|
||||
$build->stories = explode(',', $build->stories);
|
||||
$build->stories = join(',', array_unique(array_filter($build->stories)));
|
||||
$build->allBugs = explode(',', $build->allBugs);
|
||||
$build->allBugs = join(',', array_unique(array_filter($build->allBugs)));
|
||||
$build->allStories = explode(',', $build->allStories);
|
||||
$build->allStories = join(',', array_unique(array_filter($build->allStories)));
|
||||
|
||||
$this->dao->update(TABLE_BUILD)->data($build)->where('id')->eq($buildID)->exec();
|
||||
return $build;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -98,7 +98,7 @@ tbody tr td:first-child input {display: none;}
|
||||
<tr>
|
||||
<td class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<?php echo html::checkbox('unlinkStories', array($story->id => sprintf('%03d', $story->id)));?>
|
||||
<?php echo html::checkbox('unlinkStories', array($story->id => sprintf('%03d', $story->id)), '', strpos(",$build->stories,", ",$story->id,") !== false ? '' : "disabled");?>
|
||||
<?php else:?>
|
||||
<?php printf('%03d', $story->id);?>
|
||||
<?php endif;?>
|
||||
@@ -198,7 +198,7 @@ tbody tr td:first-child input {display: none;}
|
||||
<tr>
|
||||
<td class='c-id text-left'>
|
||||
<?php if($canBatchUnlink):?>
|
||||
<?php echo html::checkbox('unlinkBugs', array($bug->id => sprintf('%03d', $bug->id)));?>
|
||||
<?php echo html::checkbox('unlinkBugs', array($bug->id => sprintf('%03d', $bug->id)), '', strpos(",$build->bugs,", ",$bug->id,") !== false ? '' : "disabled");?>
|
||||
<?php else:?>
|
||||
<?php printf('%03d', $bug->id);?>
|
||||
<?php endif;?>
|
||||
|
||||
Reference in New Issue
Block a user