$(function() { $('#parent').change(function() { var programID = $(this).val(); setAclList(programID); /* Determine whether the project can change the project set. */ link = createLink('project', 'ajaxCheckProduct', 'programID=' + programID + '&projectID=' + projectID); $.getJSON(link, function(data) { var changed = true; if(data && data.result) { changed = confirm(data.message); if(changed) { /* 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(); } } } if(data && !data.result) { $('#promptTable tbody tr').remove(); for(var i in data.message) { var product = data.message[i]; $('#promptTable').append(" " + product +" " + linkedProjectsTip +""); for(var j in data.multiLinkedProjects) { if(i == j) { html = '' for(k in data.multiLinkedProjects[j]) { var project = data.multiLinkedProjects[j][k]; html += "

" + project +"

"; } $('#promptTable').append("" + html + ""); } } } changed = false; $('#promptBox').modal({show: true}); } if(!changed) $("#parent").val(oldParent).trigger("chosen:updated"); oldParent = $('#parent').val(); }); }); adjustProductBoxMargin(); adjustPlanBoxMargin(); /* If the story of the product which linked the execution under the project, you don't allow to remove the product. */ $("#productsBox select[name^='products']").each(function() { var isExistedProduct = $.inArray($(this).attr('data-last'), unmodifiableProducts); var productType = $(this).attr('data-type'); if(isExistedProduct != -1 && productType == 'normal') { $(this).prop('disabled', true).trigger("chosen:updated"); $(this).siblings('div').find('span').attr('title', tip); } }); $("#productsBox select[name^='branch']").each(function() { var branchID = $(this).attr('data-last'); var isExistedBranch = $.inArray(branchID, unmodifiableBranches); if(isExistedBranch != -1) { var $product = $(this).closest('.has-branch').find("[name^='products']"); if($.inArray($product.val(), unmodifiableProducts) != -1) { if((branchID == 0 && unmodifiableMainBranches[$product.val()]) || branchID != 0) { $(this).prop('disabled', true).trigger("chosen:updated"); $product.prop('disabled', true).trigger("chosen:updated"); $product.siblings('div').find('span').attr('title', tip); } } } }); /* If end is longtime, set the default date to today */ var today = $.zui.formatDate(new Date(), 'yyyy-MM-dd'); if($('#end').val() == longTime) $('#end').val(today).datetimepicker('update').val(longTime); $('#submit').click(function() { var products = new Array(); var existedBranch = false; /* Determine whether the products of the same branch are linked. */ $("#productsBox select[name^='products']").each(function() { var productID = $(this).val(); if(typeof(products[productID]) == 'undefined') products[productID] = new Array(); if(multiBranchProducts[productID]) { var branchID = $(this).closest('.input-group').find("select[id^=branch]").val(); if(products[productID][branchID]) { existedBranch = true; } else { products[productID][branchID] = branchID; } if(existedBranch) return false; } }); if(existedBranch) { bootbox.alert(errorSameBranches); return false; } }); }); /** * Set aclList. * * @param int $programID * @access public * @return void */ function setAclList(programID) { if(programID != 0) { $('.aclBox').html($('#programAcl').html()); } else { $('.aclBox').html($('#projectAcl').html()); } }