window.onbeforeunload = function() { removeDocumentReservations(document.getElementById("temp_id").value); //saveDocumentReservations(document.getElementById("temp_id").value); alert("Wprowadzone zmiany nie zostały zapisane"); } function BlockProducts(){ var tab = document.getElementById("tbody"); var tr = tab.getElementsByTagName("tr"); var qty; var total; for(var i=0; i < tr.length; i++){ var inp=tr[i].getElementsByTagName("input"); var img=tr[i].getElementsByTagName("img"); var tx=tr[i].getElementsByTagName("textarea"); //console.log(inp); if (inp[2].value!='') { inp[1].setAttribute('readonly', 'readonly'); inp[1].setAttribute('onkeydown', ''); img[2].setAttribute('style', 'display:none'); //img[1].setAttribute('style', 'display:none'); } //if(inp[8].value==1)deleteEmptyComponents(inp[11].value); } return true; } function saveDocumentReservations(temp_id, operation) { url = 'index.php?module=EcmStockOperations&action=saveDocumentReservations&temp_doc_id='+temp_id+'&to_pdf=1'; var req = mint.Request(); req.OnSuccess = function() { switch(operation) { case 'cancel': case 'list': default: //window.location = "index.php?module=EcmServices&action=index"; break; } return; } req.Send(url); } function removeDocumentReservations(temp_id, operation) { url = 'index.php?module=EcmStockOperations&action=deleteDocumentReservations&temp_doc_id='+temp_id+'&to_pdf=1'; var req = mint.Request(); req.OnSuccess = function() { switch(operation) { case 'cancel': case 'list': default: window.location = "index.php?module=EcmServices&action=index"; break; } return; } req.Send(url); } function getProductQuantity(rowIndex, operation) { //console.log('getProductQuantity'); var stock_id = document.getElementById("stock_id").value; var product_id = N.row(rowIndex).getData().id; url='index.php?module=EcmStockStates&action=getProductQuantity&stock_id=' + stock_id + '&product_id=' + product_id + '&to_pdf=1'; //console.log(url); var req = mint.Request(); req.OnSuccess = function() { //console.log("getProductQuantity:OnSuccess"); //return; var data = N.row(rowIndex).getData(); //console.log(data); data.stock = this.responseText; N.row(rowIndex).setData(data); if (!data.reserved) data.reserved = 0; if (operation == "saveReservation") { N.row(rowIndex).className=''; saveReservation(rowIndex, false); //console.log(data); if(parseFloat(data.stock) >= data.rq) { N.row(rowIndex).addClass('greenRow'); } else { N.row(rowIndex).addClass('redRow'); } return; //console.log(data); //N.row(rowIndex).className=''; //if qty = 0 do clear reserved field if (data.rq == 0 ) { N.row(rowIndex).setData(); removeReservation(rowIndex); } if(data.quantity >= data.rq) { /* saveReservation(rowIndex, false); return; */ if (data.stock >= data.rq) { saveReservation(rowIndex, false); return; } if ((data.stock < data.rq) && (parseFloat(data.stock) + parseFloat(data.rq) > 0)) { console.log(data.stock); console.log(data.rq); console.log( parseFloat(data.stock) + parseFloat(data.rq)); saveReservation(rowIndex, true, parseFloat(data.stock) + parseFloat(data.rq)); // orange row true; return; } if (data.quantity==0) { data.reserved = 0; N.row(rowIndex).setData(); removeReservation(rowIndex); setTimeout(function() {getProductQuantity(rowIndex);},1000); return; } /* //stock > qty - all OK, can reserve if (data.stock>=data.quantity-data.reserved) { saveReservation(rowIndex, false); return; } if ((data.stock<(data.quantity-data.reserved)) && (parseFloat(data.stock)+parseFloat(data.reserved)>0)) { saveReservation(rowIndex, true, parseFloat(data.stock)+parseFloat(data.reserved)); //orange row true; return; } //stock <= qty + res, sand reserve, do nothing if (data.stock<(data.quantity-data.reserved)) { N.row(rowIndex).className = 'redRow'; return; } */ } //if (data.stock < data.rq || data.quantity > data.rq) { N.row(rowIndex).addClass('redRow');//className = 'redRow'; // return; //} } } req.Send(url); } function saveReservation(rowIndex, orangeRow, qty){ //console.log('saveReservation'); var data = N.row(rowIndex).getData(); //console.log(data); var product_id = data.id; var temp_item_id = data.temp_item_id; var quantity; if (qty) quantity = qty; else quantity = data.rq; var date = document.getElementById("temp_date").value; var stock_id = document.getElementById("stock_id").value; var temp_doc_id = document.getElementById("temp_id").value; var url='index.php?module=EcmStockOperations&action=saveReservation&stock_id='+stock_id+'&product_id='+product_id+'&temp_doc_id='+temp_doc_id+'&temp_item_id='+temp_item_id+'&date='+date+'&quantity='+quantity+'&to_pdf=1'; //console.log(url); var req = mint.Request(); req.OnSuccess = function(){ //console.log("saveReservation:OnSuccess"); var data = N.row(rowIndex).getData(); data.reserved = quantity; N.row(rowIndex).setData(data); //N.row(rowIndex).cell(3).getElementById("reservation_info").innerHtml="("+data.reserved+")"; //N.row(rowIndex).cells.item(4).getElementsByTagName('input')[0].value = NumberToUserFormatNumber(data.reserved); //cell(3).getElementById("reservation_info").innerHtml if (orangeRow == true) N.row(rowIndex).addClass('orangeRow'); //.className = 'orangeRow'; else N.row(rowIndex).addClass('greenRow'); //.className = 'greenRow'; getProductQuantity(rowIndex); } req.Send(url); } function removeReservation(index) { //Console.log('removeReservation'); var data = N.row(index).getData(); var temp_item_id = data.temp_item_id; url='index.php?module=EcmStockOperations&action=deleteReservation&temp_item_id='+temp_item_id+'&to_pdf=1'; //console.log('removeReservation: ' + url); var req=mint.Request(); req.OnSuccess = function() { //console.log('removeReservation OnSuccess'); } req.Send(url); } function SetTabIndexs() { var main = document.getElementById("main"); var td = main.getElementsByTagName("td"); var selectedTable = null; //var selectingColor = "red"; //var selectingCellTable = "green"; var TableIndex = 0; for(var i=0; i= 0) { removeHistoryRecord(idParts[1]); //paretLi.removeChild(idParts[1]); paretLi.style.display = 'none'; } //console.log(paretLi.parentNode.children ); // Hide no-results item if needed. if(paretLi.parentNode.children.length == 0) { // } return true; } function addHistoryRecord(date, owner, record) { var historyRecord = [ date, owner, record ]; var historyElement = document.forms.EditView.history; var historyValue = JSON.parse(historyElement.value); historyValue.unshift(historyRecord); historyElement.value = JSON.stringifyNoSecurity(historyValue); // Bof: Build list item. { var recordLi = document.createElement('li'); var dateP = document.createElement('p'); dateP.appendChild(document.createTextNode(date)); dateP.appendChild(document.createTextNode(', ')); dateP.appendChild(document.createTextNode(owner)); dateP.appendChild(document.createTextNode(':')); //var ownerP = document.createElement('p'); //ownerP.appendChild(document.createTextNode(owner)); var recordP = document.createElement('p'); recordP.appendChild(document.createTextNode(record)); recordLi.appendChild(dateP); //recordLi.appendChild(ownerP) recordLi.appendChild(recordP); } // Eof: Build list item. // Prepend new history record. var wrapperList = document.getElementById('history_wrapper').children[0]; // Hide no-results item if needed. if(wrapperList.children.length == 1 && wrapperList.children[0].getAttribute('class') == 'no-results') { wrapperList.children[0].style.display = 'none'; } wrapperList.insertBefore(recordLi, wrapperList.firstChild); return true; } function addHistory() { // Grab important form fields. var owner = document.forms.EditView.history_owner; var date = document.forms.EditView.history_date; var record = document.forms.EditView.history_record; // Check values. if(owner.value.length == 0 || date.value.length == 0 || record.value.length == 0) { alert('Wypełnij wszystkie pola.'); return false; } // Create row, update hidden history value. addHistoryRecord(date.value, owner.value, record.value); var date = new Date(); // Reset form. owner.value = ''; date.value = date.toString('d.m.Y'); record.value = ''; return true; } function SaveForm() { ShowLoadingView(); setTimeout(function() { if(OPT["checkbox_demo"] == 1 && document.forms.EditView.record.value == "") { alert(MOD.LBL_DEMO_VERSION_INFORMATION); return; } ERROR = false; //document.getElementById("position_list").value = ItemListSave(true); if(ERROR) { alert(MOD["LBL_SAVE_FORM_ERROR"]); HideLoadingView(); return false; } document.forms.EditView.action.value = "Save"; if(check_form("EditView")) { //var result = confirm(MOD.LBL_CONFIRM_QUESTION); //if(result) document.forms.EditView.status.value = (OPT["auto_commiting"]?"s30":"s20"); doRequest( "index.php", getFormPost("Save"), function(result){ /* console.log(result); HideLoadingView(); return; */ document.forms.EditView.record.value = result.substring(result.length - 36); if(OPT["setEmailTab"]) setEMAIL(true); else window.location = "index.php?module="+document.forms.EditView.module.value+"&action=DetailView&record="+document.forms.EditView.record.value; }, MOD["LBL_NOT_SAVED"] ); } else { alert(MOD["LBL_NOT_SAVED"]); HideLoadingView(); return false; } }, 200); } function ItemListClear() { while(N.rowCount() > 0) N.row(0).deleteRow(); } function getFormPost(action) { if(!action) action = "previewPDF"; var pd = "to_pdf=1" + "&module=EcmServices&action=" + action + "&record=" + document.forms.EditView.record.value; pd += "&cache=fromJava" + ItemListSave(true) + ServiceListSave(true) + IncomeListSave(true); pd += '&history=' + document.forms.EditView.history.value; var pd2 = new Object(); pd2["module"] = "EcmServices"; pd2["action"] = action; pd2["record"] = document.forms.EditView.record.value; pd2["to_pdf"] = "1"; pd2["cache"] = "fromJava"; //pd2['history'] = document.forms.EditView.history.value; document.forms.EditView.position_list.value = ""; document.forms["EditView"].action.value = action; var tmp; for(var i=0; i < document.forms["EditView"].elements.length; i++) { tmp = document.forms["EditView"].elements[i]; if(tmp.name != "") { if(tmp.type == "checkbox") pd2[document.forms["EditView"].elements[i].name] =(document.forms["EditView"].elements[i].checked ? "1" : "0"); else pd2[document.forms["EditView"].elements[i].name] = document.forms["EditView"].elements[i].value; } } pd += "&otherFormData=" + JSON.stringifyNoSecurity(pd2); return pd; } function sendFormPostToPdf(type, panel) { var tab = '_'; if(type != null) { tab += type.toUpperCase(); } ERROR = false; document.getElementById("position_list").value = ItemListSave(true); document.getElementById("services_list").value = ServiceListSave(true); document.getElementById("income_list").value = IncomeListSave(true); if(ERROR) { alert("There are some errors on list"); return false; } doRequest( "index.php", getFormPost("previewPDF"), function(result) { //console.log(result); //return; if(SHOW_PDF_IN_DIV==1){ HideLoadingView(); EcmPreviewPDF( "index.php?module=EcmServices&action=previewPDF&to_pdf=1&from=EcmServices&type=" + type, { zoom:75 } ); } else{ SetTab((panel ? "panel_" : "" )+ "PREVIEW" + tab); document.getElementById("previewPDF" + tab).innerHTML = ''; } } ); } preview_pdf = function() { var type = document.getElementById('preview_type').value; switch(type) { default: type = 'income'; case 'fault': case 'income': case 'qty': case 'val': case 'warranty': break; } doRequest( "index.php", getFormPost("previewPDF"), function(result) { //console.log(result); //return; if(SHOW_PDF_IN_DIV==1){ HideLoadingView(); EcmPreviewPDF( "index.php?module=EcmServices&action=previewPDF&to_pdf=1&from=EcmServices&type=" + type, { zoom:75 } ); } else{ document.getElementById("previewPDF").innerHTML = ''; } } ); //document.getElementById('previewPDF').innerHTML = ''; } function canConfirm() { if(document.forms.EditView.status.value == "accepted" && !OPT.user.confirm_quotes) { alert("This option is disabled for You."); document.forms.EditView.status.value = ((OPT.old_status)?OPT.old_status:""); } OPT.old_status = document.forms.EditView.status.value; } function CheckDiscount(noAlert) { var discount = 0; return 0; } var AjaxSearch1Items; var AjaxSearch2Items; var AjaxSearch3Items; var parentFL; var productFL; var contactFL;