* Finish task #1160.

This commit is contained in:
sgm0422
2020-07-21 14:35:48 +08:00
parent 12e107d40a
commit cd6b5caa61
3 changed files with 44 additions and 11 deletions
+14
View File
@@ -553,6 +553,20 @@ class todo extends control
$this->display();
}
/**
* AJAX: get program id.
*
* @param int $objectID
* @param varchar $objectType
* @access public
* @return void
*/
public function ajaxGetProgramID($objectID, $objectType)
{
$table = $objectType == 'project' ? TABLE_PROJECT : TABLE_PRODUCT;
die($this->dao->select('program')->from($table)->where('id')->eq($objectID)->fetch('program'));
}
/**
* Create cycle.
*
+26 -9
View File
@@ -15,38 +15,37 @@ $(function()
$('#toTaskButton').click(function()
{
var onlybody = config.onlybody;
config.onlybody = 'no';
var programID = $('#projectProgram').val();
var projectID = $(this).closest('.input-group').find('#project').val();
var link = createLink('task', 'create', 'projectID=' + projectID + '&storyID=0&moduleID=0&taskID=0&todoID=' + todoID);
var link = createLink('task', 'create', 'projectID=' + projectID + '&storyID=0&moduleID=0&taskID=0&todoID=' + todoID, config.defaultView, 'no', programID);
config.onlybody = onlybody;
parent.location.href = link;
})
$('#toStoryButton').click(function()
{
var onlybody = config.onlybody;
config.onlybody = 'no';
var programID = $('#productProgram').val();
var productID = $(this).closest('.input-group').find('#product').val();
var link = createLink('story', 'create', 'productID=' + productID + '&branch=0&moduleID=0&storyID=0&projectID=0&bugID=0&planID=0&todoID=' + todoID);
var link = createLink('story', 'create', 'productID=' + productID + '&branch=0&moduleID=0&storyID=0&projectID=0&bugID=0&planID=0&todoID=' + todoID, config.defaultView, 'no', programID);
config.onlybody = onlybody;
parent.location.href = link;
})
$('#toBugButton').click(function()
{
var onlybody = config.onlybody;
config.onlybody = 'no';
var programID = $('#productProgram').val();
var productID = $(this).closest('.input-group').find('#product').val();
var link = createLink('bug', 'create', 'productID=' + productID + '&branch=0&extras=todoID=' + todoID);
var link = createLink('bug', 'create', 'productID=' + productID + '&branch=0&extras=todoID=' + todoID, config.defaultView, 'no', programID);
config.onlybody = onlybody;
parent.location.href = link;
})
$('#project, $product').change();
});
function createProduct()
@@ -70,3 +69,21 @@ function createProject()
config.onlybody = onlybody;
parent.location.href = link;
}
function getProgramByProject(projectID)
{
link = createLink('todo', 'ajaxGetProgramID', "projectID=" + projectID + '&type=project');
$.post(link, function(data)
{
$('#projectProgram').val(data);
})
}
function getProgramByProduct(productID)
{
link = createLink('todo', 'ajaxGetProgramID', "productID=" + productID + '&type=product');
$.post(link, function(data)
{
$('#productProgram').val(data);
})
}
+4 -2
View File
@@ -187,8 +187,9 @@
</div>
<?php else:?>
<div class='input-group'>
<?php echo html::select('project', $projects, '', "class='form-control chosen'");?>
<?php echo html::select('project', $projects, '', "class='form-control chosen' onchange=getProgramByProject(this.value);");?>
<span class='input-group-btn'><?php echo html::commonButton($lang->todo->reasonList['task'], "id='toTaskButton'", 'btn btn-primary');?></span>
<?php echo html::hidden('projectProgram', 0);?>
</div>
<?php endif;?>
</div>
@@ -212,9 +213,10 @@
</div>
<?php else:?>
<div class='input-group'>
<?php echo html::select('product', $products, '', "class='form-control chosen'");?>
<?php echo html::select('product', $products, '', "class='form-control chosen' onchange=getProgramByProduct(this.value);");?>
<span class='input-group-btn'><?php echo html::commonButton($lang->todo->reasonList['story'], "id='toStoryButton'", 'btn btn-primary');?></span>
<span class='input-group-btn'><?php echo html::commonButton($lang->todo->reasonList['bug'], "id='toBugButton'", 'btn btn-primary');?></span>
<?php echo html::hidden('productProgram', 0);?>
</div>
<?php endif;?>
</div>