* Finish task #40117

This commit is contained in:
zenggang
2021-07-20 18:30:19 +08:00
parent 16e442433a
commit 51558901a5
3 changed files with 16 additions and 4 deletions
+4
View File
@@ -1614,6 +1614,10 @@ class project extends control
$response = array();
$response['result'] = true;
$response['message'] = $this->lang->project->changeProgramTip;
/* Get new program products. */
$newProducts = $this->program->getProductPairs($programID, 'assign', 'noclosed');
$response['newProducts'] = html::select("newProducts", array('0' => '') + $newProducts, '', "class='form-control chosen' onchange='loadBranches(this)'");
$multiLinkedProducts = $this->project->getMultiLinkedProducts($projectID);
if($multiLinkedProducts)
+10 -2
View File
@@ -15,8 +15,16 @@ $(function()
{
changed = confirm(data.message);
if(changed)
{
$('#productsBox select').prop('disabled', true).trigger("chosen:updated");
{
/* Select change to the new program products. */
var lastProductSelect = $('#productsBox .input-group:last select:first');
if($(lastProductSelect).val() == 0) {
var lastProductSelectID = $(lastProductSelect).attr("id");
var lastProductSelectName = $(lastProductSelect).attr("name");
$('#'+lastProductSelectID+'_chosen').remove();
$(lastProductSelect).replaceWith(data.newProducts);
$('#productsBox .input-group:last select:first').attr('name', lastProductSelectName).attr('id', lastProductSelectID).chosen();
}
}
}
+2 -2
View File
@@ -866,7 +866,7 @@ class projectModel extends model
{
$oldProject = $this->dao->findById($projectID)->from(TABLE_PROJECT)->fetch();
$linkedProducts = $this->dao->select('product')->from(TABLE_PROJECTPRODUCT)->where('project')->eq($projectID)->fetchPairs();
$_POST['products'] = isset($_POST['products']) ? $_POST['products'] : $linkedProducts;
$_POST['products'] = isset($_POST['products']) ? array_filter($_POST['products']) : $linkedProducts;
$project = fixer::input('post')
->setDefault('team', substr($this->post->name, 0, 30))
@@ -1225,7 +1225,7 @@ class projectModel extends model
$newTopProgram = $this->program->getTopByID($newProgram);
if($oldTopProgram != $newTopProgram)
{
foreach($products as $productID => $product)
foreach($products as $productID)
{
$oldProduct = $this->dao->findById($productID)->from(TABLE_PRODUCT)->fetch();
$this->dao->update(TABLE_PRODUCT)->set('program')->eq((int)$newTopProgram)->where('id')->eq((int)$productID)->exec();