4 window._w.systemxmlrpcclientview = {
12 onTemplateReady: function (template, event, eventData)
14 _w.systemxmlrpcclientview.itemData = null;
15 _w.systemxmlrpcclientview.ti = _t[template];
16 _w.systemxmlrpcclientview.limited = false;
18 _w.systemxmlrpcclientview.setXmlRpcViewFormMeta();
19 _w.systemxmlrpcclientview.ti.hydrate(_w.systemxmlrpcclientview.formMeta);
21 // Retrieve initial view data.
22 _w.systemxmlrpcclientview.itemId = App.Util.getUrlParam('id');
23 _w.systemxmlrpcclientview.newItem = 0 == _w.systemxmlrpcclientview.itemId;
24 if (_w.systemxmlrpcclientview.newItem)
27 'createXmlRpc', 'Valuation', 'XmlRpc.Create', null,
28 {}, function(){}, _w.taskContractError
34 'updateXmlRpc:' + _w.systemxmlrpcclientview.itemId, 'Valuation', 'XmlRpc.Update', null,
35 {'id': _w.systemxmlrpcclientview.itemId}, $.proxy(_w.systemxmlrpcclientview._onXmlRpcViewDataReceived, this), _w.taskContractError
39 onTemplatePublished: function (template, event, eventData)
41 if (null != _w.systemxmlrpcclientview.itemData
42 || _w.systemxmlrpcclientview.newItem)
44 _w.systemxmlrpcclientview._setupValidation();
47 setXmlRpcViewFormMeta: function (data)
53 _w.systemxmlrpcclientview.formMeta = {
58 value: data.clientName
63 title: 'API password',
69 title: 'Callback URL',
70 value: data.callbackUrl
72 'triggerSentToSales': {
74 id: 'triggerSentToSales',
75 title: 'Send to sales callback',
76 value: data.triggerSentToSales
81 _onXmlRpcViewDataReceived: function (response)
83 _w.systemxmlrpcclientview.itemId = response.Data.id;
84 _w.systemxmlrpcclientview.itemData = response.Data;
85 _w.systemxmlrpcclientview.setXmlRpcViewFormMeta(response.Data);
86 _w.systemxmlrpcclientview.ti.hydrate(_w.systemxmlrpcclientview.formMeta);
87 if (_w.systemxmlrpcclientview.ti.published)
89 _w.systemxmlrpcclientview._setupValidation();
93 _setupValidation: function ()
96 'clientName': {required: true},
97 'callbackUrl': {required: true}
99 if (_w.systemxmlrpcclientview.newItem)
101 rules.apiPassword = {required: true}
103 $('#frmXmlRpcView').validate({
106 'clientName': "This field is required.",
107 'callbackUrl': "This field is required."
109 submitHandler: function (form) {
110 $('#btnUpdate').prop('disabled', true);
111 $('.dbtn').prop('disabled', true);
112 var data = _w.systemxmlrpcclientview._prepXmlRpcUpdateData();
113 if (_w.systemxmlrpcclientview.newItem)
116 'createXmlRpc', data, {},
117 _w.systemxmlrpcclientview._onXmlRpcUpdated, _w.taskExecError
123 'updateXmlRpc:' + _w.systemxmlrpcclientview.itemId, data, {},
124 _w.systemxmlrpcclientview._onXmlRpcUpdated, _w.taskExecError
129 $('#btnUpdate').prop('disabled', false);
130 if (!_w.systemxmlrpcclientview.newItem)
132 if (_w.systemxmlrpcclientview.itemData.archived)
134 $('#btnActivate').show();
138 $('#btnArchive').show();
140 $('#btnActivate').click(function () {
141 if (!$('#frmXmlRpcView').valid())
143 alert('Please fill in all required fields.');
146 $('#btnUpdate').prop('disabled', true);
147 $('.dbtn').prop('disabled', true);
148 var data = _w.systemxmlrpcclientview._prepXmlRpcUpdateData();
151 'updateXmlRpc:' + _w.systemxmlrpcclientview.itemId, data, {},
154 'unDeleteXmlRpc:' + _w.systemxmlrpcclientview.itemId, 'Valuation', 'XmlRpc.UnDelete', null,
155 {'id': _w.systemxmlrpcclientview.itemId},
159 'unDeleteXmlRpc:' + _w.systemxmlrpcclientview.itemId, data, {},
160 _w.systemxmlrpcclientview._onXmlRpcUpdated, _w.taskExecError
168 $('#btnArchive').click(function () {
169 if (!$('#frmXmlRpcView').valid())
171 alert('Please fill in all required fields.');
174 $('#btnUpdate').prop('disabled', true);
175 var data = _w.systemxmlrpcclientview._prepXmlRpcUpdateData();
178 'updateXmlRpc:' + _w.systemxmlrpcclientview.itemId, data, {},
181 'deleteXmlRpc:' + _w.systemxmlrpcclientview.itemId, 'Valuation', 'XmlRpc.Delete', null,
182 {'id': _w.systemxmlrpcclientview.itemId},
186 'deleteXmlRpc:' + _w.systemxmlrpcclientview.itemId, data, {},
187 _w.systemxmlrpcclientview._onXmlRpcUpdated, _w.taskExecError
198 _prepXmlRpcUpdateData: function ()
200 var data = _w.systemxmlrpcclientview.ti.harvest();
201 if (null != data.apiPassword && '' != data.apiPassword)
203 data.password = data.apiPassword;
205 delete data.apiPassword;
206 var postData = {XmlRpc: data};
210 _onXmlRpcUpdated: function (response)
212 window.location.hash = '/xmlrpcclients';