* Finish task #4462.

This commit is contained in:
liugang
2018-06-14 17:36:01 +08:00
parent 6ae6137e60
commit bbdc292f8a
4 changed files with 46 additions and 18 deletions
+1
View File
@@ -26,6 +26,7 @@ $lang->release->batchUnlinkBug = "Batch Unlink";
$lang->release->confirmDelete = "Do you want to delete this Release?";
$lang->release->confirmUnlinkStory = "Do you want to remove this Story?";
$lang->release->confirmUnlinkBug = "Do you want to remove this Bug?";
$lang->release->existBuild = '『Build』『%s』existed. You could change『name』or choose a『build』.';
$lang->release->basicInfo = 'Basic Info';
+1
View File
@@ -26,6 +26,7 @@ $lang->release->batchUnlinkBug = "批量移除Bug";
$lang->release->confirmDelete = "您确认删除该发布吗?";
$lang->release->confirmUnlinkStory = "您确认移除该需求吗?";
$lang->release->confirmUnlinkBug = "您确认移除该Bug吗?";
$lang->release->existBuild = '『版本』已经有『%s』这条记录了。您可以更改『发布名称』或者选择一个『版本』。';
$lang->release->basicInfo = '基本信息';
+1
View File
@@ -26,6 +26,7 @@ $lang->release->batchUnlinkBug = "批量移除Bug";
$lang->release->confirmDelete = "您確認刪除該發佈嗎?";
$lang->release->confirmUnlinkStory = "您確認移除該需求嗎?";
$lang->release->confirmUnlinkBug = "您確認移除該Bug嗎?";
$lang->release->existBuild = '『版本』已經有『%s』這條記錄了。您可以更改『發佈名稱』或者選擇一個『版本』。';
$lang->release->basicInfo = '基本信息';
+43 -18
View File
@@ -104,21 +104,34 @@ class releaseModel extends model
public function create($productID, $branch = 0)
{
$buildID = 0;
if($this->post->build == false)
if($this->post->build == false && $this->post->name)
{
$build = fixer::input('post')
->add('product', (int)$productID)
->add('builder', $this->app->user->account)
->add('branch', $branch)
->stripTags($this->config->release->editor->create['id'], $this->config->allowedTags)
->remove('marker,build,files,labels,uid')
->get();
$build = $this->loadModel('file')->processImgURL($build, $this->config->release->editor->create['id']);
$this->dao->insert(TABLE_BUILD)->data($build)
->autoCheck()
->check('name', 'unique', "product = {$build->product} AND branch = $branch AND deleted = '0'")
->exec();
$buildID = $this->dao->lastInsertID();
$build = $this->dao->select('*')->from(TABLE_BUILD)
->where('deleted')->eq('0')
->andWhere('name')->eq($this->post->name)
->andWhere('product')->eq($productID)
->andWhere('branch')->eq($branch)
->fetch();
if($build)
{
dao::$errors['build'] = sprintf($this->lang->release->existBuild, $this->post->name);
}
else
{
$build = fixer::input('post')
->add('product', (int)$productID)
->add('builder', $this->app->user->account)
->add('branch', $branch)
->stripTags($this->config->release->editor->create['id'], $this->config->allowedTags)
->remove('marker,build,files,labels,uid')
->get();
$build = $this->loadModel('file')->processImgURL($build, $this->config->release->editor->create['id']);
$this->dao->insert(TABLE_BUILD)->data($build)
->autoCheck()
->check('name', 'unique', "product = {$productID} AND branch = {$branch} AND deleted = '0'")
->exec();
$buildID = $this->dao->lastInsertID();
}
}
if($this->post->build) $branch = $this->dao->select('branch')->from(TABLE_BUILD)->where('id')->eq($this->post->build)->fetch('branch');
@@ -137,16 +150,28 @@ class releaseModel extends model
$this->dao->insert(TABLE_RELEASE)->data($release)
->autoCheck()
->batchCheck($this->config->release->create->requiredFields, 'notempty')
->check('name', 'unique', "product = {$release->product} AND branch = $branch AND deleted = '0'")
->exec();
->check('name', 'unique', "product = {$release->product} AND branch = $branch AND deleted = '0'");
if(!dao::isError())
if(dao::isError())
{
if($buildID) $this->dao->delete()->from(TABLE_BUILD)->where('id')->eq($buildID)->exec();
return false;
}
$this->dao->exec();
if(dao::isError())
{
if($buildID) $this->dao->delete()->from(TABLE_BUILD)->where('id')->eq($buildID)->exec();
}
else
{
$releaseID = $this->dao->lastInsertID();
$this->file->updateObjectID($this->post->uid, $releaseID, 'release');
$this->file->saveUpload('release', $releaseID);
$this->loadModel('score')->create('release', 'create', $releaseID);
if(!dao::isError()) return $releaseID;
return $releaseID;
}
return false;