* Finish task 45049.
This commit is contained in:
+18
-9
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user