Newer
Older
/*+***********************************************************************************
* 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.Class("Vtiger_Detail_Js",{
detailInstance : false,
PreAjaxSaveEvent : 'PreAjaxSaveEvent',
PostAjaxSaveEvent : 'PostAjaxSaveEvent',
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
if( Vtiger_Detail_Js.detailInstance == false ){
var module = app.getModuleName();
var view = app.view;
var moduleClassName = module+"_"+view+"_Js";
var fallbackClassName = Vtiger_Detail_Js;
if(typeof window[moduleClassName] != 'undefined'){
var instance = new window[moduleClassName]();
}else{
var instance = new fallbackClassName();
}
Vtiger_Detail_Js.detailInstance = instance;
}
return Vtiger_Detail_Js.detailInstance;
},
getInstanceByModuleName : function(moduleName){
if(typeof moduleName == "undefined"){
moduleName = app.getModuleName();
}
var parentModule = app.getParentModuleName();
if(parentModule == 'Settings'){
var moduleClassName = parentModule+"_"+moduleName+"_Detail_Js";
if(typeof window[moduleClassName] == 'undefined'){
moduleClassName = moduleName+"_Detail_Js";
}
var fallbackClassName = parentModule+"_Vtiger_Detail_Js";
if(typeof window[fallbackClassName] == 'undefined') {
fallbackClassName = "Vtiger_Detail_Js";
}
} else {
moduleClassName = moduleName+"_Detail_Js";
fallbackClassName = "Vtiger_Detail_Js";
}
if(typeof window[moduleClassName] != 'undefined'){
var instance = new window[moduleClassName]();
}else{
var instance = new window[fallbackClassName]();
}
return instance;
},
triggerSendSms: function(detailActionUrl, module) {
var self = this.getInstance();
self.sendSMS(detailActionUrl,module);
},
deleteRelatedActivity : function(e) {
var thisInstance = this;
var currentElement = jQuery(e.currentTarget);
var id = currentElement.data('id');
var recurringEnabled = currentElement.data('recurringEnabled');
var postData = {'related_record_list' : [id]};
if(recurringEnabled) {
app.helper.showConfirmationForRepeatEvents().then(function(params) {
jQuery.extend(postData, params);
thisInstance.deleteActivityRelation(postData);
},
function(error, err) {
});
} else {
var message = app.vtranslate('JS_LBL_ARE_YOU_SURE_YOU_WANT_TO_DELETE');
app.helper.showConfirmationBox({'message' : message}).then(function(data) {
thisInstance.deleteActivityRelation(postData);
},
function(error,err) {
});
}
deleteActivityRelation : function(customParams) {
var params = {
'module' : app.getModuleName(),
'related_module' : 'Calendar',
'action' : 'RelationAjax',
'mode' : 'deleteRelation',
'src_record' : jQuery('#recordId').val()
app.request.post({data: params}).then(function(err, data) {
if(data) {
params = {
'record' : jQuery('#recordId').val(),
'view' : 'Detail',
'module' : app.getModuleName(),
'mode' : 'getActivities'
};
app.request.get({data: params}).then(function(err, result) {
jQuery('#relatedActivities').html(result);
Vtiger_Detail_Js.getInstance().registerEventForActivityWidget();
});
}
});
},
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
showUpdates : function(element){
jQuery(".historyButtons").find("button").removeAttr("disabled").removeClass("btn-success");
var currentElement = jQuery(element);
currentElement.attr("disabled","disabled").addClass("btn-success");
var params = [];
var recordId = jQuery('#recordId').val();
params.url = "index.php?view=Detail&module="+app.getModuleName()+"&mode=showRecentActivities&record="+recordId;
app.helper.showProgress();
app.request.get(params).then(function(error,response){
app.helper.hideProgress();
jQuery(".HistoryContainer").find(".data-body").html(response);
});
},
checkSMSStatus: function(url) {
app.request.post({url: url}).then(
function(err, data) {
var status = data['status'];
if(status == 'Failed'){
var message = data['message'];
app.helper.showErrorNotification({title: status, message: message});
}
else if (status == null) {
app.helper.showErrorNotification({title: 'Error', message: 'Failed to send SMS.'});
}
else {
var message = data['message'];
app.helper.showErrorNotification({title:status, message:message});
}
});
},
/*
* function to trigger delete record action
* @params: delete record url.
*/
deleteRecord : function(deleteRecordActionUrl) {
var detailInstance = window.app.controller();
detailInstance.remove(deleteRecordActionUrl);
},
/**
* Function to trigger Transfer Ownership
* @param {type} massActionUrl
* @returns {undefined}
*/
triggerTransferOwnership : function(massActionUrl){
var params = app.convertUrlToDataParams(massActionUrl);
app.helper.showProgress();
app.request.post({data:params}).then(
function(error, data) {
app.helper.hideProgress();
app.helper.showModal(data);
var form = jQuery('form#changeOwner');
var isFormExists = form.length;
if(isFormExists){
thisInstance.transferOwnershipSave(form);
}
/**
* Saving transfer ownership
* @param {type} form
* @returns {undefined}
*/
transferOwnershipSave : function (form){
form.on("click","button[name='saveButton']",function(e){
e.preventDefault();
var rules = {};
rules["related_modules"] = {'required' : true};
rules["transferOwnerId"] = {'required' : true};
var params = {
rules : rules,
submitHandler: function(form) {
// to Prevent submit if already submitted
jQuery(form).find("button[name='saveButton']").attr("disabled","disabled");
if(this.numberOfInvalids() > 0) {
return false;
}
var transferOwner = jQuery('#transferOwnerId').val();
var relatedModules = jQuery('#related_modules').val();
var recordId = jQuery('#recordId').val();
Loading
Loading full blame...