* Refactor delete method.
This commit is contained in:
@@ -281,16 +281,8 @@ class release extends control
|
||||
*/
|
||||
public function delete(int $releaseID)
|
||||
{
|
||||
$release = $this->release->getByID($releaseID);
|
||||
$this->release->delete(TABLE_RELEASE, $releaseID);
|
||||
|
||||
$builds = $this->dao->select('*')->from(TABLE_BUILD)->where('id')->in($release->build)->fetchAll();
|
||||
$this->dao->update(TABLE_BUILD)->set('deleted')->eq(1)->where('id')->eq($release->shadow)->exec();
|
||||
foreach($builds as $build)
|
||||
{
|
||||
if(empty($build->execution) and $build->createdDate == $release->createdDate) $this->build->delete(TABLE_BUILD, $build->id);
|
||||
}
|
||||
|
||||
$response = array();
|
||||
$message = $this->executeHooks($releaseID);
|
||||
if($message) $response['message'] = $message;
|
||||
@@ -303,6 +295,7 @@ class release extends control
|
||||
}
|
||||
else
|
||||
{
|
||||
$release = $this->release->getByID($releaseID);
|
||||
$response['result'] = 'success';
|
||||
$response['load'] = inLink('browse', "productID={$release->product}");
|
||||
}
|
||||
|
||||
@@ -1055,4 +1055,31 @@ class releaseModel extends model
|
||||
|
||||
return $bugs;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除发布。
|
||||
* Delete a release.
|
||||
*
|
||||
* @param string $table
|
||||
* @param int $releaseID
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
public function delete(string $table, int $releaseID): bool
|
||||
{
|
||||
$this->dao->update(TABLE_RELEASE)->set('deleted')->eq(1)->where('id')->eq($releaseID)->exec();
|
||||
$this->loadModel('action')->create('release', $releaseID, 'deleted');
|
||||
|
||||
$release = $this->getByID($releaseID);
|
||||
if(!$release) return false;
|
||||
|
||||
$builds = $this->dao->select('*')->from(TABLE_BUILD)->where('id')->in($release->build)->fetchAll();
|
||||
$this->dao->update(TABLE_BUILD)->set('deleted')->eq(1)->where('id')->eq($release->shadow)->exec();
|
||||
foreach($builds as $build)
|
||||
{
|
||||
if(empty($build->execution) && $build->createdDate == $release->createdDate) $this->build->delete(TABLE_BUILD, $build->id);
|
||||
}
|
||||
|
||||
return !dao::isError();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user