* Code for task #77801.
This commit is contained in:
@@ -15,14 +15,14 @@
|
||||
#budget {border-right: 0px;}
|
||||
#budgetUnit {border-left: 0px;}
|
||||
#projectName {display: inline-block; width: 32%;}
|
||||
#productsBox a {border-radius: 2px !important;}
|
||||
#productsBox .col-sm-4 {padding-right: 5px;}
|
||||
#productsBox .required:after {right: -9.5px !important;}
|
||||
#productsBox .addProduct {padding-left: 0px !important; padding-right: 10px;}
|
||||
#productsBox .addProduct.required:after {right: -1px !important;}
|
||||
#productsBox .input-group-addon > div {display: inline-block !important;}
|
||||
#productsBox .required + .text-danger.help-text {position: relative; left: 10px;}
|
||||
#productsBox > #productNameLabel {padding-top: 8px;}
|
||||
.productsBox a {border-radius: 2px !important;}
|
||||
.productsBox .col-sm-4 {padding-right: 5px;}
|
||||
.productsBox .required:after {right: -9.5px !important;}
|
||||
.productsBox .addProduct {padding-left: 0px !important;}
|
||||
.productsBox .addProduct.required:after {right: -1px !important;}
|
||||
.productsBox .input-group-addon > div {display: inline-block !important;}
|
||||
.productsBox .required + .text-danger.help-text {position: relative; left: 10px;}
|
||||
.productsBox > #productNameLabel {padding-top: 8px;}
|
||||
#plansBox .col-sm-4 {float: none; display: inline-block; padding-right: 5px;}
|
||||
.futureBox {vertical-align: top !important; padding-top: 13px !important;}
|
||||
#projectType {padding-top: 7px !important;}
|
||||
|
||||
+99
-88
@@ -11,7 +11,7 @@ $(function()
|
||||
if(hasProduct == 1)
|
||||
{
|
||||
var chosenProducts = 0;
|
||||
$("#productsBox select[name^='products']").each(function()
|
||||
$(".productsBox select[name^='products']").each(function()
|
||||
{
|
||||
if($(this).val() > 0) chosenProducts ++;
|
||||
});
|
||||
@@ -31,14 +31,14 @@ $(function()
|
||||
|
||||
if(typeof(currentPlanID) == 'undefined')
|
||||
{
|
||||
$('#productsBox select[id^="products"]').each(function()
|
||||
$('.productsBox select[id^="products"]').each(function()
|
||||
{
|
||||
var branchID = 0;
|
||||
if($(this).closest('.input-group').find('select[id^="branch"]').size() > 0)
|
||||
var branch = 0;
|
||||
if($(this).closest('.table-row').find('select[name^="branch"]').size() > 0)
|
||||
{
|
||||
var branchID = $(this).closest('.input-group').find('select[id^="branch"]').val();
|
||||
var branch = $(this).closest('.table-row').find('select[name^="branch"]');
|
||||
}
|
||||
loadPlans($(this), branchID);
|
||||
loadPlans($(this), branch);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ $(function()
|
||||
$('#daysLabelInfo').remove();
|
||||
|
||||
/* Determine whether the products of the same branch are linked. */
|
||||
$("#productsBox select[name^='products']").each(function()
|
||||
$(".productsBox select[name^='products']").each(function()
|
||||
{
|
||||
var productID = $(this).val();
|
||||
if(typeof(products[productID]) == 'undefined') products[productID] = new Array();
|
||||
@@ -98,7 +98,6 @@ $(function()
|
||||
}
|
||||
|
||||
/* Init for copy execution. */
|
||||
$("select[id^=branch]").each(disableSelectedBranch);
|
||||
disableSelectedProduct();
|
||||
|
||||
/* Check the all products and branches control when uncheck the product. */
|
||||
@@ -106,14 +105,10 @@ $(function()
|
||||
{
|
||||
if($(this).val() == 0)
|
||||
{
|
||||
$("select[id^='branch']").each(disableSelectedBranch);
|
||||
|
||||
disableSelectedProduct();
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('change', "select[id^='branch']", disableSelectedBranch);
|
||||
|
||||
if(copyProjectID > 0 && copyType != 'previous')
|
||||
{
|
||||
$('#name').addClass('has-info')
|
||||
@@ -167,7 +162,7 @@ function setParentProgram(parentProgram)
|
||||
var productSelectHtml = data.allProducts;
|
||||
var planSelectHtml = data.plans;
|
||||
|
||||
$('#productsBox .row .col-sm-4 .input-group').each(function(index)
|
||||
$('.productsBox .row .col-sm-4 .input-group').each(function(index)
|
||||
{
|
||||
var selectedProduct = $(this).find('[name^=products]').val();
|
||||
var selectedBranch = $(this).find('[name^=branch]').val();
|
||||
@@ -177,7 +172,7 @@ function setParentProgram(parentProgram)
|
||||
$(this).find('[name^=products]').attr('name', 'products[' + index + ']').attr('id', 'products' + index).attr('data-branch', selectedBranch).attr('data-plan', selectedPlan);
|
||||
$(this).find('[name^=products]').val(selectedProduct).chosen().change();
|
||||
});
|
||||
$('#productsBox .row .col-sm-4:last').find('.input-group').append($('#productsBox .addProduct .input-group:first .input-group-addon').prop('outerHTML'));
|
||||
$('.productsBox .row .col-sm-4:last').find('.input-group').append($('.productsBox .addProduct .input-group:first .input-group-addon').prop('outerHTML'));
|
||||
}
|
||||
|
||||
if(parentProgram != 0)
|
||||
@@ -198,13 +193,13 @@ function setParentProgram(parentProgram)
|
||||
|
||||
if(parentProgram != '0')
|
||||
{
|
||||
$('#productsBox .addProduct .input-group:first').addClass('required');
|
||||
$('#productsBox .row .input-group:first').addClass('required');
|
||||
$('.productsBox .addProduct .input-group:first').addClass('required');
|
||||
$('.productsBox .row .input-group:first').addClass('required');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#productsBox .addProduct .input-group').removeClass('required');
|
||||
$('#productsBox .row .input-group').removeClass('required');
|
||||
$('.productsBox .addProduct .input-group').removeClass('required');
|
||||
$('.productsBox .row .input-group').removeClass('required');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -232,35 +227,35 @@ function addNewProduct(obj)
|
||||
if($(obj).attr('checked'))
|
||||
{
|
||||
/* Hide product and plan dropdown controls. */
|
||||
$('#productsBox .row .col-sm-4').addClass('hidden');
|
||||
$('#productsBox .row .col-sm-4 .input-group').find('select').attr('disabled', true).trigger("chosen:updated");
|
||||
$('#plansBox').closest('tr').addClass('hidden');
|
||||
$('#plansBox .col-sm-4').find('select').attr('disabled', true).trigger("chosen:updated");
|
||||
$('.newLine').addClass('hidden');
|
||||
$('.productsBox .row').addClass('hidden');
|
||||
$('.productsBox .row .input-group').find('select').attr('disabled', true).trigger("chosen:updated");
|
||||
$('.division').addClass('hide');
|
||||
|
||||
/* Displays the input box for creating a product. */
|
||||
$(obj).closest('td').attr('colspan', 1);
|
||||
$("[name^='newProduct']").prop('checked', true);
|
||||
$('#productName').removeAttr('disabled', true);
|
||||
$('#productsBox .addProduct').removeClass('hidden');
|
||||
$('.productsBox .addProduct').removeClass('hidden');
|
||||
$('#productTitle').html(productName);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Show product and product dropdown controls. */
|
||||
$('#productsBox .row .col-sm-4').removeClass('hidden');
|
||||
$('#productsBox .row .col-sm-4 .input-group').find('select').removeAttr('disabled').trigger("chosen:updated");
|
||||
$('#plansBox').closest('tr').removeClass('hidden');
|
||||
$('#plansBox .col-sm-4').find('select').removeAttr('disabled', true).trigger("chosen:updated");
|
||||
$('.newLine').removeClass('hidden');
|
||||
$('.productsBox .row').removeClass('hidden');
|
||||
$('.productsBox .row .input-group').find('select').removeAttr('disabled').trigger("chosen:updated");
|
||||
if($('#plansBox .col-sm-4').find('select').length > 1) $('.division').removeClass('hide');
|
||||
|
||||
/* Hide the input box for creating a product. */
|
||||
$(obj).closest('td').attr('colspan', 3);
|
||||
$("[name^='newProduct']").prop('checked', false);
|
||||
$('#productName').attr('disabled', true);
|
||||
$('#productsBox .addProduct').addClass('hidden');
|
||||
$('.productsBox .addProduct').addClass('hidden');
|
||||
|
||||
$('#productTitle').html(manageProducts);
|
||||
}
|
||||
$('#productsBox div + .text-danger.help-text').remove();
|
||||
$('.productsBox div + .text-danger.help-text').remove();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -295,7 +290,7 @@ function loadBranches(product)
|
||||
$("#planDefault").remove();
|
||||
|
||||
var chosenProducts = [];
|
||||
$("#productsBox select[name^='products']").each(function()
|
||||
$(".productsBox select[name^='products']").each(function()
|
||||
{
|
||||
var $product = $(product);
|
||||
var productID = $(this).val();
|
||||
@@ -311,111 +306,127 @@ function loadBranches(product)
|
||||
|
||||
(chosenProducts.length > 1 && model == 'waterfall') ? $('.division').removeClass('hide') : $('.division').addClass('hide');
|
||||
|
||||
if($('#productsBox .row .input-group:last select:first').val() != 0)
|
||||
/*
|
||||
if($('.productsBox .row .input-group:last select:first').val() != 0)
|
||||
{
|
||||
var length = $('#productsBox .row .input-group').size();
|
||||
var $html = $('#productsBox .row .col-sm-4:last').html().replace('required', '');
|
||||
$('#productsBox .row .col-sm-4:last').find('.input-group-addon').remove();
|
||||
$('#productsBox .row').append('<div class="col-sm-4">' + $html + '</div>');
|
||||
if($('#productsBox .row .input-group:last select').size() >= 2) $('#productsBox .row .input-group:last select:last').remove();
|
||||
$('#productsBox .row .input-group:last .chosen-container').remove();
|
||||
$('#productsBox .row .input-group:last select:first').attr('name', 'products[' + length + ']').attr('id', 'products' + length);
|
||||
$('#productsBox .row .input-group:last .chosen').chosen();
|
||||
var length = $('.productsBox .row .input-group').size();
|
||||
var $html = $('.productsBox .row .col-sm-4:last').html().replace('required', '');
|
||||
$('.productsBox .row .col-sm-4:last').find('.input-group-addon').remove();
|
||||
$('.productsBox .row').append('<div class="col-sm-4">' + $html + '</div>');
|
||||
if($('.productsBox .row .input-group:last select').size() >= 2) $('.productsBox .row .input-group:last select:last').remove();
|
||||
$('.productsBox .row .input-group:last .chosen-container').remove();
|
||||
$('.productsBox .row .input-group:last select:first').attr('name', 'products[' + length + ']').attr('id', 'products' + length);
|
||||
$('.productsBox .row .input-group:last .chosen').chosen();
|
||||
|
||||
$('[data-toggle="popover"]').popover();
|
||||
|
||||
adjustProductBoxMargin();
|
||||
}
|
||||
*/
|
||||
|
||||
var $inputgroup = $(product).closest('.input-group');
|
||||
if($inputgroup.find('select').size() >= 2) $inputgroup.removeClass('has-branch').find('select:last').remove();
|
||||
if($inputgroup.find('.chosen-container').size() >= 2) $inputgroup.find('.chosen-container:last').remove();
|
||||
|
||||
var index = $inputgroup.find('select:first').attr('id').replace('products' , '');
|
||||
var $tableRow = $(product).closest('.table-row');
|
||||
var index = $tableRow.find('select:first').attr('id').replace('products' , '');
|
||||
var oldBranch = $(product).attr('data-branch') !== undefined ? $(product).attr('data-branch') : 0;
|
||||
if($(product).val() != 0)
|
||||
{
|
||||
$(product).closest('tr').find('.newProduct').addClass('hidden')
|
||||
}
|
||||
else
|
||||
{
|
||||
$(product).closest('tr').find('.newProduct').removeClass('hidden')
|
||||
}
|
||||
|
||||
if(!multiBranchProducts[$(product).val()])
|
||||
{
|
||||
$tableRow.find('.table-col:last select').val('').trigger('chosen:updated');
|
||||
$tableRow.find('.table-col:last').addClass('hidden');
|
||||
}
|
||||
|
||||
$.get(createLink('branch', 'ajaxGetBranches', "productID=" + $(product).val() + "&oldBranch=" + oldBranch + "¶m=active"), function(data)
|
||||
{
|
||||
if(data)
|
||||
{
|
||||
$inputgroup.addClass('has-branch').append(data);
|
||||
$inputgroup.find('select:last').attr('name', 'branch[' + index + ']').attr('id', 'branch' + index).attr('onchange', "loadPlans('#products" + index + "', this.value)").chosen();
|
||||
$tableRow.find("select[name^='branch']").replaceWith(data);
|
||||
$tableRow.find('.table-col:last .chosen-container').remove();
|
||||
$tableRow.find('.table-col:last').removeClass('hidden');
|
||||
$tableRow.find("select[name^='branch']").attr('multiple', '').attr('name', 'branch[' + index + '][]').attr('id', 'branch' + index).attr('onchange', "loadPlans('#products" + index + "', this)").chosen();
|
||||
|
||||
$inputgroup.find('select:last').each(disableSelectedBranch);
|
||||
disableSelectedProduct();
|
||||
}
|
||||
|
||||
var branchID = $('#branch' + index).val();
|
||||
loadPlans(product, branchID);
|
||||
var branch = $('#branch' + index);
|
||||
loadPlans(product, branch);
|
||||
});
|
||||
|
||||
if(!multiBranchProducts[$(product).val()]) disableSelectedProduct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Load plans.
|
||||
*
|
||||
* @param obj $product
|
||||
* @param int $branchID
|
||||
* @param obj $branchID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function loadPlans(product, branchID)
|
||||
function loadPlans(product, branch)
|
||||
{
|
||||
if($('#plansBox').size() == 0) return false;
|
||||
|
||||
var productID = $(product).val();
|
||||
var branchID = typeof(branchID) == 'undefined' ? 0 : branchID;
|
||||
var branchID = $(branch).val() == null ? 0 : $(branch).val();
|
||||
var planID = $(product).attr('data-plan') !== undefined ? $(product).attr('data-plan') : 0;
|
||||
var index = $(product).attr('id').replace('products', '');
|
||||
|
||||
$.get(createLink('product', 'ajaxGetPlans', "productID=" + productID + '&branch=0,' + branchID + '&planID=' + planID + '&fieldID&needCreate=&expired=unexpired,noclosed¶m=skipParent,multiple'), function(data)
|
||||
$.get(createLink('product', 'ajaxGetPlans', "productID=" + productID + '&branch=' + branchID + '&planID=' + planID + '&fieldID&needCreate=&expired=unexpired,noclosed¶m=skipParent,multiple'), function(data)
|
||||
{
|
||||
if(data)
|
||||
{
|
||||
if($("div#plan" + index).size() == 0) $("#plansBox .row").append('<div class="col-sm-4" id="plan' + index + '"></div>');
|
||||
$("div#plan" + index).html(data).find('select').attr('name', 'plans[' + productID + '][' + branchID + '][]').attr('id', 'plans' + productID).chosen();
|
||||
|
||||
adjustPlanBoxMargin();
|
||||
$("div#plan" + index).find("select[name^='plans']").replaceWith(data);
|
||||
$("div#plan" + index).find('.chosen-container').remove();
|
||||
$("div#plan" + index).find('select').attr('name', 'plans[' + productID + '][' + branchID + '][]').attr('id', 'plans' + productID).chosen();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjust product box margin.
|
||||
*
|
||||
* Add new line for link product.
|
||||
*
|
||||
* @param obj $obj
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function adjustProductBoxMargin()
|
||||
function addNewLine(obj)
|
||||
{
|
||||
var productRows = Math.ceil($('#productsBox > .row > .col-sm-4').length / 3);
|
||||
if(productRows > 1)
|
||||
var newLine = $(obj).closest('tr').clone();
|
||||
var index = 0;
|
||||
$(".productsBox select[name^='products']").each(function()
|
||||
{
|
||||
for(i = 1; i <= productRows - 1; i++)
|
||||
{
|
||||
$('#productsBox .row .col-sm-4:lt(' + (i * 3) + ')').css('margin-bottom', '10px');
|
||||
$('#productsBox .row .col-sm-4').eq(i * 3).css('padding-right', '6px');
|
||||
}
|
||||
}
|
||||
var id = $(this).attr('id').replace('products' , '');
|
||||
|
||||
id = parseInt(id);
|
||||
id ++;
|
||||
|
||||
index = id > index ? id : index;
|
||||
})
|
||||
|
||||
newLine.find('.newProduct').remove();
|
||||
newLine.find('.addProduct').remove();
|
||||
newLine.addClass('newLine');
|
||||
newLine.find('th').html('');
|
||||
newLine.find('.removeLine').css('visibility', 'visible');
|
||||
newLine.find('.chosen-container').remove();
|
||||
newLine.find('.productsBox .table-col:last').addClass('hidden');
|
||||
newLine.find("select[name^='products']").attr('name', 'products[' + index + ']').attr('id', 'products' + index).chosen();
|
||||
newLine.find("select[name^='plans']").attr('name', 'plans[' + index + '][' + 0 + '][]').chosen();
|
||||
newLine.find("div[id^='plan']").attr('id', 'plan' + index);
|
||||
|
||||
$(obj).closest('tr').after(newLine);
|
||||
var product = newLine.find("select[name^='products']");
|
||||
var branch = newLine.find("select[name^='branch']");
|
||||
loadPlans(product, branch);
|
||||
disableSelectedProduct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjust plan box margin.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function adjustPlanBoxMargin()
|
||||
function removeLine(obj)
|
||||
{
|
||||
var planRows = Math.ceil($('#plansBox > .row > .col-sm-4').length / 3);
|
||||
if(planRows > 1)
|
||||
{
|
||||
for(j = 1; j <= planRows - 1; j++)
|
||||
{
|
||||
$('#plansBox .col-sm-4:lt(' + (j * 3) + ')').css('margin-bottom', '10px');
|
||||
$('#plansBox .col-sm-4').eq(j * 3).css('padding-right', '6px');
|
||||
}
|
||||
}
|
||||
$(obj).closest('tr').remove();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+20
-15
@@ -2404,24 +2404,29 @@ class projectModel extends model
|
||||
$oldPlan = 0;
|
||||
$branch = isset($branches[$i]) ? $branches[$i] : 0;
|
||||
|
||||
if(isset($existedProducts[$productID][$branch])) continue;
|
||||
if(!is_array($branch)) $branch = array($branch => $branch);
|
||||
|
||||
if(isset($oldProjectProducts[$productID][$branch]))
|
||||
foreach($branch as $branchID)
|
||||
{
|
||||
$oldProjectProduct = $oldProjectProducts[$productID][$branch];
|
||||
if($this->app->rawMethod != 'edit') $oldPlan = $oldProjectProduct->plan;
|
||||
if(isset($existedProducts[$productID][$branchID])) continue;
|
||||
|
||||
if(isset($oldProjectProducts[$productID][$branchID]))
|
||||
{
|
||||
$oldProjectProduct = $oldProjectProducts[$productID][$branchID];
|
||||
if($this->app->rawMethod != 'edit') $oldPlan = $oldProjectProduct->plan;
|
||||
}
|
||||
|
||||
$data = new stdclass();
|
||||
$data->project = $projectID;
|
||||
$data->product = $productID;
|
||||
$data->branch = $branchID;
|
||||
$data->plan = isset($plans[$productID][$branchID]) ? implode(',', $plans[$productID][$branchID]) : $oldPlan;
|
||||
$data->plan = trim($data->plan, ',');
|
||||
$data->plan = empty($data->plan) ? 0 : ",$data->plan,";
|
||||
|
||||
$this->dao->insert(TABLE_PROJECTPRODUCT)->data($data)->exec();
|
||||
$existedProducts[$productID][$branchID] = true;
|
||||
}
|
||||
|
||||
$data = new stdclass();
|
||||
$data->project = $projectID;
|
||||
$data->product = $productID;
|
||||
$data->branch = $branch;
|
||||
$data->plan = isset($plans[$productID][$branch]) ? implode(',', $plans[$productID][$branch]) : $oldPlan;
|
||||
$data->plan = trim($data->plan, ',');
|
||||
$data->plan = empty($data->plan) ? 0 : ",$data->plan,";
|
||||
|
||||
$this->dao->insert(TABLE_PROJECTPRODUCT)->data($data)->exec();
|
||||
$existedProducts[$productID][$branch] = true;
|
||||
}
|
||||
|
||||
/* Delete the execution linked products that is not linked with the execution. */
|
||||
|
||||
@@ -139,6 +139,49 @@
|
||||
</td><td></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th id='productTitle'>关联产品和计划</th>
|
||||
<td class='text-left productsBox' colspan='3'>
|
||||
<div class='row'>
|
||||
<div class="col-sm-6">
|
||||
<div class='table-row'>
|
||||
<div class='table-col'>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->product->common;?></span>
|
||||
<?php echo html::select("products[0]", $allProducts, '', "class='form-control chosen' onchange='loadBranches(this)'");?>
|
||||
<?php if(common::hasPriv('product', 'create')):?>
|
||||
<span class='input-group-addon newProduct'>
|
||||
<?php echo html::checkBox('newProduct', $lang->project->addProduct, '', "onchange=addNewProduct(this);");?>
|
||||
<div><icon class='icon icon-help' data-toggle='popover' data-trigger='focus hover' data-placement='left' data-tip-class='text-muted popover-sm' data-content="<?php echo $lang->project->productTip;?>"></icon></div>
|
||||
</span>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</div>
|
||||
<div class='table-col hidden'>
|
||||
<div class='input-group required'>
|
||||
<span class='input-group-addon fix-border'><?php echo $lang->product->branchName['branch'];?></span>
|
||||
<?php echo html::select("branch", '', '', "class='form-control chosen' multiple");?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class='input-group' id='plan0'>
|
||||
<span class='input-group-addon'><?php echo $lang->product->plan;?></span>
|
||||
<?php echo html::select("plans[][][]", '', '', "class='form-control chosen' multiple");?>
|
||||
<div class='input-group-btn'>
|
||||
<a href='javascript:;' onclick='addNewLine(this)' class='btn btn-link addLine'><i class='icon-plus'></i></a>
|
||||
<a href='javascript:;' onclick='removeLine(this)' class='btn btn-link removeLine' style='visibility: hidden'><i class='icon-close'></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group addProduct hidden <?php if($programID) echo 'required';?>">
|
||||
<?php echo html::input('productName', '', "class='form-control'");?>
|
||||
<span class='input-group-addon'><?php echo html::checkBox('newProduct', $lang->project->addProduct, '', "onchange=addNewProduct(this);");?></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<!--tr>
|
||||
<th id='productTitle'><?php echo $lang->project->manageProducts;?></th>
|
||||
<td class='text-left' id='productsBox' colspan="3">
|
||||
<div class='row'>
|
||||
@@ -195,7 +238,7 @@
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tr-->
|
||||
<?php if($model == 'waterfall'):?>
|
||||
<tr class='hide division'>
|
||||
<th><?php echo $lang->project->division;?></th>
|
||||
|
||||
+1
-6
@@ -1044,12 +1044,7 @@ function disableSelectedProduct()
|
||||
$("select[id^='products']").each(function()
|
||||
{
|
||||
var selectedProduct = $(this).val();
|
||||
if(selectedProduct != 0 && $.inArray(selectedProduct, selectedVal) < 0 && !multiBranchProducts[selectedProduct]) selectedVal.push(selectedProduct);
|
||||
if(multiBranchProducts[selectedProduct])
|
||||
{
|
||||
var isDisabled = checkMultiProducts(this);
|
||||
if(isDisabled) selectedVal.push(selectedProduct);
|
||||
}
|
||||
if(selectedProduct != 0 && $.inArray(selectedProduct, selectedVal) < 0) selectedVal.push(selectedProduct);
|
||||
})
|
||||
|
||||
$("select[id^='products']").each(function()
|
||||
|
||||
Reference in New Issue
Block a user