Files
CRM/layouts/v7/modules/PriceBooks/resources/Detail.js
BACHIR SOULDI 2794e62571 first commit
2025-09-28 08:49:37 +01:00

111 lines
3.4 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 registerevent for updatelistprice in modal window on click of save
*/
registerEventforUpdateListPrice : function(){
var thisInstance = this;
var form = jQuery('#listPriceUpdate');
var params = {
submitHandler: function(form) {
form = jQuery(form);
var idList = new Array();
var relid = form.find('input[name="relid"]').val();
var listPriceVal = form.find('input[name="currentPrice"]').val();
idList.push({'id' : relid,'price' : listPriceVal});
var relatedListInstance = thisInstance.getRelatedController();
var relation = relatedListInstance.addRelations(idList, false);
app.helper.hideModal();
relation.done(function (){
relatedListInstance.loadRelatedList()
});
}
};
form.vtValidate(params);
},
/**
* Function to show listprice update form
*/
showListPriceUpdate : function(data){
var self = this;
app.helper.showModal(data, {cb: function(){
self.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{
app.request.post({url: requestUrl}).then(
function(error,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.registerEventForEditListPrice();
}
})