Merge branch 'master' of https://gitlab.zcorp.cc/easycorp/zentaopms into tanghucheng_task

This commit is contained in:
tanghucheng
2022-08-10 12:46:22 +08:00
26 changed files with 118 additions and 46 deletions
+3
View File
@@ -30,3 +30,6 @@ UPDATE `zt_workflowfield` SET `options`=(SELECT id FROM `zt_workflowdatasource`
UPDATE `zt_project` SET `closedDate`='' AND `closedBy`='' WHERE `status` != 'closed';
UPDATE `zt_grouppriv` SET `method`='exportTemplate' WHERE `method` = 'exportTemplet';
INSERT IGNORE INTO `zt_workflowaction` (`module`, `action`, `method`, `name`, `type`, `batchMode`, `extensionType`, `open`, `position`, `layout`, `show`, `buildin`, `role`, `createdBy`, `createdDate`) VALUES
('bug', 'batchactivate', 'batchoperate', '批量激活', 'batch', 'different', 'none', 'normal', 'browse', 'normal', 'direct', '1', 'buildin', '', '2022-08-09 15:52');
+2
View File
@@ -340,6 +340,8 @@ $config->bug->datatable->fieldList['resolvedBuild']['title'] = 'resolvedBuild
$config->bug->datatable->fieldList['resolvedBuild']['fixed'] = 'no';
$config->bug->datatable->fieldList['resolvedBuild']['width'] = '120';
$config->bug->datatable->fieldList['resolvedBuild']['required'] = 'no';
$config->bug->datatable->fieldList['resolvedBuild']['control'] = 'select';
$config->bug->datatable->fieldList['resolvedBuild']['dataSource'] = array('module' => 'bug', 'method' =>'getRelatedObjects', 'params' => 'resolvedBuild&id,name');
$config->bug->datatable->fieldList['closedBy']['title'] = 'closedBy';
$config->bug->datatable->fieldList['closedBy']['fixed'] = 'no';
+2 -2
View File
@@ -2090,7 +2090,7 @@ class bug extends control
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');
$bugs = $this->dao->select('*')->from(TABLE_BUG)->where('id')->in($bugIDList)->fetchAll('id');
$this->qa->setMenu($this->products, $productID, $branch);
@@ -2293,7 +2293,7 @@ class bug extends control
if($_POST)
{
$this->loadModel('port');
$this->session->set('bugPortParams', array('productID' => $productID, 'executionID' => $executionID));
$this->session->set('bugPortParams', array('productID' => $productID, 'executionID' => $executionID, 'branch' => 'all'));
$this->port->export('bug');
$this->fetch('file', 'export2' . $_POST['fileType'], $_POST);
}
+15 -3
View File
@@ -945,6 +945,7 @@ class bugModel extends model
if(empty($bugIDList)) return $activateBugs;
$extendFields = $this->getFlowExtendFields();
foreach($bugIDList as $bugID)
{
if($data->statusList[$bugID] == 'active') continue;
@@ -967,6 +968,15 @@ class bugModel extends model
$activateBugs[$bugID]['toStory'] = 0;
$activateBugs[$bugID]['lastEditedBy'] = $this->app->user->account;
$activateBugs[$bugID]['lastEditedDate'] = $now;
foreach($extendFields as $extendField)
{
$postFieldData = $this->post->{$extendField->field};
if(is_array($postFieldData[$bugID])) $postFieldData[$bugID] = join(',', $postFieldData[$bugID]);
$activateBugs[$bugID][$extendField->field] = htmlSpecialString($postFieldData[$bugID]);
}
}
/* Update bugs. */
@@ -976,6 +986,8 @@ class bugModel extends model
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();
$this->executeHooks($bugID);
}
return $activateBugs;
@@ -3557,13 +3569,13 @@ class bugModel extends model
foreach($bugs as $bug) $relatedObjectIdList[$bug->$object] = $bug->$object;
if($object == 'openedBuild') $object = 'build';
if($object == 'openedBuild' or $object == 'resolvedBuild') $object = 'build';
/* Get related objects title or names. */
$table = $this->config->objectTables[$object];
if($table) $relatedObjects = $this->dao->select($pairs)->from($table) ->where('id')->in($relatedObjectIdList)->fetchPairs();
if($table) $relatedObjects = $this->dao->select($pairs)->from($table)->where('id')->in($relatedObjectIdList)->fetchPairs();
if($object == 'build') $relatedObjects= array('trunk' => $this->lang->trunk) + $relatedObjects;
if(in_array($object, array('build','resolvedBuild'))) $relatedObjects= array('trunk' => $this->lang->trunk) + $relatedObjects;
return $relatedObjects;
}
+23 -1
View File
@@ -11,6 +11,16 @@
*/
?>
<?php include '../../common/view/header.html.php';?>
<?php
if($this->config->edition == 'biz' || $this->config->edition == 'max')
{
$action = $this->loadModel('workflowaction')->getByModuleAndAction('bug', 'batchactivate');
if($action->js) echo "<script>{$action->js}</script>";
if($action->css) echo "<style>{$action->css}</style>";
}
?>
<div id='mainContent' class='main-content'>
<div class='main-header'>
<h2><?php echo $lang->bug->common . $lang->colon . $lang->bug->batchActivate;?></h2>
@@ -24,6 +34,14 @@
<th class='c-assigned'><?php echo $lang->bug->assignedTo;?></th>
<th class='c-build'><?php echo $lang->bug->openedBuild;?></th>
<th><?php echo $lang->bug->legendComment;?></th>
<?php
$extendFields = $this->bug->getFlowExtendFields();
foreach($extendFields as $extendField)
{
$required = strpos(",$extendField->rules,", ',1,') !== false ? 'required' : '';
echo "<th class='c-extend $required'>{$extendField->name}</th>";
}
?>
</tr>
</thead>
<tbody class='text-left'>
@@ -34,11 +52,15 @@
<td style='overflow:visible'><?php echo html::select("assignedToList[$bug->id]", $users, $bug->resolvedBy, "class='form-control chosen'");?></td>
<td style='overflow:visible'><?php echo html::select("openedBuildList[$bug->id]", $builds, $bug->openedBuild, 'size=4 multiple=multiple class="form-control chosen"');?></td>
<td><?php echo html::input("commentList[$bug->id]", '', "class='form-control'");?></td>
<?php
$this->loadModel('flow');
foreach($extendFields as $extendField) echo "<td" . (($extendField->control == 'select' or $extendField->control == 'multi-select') ? " style='overflow:visible'" : '') . ">" . $this->flow->getFieldControl($extendField, $bug, $extendField->field . "[$bug->id]") . "</td>";
?>
</tr>
<?php endforeach;?>
</tbody>
<tfoot>
<tr><td colspan='5' class='text-center'><?php echo html::submitButton();?></td></tr>
<tr><td colspan="<?php echo count($extendFields) + 5;?>" class='text-center'><?php echo html::submitButton();?></td></tr>
</tfoot>
</table>
</form>
+2 -2
View File
@@ -125,7 +125,7 @@ $config->execution->all->search['module'] = 'execution';
$config->execution->all->search['fields']['name'] = $lang->execution->execName;
$config->execution->all->search['fields']['id'] = $lang->execution->execId;
$config->execution->all->search['fields']['status'] = $lang->execution->execStatus;
$config->execution->all->search['fields']['project'] = $lang->execution->project;
if($config->systemMode == 'new') $config->execution->all->search['fields']['project'] = $lang->execution->project;
$config->execution->all->search['fields']['PM'] = $lang->execution->owner;
$config->execution->all->search['fields']['openedBy'] = $lang->execution->openedBy;
$config->execution->all->search['fields']['openedDate'] = $lang->execution->openedDate;
@@ -140,7 +140,7 @@ $config->execution->all->search['fields']['closedDate'] = $lang->execution->
$config->execution->all->search['params']['name'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
$config->execution->all->search['params']['id'] = array('operator' => '=', 'control' => 'input', 'values' => '');
$config->execution->all->search['params']['status'] = array('operator' => '=', 'control' => 'select', 'values' => array('') + $lang->execution->statusList);
$config->execution->all->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => '');
if($config->systemMode == 'new') $config->execution->all->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => '');
$config->execution->all->search['params']['PM'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
$config->execution->all->search['params']['openedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
$config->execution->all->search['params']['openedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date');
+1 -1
View File
@@ -28,7 +28,7 @@ td.flex span.project-type-label {min-width: 40px;}
.has-child > span {margin-right: 5px;}
.c-name > .text-ellipsis {text-overflow: clip;}
.c-code, .c-project {overflow: hidden; white-space: nowrap;}
th.c-status {text-align: center}
th.c-status, .c-begin, .c-end, .c-realBegan, .c-realEnd {text-align: center;}
.c-project{text-overflow: unset !important;}
canvas {height: 28px;}
+1 -1
View File
@@ -1,10 +1,10 @@
td.delayed {background: #e84e0f !important; color: white;}
#int-dropdown {margin-left: -8px; border-radius: 4px; border: 1px solid #0c64eb;}
#projectTaskForm table tbody tr td {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
th.c-deadline {text-align: center;}
.table td.c-estimate, .table td.c-consumed, .table td.c-left {padding-right: 12px;}
.c-estimate {text-align: right;}
.c-consumed {text-align: right;}
.c-deadline {text-align: center;}
.c-left {text-align: right;}
.table-footer {z-index: 1;}
.btn-toolbar > .btn {margin-right: 5px !important;}
+1
View File
@@ -174,6 +174,7 @@ $lang->execution->cfdTypeList['bug'] = "View By bug";
$lang->team->account = 'Konto';
$lang->team->role = 'Rolle';
$lang->team->roleAB = 'Meine Rolle';
$lang->team->join = 'Beigetreten';
$lang->team->hours = 'Stunde/Tag';
$lang->team->days = 'Arbeitstage';
+1
View File
@@ -174,6 +174,7 @@ $lang->execution->cfdTypeList['bug'] = "View By bug";
$lang->team->account = 'User';
$lang->team->role = 'Role';
$lang->team->roleAB = 'My Role';
$lang->team->join = 'Joined';
$lang->team->hours = 'Hours/day';
$lang->team->days = 'Day';
+1
View File
@@ -174,6 +174,7 @@ $lang->execution->cfdTypeList['bug'] = "View By bug";
$lang->team->account = 'Utilisateur';
$lang->team->role = 'Rôle';
$lang->team->roleAB = 'Mon Rôle';
$lang->team->join = 'Ajouté';
$lang->team->hours = 'Heure/jour';
$lang->team->days = 'Jour';
+1
View File
@@ -127,6 +127,7 @@ $lang->execution->lifeTimeList['ops'] = "DevOps";
$lang->team = new stdclass();
$lang->team->account = 'Người dùng';
$lang->team->role = 'Vai trò';
$lang->team->roleAB = 'Vai trò của tôi';
$lang->team->join = 'Đã tham gia';
$lang->team->hours = 'Giờ/ngày';
$lang->team->days = 'Ngày';
+1
View File
@@ -174,6 +174,7 @@ $lang->execution->cfdTypeList['bug'] = "按Bug查看";
$lang->team->account = '用户';
$lang->team->role = '角色';
$lang->team->roleAB = '我的角色';
$lang->team->join = '加盟日';
$lang->team->hours = '可用工时/天';
$lang->team->days = '可用工日';
+5 -3
View File
@@ -420,6 +420,8 @@ class executionModel extends model
/* Update the path. */
if($this->config->systemMode == 'new') $this->setTreePath($executionID);
$this->updateProducts($executionID);
/* Set team of execution. */
$members = isset($_POST['teamMembers']) ? $_POST['teamMembers'] : array();
array_push($members, $sprint->PO, $sprint->QD, $sprint->PM, $sprint->RD, $sprint->openedBy);
@@ -4371,16 +4373,16 @@ class executionModel extends model
echo '<td>' . zget($users, $execution->PM) . '</td>';
echo "<td class='status-{$execution->status} text-center'>" . zget($this->lang->project->statusList, $execution->status) . '</td>';
echo '<td>' . html::ring($execution->hours->progress) . '</td>';
echo helper::isZeroDate($execution->begin) ? '<td></td>' : '<td>' . $execution->begin . '</td>';
echo helper::isZeroDate($execution->begin) ? '<td></td>' : '<td class="c-date">' . $execution->begin . '</td>';
if(!helper::isZeroDate($execution->end))
{
if($execution->status != 'closed')
{
echo strtotime($today) > strtotime($execution->end) ? '<td class="delayed" title="' . $this->lang->execution->delayed . '">' . $execution->end . '</td>' : '<td>' . $execution->end . '</td>';
echo strtotime($today) > strtotime($execution->end) ? '<td class="delayed c-date" title="' . $this->lang->execution->delayed . '">' . $execution->end . '</td>' : '<td class="c-date">' . $execution->end . '</td>';
}
else
{
echo '<td>' . $execution->end . '</td>';
echo '<td class="c-date">' . $execution->end . '</td>';
}
}
else
+1 -1
View File
@@ -1,2 +1,2 @@
.c-hours, .c-progress {width: 80px !important;}
th.c-status {padding-right: 8px !important;}
.c-status, .c-date {padding-right: 8px !important; text-align: center;}
+6 -6
View File
@@ -39,8 +39,8 @@
<?php endif;?>
<th class='c-date'><?php echo $lang->execution->begin;?></th>
<th class='c-date'><?php echo $lang->execution->end;?></th>
<th class='c-status text-center'><?php echo $lang->statusAB;?></th>
<th class='c-user'><?php echo $lang->team->role;?></th>
<th class='c-status'><?php echo $lang->statusAB;?></th>
<th class='c-user' title='<?php echo $lang->team->roleAB;?>'><?php echo $lang->team->roleAB;?></th>
<th class='c-date'><?php echo $lang->team->join;?></th>
<th class='c-hours'><?php echo $lang->my->hours;?></th>
<th class='c-user'><?php echo $lang->execution->myTask;?></th>
@@ -67,9 +67,9 @@
<?php echo isset($execution->projectName) ? html::a($this->createLink('project', 'index', "id=$execution->project", '', '', $execution->project), $execution->projectName, '', "title='$execution->projectName'") : '';?>
</td>
<?php endif;?>
<td><?php echo $execution->begin;?></td>
<td><?php echo $execution->end;?></td>
<td class="c-status text-center">
<td class='c-date'><?php echo $execution->begin;?></td>
<td class='c-date'><?php echo $execution->end;?></td>
<td class="c-status">
<?php if(isset($execution->delay)):?>
<span class="status-project status-delayed" title='<?php echo $lang->execution->delayed;?>'><?php echo $lang->execution->delayed;?></span>
<?php else:?>
@@ -78,7 +78,7 @@
<?php endif;?>
</td>
<td><?php echo $execution->role;?></td>
<td><?php echo $execution->join;?></td>
<td class='c-date'><?php echo $execution->join;?></td>
<td><?php echo $execution->hours;?></td>
<td><?php echo $execution->assignedToMeTasks;?></td>
<td>
+2 -2
View File
@@ -89,11 +89,11 @@
<?php printf('%03d', $story->id);?>
</td>
<td class='c-pri'><span class='label-pri <?php echo 'label-pri-' . $story->pri;?>' title='<?php echo zget($lang->story->priList, $story->pri, $story->pri);?>'><?php echo zget($lang->story->priList, $story->pri, $story->pri);?></span></td>
<td class='c-name nobr <?php if(!empty($story->children)) echo "has-child" ?>'>
<td class='c-name nobr <?php if(!empty($story->children)) echo "has-child" ?>' title='<?php echo $story->title;?>'>
<?php echo html::a($storyLink, $story->title, null, "style='color: $story->color' data-group='product'");?>
<?php if(!empty($story->children)) echo '<a class="story-toggle" data-id="' . $story->id . '"><i class="icon icon-angle-double-right"></i></a>';;?>
</td>
<td class='c-product'><?php echo $story->productTitle;?></td>
<td class='c-product' title='<?php echo $story->productTitle;?>'><?php echo $story->productTitle;?></td>
<td class='c-plan'><?php echo $story->planTitle;?></td>
<td class='c-user'><?php echo zget($users, $story->openedBy);?></td>
<td class='c-hours' title="<?php echo $story->estimate . ' ' . $lang->hourCommon;?>"><?php echo $story->estimate . $config->hourUnit;?></td>
+8 -8
View File
@@ -87,15 +87,15 @@
<?php endif;?>
<?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?>
</th>
<th class="c-date"> <?php common::printOrderLink('date', $orderBy, $vars, $lang->todo->date);?></th>
<th class="c-type"> <?php common::printOrderLink('type', $orderBy, $vars, $lang->todo->type);?></th>
<th class="c-date text-center"><?php common::printOrderLink('date', $orderBy, $vars, $lang->todo->date);?></th>
<th class="c-type"><?php common::printOrderLink('type', $orderBy, $vars, $lang->todo->type);?></th>
<?php $style = $this->app->clientLang == 'en' ? "style='width:80px'" : '';?>
<th class="c-pri" <?php echo $style;?> title=<?php echo $lang->todo->pri;?>> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
<th class="c-name"> <?php common::printOrderLink('name', $orderBy, $vars, $lang->todo->name);?></th>
<th class="c-user"> <?php common::printOrderLink('assignedBy', $orderBy, $vars, $lang->todo->assignedBy);?></th>
<th class="c-begin"> <?php common::printOrderLink('begin', $orderBy, $vars, $lang->todo->beginAB);?></th>
<th class="c-end"> <?php common::printOrderLink('end', $orderBy, $vars, $lang->todo->endAB);?></th>
<th class="c-status"> <?php common::printOrderLink('status', $orderBy, $vars, $lang->todo->status);?></th>
<th class="c-name"> <?php common::printOrderLink('name', $orderBy, $vars, $lang->todo->name);?></th>
<th class="c-user"> <?php common::printOrderLink('assignedBy', $orderBy, $vars, $lang->todo->assignedBy);?></th>
<th class="c-begin"> <?php common::printOrderLink('begin', $orderBy, $vars, $lang->todo->beginAB);?></th>
<th class="c-end"> <?php common::printOrderLink('end', $orderBy, $vars, $lang->todo->endAB);?></th>
<th class="c-status"> <?php common::printOrderLink('status', $orderBy, $vars, $lang->todo->status);?></th>
<th class="c-actions-5"><?php echo $lang->actions;?></th>
</tr>
</thead>
@@ -111,7 +111,7 @@
<?php endif;?>
<?php echo $todo->id?>
</td>
<td class="c-date"><?php echo $todo->date == '2030-01-01' ? $lang->todo->periods['future'] : $todo->date;?></td>
<td class="c-date text-center"><?php echo $todo->date == '2030-01-01' ? $lang->todo->periods['future'] : $todo->date;?></td>
<td class="c-type"><?php echo zget($lang->todo->typeList, $todo->type, '');?></td>
<td class="c-pri"><span title="<?php echo zget($lang->todo->priList, $todo->pri);?>" class='label-pri <?php echo 'label-pri-' . $todo->pri;?>' title='<?php echo zget($lang->todo->priList, $todo->pri, $todo->pri);?>'><?php echo zget($lang->todo->priList, $todo->pri)?></span></td>
<td class="c-name" title="<?php echo $todo->name;?>"><?php echo html::a($this->createLink('todo', 'view', "id=$todo->id&from=my", '', true), $todo->name, '', "data-toggle='modal' data-width='80%' data-type='iframe' data-title='" . $lang->todo->view . "' data-icon='check'");?></td>
+1 -1
View File
@@ -17,7 +17,7 @@ $config->port->datetimeFeilds = '';
$config->port->listFields = '';
$config->port->sysLangFields = ',pri,status,type,mode,severity,os,browser,resolution,confirmed,source,reviewResult,stage,change';
$config->port->sysDataFields = 'execution,product,user';
$config->port->userFields = 'assignedTo,openedBy,finishedBy,canceledBy,closedBy,lastEditedBy,lastRunner,';
$config->port->userFields = 'assignedTo,openedBy,finishedBy,canceledBy,closedBy,lastEditedBy,lastRunner,resolvedBy';
$config->port->import = new stdClass();
+12 -1
View File
@@ -600,9 +600,20 @@ class portModel extends model
{
foreach($values as $field => $value)
{
if(empty($value)) continue;
if(in_array($field, $dataSourceList))
{
$rows[$id]->$field = zget($exportDatas[$field], $value);
if($fieldList[$field]['control'] == 'multiple')
{
$value = explode(',', $value);
$multiple = '';
foreach($value as $tmpValue) $multiple .= "\n" . zget($exportDatas[$field], $tmpValue);
$rows[$id]->$field = $multiple;
}
else
{
$rows[$id]->$field = zget($exportDatas[$field], $value);
}
}
elseif(strpos($this->config->port->userFields, $field) !== false)
{
+1
View File
@@ -7,3 +7,4 @@
th.table-nest-title-edit {padding-left: 50px !important;}
th.table-nest-title-edit .table-nest-toggle {left: 28px;}
th.table-nest-title .check-all {position: absolute; left: 15px; top: 7px;}
.c-date {text-align: center;}
+1 -1
View File
@@ -39,7 +39,7 @@
<button type='button' class='btn btn-link' data-toggle='modal' data-target='#copyProjectModal'><?php echo html::icon($lang->icons['copy'], 'muted') . ' ' . $lang->project->copy;?></button>
<?php else: ?>
<button type='button' class='btn btn-link' data-toggle='modal' data-target='#maxCopyProjectModal'><?php echo html::icon($lang->icons['copy'], 'muted') . ' ' . $lang->project->copy;?></button>
<?php endif; ?>
<?php endif; ?>
</div>
<?php endif; ?>
</div>
+7 -6
View File
@@ -4464,7 +4464,8 @@ class storyModel extends model
}
elseif($id == 'title')
{
$title = $story->title;
$title = $story->title;
$class .= ' text-ellipsis';
if(!empty($story->children)) $class .= ' has-child';
}
elseif($id == 'plan')
@@ -4637,25 +4638,25 @@ class storyModel extends model
echo zget($users, $story->openedBy, $story->openedBy);
break;
case 'openedDate':
echo substr($story->openedDate, 5, 11);
echo helper::isZeroDate($story->openedDate) ? '' : substr($story->openedDate, 5, 11);
break;
case 'assignedTo':
$this->printAssignedHtml($story, $users);
break;
case 'assignedDate':
echo substr($story->assignedDate, 5, 11);
echo helper::isZeroDate($story->assignedDate) ? '' : substr($story->assignedDate, 5, 11);
break;
case 'reviewedBy':
echo $story->reviewedBy;
break;
case 'reviewedDate':
echo substr($story->reviewedDate, 5, 11);
echo helper::isZeroDate($story->reviewedDate) ? '' : substr($story->reviewedDate, 5, 11);
break;
case 'closedBy':
echo zget($users, $story->closedBy, $story->closedBy);
break;
case 'closedDate':
echo substr($story->closedDate, 5, 11);
echo helper::isZeroDate($story->closedDate) ? '' : substr($story->closedDate, 5, 11);
break;
case 'closedReason':
echo zget($this->lang->story->reasonList, $story->closedReason, $story->closedReason);
@@ -4664,7 +4665,7 @@ class storyModel extends model
echo zget($users, $story->lastEditedBy, $story->lastEditedBy);
break;
case 'lastEditedDate':
echo substr($story->lastEditedDate, 5, 11);
echo helper::isZeroDate($story->lastEditedDate) ? '' : substr($story->lastEditedDate, 5, 11);
break;
case 'feedbackBy':
echo $story->feedbackBy;
+2 -2
View File
@@ -70,7 +70,7 @@ $config->testcase->search['params']['stage'] = array('operator' => 'inclu
$config->testcase->search['params']['lib'] = array('operator' => '=', 'control' => 'select', 'values' => '');
$config->testcase->search['params']['lastRunner'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
$config->testcase->search['params']['lastRunResult'] = array('operator' => '=', 'control' => 'select', 'values' => array_diff($lang->testcase->resultList, array('n/a' => $lang->testcase->resultList['n/a'])) + array('' => ''));
$config->testcase->search['params']['lastRunResult'] = array('operator' => '=', 'control' => 'select', 'values' => array_diff($lang->testcase->resultList, array('n/a' => $lang->testcase->resultList['n/a'])) + array('null' => $lang->testcase->unexecuted));
$config->testcase->search['params']['lastRunDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date');
$config->testcase->search['params']['openedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date');
$config->testcase->search['params']['lastEditedDate'] = array('operator' => '=', 'control' => 'input', 'values' => '', 'class' => 'date');
@@ -185,7 +185,7 @@ $config->testcase->datatable->fieldList['status']['required'] = 'no';
$config->testcase->datatable->fieldList['lastEditedBy']['title'] = 'lastEditedBy';
$config->testcase->datatable->fieldList['lastEditedBy']['fixed'] = 'no';
$config->testcase->datatable->fieldList['lastEditedBy']['width'] = '80';
$config->testcase->datatable->fieldList['lastEditedBy']['width'] = '92';
$config->testcase->datatable->fieldList['lastEditedBy']['required'] = 'no';
$config->testcase->datatable->fieldList['lastEditedDate']['title'] = 'lastEditedDate';
+16 -3
View File
@@ -919,8 +919,7 @@ class upgrade extends control
$response['message'] = '';
$response['nextMessage'] = '';
$stmt = $this->dao->query("SHOW TABLE STATUS WHERE `Engine` is not null AND `Engine` = 'MyISAM'");
$stmt = $this->dao->query("SHOW TABLE STATUS WHERE `Engine` is not null AND `Engine` = 'MyISAM'");
$table = $stmt->fetch();
if(empty($table))
{
@@ -939,14 +938,28 @@ class upgrade extends control
$tableName = $table->Name;
$response['table'] = $tableName;
/* Check process this table or not. */
$dbProcesses = $this->dao->query("SHOW PROCESSLIST")->fetchAll();
foreach($dbProcesses as $dbProcess)
{
if($dbProcess->db != $this->config->db->name) continue;
if(strpos($dbProcess->Info, " `{$tableName}` "))
{
$response['message'] = sprintf($this->lang->upgrade->changingTable, $response['table']);
return print(json_encode($response));
}
}
if($nextTable)
{
$response['next'] = $nextTable->Name;
$response['next'] = $nextTable->Name;
if($response['next']) $response['nextMessage'] = sprintf($this->lang->upgrade->changingTable, $response['next']);
}
if(stripos($tableName, 'searchindex') !== false)
{
/* Change fulltext index. */
$stmt = $this->dao->query("show index from `$tableName`");
$indexes = array();
while($index = $stmt->fetch())
File diff suppressed because one or more lines are too long