* Add prepare data function of bug-resolve.
This commit is contained in:
@@ -96,15 +96,15 @@ $config->bug->form->assignTo['lastEditedDate'] = array('required' => false, 'typ
|
||||
$config->bug->form->assignTo['mailto'] = array('required' => false, 'type' => 'array', 'default' => array(''), 'filter' => 'join');
|
||||
|
||||
$config->bug->form->resolve = array();
|
||||
$config->bug->form->resolve['status'] = array('required' => false, 'type' => 'string', 'default' => 'resolved');
|
||||
$config->bug->form->resolve['resolvedBy'] = array('required' => false, 'type' => 'string', 'default' => '');
|
||||
$config->bug->form->resolve['resolvedBy'] = array('required' => false, 'type' => 'string', 'default' => $app->user->account);
|
||||
$config->bug->form->resolve['resolvedDate'] = array('required' => false, 'type' => 'string', 'default' => helper::now());
|
||||
$config->bug->form->resolve['assignedTo'] = array('required' => false, 'type' => 'string', 'default' => '');
|
||||
$config->bug->form->resolve['assignedDate'] = array('required' => false, 'type' => 'string', 'default' => helper::now());
|
||||
$config->bug->form->resolve['lastEditedBy'] = array('required' => false, 'type' => 'string', 'default' => $app->user->account);
|
||||
$config->bug->form->resolve['lastEditedDate'] = array('required' => false, 'type' => 'string', 'default' => helper::now());
|
||||
$config->bug->form->resolve['confirmed'] = array('required' => false, 'type' => 'int', 'default' => 1);
|
||||
$config->bug->form->resolve['duplicateBug'] = array('required' => false, 'type' => 'int', 'default' => 0);
|
||||
$config->bug->form->resolve['buildName'] = array('required' => false, 'type' => 'string', 'default' => '');
|
||||
$config->bug->form->resolve['createBuild'] = array('required' => false, 'type' => 'int', 'default' => 0);
|
||||
$config->bug->form->resolve['buildExecution'] = array('required' => false, 'type' => 'int', 'default' => 0);
|
||||
$config->bug->form->resolve['comment'] = array('required' => false, 'type' => 'string', 'default' => '');
|
||||
$config->bug->form->resolve['uid'] = array('required' => false, 'type' => 'string', 'default' => '');
|
||||
|
||||
@@ -978,8 +978,7 @@ class bug extends control
|
||||
|
||||
/* Init bug data. */
|
||||
$postData = form::data($this->config->bug->form->resolve);
|
||||
$bug = $postData->data;
|
||||
$bug->id = $bugID;
|
||||
$bug = $this->bugZen->prepareResolve($postData, $bug);
|
||||
|
||||
$changes = $this->bug->resolve($bug, $output);
|
||||
if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError()));
|
||||
|
||||
@@ -857,10 +857,8 @@ class bugModel extends model
|
||||
*/
|
||||
public function resolve(object $bug, array $output = array()): array|false
|
||||
{
|
||||
/* Construct bug data. */
|
||||
$now = helper::now();
|
||||
/* Get old bug. */
|
||||
$oldBug = $this->getById($bug->id);
|
||||
$bug = $this->loadModel('file')->processImgURL($bug, $this->config->bug->editor->resolve['id'], $this->post->uid);
|
||||
|
||||
/* Set comment lang for alert error. */
|
||||
$this->lang->bug->comment = $this->lang->comment;
|
||||
@@ -930,7 +928,7 @@ class bugModel extends model
|
||||
}
|
||||
|
||||
/* Update bug. */
|
||||
$this->dao->update(TABLE_BUG)->data($bug, 'buildName,createBuild,buildExecution,comment')
|
||||
$this->dao->update(TABLE_BUG)->data($bug, 'buildName,createBuild,buildExecution,comment,uid')
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->bug->resolve->requiredFields, 'notempty')
|
||||
->checkIF($bug->resolution == 'duplicate', 'duplicateBug', 'notempty')
|
||||
|
||||
+22
-2
@@ -1603,6 +1603,27 @@ class bugZen extends bug
|
||||
return $users;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare to resolve a bug.
|
||||
*
|
||||
* @param object $postData
|
||||
* @param object $oldBug
|
||||
* @access protected
|
||||
* @return object
|
||||
*/
|
||||
protected function prepareResolve(object $postData, object $oldBug): object
|
||||
{
|
||||
$bug = $postData
|
||||
->setDefault('assignedTo', $oldBug->openedBy)
|
||||
->add('id', $oldBug->id)
|
||||
->add('status', 'resolved')
|
||||
->add('confirmed', 1)
|
||||
->removeIF($this->post->resolution != 'duplicate', 'duplicateBug')
|
||||
->get();
|
||||
|
||||
return $this->loadModel('file')->processImgURL($bug, $this->config->bug->editor->resolve['id'], $postData->get('uid'));
|
||||
}
|
||||
|
||||
/**
|
||||
* 解决成功后的相关处理。
|
||||
* Relevant processing after resolving bug.
|
||||
@@ -1623,13 +1644,12 @@ class bugZen extends bug
|
||||
/* Move bug card in kanban. */
|
||||
if($bug->execution)
|
||||
{
|
||||
$this->loadModel('kanban');
|
||||
if(!isset($output['toColID'])) $this->loadModel('kanban')->updateLane($bug->execution, 'bug', $bug->id);
|
||||
if(isset($output['toColID'])) $this->loadModel('kanban')->moveCard($bug->id, $output['fromColID'], $output['toColID'], $output['fromLaneID'], $output['toLaneID']);
|
||||
}
|
||||
|
||||
/* Link bug to build and release. */
|
||||
$this->linkBugToBuild($bug->id, $bug->resolvedBuild);
|
||||
$this->bug->linkBugToBuild($bug->id, $bug->resolvedBuild);
|
||||
|
||||
/* Save files. */
|
||||
$files = $this->loadModel('file')->saveUpload('bug', $bug->id);
|
||||
|
||||
Reference in New Issue
Block a user