* Finish task 45049.

This commit is contained in:
songchenxuan
2021-11-29 14:00:06 +08:00
parent 35206b32a8
commit 45040819ae
2 changed files with 372 additions and 9 deletions
+18 -9
View File
@@ -1179,7 +1179,21 @@ class bugModel extends model
*/
public function activate($bugID)
{
$bugID = (int)$bugID;
$oldBug = $this->getById($bugID);
$builds = $this->dao->select('id,bugs')
->from(TABLE_BUILD)
->where('bugs')->like("%$bugID%")
->fetchPairs('id', 'bugs');
foreach($builds as $buildID => $buildBugs)
{
$bugList = explode(',', $buildBugs);
if(in_array($bugID, $bugList))
{
$solveBuild = $buildID;
continue;
}
}
$now = helper::now();
$bug = fixer::input('post')
->setDefault('assignedTo', $oldBug->resolvedBy)
@@ -1205,17 +1219,12 @@ class bugModel extends model
$this->dao->update(TABLE_BUG)->data($bug)->autoCheck()->where('id')->eq((int)$bugID)->exec();
$this->dao->update(TABLE_BUG)->set('activatedCount = activatedCount + 1')->where('id')->eq((int)$bugID)->exec();
$openedBuilds = explode(',', $oldBug->openedBuild);
if($openedBuilds)
if($solveBuild)
{
$this->loadModel('build');
foreach($openedBuilds as $openedBuild)
{
$build = $this->build->getByID($openedBuild);
if(empty($build)) continue;
$build->bugs = trim(str_replace(",$bugID,", ',', ",$build->bugs,"), ',');
$this->dao->update(TABLE_BUILD)->set('bugs')->eq($build->bugs)->where('id')->eq((int)$openedBuild)->exec();
}
$build = $this->build->getByID($solveBuild);
$build->bugs = trim(str_replace(",$bugID,", ',', ",$build->bugs,"), ',');
$this->dao->update(TABLE_BUILD)->set('bugs')->eq($build->bugs)->where('id')->eq((int)$solveBuild)->exec();
}
$bug->activatedCount += 1;