Merge branch 'sprint/185' into 'sprint/185_zhengrunyu_49283'
# Conflicts: # db/update16.4.sql # module/user/view/story.html.php
This commit is contained in:
@@ -105,6 +105,7 @@ $config->bug->search['fields']['resolvedDate'] = $lang->bug->resolvedDate;
|
||||
$config->bug->search['fields']['closedDate'] = $lang->bug->closedDate;
|
||||
$config->bug->search['fields']['lastEditedDate'] = $lang->bug->lastEditedDateAB;
|
||||
$config->bug->search['fields']['deadline'] = $lang->bug->deadline;
|
||||
$config->bug->search['fields']['activatedDate'] = $lang->bug->activatedDate;
|
||||
|
||||
$config->bug->search['params']['title'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
|
||||
$config->bug->search['params']['keywords'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
|
||||
@@ -149,6 +150,7 @@ $config->bug->search['params']['resolvedDate'] = array('operator' => '=',
|
||||
$config->bug->search['params']['closedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date');
|
||||
$config->bug->search['params']['lastEditedDate']= array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date');
|
||||
$config->bug->search['params']['deadline'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date');
|
||||
$config->bug->search['params']['activatedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date');
|
||||
|
||||
$config->bug->datatable = new stdclass();
|
||||
$config->bug->datatable->defaultField = array('id', 'severity', 'pri', 'confirmed', 'title', 'status', 'openedBy', 'openedDate', 'assignedTo', 'resolution', 'actions');
|
||||
|
||||
+31
-30
@@ -999,7 +999,7 @@ class bug extends control
|
||||
$this->view->branchTagOption = $branchTagOption;
|
||||
$this->view->tasks = $this->task->getExecutionTaskPairs($bug->execution);
|
||||
$this->view->testtasks = $this->loadModel('testtask')->getPairs($bug->product, $bug->execution, $bug->testtask);
|
||||
$this->view->users = $this->user->getPairs('noclosed', "$bug->assignedTo,$bug->resolvedBy,$bug->closedBy,$bug->openedBy");
|
||||
$this->view->users = $this->user->getPairs('', "$bug->assignedTo,$bug->resolvedBy,$bug->closedBy,$bug->openedBy");
|
||||
$this->view->openedBuilds = $openedBuilds;
|
||||
$this->view->resolvedBuilds = array('' => '') + $openedBuilds + $oldResolvedBuild;
|
||||
$this->view->actions = $this->action->getList('bug', $bugID);
|
||||
@@ -1135,7 +1135,7 @@ class bug extends control
|
||||
$appendUsers[$bug->assignedTo] = $bug->assignedTo;
|
||||
$appendUsers[$bug->resolvedBy] = $bug->resolvedBy;
|
||||
}
|
||||
$users = $this->user->getPairs('devfirst|noclosed', $appendUsers, $this->config->maxCount);
|
||||
$users = $this->user->getPairs('devfirst', $appendUsers, $this->config->maxCount);
|
||||
$users = array('' => '', 'ditto' => $this->lang->bug->ditto) + $users;
|
||||
|
||||
/* Assign. */
|
||||
@@ -1448,7 +1448,7 @@ class bug extends control
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->bug->resolve($bugID, $extra);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
if(dao::isError()) return print(js::error(dao::getError()));
|
||||
$files = $this->loadModel('file')->saveUpload('bug', $bugID);
|
||||
|
||||
$fileAction = !empty($files) ? $this->lang->addFiles . join(',', $files) . "\n" : '';
|
||||
@@ -1468,7 +1468,7 @@ class bug extends control
|
||||
$confirmURL = $this->createLink('task', 'view', "taskID=$bug->toTask");
|
||||
unset($_GET['onlybody']);
|
||||
$cancelURL = $this->createLink('bug', 'view', "bugID=$bugID");
|
||||
die(js::confirm(sprintf($this->lang->bug->remindTask, $bug->toTask), $confirmURL, $cancelURL, 'parent', 'parent.parent'));
|
||||
return print(js::confirm(sprintf($this->lang->bug->remindTask, $bug->toTask), $confirmURL, $cancelURL, 'parent', 'parent.parent'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1530,11 +1530,11 @@ class bug extends control
|
||||
*/
|
||||
public function batchResolve($resolution, $resolvedBuild = '')
|
||||
{
|
||||
$bugIDList = $this->post->bugIDList ? $this->post->bugIDList : die(js::locate($this->session->bugList, 'parent'));
|
||||
$bugIDList = array_unique($bugIDList);
|
||||
if(!$this->post->bugIDList) return print(js::locate($this->session->bugList, 'parent'));
|
||||
|
||||
$bugIDList = array_unique($this->post->bugIDList);
|
||||
$changes = $this->bug->batchResolve($bugIDList, $resolution, $resolvedBuild);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
if(dao::isError()) return print(js::error(dao::getError()));
|
||||
|
||||
foreach($changes as $bugID => $bugChanges)
|
||||
{
|
||||
@@ -1543,7 +1543,7 @@ class bug extends control
|
||||
}
|
||||
|
||||
$this->loadModel('score')->create('ajax', 'batchOther');
|
||||
die(js::locate($this->session->bugList, 'parent'));
|
||||
return print(js::locate($this->session->bugList, 'parent'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1560,7 +1560,7 @@ class bug extends control
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->bug->activate($bugID, $extra);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
if(dao::isError()) return print(js::error(dao::getError()));
|
||||
|
||||
$files = $this->loadModel('file')->saveUpload('bug', $bugID);
|
||||
|
||||
@@ -1587,7 +1587,7 @@ class bug extends control
|
||||
return print(js::closeModal('parent.parent'));
|
||||
}
|
||||
}
|
||||
die(js::locate($this->createLink('bug', 'view', "bugID=$bugID"), 'parent'));
|
||||
return print(js::locate($this->createLink('bug', 'view', "bugID=$bugID"), 'parent'));
|
||||
}
|
||||
|
||||
$productID = $bug->product;
|
||||
@@ -1620,7 +1620,7 @@ class bug extends control
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$changes = $this->bug->close($bugID, $extra);
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
if(dao::isError()) return print(js::error(dao::getError()));
|
||||
|
||||
$actionID = $this->action->create('bug', $bugID, 'Closed', $this->post->comment);
|
||||
$this->action->logHistory($actionID, $changes);
|
||||
@@ -1709,8 +1709,8 @@ class bug extends control
|
||||
$this->view->pager = $pager;
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noletter');
|
||||
$this->view->recTotal = $recTotal;
|
||||
$this->view->recPerPage = $recPerPage;
|
||||
$this->view->pageID = $pageID;
|
||||
$this->view->recPerPage = $recPerPage;
|
||||
$this->view->pageID = $pageID;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
@@ -1747,7 +1747,7 @@ class bug extends control
|
||||
$this->loadModel('score')->create('ajax', 'batchOther');
|
||||
if(isset($skipBugs)) echo js::alert(sprintf($this->lang->bug->skipClose, join(',', $skipBugs)));
|
||||
}
|
||||
die(js::reload('parent'));
|
||||
return print(js::reload('parent'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1763,11 +1763,12 @@ class bug extends control
|
||||
$activateBugs = $this->bug->batchActivate();
|
||||
foreach($activateBugs as $bugID => $bug) $this->action->create('bug', $bugID, 'Activated', $bug['comment']);
|
||||
$this->loadModel('score')->create('ajax', 'batchOther');
|
||||
die(js::locate($this->session->bugList, 'parent'));
|
||||
return print(js::locate($this->session->bugList, 'parent'));
|
||||
}
|
||||
|
||||
$bugIDList = $this->post->bugIDList ? $this->post->bugIDList : die(js::locate($this->session->bugList, 'parent'));
|
||||
$bugIDList = array_unique($bugIDList);
|
||||
if(!$this->post->bugIDList) return print(js::locate($this->session->bugList, 'parent'));
|
||||
|
||||
$bugIDList = array_unique($this->post->bugIDList);
|
||||
$bugs = $this->dao->select('id, title, status, resolvedBy, openedBuild')->from(TABLE_BUG)->where('id')->in($bugIDList)->fetchAll('id');
|
||||
|
||||
$this->qa->setMenu($this->products, $productID, $branch);
|
||||
@@ -1796,7 +1797,7 @@ class bug extends control
|
||||
$this->bug->checkBugExecutionPriv($bug);
|
||||
$this->dao->update(TABLE_BUG)->set('storyVersion')->eq($bug->latestStoryVersion)->where('id')->eq($bugID)->exec();
|
||||
$this->loadModel('action')->create('bug', $bugID, 'confirmed', '', $bug->latestStoryVersion);
|
||||
die(js::reload('parent'));
|
||||
return print(js::reload('parent'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1812,7 +1813,7 @@ class bug extends control
|
||||
$bug = $this->bug->getById($bugID);
|
||||
if($confirm == 'no')
|
||||
{
|
||||
die(js::confirm($this->lang->bug->confirmDelete, inlink('delete', "bugID=$bugID&confirm=yes")));
|
||||
return print(js::confirm($this->lang->bug->confirmDelete, inlink('delete', "bugID=$bugID&confirm=yes")));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1825,7 +1826,7 @@ class bug extends control
|
||||
$confirmURL = $this->createLink('task', 'view', "taskID=$bug->toTask");
|
||||
unset($_GET['onlybody']);
|
||||
$cancelURL = $this->createLink('bug', 'view', "bugID=$bugID");
|
||||
die(js::confirm(sprintf($this->lang->bug->remindTask, $bug->toTask), $confirmURL, $cancelURL, 'parent', 'parent.parent'));
|
||||
return print(js::confirm(sprintf($this->lang->bug->remindTask, $bug->toTask), $confirmURL, $cancelURL, 'parent', 'parent.parent'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1834,7 +1835,7 @@ class bug extends control
|
||||
if($this->viewType == 'json') return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess));
|
||||
|
||||
$locateLink = $this->session->bugList ? $this->session->bugList : inlink('browse', "productID={$bug->product}");
|
||||
die(js::locate($locateLink, 'parent'));
|
||||
return print(js::locate($locateLink, 'parent'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1853,8 +1854,8 @@ class bug extends control
|
||||
$account = $user->account;
|
||||
$bugs = $this->bug->getUserBugPairs($account);
|
||||
|
||||
if($id) die(html::select("bugs[$id]", $bugs, '', 'class="form-control"'));
|
||||
die(html::select('bug', $bugs, '', 'class=form-control'));
|
||||
if($id) return print(html::select("bugs[$id]", $bugs, '', 'class="form-control"'));
|
||||
return print(html::select('bug', $bugs, '', 'class=form-control'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1876,7 +1877,7 @@ class bug extends control
|
||||
if(!empty($this->config->isINT)) $firstLetter = '';
|
||||
$realName = $firstLetter . ($user->realname ? $user->realname : $account);
|
||||
}
|
||||
die(json_encode(array($account, $realName)));
|
||||
return print(json_encode(array($account, $realName)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1891,7 +1892,7 @@ class bug extends control
|
||||
{
|
||||
$executionMembers = $this->user->getTeamMemberPairs($executionID, 'execution', '', $selectedUser);
|
||||
|
||||
die(html::select('assignedTo', $executionMembers, $selectedUser, 'class="form-control"'));
|
||||
return print(html::select('assignedTo', $executionMembers, $selectedUser, 'class="form-control"'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1906,7 +1907,7 @@ class bug extends control
|
||||
{
|
||||
$productMembers = $this->bug->getProductMemberPairs($productID);
|
||||
|
||||
die(html::select('assignedTo', $productMembers, $selectedUser, 'class="form-control"'));
|
||||
return print(html::select('assignedTo', $productMembers, $selectedUser, 'class="form-control"'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1920,7 +1921,7 @@ class bug extends control
|
||||
{
|
||||
$allUsers = $this->loadModel('user')->getPairs('devfirst|noclosed');
|
||||
|
||||
die(html::select('assignedTo', $allUsers, $selectedUser, 'class="form-control"'));
|
||||
return print(html::select('assignedTo', $allUsers, $selectedUser, 'class="form-control"'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2152,7 +2153,7 @@ class bug extends control
|
||||
$bug = $this->dao->select('*')->from(TABLE_BUG)->where('id')->eq($bugID)->fetch();
|
||||
$realname = $this->dao->select('*')->from(TABLE_USER)->where('account')->eq($bug->assignedTo)->fetch('realname');
|
||||
$bug->assignedTo = $realname ? $realname : ($bug->assignedTo == 'closed' ? 'Closed' : $bug->assignedTo);
|
||||
die(json_encode($bug));
|
||||
return print(json_encode($bug));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2171,7 +2172,7 @@ class bug extends control
|
||||
$pri = $this->lang->bug->priList;
|
||||
$severity = $this->lang->bug->severityList;
|
||||
|
||||
die(json_encode(array('modules' => $modules, 'categories' => $type, 'versions' => $builds, 'severities' => $severity, 'priorities' => $pri)));
|
||||
return print(json_encode(array('modules' => $modules, 'categories' => $type, 'versions' => $builds, 'severities' => $severity, 'priorities' => $pri)));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2213,7 +2214,7 @@ class bug extends control
|
||||
$users = $this->loadModel('user')->getPairs('noclosed');
|
||||
$teamMembers = empty($projectID) ? array() : $this->loadModel('project')->getTeamMemberPairs($projectID);
|
||||
foreach($teamMembers as $account => $member) $teamMembers[$account] = $users[$account];
|
||||
die(html::select('assignedTo', $teamMembers, '', 'class="form-control"'));
|
||||
return print(html::select('assignedTo', $teamMembers, '', 'class="form-control"'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
+12
-11
@@ -217,7 +217,7 @@ class bugModel extends model
|
||||
|
||||
$bug->{$extendField->field} = htmlSpecialString($bug->{$extendField->field});
|
||||
$message = $this->checkFlowRule($extendField, $bug->{$extendField->field});
|
||||
if($message) die(js::alert($message));
|
||||
if($message) return print(js::alert($message));
|
||||
}
|
||||
|
||||
/* Required field check. */
|
||||
@@ -226,7 +226,7 @@ class bugModel extends model
|
||||
$field = trim($field);
|
||||
if($field and empty($bug->$field))
|
||||
{
|
||||
die(js::alert(sprintf($this->lang->error->notempty, $this->lang->bug->$field)));
|
||||
return print(js::alert(sprintf($this->lang->error->notempty, $this->lang->bug->$field)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -266,7 +266,7 @@ class bugModel extends model
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->bug->create->requiredFields, 'notempty')
|
||||
->exec();
|
||||
if(dao::isError()) die(js::error(dao::getError()));
|
||||
if(dao::isError()) return print(js::error(dao::getError()));
|
||||
|
||||
$bugID = $this->dao->lastInsertID();
|
||||
|
||||
@@ -290,7 +290,7 @@ class bugModel extends model
|
||||
unset($file);
|
||||
}
|
||||
|
||||
if(dao::isError()) die(js::error('bug#' . ($i+1) . dao::getError(true)));
|
||||
if(dao::isError()) return print(js::error('bug#' . ($i+1) . dao::getError(true)));
|
||||
$actions[$bugID] = $this->action->create('bug', $bugID, 'Opened');
|
||||
}
|
||||
|
||||
@@ -430,8 +430,8 @@ class bugModel extends model
|
||||
{
|
||||
echo(js::alert($this->lang->bug->executionAccessDenied));
|
||||
$loginLink = $this->config->requestType == 'GET' ? "?{$this->config->moduleVar}=user&{$this->config->methodVar}=login" : "user{$this->config->requestFix}login";
|
||||
if(strpos($this->server->http_referer, $loginLink) !== false) die(js::locate(helper::createLink('bug', 'index', '')));
|
||||
die(js::locate('back'));
|
||||
if(strpos($this->server->http_referer, $loginLink) !== false) return print(js::locate(helper::createLink('bug', 'index', '')));
|
||||
return print(js::locate('back'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -804,7 +804,7 @@ class bugModel extends model
|
||||
|
||||
$bug->{$extendField->field} = htmlSpecialString($bug->{$extendField->field});
|
||||
$message = $this->checkFlowRule($extendField, $bug->{$extendField->field});
|
||||
if($message) die(js::alert($message));
|
||||
if($message) return print(js::alert($message));
|
||||
}
|
||||
|
||||
$bugs[$bugID] = $bug;
|
||||
@@ -834,7 +834,7 @@ class bugModel extends model
|
||||
}
|
||||
else
|
||||
{
|
||||
die(js::error('bug#' . $bugID . dao::getError(true)));
|
||||
return print(js::error('bug#' . $bugID . dao::getError(true)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -887,7 +887,7 @@ class bugModel extends model
|
||||
{
|
||||
$oldBug = $bugs[$bugID];
|
||||
$this->dao->update(TABLE_BUG)->data($bug, $skipFields = 'comment')->autoCheck()->where('id')->eq((int)$bugID)->exec();
|
||||
if(dao::isError()) die(js::error('bug#' . $bugID . dao::getError(true)));
|
||||
if(dao::isError()) return print(js::error('bug#' . $bugID . dao::getError(true)));
|
||||
|
||||
$this->dao->update(TABLE_BUG)->set('activatedCount = activatedCount + 1')->where('id')->eq((int)$bugID)->exec();
|
||||
}
|
||||
@@ -1357,15 +1357,16 @@ class bugModel extends model
|
||||
* @param int $bugID
|
||||
* @param string $browseType
|
||||
* @param int $queryID
|
||||
* @param object $pager
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function getBugs2Link($bugID, $browseType = 'bySearch', $queryID = 0, $pager)
|
||||
public function getBugs2Link($bugID, $browseType = 'bySearch', $queryID = 0, $pager = null)
|
||||
{
|
||||
if($browseType == 'bySearch')
|
||||
{
|
||||
$bug = $this->getById($bugID);
|
||||
$bugIDList = $bug->id . ',' . $bug->linkBug;
|
||||
$bugIDList = $bug->id . ',' . $bug->linkBug;
|
||||
$bugs2Link = $this->getBySearch($bug->product, 'all', $queryID, 'id', $bugIDList, $pager);
|
||||
return $bugs2Link;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user