Merge branch 'pailei2'
This commit is contained in:
+42
-6
@@ -322,6 +322,21 @@ class bug extends control
|
||||
if($this->app->tab == 'execution')
|
||||
{
|
||||
if(isset($output['executionID'])) $this->loadModel('execution')->setMenu($output['executionID']);
|
||||
$execution = $this->dao->findById((int)$output['executionID'])->from(TABLE_EXECUTION)->fetch();
|
||||
if($execution->type == 'kanban')
|
||||
{
|
||||
$this->loadModel('kanban');
|
||||
$regionPairs = $this->kanban->getRegionPairs($execution->id, 0, 'execution');
|
||||
$regionID = isset($output['regionID']) ? $output['regionID'] : key($regionPairs);
|
||||
$lanePairs = $this->kanban->getLanePairsByRegion($regionID, 'bug');
|
||||
$laneID = isset($output['laneID']) ? $output['laneID'] : key($lanePairs);
|
||||
|
||||
$this->view->executionType = $execution->type;
|
||||
$this->view->regionID = $regionID;
|
||||
$this->view->laneID = $laneID;
|
||||
$this->view->regionPairs = $regionPairs;
|
||||
$this->view->lanePairs = $lanePairs;
|
||||
}
|
||||
}
|
||||
else if($this->app->tab == 'project')
|
||||
{
|
||||
@@ -662,6 +677,9 @@ class bug extends control
|
||||
*/
|
||||
public function batchCreate($productID, $branch = '', $executionID = 0, $moduleID = 0, $extra = '')
|
||||
{
|
||||
$extra = str_replace(array(',', ' '), array('&', ''), $extra);
|
||||
parse_str($extra, $output);
|
||||
|
||||
if(!empty($_POST))
|
||||
{
|
||||
$actions = $this->bug->batchCreate($productID, $branch, $extra);
|
||||
@@ -675,9 +693,6 @@ class bug extends control
|
||||
|
||||
setcookie('bugModule', 0, 0, $this->config->webRoot, '', $this->config->cookieSecure, false);
|
||||
|
||||
$extra = str_replace(array(',', ' '), array('&', ''), $extra);
|
||||
parse_str($extra, $output);
|
||||
|
||||
/* If link from no head then reload. */
|
||||
if(isonlybody() and $executionID)
|
||||
{
|
||||
@@ -709,6 +724,20 @@ class bug extends control
|
||||
$builds = $this->loadModel('build')->getBuildPairs($productID, $branch, 'noempty', $executionID, 'execution');
|
||||
$stories = $this->story->getExecutionStoryPairs($executionID);
|
||||
$execution = $this->loadModel('execution')->getById($executionID);
|
||||
if($execution->type == 'kanban')
|
||||
{
|
||||
$this->loadModel('kanban');
|
||||
$regionPairs = $this->kanban->getRegionPairs($executionID, 0, 'execution');
|
||||
$regionID = isset($output['regionID']) ? $output['regionID'] : key($regionPairs);
|
||||
$lanePairs = $this->kanban->getLanePairsByRegion($regionID, 'bug');
|
||||
$laneID = isset($output['laneID']) ? $output['laneID'] : key($lanePairs);
|
||||
|
||||
$this->view->executionType = $execution->type;
|
||||
$this->view->regionID = $regionID;
|
||||
$this->view->laneID = $laneID;
|
||||
$this->view->regionPairs = $regionPairs;
|
||||
$this->view->lanePairs = $lanePairs;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1672,7 +1701,7 @@ class bug extends control
|
||||
}
|
||||
else
|
||||
{
|
||||
return print(js::closeModal('parent.parent'));
|
||||
return print(js::closeModal('parent.parent', 'this', "function(){parent.parent.location.reload();}"));
|
||||
}
|
||||
}
|
||||
if(defined('RUN_MODE') && RUN_MODE == 'api')
|
||||
@@ -1835,15 +1864,16 @@ class bug extends control
|
||||
*
|
||||
* @param int $bugID
|
||||
* @param string $confirm yes|no
|
||||
* @param string $from taskkanban
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function delete($bugID, $confirm = 'no')
|
||||
public function delete($bugID, $confirm = 'no', $from = '')
|
||||
{
|
||||
$bug = $this->bug->getById($bugID);
|
||||
if($confirm == 'no')
|
||||
{
|
||||
return print(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&from=$from")));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1864,6 +1894,9 @@ class bug extends control
|
||||
|
||||
if($this->viewType == 'json') return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess));
|
||||
|
||||
if(isonlybody()) return print(js::reload('parent.parent'));
|
||||
if($from == 'taskkanban') return print(js::reload('parent'));
|
||||
|
||||
$locateLink = $this->session->bugList ? $this->session->bugList : inlink('browse', "productID={$bug->product}");
|
||||
return print(js::locate($locateLink, 'parent'));
|
||||
}
|
||||
@@ -1922,6 +1955,9 @@ class bug extends control
|
||||
{
|
||||
$executionMembers = $this->user->getTeamMemberPairs($executionID, 'execution', '', $selectedUser);
|
||||
|
||||
$execution = $this->loadModel('execution')->getByID($executionID);
|
||||
if(empty($selectedUser)) $selectedUser = $execution->QD;
|
||||
|
||||
return print(html::select('assignedTo', $executionMembers, $selectedUser, 'class="form-control"'));
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
.confirm0 {color: gray;}
|
||||
.confirm1 {color: green;}
|
||||
td.delayed {color: #fff; background: #e84e0f !important;}
|
||||
#bugForm .setting {height: 25px;}
|
||||
|
||||
.datatable-wrapper .table-datatable .datatable-row td {height: 37px;}
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ html[lang='en'] #deadlineTd .input-group-addon {padding: 5px 18px;}
|
||||
|
||||
.dropdown-pris > .btn {background-color: #fff; text-shadow: none;}
|
||||
|
||||
#contactListGroup .input-group-btn > .btn {margin-left: -1px !important;}
|
||||
#contactListGroup .chosen-container-single a {border-left-width: 0px;}
|
||||
|
||||
.minw-80px {min-width: 80px;}
|
||||
|
||||
@@ -38,6 +38,27 @@ function setOpenedBuilds(link, index)
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Set lane.
|
||||
*
|
||||
* @param int $regionID
|
||||
* @param int $num
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setLane(regionID, num)
|
||||
{
|
||||
laneLink = createLink('kanban', 'ajaxGetLanes', 'regionID=' + regionID + '&type=bug&field=lanes&i=' + num);
|
||||
$.get(laneLink, function(lanes)
|
||||
{
|
||||
if(!lanes) lanes = '<select id="lanes' + num + '" name="lanes[' + num + ']" class="form-control"></select>';
|
||||
$('#lanes' + num).replaceWith(lanes);
|
||||
$("#lanes" + num + "_chosen").remove();
|
||||
$("#lanes" + num).next('.picker').remove();
|
||||
$("#lanes" + num).chosen();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Load execution builds
|
||||
*
|
||||
|
||||
+21
-28
@@ -29,8 +29,6 @@ $(function()
|
||||
*/
|
||||
function loadAll(productID)
|
||||
{
|
||||
if(page == 'create') loadExecutionTeamMembers(productID, true);
|
||||
|
||||
if(typeof(changeProductConfirmed) != 'undefined' && !changeProductConfirmed)
|
||||
{
|
||||
firstChoice = confirm(confirmChangeProduct);
|
||||
@@ -50,9 +48,7 @@ function loadAll(productID)
|
||||
{
|
||||
$('#taskIdBox').innerHTML = '<select id="task"></select>'; // Reset the task.
|
||||
$('#task').chosen();
|
||||
var param = '';
|
||||
if(page == 'create') param = 'active';
|
||||
loadProductBranches(productID, param)
|
||||
loadProductBranches(productID)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -266,7 +262,7 @@ function loadProductProjects(productID)
|
||||
function loadProductExecutions(productID, projectID = 0)
|
||||
{
|
||||
required = $('#execution_chosen').hasClass('required');
|
||||
branch = $('#branch').val();
|
||||
branch = $('#branch').val();
|
||||
if(typeof(branch) == 'undefined') branch = 0;
|
||||
|
||||
link = createLink('product', 'ajaxGetExecutions', 'productID=' + productID + '&projectID=' + projectID + '&branch=' + branch);
|
||||
@@ -275,9 +271,10 @@ function loadProductExecutions(productID, projectID = 0)
|
||||
$(this).find('select').chosen();
|
||||
if(typeof(bugExecution) == 'string' && systemMode != 'classic') $('#executionIdBox').prepend("<span class='input-group-addon' id='executionBox' style='border-left-width: 0px;'>" + bugExecution + "</span>");
|
||||
if(required) $(this).addClass('required');
|
||||
changeExecutionName(projectID);
|
||||
changeAssignedTo(projectID);
|
||||
});
|
||||
loadProjectBuilds(projectID);
|
||||
|
||||
projectID != 0 ? loadProjectBuilds(projectID) : loadProductBuilds(productID);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -349,13 +346,16 @@ function loadExecutionRelated(executionID)
|
||||
}
|
||||
else
|
||||
{
|
||||
var currentProjectID = $('#project').val();
|
||||
var currentProductID = $('#product').val();
|
||||
|
||||
$('#taskIdBox').innerHTML = '<select id="task"></select>'; // Reset the task.
|
||||
loadProductStories($('#product').val());
|
||||
loadProductBuilds($('#product').val());
|
||||
loadTestTasks($('#product').val());
|
||||
loadProjectTeamMembers($('#project').val());
|
||||
loadProductStories(currentProductID);
|
||||
loadTestTasks(currentProductID);
|
||||
loadProjectTeamMembers(currentProjectID);
|
||||
|
||||
currentProjectID != 0 ? loadProjectBuilds(currentProjectID) : loadProductBuilds(currentProductID);
|
||||
}
|
||||
notice();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -528,7 +528,8 @@ function loadProductBranches(productID, param)
|
||||
$('#branch_chosen').remove();
|
||||
$('#branch').next('.picker').remove();
|
||||
|
||||
var param = "productID=" + productID + "&oldBranch=0¶m=" + param;
|
||||
var branchStatus = page == 'create' ? 'active' : 'all';
|
||||
var param = "productID=" + productID + "&oldBranch=0¶m=" + branchStatus;
|
||||
if(typeof(tab) != 'undefined' && (tab == 'execution' || tab == 'project')) param += "&projectID=" + objectID;
|
||||
$.get(createLink('branch', 'ajaxGetBranches', param), function(data)
|
||||
{
|
||||
@@ -541,16 +542,11 @@ function loadProductBranches(productID, param)
|
||||
|
||||
loadProductModules(productID);
|
||||
loadProductProjects(productID);
|
||||
loadProductBuilds(productID);
|
||||
loadProductplans(productID);
|
||||
loadProductStories(productID);
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
var oldAssignedToTitle = $("#assignedTo").find("option:selected").text();
|
||||
var oldAssignedTo = $("#assignedTo").find("option:selected").val();
|
||||
|
||||
/**
|
||||
* Load team members of the execution as assignedTo list.
|
||||
*
|
||||
@@ -564,18 +560,9 @@ function loadAssignedTo(executionID, selectedUser)
|
||||
link = createLink('bug', 'ajaxLoadAssignedTo', 'executionID=' + executionID + '&selectedUser=' + selectedUser);
|
||||
$.get(link, function(data)
|
||||
{
|
||||
var defaultOption = '<option title="' + oldAssignedToTitle + '" value="' + oldAssignedTo + '" selected="selected">' + oldAssignedToTitle + '</option>';
|
||||
var defaultAssignedTo = $('#assignedTo').val();
|
||||
|
||||
$('#assignedTo_chosen').remove();
|
||||
$('#assignedTo').next('.picker').remove();
|
||||
$('#assignedTo').replaceWith(data);
|
||||
|
||||
if(defaultAssignedTo !== oldAssignedTo && selectedUser == '')
|
||||
{
|
||||
if($('#assignedTo option[value="' + oldAssignedTo + '"]').length > 0) $('#assignedTo option[value="' + oldAssignedTo + '"]').remove();
|
||||
$('#assignedTo').append(defaultOption);
|
||||
}
|
||||
$('#assignedTo').chosen();
|
||||
});
|
||||
}
|
||||
@@ -593,6 +580,8 @@ var oldTestTask = $("#testtask").find("option:selected").val();
|
||||
*/
|
||||
function loadTestTasks(productID, executionID)
|
||||
{
|
||||
if(!$('#testtaskBox').length) return;
|
||||
|
||||
if(typeof(executionID) == 'undefined') executionID = 0;
|
||||
link = createLink('testtask', 'ajaxGetTestTasks', 'productID=' + productID + '&executionID=' + executionID);
|
||||
$.get(link, function(data)
|
||||
@@ -612,6 +601,9 @@ function loadTestTasks(productID, executionID)
|
||||
*/
|
||||
function notice()
|
||||
{
|
||||
if(page == 'edit') return;
|
||||
|
||||
$('#buildBoxActions').empty().hide();
|
||||
if($('#openedBuild').find('option').length <= 1)
|
||||
{
|
||||
var html = '';
|
||||
@@ -638,6 +630,7 @@ function notice()
|
||||
if($bba.length)
|
||||
{
|
||||
$bba.html(html);
|
||||
$bba.show();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+33
-4
@@ -56,6 +56,27 @@ function loadModuleRelated()
|
||||
setStories(moduleID, productID, storyID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set lane.
|
||||
*
|
||||
* @param int $regionID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setLane(regionID)
|
||||
{
|
||||
console.log(regionID);
|
||||
laneLink = createLink('kanban', 'ajaxGetLanes', 'regionID=' + regionID + '&type=bug&field=lane');
|
||||
$.get(laneLink, function(lane)
|
||||
{
|
||||
if(!lane) lane = "<select id='lane' name='lane' class='form-control'></select>";
|
||||
$('#lane').replaceWith(lane);
|
||||
$("#lane" + "_chosen").remove();
|
||||
$("#lane").next('.picker').remove();
|
||||
$("#lane").chosen();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the assignedTo field.
|
||||
*
|
||||
@@ -109,12 +130,16 @@ $(function()
|
||||
{
|
||||
loadExecutionRelated($('#execution').val());
|
||||
}
|
||||
else if(parseInt($('#project').val()))
|
||||
{
|
||||
loadProjectBuilds($('#project').val());
|
||||
loadProjectTeamMembers($('#project').val());
|
||||
}
|
||||
else
|
||||
{
|
||||
if(parseInt($('#project').val())) loadProjectTeamMembers($('#project').val());
|
||||
if(!assignedto) setTimeout(function(){setAssignedTo(moduleID, productID)}, 500);
|
||||
}
|
||||
|
||||
if(!assignedto) setTimeout(function(){setAssignedTo(moduleID, productID)}, 500);
|
||||
notice();
|
||||
|
||||
$('[data-toggle=tooltip]').tooltip();
|
||||
@@ -168,7 +193,7 @@ $(function()
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function changeExecutionName(projectID)
|
||||
function changeAssignedTo(projectID)
|
||||
{
|
||||
if(parseInt(projectID))
|
||||
{
|
||||
@@ -179,9 +204,13 @@ function changeExecutionName(projectID)
|
||||
$('#executionBox').html(executionLang);
|
||||
})
|
||||
}
|
||||
else if($('#execution').val() != 0)
|
||||
{
|
||||
loadAssignedTo($('#execution').val());
|
||||
}
|
||||
else
|
||||
{
|
||||
loadExecutionTeamMembers($('#product').val());
|
||||
setAssignedTo();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -21,25 +21,6 @@ $(function()
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Ajax change execution name.
|
||||
*
|
||||
* @param int projectID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function changeExecutionName(projectID)
|
||||
{
|
||||
if(parseInt(projectID))
|
||||
{
|
||||
var link = createLink('bug', 'ajaxGetExecutionLang', 'projectID=' + projectID);
|
||||
$.post(link, function(executionLang)
|
||||
{
|
||||
$('#executionBox').html(executionLang);
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set duplicate field.
|
||||
*
|
||||
|
||||
+26
-7
@@ -76,7 +76,7 @@ class bugModel extends model
|
||||
->trim('title')
|
||||
->join('openedBuild', ',')
|
||||
->join('mailto', ',')
|
||||
->remove('files, labels,uid,oldTaskID,contactListMenu')
|
||||
->remove('files,labels,uid,oldTaskID,contactListMenu,region,lane')
|
||||
->get();
|
||||
|
||||
if($bug->execution != 0) $bug->project = $this->dao->select('parent')->from(TABLE_EXECUTION)->where('id')->eq($bug->execution)->fetch('parent');
|
||||
@@ -107,8 +107,15 @@ class bugModel extends model
|
||||
if($bug->execution)
|
||||
{
|
||||
$this->loadModel('kanban');
|
||||
if(isset($output['laneID']) and isset($output['columnID'])) $this->kanban->addKanbanCell($bug->execution, $output['laneID'], $output['columnID'], 'bug', $bugID);
|
||||
if(!isset($output['laneID']) or !isset($output['columnID'])) $this->kanban->updateLane($bug->execution, 'bug');
|
||||
|
||||
$laneID = isset($output['laneID']) ? $output['laneID'] : 0;
|
||||
if(!empty($_POST['lane'])) $laneID = $_POST['lane'];
|
||||
|
||||
$columnID = $this->kanban->getColumnIDByLaneID($laneID, 'unconfirmed');
|
||||
if(empty($columnID)) $columnID = isset($output['columnID']) ? $output['columnID'] : 0;
|
||||
|
||||
if(!empty($laneID) and !empty($columnID)) $this->kanban->addKanbanCell($bug->execution, $laneID, $columnID, 'bug', $bugID);
|
||||
if(empty($laneID) or empty($columnID)) $this->kanban->updateLane($bug->execution, 'bug');
|
||||
}
|
||||
|
||||
/* Callback the callable method to process the related data for object that is transfered to bug. */
|
||||
@@ -201,6 +208,8 @@ class bugModel extends model
|
||||
$bug->browser = $data->browsers[$i];
|
||||
$bug->keywords = $data->keywords[$i];
|
||||
|
||||
if(isset($data->lanes[$i])) $bug->laneID = $data->lanes[$i];
|
||||
|
||||
if($bug->execution != 0) $bug->project = $this->dao->select('parent')->from(TABLE_EXECUTION)->where('id')->eq($bug->execution)->fetch('parent');
|
||||
|
||||
/* Assign the bug to the person in charge of the module. */
|
||||
@@ -236,6 +245,13 @@ class bugModel extends model
|
||||
/* When the bug is created by uploading an image, add the image to the step of the bug. */
|
||||
foreach($bugs as $i => $bug)
|
||||
{
|
||||
$laneID = isset($output['laneID']) ? $output['laneID'] : 0;
|
||||
if(isset($bug->laneID))
|
||||
{
|
||||
$laneID = $bug->laneID;
|
||||
unset($bug->laneID);
|
||||
}
|
||||
|
||||
if(!empty($data->uploadImage[$i]))
|
||||
{
|
||||
$fileName = $data->uploadImage[$i];
|
||||
@@ -274,8 +290,11 @@ class bugModel extends model
|
||||
|
||||
if($bug->execution)
|
||||
{
|
||||
if(isset($output['laneID']) and isset($output['columnID'])) $this->kanban->addKanbanCell($bug->execution, $output['laneID'], $output['columnID'], 'bug', $bugID);
|
||||
if(!isset($output['laneID']) or !isset($output['columnID'])) $this->kanban->updateLane($bug->execution, 'bug');
|
||||
$columnID = $this->kanban->getColumnIDByLaneID($laneID, 'unconfirmed');
|
||||
if(empty($columnID)) $columnID = isset($output['columnID']) ? $output['columnID'] : 0;
|
||||
|
||||
if(!empty($laneID) and !empty($columnID)) $this->kanban->addKanbanCell($bug->execution, $laneID, $columnID, 'bug', $bugID);
|
||||
if(empty($laneID) or empty($columnID)) $this->kanban->updateLane($bug->execution, 'bug');
|
||||
|
||||
}
|
||||
/* When the bug is created by uploading the image, add the image to the file of the bug. */
|
||||
@@ -290,7 +309,7 @@ class bugModel extends model
|
||||
unset($file);
|
||||
}
|
||||
|
||||
if(dao::isError()) return print(js::error('bug#' . ($i+1) . dao::getError(true)));
|
||||
if(dao::isError()) return print(js::error('bug#' . ($i) . dao::getError(true)));
|
||||
$actions[$bugID] = $this->action->create('bug', $bugID, 'Opened');
|
||||
}
|
||||
|
||||
@@ -2925,7 +2944,7 @@ class bugModel extends model
|
||||
echo $bug->activatedCount;
|
||||
break;
|
||||
case 'activatedDate':
|
||||
echo substr($bug->activatedDate, 5, 11);
|
||||
echo helper::isZeroDate($bug->activatedDate) ? '' : substr($bug->activatedDate, 5, 11);
|
||||
break;
|
||||
case 'keywords':
|
||||
echo $bug->keywords;
|
||||
|
||||
@@ -51,6 +51,10 @@
|
||||
<th class='c-execution<?php echo zget($visibleFields, 'execution', ' hidden') . zget($requiredFields, 'execution', '', ' required');?>'><?php echo (isset($project->model) and $project->model == 'kanban') ? $lang->bug->kanban : $lang->bug->execution;?></th>
|
||||
<th class='c-build required'><?php echo $lang->bug->openedBuild;?></th>
|
||||
<th class='c-title required'><?php echo $lang->bug->title;?></th>
|
||||
<?php if(isset($executionType) and $executionType == 'kanban'):?>
|
||||
<th class='c-execution'><?php echo $lang->kanbancard->region;?></th>
|
||||
<th class='c-execution'><?php echo $lang->kanbancard->lane;?></th>
|
||||
<?php endif;?>
|
||||
<th class='c-date<?php echo zget($visibleFields, 'deadline', ' hidden') . zget($requiredFields, 'deadline', '', ' required');?>'><?php echo $lang->bug->deadline;?></th>
|
||||
<th class='c-steps<?php echo zget($visibleFields, 'steps', ' hidden') . zget($requiredFields, 'steps', '', ' required');?>'><?php echo $lang->bug->steps;?></th>
|
||||
<th class='c-type<?php echo zget($visibleFields, 'type', ' hidden') . zget($requiredFields, 'type', '', ' required');?>'><?php echo $lang->typeAB;?></th>
|
||||
@@ -74,19 +78,19 @@
|
||||
$lang->bug->osList += array('ditto' => $lang->bug->ditto);
|
||||
$lang->bug->browserList += array('ditto' => $lang->bug->ditto);
|
||||
?>
|
||||
<?php $i = 0; ?>
|
||||
<?php $i = 1; ?>
|
||||
<?php if(!empty($titles)):?>
|
||||
<?php foreach($titles as $bugTitle => $fileName):?>
|
||||
<?php
|
||||
$moduleID = $i == 0 ? $moduleID : 'ditto';
|
||||
$executionID = $i == 0 ? $executionID : 'ditto';
|
||||
$type = $i == 0 ? '' : 'ditto';
|
||||
$pri = $i == 0 ? 0 : 'ditto';
|
||||
$os = $i == 0 ? '' : 'ditto';
|
||||
$browser = $i == 0 ? '' : 'ditto';
|
||||
$moduleID = $i == 1 ? $moduleID : 'ditto';
|
||||
$executionID = $i == 1 ? $executionID : 'ditto';
|
||||
$type = $i == 1 ? '' : 'ditto';
|
||||
$pri = $i == 1 ? 0 : 'ditto';
|
||||
$os = $i == 1 ? '' : 'ditto';
|
||||
$browser = $i == 1 ? '' : 'ditto';
|
||||
?>
|
||||
<tr>
|
||||
<td class='text-center'><?php echo $i+1;?></td>
|
||||
<td class='text-center'><?php echo $i;?></td>
|
||||
<td class='<?php echo zget($visibleFields, $product->type, ' hidden')?>' style='overflow:visible'><?php echo html::select("branches[$i]", $branches, $branch, "class='form-control chosen' onchange='setBranchRelated(this.value, $productID, $i)'");?></td>
|
||||
<td><?php echo html::select("modules[$i]", $moduleOptionMenu, $moduleID, "class='form-control chosen'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'execution', ' hidden')?>' style='overflow:visible'><?php echo html::select("executions[$i]", $executions, $executionID, "class='form-control chosen' onchange='loadExecutionBuilds($productID, this.value, $i)'");?></td>
|
||||
@@ -105,6 +109,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<?php if(isset($executionType) and $executionType == 'kanban'):?>
|
||||
<td><?php echo html::select("regions[$i]", $regionPairs, $regionID, "class='form-control chosen'");?></td>
|
||||
<td><?php echo html::select("lanes[$i]", $lanePairs, $laneID, "class='form-control chosen'");?></td>
|
||||
<?php endif;?>
|
||||
<td class='<?php echo zget($visibleFields, 'deadline', 'hidden')?>'><?php echo html::input("deadlines[$i]", '', "class='form-control form-date'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'steps', 'hidden')?>'><?php echo html::textarea("stepses[$i]", '', "rows='1' class='form-control autosize'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'type', 'hidden')?>' style='overflow:visible'> <?php echo html::select("types[$i]", $lang->bug->typeList, $type, "class='form-control chosen'");?></td>
|
||||
@@ -119,7 +127,7 @@
|
||||
<?php endforeach;?>
|
||||
<?php endif;?>
|
||||
<?php $nextStart = $i;?>
|
||||
<?php for($i = $nextStart; $i < $config->bug->batchCreate; $i++):?>
|
||||
<?php for($i = $nextStart; $i <= $config->bug->batchCreate; $i++):?>
|
||||
<?php
|
||||
$moduleID = $i - $nextStart == 0 ? $moduleID : 'ditto';
|
||||
$executionID = $i - $nextStart == 0 ? $executionID : 'ditto';
|
||||
@@ -129,7 +137,7 @@
|
||||
$browser = $i - $nextStart == 0 ? '' : 'ditto';
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo $i+1;?></td>
|
||||
<td><?php echo $i;?></td>
|
||||
<td class='<?php echo zget($visibleFields, $product->type, ' hidden')?>' style='overflow:visible'><?php echo html::select("branches[$i]", $branches, $branch, "class='form-control chosen' onchange='setBranchRelated(this.value, $productID, $i)'");?></td>
|
||||
<td><?php echo html::select("modules[$i]", $moduleOptionMenu, $moduleID, "class='form-control chosen'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'execution', ' hidden')?>' style='overflow:visible'><?php echo html::select("executions[$i]", $executions, $executionID, "class='form-control chosen' onchange='loadExecutionBuilds($productID, this.value, $i)'");?></td>
|
||||
@@ -148,6 +156,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<?php if(isset($executionType) and $executionType == 'kanban'):?>
|
||||
<td><?php echo html::select("regions[$i]", $regionPairs, $regionID, "class='form-control chosen' onchange='setLane(this.value, $i)'");?></td>
|
||||
<td><?php echo html::select("lanes[$i]", $lanePairs, $laneID, "class='form-control chosen'");?></td>
|
||||
<?php endif;?>
|
||||
<td class='<?php echo zget($visibleFields, 'deadline', 'hidden')?>'><?php echo html::input("deadlines[$i]", '', "class='form-control form-date'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'steps', 'hidden')?>'><?php echo html::textarea("stepses[$i]", '', "rows='1' class='form-control autosize'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'type', 'hidden')?>' style='overflow:visible'> <?php echo html::select("types[$i]", $lang->bug->typeList, $type, "class='form-control chosen'");?></td>
|
||||
|
||||
@@ -237,7 +237,7 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
|
||||
<form class='main-table table-bug' method='post' id='bugForm' <?php if(!$useDatatable) echo "data-ride='table'";?>>
|
||||
<?php endif;?>
|
||||
<div class="table-header fixed-right">
|
||||
<nav class="btn-toolbar pull-right"></nav>
|
||||
<nav class="btn-toolbar pull-right setting"></nav>
|
||||
</div>
|
||||
<?php
|
||||
$vars = "productID=$productID&branch=$branch&browseType=$browseType¶m=$param&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}";
|
||||
|
||||
@@ -199,6 +199,18 @@ if($this->app->tab == 'project') js::set('objectID', $projectID);
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php if(isset($executionType) and $executionType == 'kanban'):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->kanbancard->region;?></th>
|
||||
<td><?php echo html::select('region', $regionPairs, $regionID, "onchange='setLane(this.value)' class='form-control chosen'");?></td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<div class="input-group-addon"><?php echo $lang->kanbancard->lane;?></div>
|
||||
<?php echo html::select('lane', $lanePairs, $laneID, "class='form-control chosen'");?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th><?php echo $lang->bug->title;?></th>
|
||||
<td colspan='2'>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<tr>
|
||||
<td style='padding: 10px; background-color: #F8FAFE; border: none; font-size: 14px; font-weight: 500; border-bottom: 1px solid #e5e5e5;'>
|
||||
<?php $color = empty($object->color) ? '#333' : $object->color;?>
|
||||
<?php echo html::a(zget($this->config->mail, 'domain', common::getSysURL()) . helper::createLink('bug', 'view', "bugID=$object->id", 'html'), $mailTitle, '', "style='color: {$color}; text-decoration: underline;'");?>
|
||||
<?php echo html::a($domain . helper::createLink('bug', 'view', "bugID=$object->id", 'html'), $mailTitle, '', "style='color: {$color}; text-decoration: underline;'");?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
{
|
||||
common::printIcon('bug', 'create', $copyParams, $bug, 'button', 'copy');
|
||||
}
|
||||
common::printIcon('bug', 'delete', $params, $bug, 'button', 'trash', 'hiddenwin');
|
||||
common::printIcon('bug', 'delete', $params, $bug, 'button', 'trash', 'hiddenwin', 'showinonlybody');
|
||||
?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user