3 window._w.systemdisputeview = {
10 onTemplateReady : function( template, event, eventData )
12 _w.systemdisputeview.ti = _t[template];
13 _w.systemdisputeview.setDisputeViewFormMeta();
14 _w.systemdisputeview.ti.hydrate(_w.systemdisputeview.formMeta);
16 // Retrieve initial view data.
17 _w.systemdisputeview.itemId = App.Util.getUrlParam('id');
19 'viewDispute:' + _w.systemdisputeview.itemId, 'Dispute', 'Dispute.View', _w.systemdisputeview.itemId,
20 {'id':_w.systemdisputeview.itemId}, $.proxy( _w.systemdisputeview._onDisputeViewDataReceived, this ), _w.taskContractError
23 'updateDispute:' + _w.systemdisputeview.itemId, 'Dispute', 'Dispute.Update', _w.systemdisputeview.itemId,
24 {'id':_w.systemdisputeview.itemId}, function() {}, _w.taskContractError
28 onTemplatePublished : function( template, event, eventData )
30 _w.systemdisputeview.ti = _t[template];
31 $('#btnNew').click(_w.systemdisputeview._routeNew);
32 $('#btnProgress').click(_w.systemdisputeview._routeInProgress);
33 $('#btnResolve').click(_w.systemdisputeview._routeResolve);
36 _routeNew : function()
38 if ('' == $('#complaint').val())
40 alert('Please specify the complaint.');
43 $('#btnUpdate').prop('disabled', true);
44 var data = _w.systemdisputeview._prepDisputeUpdateData();
46 'updateDispute:' + _w.systemdisputeview.itemId, data, {},
49 'routeDisputeInProgress:' + _w.systemdisputeview.itemId, 'Dispute', 'Workflow.MoveToNew',
50 _w.systemdisputeview.itemId, {}, _w.systemdisputeview._onDisputeUpdated, _w.taskExecError
56 _routeInProgress : function()
58 if ('' == $('#complaint').val())
60 alert('Please specify the complaint.');
63 $('#btnUpdate').prop('disabled', true);
64 var data = _w.systemdisputeview._prepDisputeUpdateData();
66 'updateDispute:' + _w.systemdisputeview.itemId, data, {},
69 'routeDisputeInProgress:' + _w.systemdisputeview.itemId, 'Dispute', 'Workflow.MoveToInProgress',
70 _w.systemdisputeview.itemId, {}, _w.systemdisputeview._onDisputeUpdated, _w.taskExecError
76 _routeResolve: function()
78 if ('' == $('#complaint').val())
80 alert('Please specify the complaint.');
83 $('#btnUpdate').prop('disabled', true);
84 var data = _w.systemdisputeview._prepDisputeUpdateData();
86 'updateDispute:' + _w.systemdisputeview.itemId, data, {},
89 'routeDisputeResolve:' + _w.systemdisputeview.itemId, 'Dispute', 'Workflow.Resolve',
90 _w.systemdisputeview.itemId, {}, _w.systemdisputeview._onDisputeUpdated, _w.taskExecError
96 setDisputeViewFormMeta : function( data )
102 _w.systemdisputeview.formMeta = {
105 value : data.jobState
109 value : data.created ? ((data.created).split(' '))[0] : ''
113 value : data.auction ? data.auction.stock.type.model.make.name
114 + ', ' + data.auction.stock.type.model.name
115 + ', ' + data.auction.stock.type.name
116 + ' (' + data.auction.stock.vehicleYear.name + ')'
121 value : data.fromCompany ? data.fromCompany.name : ''
123 'plaintiveContact' : {
124 title : 'Contact person',
125 value : data.fromCompany
126 ? data.fromCompany.contact.firstName
127 + ' ' + data.fromCompany.contact.familyName
130 'plaintiveOffice' : {
132 value : data.fromCompany ? data.fromCompany.contact.office : ''
134 'plaintiveMobile' : {
136 value : data.fromCompany ? data.fromCompany.contact.mobile : ''
140 value : data.fromCompany ? data.fromCompany.contact.email : ''
144 value : data.againstCompany ? data.againstCompany.name : ''
146 'defendantContact' : {
147 title : 'Contact person',
148 value : data.againstCompany
149 ? data.againstCompany.contact.firstName
150 + ' ' + data.againstCompany.contact.familyName
153 'defendantOffice' : {
155 value : data.againstCompany ? data.againstCompany.contact.office : ''
157 'defendantMobile' : {
159 value : data.againstCompany ? data.againstCompany.contact.mobile : ''
163 value : data.againstCompany ? data.againstCompany.contact.email : ''
166 type : 'textarea-styled',
169 value : data.complaint,
170 areaStyle : 'span12',
174 type : 'textarea-styled',
176 title : 'Resolution',
177 value : data.resolution,
178 areaStyle : 'span12',
184 _onDisputeViewDataReceived : function( response )
186 console.log(response.Data);
187 if (response.Data.company)
189 App.DataStore.loadSelectListData('managers', true, 'Dispute', 'Profile.ManagerList', null, {
190 Filter: {company: response.Data.company.id}
195 App.DataStore.setData('managers', []);
197 _w.systemdisputeview.itemId = response.Data.id;
198 _w.systemdisputeview.itemData = response.Data;
199 _w.systemdisputeview.setDisputeViewFormMeta(response.Data);
200 _w.systemdisputeview.ti.hydrate(_w.systemdisputeview.formMeta);
201 switch (response.Data.jobState)
203 case 'Pending Payment':
205 $('#btnProgress').show();
206 $('#btnResolve').show();
209 $('#btnProgress').show();
210 $('#btnResolve').show();
213 $('#btnResolve').show();
216 _w.systemdisputeview._setupValidation();
219 _setupValidation : function ()
221 $('#frmDisputeView').validate({
222 submitHandler: function( form ) {
223 if ('' == $('#complaint').val())
225 alert('Please specify the complaint.');
228 $('#btnUpdate').prop('disabled', true);
229 var data = _w.systemdisputeview._prepDisputeUpdateData();
231 'updateDispute:' + _w.systemdisputeview.itemId, data, {},
232 _w.systemdisputeview._onDisputeUpdated, _w.taskExecError
236 $('#btnUpdate').prop('disabled', false);
239 _prepDisputeUpdateData : function()
243 'complaint' : $('#complaint').val(),
244 'resolution' : $('#resolution').val()
250 _onDisputeUpdated : function( response )
252 window.location.hash = '/systemdisputes';