* finish task #2534.
This commit is contained in:
@@ -990,7 +990,7 @@ EOT;
|
||||
static public function reload($window = 'self')
|
||||
{
|
||||
$js = self::start();
|
||||
$js .= "$window.location.reload();\n";
|
||||
$js .= "$window.location.reload(true);\n";
|
||||
$js .= self::end();
|
||||
return $js;
|
||||
}
|
||||
|
||||
@@ -9,9 +9,6 @@ $config->bug->create->requiredFields = 'title,openedBuild';
|
||||
$config->bug->edit->requiredFields = $config->bug->create->requiredFields;
|
||||
$config->bug->resolve->requiredFields = 'resolution';
|
||||
|
||||
$config->bug->batchEdit = new stdclass();
|
||||
$config->bug->batchEdit->columns = 9;
|
||||
|
||||
$config->bug->list = new stdclass();
|
||||
$config->bug->list->allFields = 'id, module, project, story, task,
|
||||
title, keywords, severity, pri, type, os, browser, hardware,
|
||||
@@ -39,11 +36,13 @@ $config->bug->list->exportFields = 'id, product, module, project, story, task,
|
||||
lastEditedDate, files';
|
||||
|
||||
$config->bug->list->customCreateFields = 'project,story,task,pri,severity,os,browser,mailto,keywords';
|
||||
$config->bug->list->customBatchCreateFields = 'module,project,os,browser,severity,pri,type,steps,keywords';
|
||||
$config->bug->list->customBatchCreateFields = 'module,project,steps,type,pri,severity,os,browser,keywords';
|
||||
$config->bug->list->customBatchEditFields = 'type,severity,pri,productplan,assignedTo,status,resolvedBy,resolution,os,browser,keywords';
|
||||
|
||||
$config->bug->custom = new stdclass();
|
||||
$config->bug->custom->create = $config->bug->list->customCreateFields;
|
||||
$config->bug->custom->batchcreate = $config->bug->list->customBatchCreateFields;
|
||||
$config->bug->custom->batchcreate = 'module,project,steps,type,severity,os,browser';
|
||||
$config->bug->custom->batchedit = 'type,severity,pri,assignedTo,status,resolvedBy,resolution';
|
||||
|
||||
$config->bug->editor = new stdclass();
|
||||
$config->bug->editor->create = array('id' => 'steps', 'tools' => 'bugTools');
|
||||
|
||||
+15
-4
@@ -622,17 +622,27 @@ class bug extends control
|
||||
|
||||
/* Judge whether the editedTasks is too large and set session. */
|
||||
$showSuhosinInfo = false;
|
||||
$showSuhosinInfo = $this->loadModel('common')->judgeSuhosinSetting(count($bugs), $this->config->bug->batchEdit->columns);
|
||||
$showSuhosinInfo = $this->loadModel('common')->judgeSuhosinSetting(count($bugs), count(explode(',', $this->config->bug->custom->batchedit)) + 2);
|
||||
$this->app->session->set('showSuhosinInfo', $showSuhosinInfo);
|
||||
if($showSuhosinInfo) $this->view->suhosinInfo = $this->lang->suhosinInfo;
|
||||
|
||||
/* Set Custom*/
|
||||
foreach(explode(',', $this->config->bug->list->customBatchEditFields) as $field) $customFields[$field] = $this->lang->bug->$field;
|
||||
$this->view->customFields = $customFields;
|
||||
$this->view->showFields = $this->config->bug->custom->batchedit;
|
||||
|
||||
/* Set ditto option for users and type, severity, pri, resolution list. */
|
||||
$users = $this->user->getPairs('nodeleted,devfirst');
|
||||
$users['ditto'] = $this->lang->bug->ditto;
|
||||
$this->lang->bug->typeList ['ditto'] = $this->lang->bug->ditto;
|
||||
$this->lang->bug->priList ['ditto'] = $this->lang->bug->ditto;
|
||||
$plans = $this->loadModel('productplan')->getPairs($productID, $branch);
|
||||
$plans['ditto'] = $this->lang->bug->ditto;
|
||||
$this->lang->bug->typeList['ditto'] = $this->lang->bug->ditto;
|
||||
$this->lang->bug->priList['ditto'] = $this->lang->bug->ditto;
|
||||
$this->lang->bug->resolutionList['ditto'] = $this->lang->bug->ditto;
|
||||
$this->lang->bug->severityList ['ditto'] = $this->lang->bug->ditto;
|
||||
$this->lang->bug->severityList['ditto'] = $this->lang->bug->ditto;
|
||||
$this->lang->bug->statusList['ditto'] = $this->lang->bug->ditto;
|
||||
$this->lang->bug->osList['ditto'] = $this->lang->bug->ditto;
|
||||
$this->lang->bug->browserList['ditto'] = $this->lang->bug->ditto;
|
||||
|
||||
/* Assign. */
|
||||
$this->view->position[] = $this->lang->bug->common;
|
||||
@@ -646,6 +656,7 @@ class bug extends control
|
||||
$this->view->bugs = $bugs;
|
||||
$this->view->branch = $branch;
|
||||
$this->view->users = $users;
|
||||
$this->view->plans = $plans;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
@@ -26,31 +26,3 @@ $(function()
|
||||
$(this).trigger("chosen:updated");
|
||||
});
|
||||
})
|
||||
|
||||
$(document).on('change', 'select', function()
|
||||
{
|
||||
if($(this).val() == 'ditto')
|
||||
{
|
||||
var index = $(this).closest('td').index();
|
||||
var row = $(this).closest('tr').index();
|
||||
var $tbody = $(this).closest('tr').parent();
|
||||
|
||||
if($(this).attr('name').indexOf('resolutions') != -1)
|
||||
{
|
||||
index = $(this).closest('tr').closest('td').index();
|
||||
row = $(this).closest('tr').closest('td').parent().index();
|
||||
$tbody = $(this).closest('tr').closest('td').parent().parent();
|
||||
}
|
||||
|
||||
var value = '';
|
||||
for(i = row - 1; i >= 0; i--)
|
||||
{
|
||||
value = $tbody.children('tr').eq(i).find('td').eq(index).find('select').val();
|
||||
if(value != 'ditto') break;
|
||||
}
|
||||
|
||||
$(this).val(value);
|
||||
$(this).trigger("chosen:updated");
|
||||
$(this).trigger("change");
|
||||
}
|
||||
})
|
||||
|
||||
@@ -512,16 +512,22 @@ class bugModel extends model
|
||||
if($data->types[$bugID] == 'ditto') $data->types[$bugID] = isset($prev['type']) ? $prev['type'] : '';
|
||||
if($data->severities[$bugID] == 'ditto') $data->severities[$bugID] = isset($prev['severity']) ? $prev['severity'] : 3;
|
||||
if($data->pris[$bugID] == 'ditto') $data->pris[$bugID] = isset($prev['pri']) ? $prev['pri'] : 0;
|
||||
if($data->plans[$bugID] == 'ditto') $data->plans[$bugID] = isset($prev['plan']) ? $prev['plan'] : '';
|
||||
if($data->assignedTos[$bugID] == 'ditto') $data->assignedTos[$bugID] = isset($prev['assignedTo']) ? $prev['assignedTo'] : '';
|
||||
if($data->resolvedBys[$bugID] == 'ditto') $data->resolvedBys[$bugID] = isset($prev['resolvedBy']) ? $prev['resolvedBy'] : '';
|
||||
if($data->resolutions[$bugID] == 'ditto') $data->resolutions[$bugID] = isset($prev['resolution']) ? $prev['resolution'] : '';
|
||||
if($data->os[$bugID] == 'ditto') $data->os[$bugID] = isset($prev['os']) ? $prev['os'] : '';
|
||||
if($data->browsers[$bugID] == 'ditto') $data->browsers[$bugID] = isset($prev['browser']) ? $prev['browser'] : '';
|
||||
|
||||
$prev['type'] = $data->types[$bugID];
|
||||
$prev['severity'] = $data->severities[$bugID];
|
||||
$prev['pri'] = $data->pris[$bugID];
|
||||
$prev['plan'] = $data->plans[$bugID];
|
||||
$prev['assignedTo'] = $data->assignedTos[$bugID];
|
||||
$prev['resolvedBy'] = $data->resolvedBys[$bugID];
|
||||
$prev['resolution'] = $data->resolutions[$bugID];
|
||||
$prev['os'] = $data->os[$bugID];
|
||||
$prev['browser'] = $data->browsers[$bugID];
|
||||
}
|
||||
|
||||
/* Initialize bugs from the post data.*/
|
||||
@@ -537,8 +543,12 @@ class bugModel extends model
|
||||
$bug->pri = $data->pris[$bugID];
|
||||
$bug->status = $data->statuses[$bugID];
|
||||
$bug->title = $data->titles[$bugID];
|
||||
$bug->plan = $data->plan[$bugID];
|
||||
$bug->assignedTo = $data->assignedTos[$bugID];
|
||||
$bug->resolvedBy = $data->resolvedBys[$bugID];
|
||||
$bug->keywords = $data->keywords[$bugID];
|
||||
$bug->os = $data->os[$bugID];
|
||||
$bug->browser = $data->browsers[$bugID];
|
||||
$bug->resolution = $data->resolutions[$bugID];
|
||||
$bug->duplicateBug = $data->duplicateBugs[$bugID] ? $data->duplicateBugs[$bugID] : $oldBug->duplicateBug;
|
||||
|
||||
|
||||
@@ -15,22 +15,36 @@
|
||||
<div class='heading'>
|
||||
<span class='prefix'><?php echo html::icon($lang->icons['bug']);?></span>
|
||||
<strong><small class='text-muted'><?php echo html::icon($lang->icons['batchEdit']);?></small> <?php echo $lang->bug->common . $lang->colon . $lang->bug->batchEdit;?></strong>
|
||||
<div class='actions'>
|
||||
<button type="button" class="btn btn-default" data-toggle="customModal"><i class='icon icon-cog'></i> </button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
$hasFields = array();
|
||||
foreach(explode(',', $showFields) as $field)
|
||||
{
|
||||
if($field)$hasFields[$field] = '';
|
||||
}
|
||||
$columns = count($hasFields) + 2;
|
||||
?>
|
||||
<form class='form-condensed' method='post' target='hiddenwin' action="<?php echo inLink('batchEdit', "productID=$productID");?>">
|
||||
<table class='table table-form table-fixed'>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-30px'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-110px'><?php echo $lang->bug->type;?></th>
|
||||
<th class='w-70px'><?php echo $lang->bug->severityAB;?></th>
|
||||
<th class='w-70px'><?php echo $lang->bug->pri;?></th>
|
||||
<th><?php echo $lang->bug->title;?> <span class='required'></span></th>
|
||||
<th class='w-150px'><?php echo $lang->bug->assignedTo;?></th>
|
||||
<th class='w-90px'><?php echo $lang->bug->status;?></th>
|
||||
<th class='w-150px'><?php echo $lang->bug->resolvedByAB;?></th>
|
||||
<th class='w-180px'><?php echo $lang->bug->resolutionAB;?></th>
|
||||
<th class='w-50px'><?php echo $lang->idAB;?></th>
|
||||
<th class='w-110px<?php echo zget($hasFields, 'type', ' hidden')?>'><?php echo $lang->bug->type;?></th>
|
||||
<th class='w-70px<?php echo zget($hasFields, 'severity', ' hidden')?>'><?php echo $lang->bug->severityAB;?></th>
|
||||
<th class='w-70px<?php echo zget($hasFields, 'pri', ' hidden')?>'><?php echo $lang->bug->pri;?></th>
|
||||
<th <?php if(count($hasFields) >= 10) echo "class='w-150px'"?>><?php echo $lang->bug->title;?> <span class='required'></span></th>
|
||||
<th class='w-150px<?php echo zget($hasFields, 'productplan', ' hidden')?>'><?php echo $lang->bug->productplan;?></th>
|
||||
<th class='w-150px<?php echo zget($hasFields, 'assignedTo', ' hidden')?>'><?php echo $lang->bug->assignedTo;?></th>
|
||||
<th class='w-90px<?php echo zget($hasFields, 'status', ' hidden')?>'><?php echo $lang->bug->status;?></th>
|
||||
<th class='w-150px<?php echo zget($hasFields, 'resolvedBy', ' hidden')?>'><?php echo $lang->bug->resolvedByAB;?></th>
|
||||
<th class='w-180px<?php echo zget($hasFields, 'resolution', ' hidden')?>'><?php echo $lang->bug->resolutionAB;?></th>
|
||||
<th class='w-100px<?php echo zget($hasFields, 'os', ' hidden')?>'><?php echo $lang->bug->os;?></th>
|
||||
<th class='w-100px<?php echo zget($hasFields, 'browser', ' hidden')?>'><?php echo $lang->bug->browser;?></th>
|
||||
<th class='w-100px<?php echo zget($hasFields, 'keywords', ' hidden')?>'><?php echo $lang->bug->keywords;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -46,14 +60,15 @@
|
||||
?>
|
||||
<tr class='text-center'>
|
||||
<td><?php echo $bugID . html::hidden("bugIDList[$bugID]", $bugID);?></td>
|
||||
<td><?php echo html::select("types[$bugID]", $typeList, $bugs[$bugID]->type, 'class=form-control');?></td>
|
||||
<td><?php echo html::select("severities[$bugID]", $severityList, $bugs[$bugID]->severity, 'class=form-control');?></td>
|
||||
<td><?php echo html::select("pris[$bugID]", $priList, $bugs[$bugID]->pri, 'class=form-control');?></td>
|
||||
<td <?php echo zget($hasFields, 'type', "class='hidden'")?>><?php echo html::select("types[$bugID]", $typeList, $bugs[$bugID]->type, 'class=form-control');?></td>
|
||||
<td <?php echo zget($hasFields, 'severity', "class='hidden'")?>><?php echo html::select("severities[$bugID]", $severityList, $bugs[$bugID]->severity, 'class=form-control');?></td>
|
||||
<td <?php echo zget($hasFields, 'pri', "class='hidden'")?>><?php echo html::select("pris[$bugID]", $priList, $bugs[$bugID]->pri, 'class=form-control');?></td>
|
||||
<td title='<?php echo $bugs[$bugID]->title?>'> <?php echo html::input("titles[$bugID]", $bugs[$bugID]->title, 'class=form-control');?></td>
|
||||
<td class='text-left' style='overflow:visible'><?php echo html::select("assignedTos[$bugID]", $users, $bugs[$bugID]->assignedTo, "class='form-control chosen'");?></td>
|
||||
<td><?php echo html::select("statuses[$bugID]", (array)$lang->bug->statusList, $bugs[$bugID]->status, 'class=form-control');?></td>
|
||||
<td class='text-left' style='overflow:visible'><?php echo html::select("resolvedBys[$bugID]", $users, $bugs[$bugID]->resolvedBy, "class='form-control chosen'");?></td>
|
||||
<td>
|
||||
<td class='text-left<?php echo zget($hasFields, 'productplan', ' hidden')?>' style='overflow:visible'><?php echo html::select("plans[$bugID]", $plans, $bugs[$bugID]->plan, "class='form-control chosen'");?></td>
|
||||
<td class='text-left<?php echo zget($hasFields, 'assignedTo', ' hidden')?>' style='overflow:visible'><?php echo html::select("assignedTos[$bugID]", $users, $bugs[$bugID]->assignedTo, "class='form-control chosen'");?></td>
|
||||
<td <?php echo zget($hasFields, 'status', "class='hidden'")?>><?php echo html::select("statuses[$bugID]", $lang->bug->statusList, $bugs[$bugID]->status, 'class=form-control');?></td>
|
||||
<td class='text-left<?php echo zget($hasFields, 'resolvedBy', ' hidden')?>' style='overflow:visible'><?php echo html::select("resolvedBys[$bugID]", $users, $bugs[$bugID]->resolvedBy, "class='form-control chosen'");?></td>
|
||||
<td <?php echo zget($hasFields, 'resolution', "class='hidden'")?>>
|
||||
<table class='w-p100'>
|
||||
<tr>
|
||||
<td class='pd-0'>
|
||||
@@ -65,15 +80,20 @@
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td <?php echo zget($hasFields, 'os', "class='hidden'")?>><?php echo html::select("os[$bugID]", $lang->bug->osList, $bugs[$bugID]->os, 'class=form-control');?></td>
|
||||
<td <?php echo zget($hasFields, 'browser', "class='hidden'")?>><?php echo html::select("browsers[$bugID]", $lang->bug->browserList, $bugs[$bugID]->browser, 'class=form-control');?></td>
|
||||
<td <?php echo zget($hasFields, 'keywords', "class='hidden'")?>><?php echo html::input("keywords[$bugID]", $bugs[$bugID]->keywords, 'class=form-control');?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
<?php if(isset($suhosinInfo)):?>
|
||||
<tr><td colspan='<?php echo $this->config->bug->batchEdit->columns;?>'><div class='alert alert-info'><?php echo $suhosinInfo;?></div></td></tr>
|
||||
<tr><td colspan='<?php echo $columns;?>'><div class='alert alert-info'><?php echo $suhosinInfo;?></div></td></tr>
|
||||
<?php endif;?>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr><td colspan='<?php echo $this->config->bug->batchEdit->columns;?>' class='text-center'><?php echo html::submitButton();?></td></tr>
|
||||
<tr><td colspan='<?php echo $columns;?>' class='text-center'><?php echo html::submitButton();?></td></tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</form>
|
||||
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustom', 'module=bug§ion=custom&key=batchedit')?>
|
||||
<?php include '../../common/view/customfield.html.php';?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
Reference in New Issue
Block a user