Files
BACHIR SOULDI 2794e62571 first commit
2025-09-28 08:49:37 +01:00

127 lines
4.1 KiB
JavaScript

/*+***********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
*************************************************************************************/
Vtiger_Detail_Js("PriceBooks_Detail_Js",{},{
listPriceUpdateContainer : false,
/**
* Function to get listPrice update container
*/
getListPriceUpdateContainer : function(){
return this.listPriceUpdateContainer;
},
/**
* Function to register event for select button click on pricebooks related list
*/
registerEventForSelectRecords : function(){
var thisInstance = this;
var detailContentsHolder = this.getContentHolder();
detailContentsHolder.on('click', 'button.selectRelation', function(e){
var selectedTabElement = thisInstance.getSelectedTab();
var relatedModuleName = thisInstance.getRelatedModuleName();
var relatedController = new PriceBooks_RelatedList_Js(thisInstance.getRecordId(), app.getModuleName(), selectedTabElement, relatedModuleName);
relatedController.showSelectRelationPopup();
});
},
/**
* Function to registerevent for updatelistprice in modal window on click of save
*/
registerEventforUpdateListPrice : function(){
var thisInstance = this;
var container = jQuery('#listPriceUpdate');
container.on('submit',function(e){
e.preventDefault();
var invalidFields = container.data('jqv').InvalidFields;
if((invalidFields.length) == 0){
var idList = new Array();
var relid = container.find('input[name="relid"]').val();
var listPriceVal = container.find('input[name="currentPrice"]').val();
idList.push({'id' : relid,'price' : listPriceVal});
var relatedListInstance = new PriceBooks_RelatedList_Js(thisInstance.getRecordId(), app.getModuleName(), thisInstance.getSelectedTab(), thisInstance.getRelatedModuleName());
relatedListInstance.addRelations(idList);
app.hideModalWindow();
var relatedCurrentPage = relatedListInstance.getCurrentPageNum();
var params = {'page':relatedCurrentPage};
relatedListInstance.loadRelatedList(params);
}
})
},
/**
* Function to show listprice update form
*/
showListPriceUpdate : function(data){
app.showModalWindow(data,{'text-align':'left'});
jQuery('#listPriceUpdate').validationEngine(app.validationEngineOptions);
this.registerEventforUpdateListPrice();
},
/**
* Function to get listprice edit form
*/
getListPriceEditForm : function(requestUrl){
var aDeferred = jQuery.Deferred();
var thisInstance = this;
var listPriceContainer = this.getListPriceUpdateContainer();
if(listPriceContainer != false){
aDeferred.resolve(listPriceContainer);
}else{
AppConnector.request(requestUrl).then(
function(data){
thisInstance.listPriceUpdateContainer = data;
aDeferred.resolve(data);
},
function(textStatus, errorThrown){
aDeferred.reject(textStatus, errorThrown);
}
);
}
return aDeferred.promise();
},
/**
* function to register event for editing the list price in related list
*/
registerEventForEditListPrice : function(){
var thisInstance = this;
var detailContentsHolder = this.getContentHolder();
detailContentsHolder.on('click', 'a.editListPrice', function(e){
e.stopPropagation();
var elem = jQuery(e.currentTarget);
var requestUrl = elem.data('url');
thisInstance.getListPriceEditForm(requestUrl).then(
function(data){
var relid = elem.data('relatedRecordid');
var listPrice = elem.data('listPrice');
var form = jQuery(data);
form.find('input[name="relid"]').val(relid);
form.find('input[name="currentPrice"]').val(listPrice);
thisInstance.showListPriceUpdate(form);
},
function(error,err){
}
);
});
},
/**
* Function to register events
*/
registerEvents : function(){
this._super();
this.registerEventForSelectRecords();
this.registerEventForEditListPrice();
}
})