initial commit
[namibia] / public / js / app / portal-workspace / settings.js
1 ;(function(){
2
3         window._w.settings = {
4
5                 itemId        : null,
6                 itemData      : null,
7                 formMeta      : null,
8                 offerId       : null,
9                 offerData     : null,
10                 formOfferMeta : null,
11                 ti            : null,
12                 limited       : false,
13                 newItem       : false,
14
15                 onPageDestruct : function()
16                 {
17                         App.Event.removeListener('userGridSuFilter', 'SuChange');
18                         App.Event.removeListener('memberGridSuFilter', 'SuChange');
19                         App.Event.removeListener('clubGridSuFilter', 'SuChange');
20                         App.Event.removeListener('disputeGridSuFilter', 'SuChange');
21       App.Event.removeListener('disputeGridDefSuFilter', 'SuChange');
22                         App.Event.removeListener('retailGridSuFilter', 'SuChange');
23                 },
24
25                 onViewTemplateReady : function( template, event, eventData )
26                 {
27                         _w.settings.ti = _t[template];
28
29                         _w.settings.initGrids();
30                         _w.settings.publishUserData();
31                         _w.settings.publishCompanyData();
32
33                 },
34
35                 onViewPublished : function( template, event, eventData )
36                 {
37                         $(".gridRetailFilter").keyup(function (evt) {
38                                 var charCode = evt.charCode || evt.keyCode;
39                                 if (charCode  == 13) { //Enter key's keycode
40                                         $('#btnRetailSearch').click();
41                                 }
42                         });
43
44                         $(".gridQuestionFilter").keyup(function (evt) {
45                                 var charCode = evt.charCode || evt.keyCode;
46                                 if (charCode  == 13) { //Enter key's keycode
47                                         $('#btnQuestionSearch').click();
48                                 }
49                         });
50
51                         $(".gridReplyFilter").keyup(function (evt) {
52                                 var charCode = evt.charCode || evt.keyCode;
53                                 if (charCode  == 13) { //Enter key's keycode
54                                         $('#btnReplySearch').click();
55                                 }
56                         });
57
58                         $(".gridUserFilter").keyup(function (evt) {
59                                 var charCode = evt.charCode || evt.keyCode;
60                                 if (charCode  == 13) { //Enter key's keycode
61                                         $('#btnUserSearch').click();
62                                 }
63                         });
64
65                         $(".gridMemberFilter").keyup(function (evt) {
66                                 var charCode = evt.charCode || evt.keyCode;
67                                 if (charCode  == 13) { //Enter key's keycode
68                                         $('#btnMemberSearch').click();
69                                 }
70                         });
71
72                         $(".gridClubFilter").keyup(function (evt) {
73                                 var charCode = evt.charCode || evt.keyCode;
74                                 if (charCode  == 13) { //Enter key's keycode
75                                         $('#btnClubSearch').click();
76                                 }
77                         });
78
79                         $(".gridDisputeFilter").keyup(function (evt) {
80                                 var charCode = evt.charCode || evt.keyCode;
81                                 if (charCode  == 13) { //Enter key's keycode
82                                         $('#btnDisputeSearch').click();
83                                 }
84                         });
85       
86       $(".gridDisputeDefFilter").keyup(function (evt) {
87                                 var charCode = evt.charCode || evt.keyCode;
88                                 if (charCode  == 13) { //Enter key's keycode
89                                         $('#btnDisputeDefSearch').click();
90                                 }
91                         });
92
93
94                         // Retail grid
95                         if (null == App.API.taskContract('gridRetail'))
96                         {
97                                 App.API.getTask(
98                                                 'gridRetail', 'Company', 'CompanyRetail.Grid', null,
99                                                 {}, _w.settings.loadRetailGrid, _w.taskContractError
100                                                 );
101                         }
102                         else
103                         {
104                                 _w.settings.loadRetailGrid( null, {}, {} );
105                         }
106
107                         // Question grid
108                         if (null == App.API.taskContract('gridQuestion'))
109                         {
110                                 App.API.getTask(
111                                                 'gridQuestion', 'Auction', 'Question.AskedGrid', null,
112                                                 {}, _w.settings.loadQuestionGrid, _w.taskContractError
113                                 );
114                         }
115                         else
116                         {
117                                 _w.settings.loadQuestionGrid( null, {}, {} );
118                         }
119
120                         // Reply grid
121                         if (null == App.API.taskContract('gridReply'))
122                         {
123                                 App.API.getTask(
124                                                 'gridReply', 'Auction', 'Question.ToAnswerGrid', null,
125                                                 {}, _w.settings.loadReplyGrid, _w.taskContractError
126                                                 );
127                         }
128                         else
129                         {
130                                 _w.settings.loadReplyGrid( null, {}, {} );
131                         }
132
133                         // User grid
134                         if (null == App.API.taskContract('gridUser'))
135                         {
136                                 App.API.getTask(
137                                                 'gridUser', 'User', 'Profile.Grid', null,
138                                                 {}, _w.settings.loadUserGrid, _w.taskContractError
139                                                 );
140                         }
141                         else
142                         {
143                                 _w.settings.loadUserGrid( null, {}, {} );
144                         }
145
146                         // Membership Grid
147                         if (null == App.API.taskContract('gridMembership'))
148                         {
149                                 App.API.getTask(
150                                                 'gridMembership', 'PriceGuide', 'Member.MembershipGrid', null,
151                                                 {}, _w.settings.loadMemberGrid, _w.taskContractError
152                                 );
153                         }
154                         else
155                         {
156                                 _w.settings.loadMemberGrid( null, {}, {} );
157                         }
158
159                         // Club Grid
160                         if (null == App.API.taskContract('gridClub'))
161                         {
162                                 App.API.getTask(
163                                                 'gridClub', 'PriceGuide', 'Club.Grid', null,
164                                                 {}, _w.settings.loadClubGrid, _w.taskContractError
165                                 );
166                         }
167                         else
168                         {
169                                 _w.settings.loadClubGrid( null, {}, {} );
170                         }
171
172                         // Dispute grid
173                         if (null == App.API.taskContract('gridDispute'))
174                         {
175                                 App.API.getTask(
176                                                 'gridDispute', 'Dispute', 'Dispute.Grid', null,
177                                                 {}, _w.settings.loadDisputeGrid, _w.taskContractError
178                                                 );
179                         }
180                         else
181                         {
182                                 _w.settings.loadDisputeGrid( null, {}, {} );
183                         }
184       
185       // Dispute grid
186                         if (null == App.API.taskContract('gridDisputeDef'))
187                         {
188                                 App.API.getTask(
189                                                 'gridDisputeDef', 'Dispute', 'Dispute.GridDef', null,
190                                                 {}, _w.settings.loadDisputeGridDef, _w.taskContractError
191                                                 );
192                         }
193                         else
194                         {
195                                 _w.settings.loadDisputeGridDef( null, {}, {} );
196                         }
197
198                         // User and Company data display
199                         _w.settings.publishUserData();
200                         _w.settings.publishCompanyData();
201
202                         // Bindings
203             if(true == App.permissions.settingsPersonal)
204             {
205                 $('#editPersonal').click(function() {
206                                 window.location.hash = '/userview?id=' + App.userData.id;
207                         });
208             }
209             if(true == App.permissions.settingsDealership)
210             {
211                 $('#editCompany').click(function() {
212                                 window.location.hash = '/dealerview?id=' + App.companyData.id;
213                         });
214             }
215             else
216                 {
217                 $('#editCompany').hide();
218             }
219
220                         // Retail grid
221                         $('#btnRetailAdd').click(function() {
222                                 window.location.hash = '/retailview?id=0';
223                         });
224             $('#btnRetailClearSearch').click(_w.settings.clearRetailGridContext);
225             $('#btnRetailSearch').click(_w.settings.searchRetailGrid);
226
227             // Question grid
228             $('#btnQuestionClearSearch').click(_w.settings.clearQuestionGridContext);
229             $('#btnQuestionSearch').click(_w.settings.searchQuestionGrid);
230
231                         // Reply grid
232             $('#btnReplyClearSearch').click(_w.settings.clearReplyGridContext);
233             $('#btnReplySearch').click(_w.settings.searchReplyGrid);
234
235                         // User grid
236                         $('#btnUserAdd').click(function() {
237                                 window.location.hash = '/userview?id=0';
238                         });
239             $('#btnUserClearSearch').click(_w.settings.clearUserGridContext);
240             $('#btnUserSearch').click(_w.settings.searchUserGrid);
241
242                         // Membership Grid
243             $('#btnMemberClearSearch').click(_w.settings.clearMemberGridContext);
244             $('#btnMemberSearch').click(_w.settings.searchMemberGrid);
245
246                         // Club Grid
247                         $('#btnClubAdd').click(function() {
248                                 window.location.hash = '/clubview?id=0';
249                         });
250             $('#btnClubClearSearch').click(_w.settings.clearClubGridContext);
251             $('#btnClubSearch').click(_w.settings.searchClubGrid);
252
253                         // Dispute grid
254             $('#btnDisputeClearSearch').click(_w.settings.clearDisputeGridContext);
255             $('#btnDisputeSearch').click(_w.settings.searchDisputeGrid);
256             
257             // Dispute Def grid
258             $('#btnDisputeDefClearSearch').click(_w.settings.clearDisputeGridDefContext);
259             $('#btnDisputeDefSearch').click(_w.settings.searchDisputeGridDef);
260
261             App.Event.listen('userGridSuFilter', 'SuChange', $.proxy(_w.settings.loadUserGrid, this), 'Recurring');
262             App.Event.listen('memberGridSuFilter', 'SuChange', $.proxy(_w.settings.loadMemberGrid, this), 'Recurring');
263             App.Event.listen('clubGridSuFilter', 'SuChange', $.proxy(_w.settings.loadClubGrid, this), 'Recurring');
264             App.Event.listen('disputeGridSuFilter', 'SuChange', $.proxy(_w.settings.loadDisputeGrid, this), 'Recurring');
265             App.Event.listen('disputeGridDefSuFilter', 'SuChange', $.proxy(_w.settings.loadDisputeGridDef, this), 'Recurring');
266             App.Event.listen('retailGridSuFilter', 'SuChange', $.proxy(_w.settings.loadRetailGrid, this), 'Recurring');
267                 },
268
269                 initGrids : function()
270                 {
271
272                         _w.settings.ti.hydrate({
273                                 // Retail grid
274                                 'gridRetailTitle': 'Retail accounts',
275                                 'gridRetailColumnHeaders': {
276                                         constructor: 'GridColumnHeader',
277                                         items: {
278                                                 Name: {
279                                                         id: 'gridRetailColumn_Name',
280                                                         title: 'RETAILER',
281                                                         orderAsc: {
282                                                                 id: 'gridRetailOrder_NameAsc',
283                                                                 bind: $.proxy(_w.settings.orderRetailGrid, this, 'companyRetail.name', 'ASC')
284                                                         },
285                                                         orderDesc: {
286                                                                 id: 'gridRetailOrder_NameDesc',
287                                                                 bind: $.proxy(_w.settings.orderRetailGrid, this, 'companyRetail.name', 'DESC')
288                                                         }
289                                                 },
290                                                 Created: {
291                                                         id: 'gridRetailColumn_Created',
292                                                         title: 'CREATED',
293                                                         orderAsc: {
294                                                                 id: 'gridRetailOrder_CreatedAsc',
295                                                                 bind: $.proxy(_w.settings.orderRetailGrid, this, 'companyRetail.created', 'ASC')
296                                                         },
297                                                         orderDesc: {
298                                                                 id: 'gridRetailOrder_CreatedDesc',
299                                                                 bind: $.proxy(_w.settings.orderRetailGrid, this, 'companyRetail.create', 'DESC')
300                                                         }
301                                                 },
302                                                 Updated: {
303                                                         id: 'gridRetailColumn_Updated',
304                                                         title: 'UPDATED',
305                                                         orderAsc: {
306                                                                 id: 'gridRetailOrder_UpdatedAsc',
307                                                                 bind: $.proxy(_w.settings.orderRetailGrid, this, 'companyRetail.updated', 'ASC')
308                                                         },
309                                                         orderDesc: {
310                                                                 id: 'gridRetailOrder_UpdatedDesc',
311                                                                 bind: $.proxy(_w.settings.orderRetailGrid, this, 'companyRetail.updated', 'DESC')
312                                                         }
313                                                 },
314                                                 Status: {
315                                                         id: 'gridRetailColumn_Status',
316                                                         title: 'STATUS'
317                                                 }
318                                         }
319                                 },
320                                 'gridRetailColumnFilters': {
321                                         constructor: 'GridColumnFilter',
322                                         items: {
323                                                 Name: {
324                                                         id: 'gridRetailFilter_Name',
325                                                         context: 'gridRetailFilter'
326                                                 },
327                                                 Created: {
328                                                         id: 'gridRetailFilter_Created',
329                                                         context: 'gridRetailFilter'
330                                                 },
331                                                 Updated: {
332                                                         id: 'gridRetailFilter_Updated',
333                                                         context: 'gridRetailFilter'
334                                                 },
335                                                 Status : null
336                                         }
337                                 },
338                                 'gridRetailRowRepeater': {},
339                                 'gridRetailPager': {},
340
341                                 // Question grid
342                                 'gridQuestionTitle': 'Auction questions',
343                                 'gridQuestionColumnHeaders': {
344                                         constructor: 'GridColumnHeader',
345                                         items: {
346                                                 Created: {
347                                                         id: 'gridQuestionColumn_Created',
348                                                         title: 'CREATED',
349                                                         orderAsc: {
350                                                                 id: 'gridQuestionOrder_CreatedAsc',
351                                                                 bind: $.proxy(_w.settings.orderQuestionGrid, this, 'question.created', 'ASC')
352                                                         },
353                                                         orderDesc: {
354                                                                 id: 'gridQuestionOrder_CreatedDesc',
355                                                                 bind: $.proxy(_w.settings.orderQuestionGrid, this, 'question.create', 'DESC')
356                                                         }
357                                                 },
358                                                 Updated: {
359                                                         id: 'gridQuestionColumn_Updated',
360                                                         title: 'REPLIED',
361                                                         orderAsc: {
362                                                                 id: 'gridQuestionOrder_UpdatedAsc',
363                                                                 bind: $.proxy(_w.settings.orderQuestionGrid, this, 'question.updated', 'ASC')
364                                                         },
365                                                         orderDesc: {
366                                                                 id: 'gridQuestionOrder_UpdatedDesc',
367                                                                 bind: $.proxy(_w.settings.orderQuestionGrid, this, 'question.updated', 'DESC')
368                                                         }
369                                                 },
370                                                 Company: {
371                                                         id: 'gridQuestionColumn_Company',
372                                                         title: 'COMPANY',
373                                                         orderAsc: {
374                                                                 id: 'gridQuestionOrder_CompanyAsc',
375                                                                 bind: $.proxy(_w.settings.orderQuestionGrid, this, 'company.name', 'ASC')
376                                                         },
377                                                         orderDesc: {
378                                                                 id: 'gridQuestionOrder_CompanyDesc',
379                                                                 bind: $.proxy(_w.settings.orderQuestionGrid, this, 'company.name', 'DESC')
380                                                         }
381                                                 },
382                                                 Make: {
383                                                         id: 'gridQuestionColumn_Make',
384                                                         title: 'MAKE',
385                                                         orderAsc: {
386                                                                 id: 'gridQuestionOrder_MakeAsc',
387                                                                 bind: $.proxy(_w.auction.orderQuestionGrid, this, 'make.name', 'ASC')
388                                                         },
389                                                         orderDesc: {
390                                                                 id: 'gridQuestionOrder_MakeDesc',
391                                                                 bind: $.proxy(_w.auction.orderQuestionGrid, this, 'make.name', 'DESC')
392                                                         }
393                                                 },
394                                                 Model: {
395                                                         id: 'gridQuestionColumn_Model',
396                                                         title: 'MODEL',
397                                                         orderAsc: {
398                                                                 id: 'gridQuestionOrder_ModelAsc',
399                                                                 bind: $.proxy(_w.auction.orderQuestionGrid, this, 'model.name', 'ASC')
400                                                         },
401                                                         orderDesc: {
402                                                                 id: 'gridQuestionOrder_ModelDesc',
403                                                                 bind: $.proxy(_w.auction.orderQuestionGrid, this, 'model.name', 'DESC')
404                                                         }
405                                                 },
406                                                 Type: {
407                                                         id: 'gridQuestionColumn_Type',
408                                                         title: 'TYPE',
409                                                         orderAsc: {
410                                                                 id: 'gridQuestionOrder_TypeAsc',
411                                                                 bind: $.proxy(_w.auction.orderQuestionGrid, this, 'type.name', 'ASC')
412                                                         },
413                                                         orderDesc: {
414                                                                 id: 'gridQuestionOrder_TypeDesc',
415                                                                 bind: $.proxy(_w.auction.orderQuestionGrid, this, 'type.name', 'DESC')
416                                                         },
417                                                         style: 'type hidden-phone hidden-tablet'
418                                                 },
419                                                 Reg: {
420                                                         id: 'gridQuestionColumn_Reg',
421                                                         title: 'REGISTRATION',
422                                                         orderAsc: {
423                                                                 id: 'gridQuestionOrder_RegAsc',
424                                                                 bind: $.proxy(_w.auction.orderQuestionGrid, this, 'stock.registrationNumber', 'ASC')
425                                                         },
426                                                         orderDesc: {
427                                                                 id: 'gridQuestionOrder_RegDesc',
428                                                                 bind: $.proxy(_w.auction.orderQuestionGrid, this, 'stock.registrationNumber', 'DESC')
429                                                         },
430                                                         style: 'year'
431                                                 }
432                                         }
433                                 },
434                                 'gridQuestionColumnFilters': {
435                                         constructor: 'GridColumnFilter',
436                                         items: {
437                                                 Created: {
438                                                         id: 'gridQuestionFilter_Created',
439                                                         context: 'gridQuestionFilter'
440                                                 },
441                                                 Updated: {
442                                                         id: 'gridQuestionFilter_Updated',
443                                                         context: 'gridQuestionFilter'
444                                                 },
445                                                 Company: {
446                                                         id: 'gridQuestionFilter_Company',
447                                                         context: 'gridQuestionFilter'
448                                                 },
449                                                 Make: {
450                                                         id: 'gridQuestionFilter_Make',
451                                                         context: 'gridQuestionFilter'
452                                                 },
453                                                 Model: {
454                                                         id: 'gridQuestionFilter_Model',
455                                                         context: 'gridQuestionFilter'
456                                                 },
457                                                 Type: {
458                                                         id: 'gridQuestionFilter_Type',
459                                                         context: 'gridQuestionFilter'
460                                                 },
461                                                 Reg: {
462                                                         id: 'gridQuestionFilter_Reg',
463                                                         context: 'gridQuestionFilter'
464                                                 }
465                                         }
466                                 },
467                                 'gridQuestionRowRepeater': {},
468                                 'gridQuestionPager': {},
469
470                                 // Reply grid
471                                 'gridReplyTitle': 'Questions awaiting your reply',
472                                 'gridReplyColumnHeaders': {
473                                         constructor: 'GridColumnHeader',
474                                         items: {
475                                                 Created: {
476                                                         id: 'gridReplyColumn_Created',
477                                                         title: 'CREATED',
478                                                         orderAsc: {
479                                                                 id: 'gridReplyOrder_CreatedAsc',
480                                                                 bind: $.proxy(_w.settings.orderReplyGrid, this, 'question.created', 'ASC')
481                                                         },
482                                                         orderDesc: {
483                                                                 id: 'gridReplyOrder_CreatedDesc',
484                                                                 bind: $.proxy(_w.settings.orderReplyGrid, this, 'question.create', 'DESC')
485                                                         }
486                                                 },
487                                                 Updated: {
488                                                         id: 'gridReplyColumn_Updated',
489                                                         title: 'REPLIED',
490                                                         orderAsc: {
491                                                                 id: 'gridReplyOrder_UpdatedAsc',
492                                                                 bind: $.proxy(_w.settings.orderReplyGrid, this, 'question.updated', 'ASC')
493                                                         },
494                                                         orderDesc: {
495                                                                 id: 'gridReplyOrder_UpdatedDesc',
496                                                                 bind: $.proxy(_w.settings.orderReplyGrid, this, 'question.updated', 'DESC')
497                                                         }
498                                                 },
499                                                 Company: {
500                                                         id: 'gridReplyColumn_Company',
501                                                         title: 'COMPANY',
502                                                         orderAsc: {
503                                                                 id: 'gridReplyOrder_CompanyAsc',
504                                                                 bind: $.proxy(_w.settings.orderReplyGrid, this, 'company.name', 'ASC')
505                                                         },
506                                                         orderDesc: {
507                                                                 id: 'gridReplyOrder_CompanyDesc',
508                                                                 bind: $.proxy(_w.settings.orderReplyGrid, this, 'company.name', 'DESC')
509                                                         }
510                                                 },
511                                                 Make: {
512                                                         id: 'gridReplyColumn_Make',
513                                                         title: 'MAKE',
514                                                         orderAsc: {
515                                                                 id: 'gridReplyOrder_MakeAsc',
516                                                                 bind: $.proxy(_w.auction.orderReplyGrid, this, 'make.name', 'ASC')
517                                                         },
518                                                         orderDesc: {
519                                                                 id: 'gridReplyOrder_MakeDesc',
520                                                                 bind: $.proxy(_w.auction.orderReplyGrid, this, 'make.name', 'DESC')
521                                                         }
522                                                 },
523                                                 Model: {
524                                                         id: 'gridReplyColumn_Model',
525                                                         title: 'MODEL',
526                                                         orderAsc: {
527                                                                 id: 'gridReplyOrder_ModelAsc',
528                                                                 bind: $.proxy(_w.auction.orderReplyGrid, this, 'model.name', 'ASC')
529                                                         },
530                                                         orderDesc: {
531                                                                 id: 'gridReplyOrder_ModelDesc',
532                                                                 bind: $.proxy(_w.auction.orderReplyGrid, this, 'model.name', 'DESC')
533                                                         }
534                                                 },
535                                                 Type: {
536                                                         id: 'gridReplyColumn_Type',
537                                                         title: 'TYPE',
538                                                         orderAsc: {
539                                                                 id: 'gridReplyOrder_TypeAsc',
540                                                                 bind: $.proxy(_w.auction.orderReplyGrid, this, 'type.name', 'ASC')
541                                                         },
542                                                         orderDesc: {
543                                                                 id: 'gridReplyOrder_TypeDesc',
544                                                                 bind: $.proxy(_w.auction.orderReplyGrid, this, 'type.name', 'DESC')
545                                                         },
546                                                         style: 'type hidden-phone hidden-tablet'
547                                                 },
548                                                 Reg: {
549                                                         id: 'gridReplyColumn_Reg',
550                                                         title: 'REGISTRATION',
551                                                         orderAsc: {
552                                                                 id: 'gridReplyOrder_RegAsc',
553                                                                 bind: $.proxy(_w.auction.orderReplyGrid, this, 'stock.registrationNumber', 'ASC')
554                                                         },
555                                                         orderDesc: {
556                                                                 id: 'gridReplyOrder_RegDesc',
557                                                                 bind: $.proxy(_w.auction.orderReplyGrid, this, 'stock.registrationNumber', 'DESC')
558                                                         },
559                                                         style: 'year'
560                                                 }
561                                         }
562                                 },
563                                 'gridReplyColumnFilters': {
564                                         constructor: 'GridColumnFilter',
565                                         items: {
566                                                 Created: {
567                                                         id: 'gridReplyFilter_Created',
568                                                         context: 'gridReplyFilter'
569                                                 },
570                                                 Updated: {
571                                                         id: 'gridReplyFilter_Updated',
572                                                         context: 'gridReplyFilter'
573                                                 },
574                                                 Company: {
575                                                         id: 'gridReplyFilter_Company',
576                                                         context: 'gridReplyFilter'
577                                                 },
578                                                 Make: {
579                                                         id: 'gridReplyFilter_Make',
580                                                         context: 'gridReplyFilter'
581                                                 },
582                                                 Model: {
583                                                         id: 'gridReplyFilter_Model',
584                                                         context: 'gridReplyFilter'
585                                                 },
586                                                 Type: {
587                                                         id: 'gridReplyFilter_Type',
588                                                         context: 'gridReplyFilter'
589                                                 },
590                                                 Reg: {
591                                                         id: 'gridReplyFilter_Reg',
592                                                         context: 'gridReplyFilter'
593                                                 }
594                                         }
595                                 },
596                                 'gridReplyRowRepeater': {},
597                                 'gridReplyPager': {},
598
599                                 // User grid
600                                 'gridUserTitle': 'Manage my users',
601                                 'gridUserColumnHeaders': {
602                                         constructor: 'GridColumnHeader',
603                                         items: {
604                                                 Name: {
605                                                         id: 'gridUserColumn_Name',
606                                                         title: 'NAME',
607                                                         orderAsc: {
608                                                                 id: 'gridUserOrder_FirstNameAsc',
609                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'profile.firstName', 'ASC')
610                                                         },
611                                                         orderDesc: {
612                                                                 id: 'gridUserOrder_VinDesc',
613                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'profile.firstName', 'DESC')
614                                                         }
615                                                 },
616                                                 Surname: {
617                                                         id: 'gridUserColumn_Surname',
618                                                         title: 'SURNAME',
619                                                         orderAsc: {
620                                                                 id: 'gridUserOrder_SurnameAsc',
621                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'profile.familyName', 'ASC')
622                                                         },
623                                                         orderDesc: {
624                                                                 id: 'gridUserOrder_SurnameDesc',
625                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'profile.familyName', 'DESC')
626                                                         }
627                                                 },
628                                                 Email: {
629                                                         id: 'gridUserColumn_Email',
630                                                         title: 'EMAIL',
631                                                         orderAsc: {
632                                                                 id: 'gridUserOrder_EmailAsc',
633                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'profile.email', 'ASC')
634                                                         },
635                                                         orderDesc: {
636                                                                 id: 'gridUserOrder_EmailDesc',
637                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'profile.email', 'DESC')
638                                                         }
639                                                 },
640                                                 Mobile: {
641                                                         id: 'gridUserColumn_Mobile',
642                                                         title: 'MOBILE',
643                                                         orderAsc: {
644                                                                 id: 'gridUserOrder_MobileAsc',
645                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'profile.mobile', 'ASC')
646                                                         },
647                                                         orderDesc: {
648                                                                 id: 'gridUserOrder_MobileDesc',
649                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'profile.mobile', 'DESC')
650                                                         },
651                                                         style: 'hidden-phone hidden-tablet'
652                                                 },
653                                                 UserType: {
654                                                         id: 'gridUserColumn_UserType',
655                                                         title: 'USER TYPE',
656                                                         orderAsc: {
657                                                                 id: 'gridUserOrder_UserTypeAsc',
658                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'permissions.name', 'ASC')
659                                                         },
660                                                         orderDesc: {
661                                                                 id: 'gridUserOrder_UserTypeDesc',
662                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'permissions.name', 'DESC')
663                                                         }
664                                                 },
665                                                 AssignedTo: {
666                                                         id: 'gridUserColumn_AssignedTo',
667                                                         title: 'ASSIGNED TO',
668                                                         orderAsc: {
669                                                                 id: 'gridUserOrder_AssignedToAsc',
670                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'manager.firstName', 'ASC')
671                                                         },
672                                                         orderDesc: {
673                                                                 id: 'AssignedToDesc',
674                                                                 bind: $.proxy(_w.settings.orderUserGrid, this, 'manager.firstName', 'DESC')
675                                                         },
676                                                         style: 'hidden-phone hidden-tablet'
677                                                 }
678                                         }
679                                 },
680                                 'gridUserColumnFilters': {
681                                         constructor: 'GridColumnFilter',
682                                         items: {
683                                                 Name: {
684                                                         id: 'gridUserFilter_Name',
685                                                         context: 'gridUserFilter'
686                                                 },
687                                                 Surname: {
688                                                         id: 'gridUserFilter_Surname',
689                                                         context: 'gridUserFilter'
690                                                 },
691                                                 Email: {
692                                                         id: 'gridUserFilter_Email',
693                                                         context: 'gridUserFilter'
694                                                 },
695                                                 Mobile: {
696                                                         id: 'gridUserFilter_Mobile',
697                                                         context: 'gridUserFilter'
698                                                 },
699                                                 UserType: {
700                                                         id: 'gridUserFilter_UserType',
701                                                         context: 'gridUserFilter'
702                                                 },
703                                                 AssignedTo: {
704                                                         id: 'gridUserFilter_AssignedTo',
705                                                         context: 'gridUserFilter'
706                                                 }
707                                         }
708                                 },
709                                 'gridUserRowRepeater': {},
710                                 'gridUserPager': {},
711
712                                 // Club membership grid
713                                 'gridMemberTitle': 'My club membership',
714                                 'gridMemberColumnHeaders': {
715                                         constructor: 'GridColumnHeader',
716                                         items: {
717                                                 Name: {
718                                                         id: 'gridMemberColumn_Name',
719                                                         title: 'NAME',
720                                                         orderAsc: {
721                                                                 id: 'gridMemberOrder_NameAsc',
722                                                                 bind: $.proxy(_w.settings.orderMemberGrid, this, 'club.name', 'ASC')
723                                                         },
724                                                         orderDesc: {
725                                                                 id: 'gridMemberOrder_NameDesc',
726                                                                 bind: $.proxy(_w.settings.orderMemberGrid, this, 'club.name', 'DESC')
727                                                         }
728                                                 },
729                                                 Sms: {
730                                                         id: 'gridMemberColumn_Sms',
731                                                         title: 'SMS',
732                                                         orderAsc: {
733                                                                 id: 'gridMemberOrder_SMSAsc',
734                                                                 bind: $.proxy(_w.settings.orderMemberGrid, this, 'mmbr.smsNotification', 'ASC')
735                                                         },
736                                                         orderDesc: {
737                                                                 id: 'gridMemberOrder_SMSDesc',
738                                                                 bind: $.proxy(_w.settings.orderMemberGrid, this, 'mmbr.smsNotification', 'DESC')
739                                                         }
740                                                 },
741                                                 Email: {
742                                                         id: 'gridMemberColumn_Email',
743                                                         title: 'EMAIL',
744                                                         orderAsc: {
745                                                                 id: 'gridMemberOrder_EmailAsc',
746                                                                 bind: $.proxy(_w.settings.orderMemberGrid, this, 'mmbr.emailNotification', 'ASC')
747                                                         },
748                                                         orderDesc: {
749                                                                 id: 'gridMemberOrder_EmailDesc',
750                                                                 bind: $.proxy(_w.settings.orderMemberGrid, this, 'mmbr.emailNotification', 'DESC')
751                                                         }
752                                                 },
753                                                 AllMakes: {
754                                                         id: 'gridMemberColumn_AllMakes',
755                                                         title: 'ALL MAKES',
756                                                         orderAsc: {
757                                                                 id: 'gridMemberOrder_AllMakesAsc',
758                                                                 bind: $.proxy(_w.settings.orderMemberGrid, this, 'mmbr.allMakes', 'ASC')
759                                                         },
760                                                         orderDesc: {
761                                                                 id: 'gridMemberOrder_AllMakesDesc',
762                                                                 bind: $.proxy(_w.settings.orderMemberGrid, this, 'mmbr.allMakes', 'DESC')
763                                                         }
764                                                 },
765                                                 Status: {
766                                                         id: 'gridMemberColumn_Status',
767                                                         title: 'STATUS',
768                                                         orderAsc: {
769                                                                 id: 'gridMemberOrder_StatusAsc',
770                                                                 bind: $.proxy(_w.settings.orderMemberGrid, this, 'mmbr.status', 'ASC')
771                                                         },
772                                                         orderDesc: {
773                                                                 id: 'gridMemberOrder_StatusDesc',
774                                                                 bind: $.proxy(_w.settings.orderMemberGrid, this, 'mmbr.status', 'DESC')
775                                                         }
776                                                 }
777                                         }
778                                 },
779                                 'gridMemberColumnFilters': {
780                                         constructor: 'GridColumnFilter',
781                                         items: {
782                                                 Name: {
783                                                         id: 'gridMemberFilter_Name',
784                                                         context: 'gridMemberFilter'
785                                                 },
786                                                 Sms: null,
787                                                 Email: null,
788                                                 AllMakes: null,
789                                                 Status: {
790                                                         id: 'gridMemberFilter_Status',
791                                                         context: 'gridMemberFilter'
792                                                 }
793                                         }
794                                 },
795                                 'gridMemberRowRepeater': {},
796                                 'gridMemberPager': {},
797
798                                 // Club grid
799                                 'gridClubTitle': 'My clubs',
800                                 'gridClubColumnHeaders': {
801                                         constructor: 'GridColumnHeader',
802                                         items: {
803                                                 Name: {
804                                                         id: 'gridClubColumn_Name',
805                                                         title: 'NAME',
806                                                         orderAsc: {
807                                                                 id: 'gridClubOrder_NameAsc',
808                                                                 bind: $.proxy(_w.settings.orderClubGrid, this, 'club.name', 'ASC')
809                                                         },
810                                                         orderDesc: {
811                                                                 id: 'gridClubOrder_NameDesc',
812                                                                 bind: $.proxy(_w.settings.orderClubGrid, this, 'club.name', 'DESC')
813                                                         }
814                                                 },
815                                                 UseAsDefault: {
816                                                         id: 'gridClubColumn_UseAsDefault',
817                                                         title: 'DEFAULT',
818                                                         orderAsc: {
819                                                                 id: 'gridClubOrder_UseAsDefaultAsc',
820                                                                 bind: $.proxy(_w.settings.orderClubGrid, this, 'club.useAsDefault', 'ASC')
821                                                         },
822                                                         orderDesc: {
823                                                                 id: 'gridClubOrder_UseAsDefaultDesc',
824                                                                 bind: $.proxy(_w.settings.orderClubGrid, this, 'club.useAsDefault', 'DESC')
825                                                         }
826                                                 },
827                                                 Created: {
828                                                         id: 'gridClubColumn_Created',
829                                                         title: 'CREATED',
830                                                         orderAsc: {
831                                                                 id: 'gridClubOrder_CreatedAsc',
832                                                                 bind: $.proxy(_w.settings.orderClubGrid, this, 'club.created', 'ASC')
833                                                         },
834                                                         orderDesc: {
835                                                                 id: 'gridClubOrder_CreatedDesc',
836                                                                 bind: $.proxy(_w.settings.orderClubGrid, this, 'club.created', 'DESC')
837                                                         }
838                                                 },
839                                                 Members: {
840                                                         id: 'gridClubColumn_Members',
841                                                         title: 'MEMBERS',
842                                                         orderAsc: {
843                                                                 id: 'gridClubOrder_MembersAsc',
844                                                                 bind: $.proxy(_w.settings.orderClubGrid, this, 'numMembers', 'ASC')
845                                                         },
846                                                         orderDesc: {
847                                                                 id: 'gridClubOrder_MembersDesc',
848                                                                 bind: $.proxy(_w.settings.orderClubGrid, this, 'numMembers', 'DESC')
849                                                         }
850                                                 }
851                                         }
852                                 },
853                                 'gridClubColumnFilters': {
854                                         constructor: 'GridColumnFilter',
855                                         items: {
856                                                 Name: {
857                                                         id: 'gridClubFilter_Name',
858                                                         context: 'gridClubFilter'
859                                                 },
860                                                 UseAsDefault: null,
861                                                 Created: null,
862                                                 Members: null
863                                         }
864                                 },
865                                 'gridClubRowRepeater': {},
866                                 'gridClubPager': {},
867
868                                 // Dispute grid
869                                 'gridDisputeTitle': 'Disputes (Plaintif)',
870                                 'gridDisputeColumnHeaders': {
871                                         constructor: 'GridColumnHeader',
872                                         items: {
873                                                 Plaintive: {
874                                                         id: 'gridDisputeColumn_Defendant',
875                                                         title: 'DEFENDANT',
876                                                         orderAsc: {
877                                                                 id: 'gridDisputeOrder_DefendantAsc',
878                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'againstCompany.name', 'ASC')
879                                                         },
880                                                         orderDesc: {
881                                                                 id: 'gridDisputeOrder_DefendantDesc',
882                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'againstCompany.name', 'DESC')
883                                                         }
884                                                 },
885                                                 Make: {
886                                                         id: 'gridDisputeColumn_Make',
887                                                         title: 'VEHICLE MAKE',
888                                                         orderAsc: {
889                                                                 id: 'gridDisputeOrder_MakeAsc',
890                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'make.name', 'ASC')
891                                                         },
892                                                         orderDesc: {
893                                                                 id: 'gridDisputeOrder_MakeDesc',
894                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'make.name', 'DESC')
895                                                         }
896                                                 },
897                                                 Model: {
898                                                         id: 'gridDisputeColumn_Model',
899                                                         title: 'MODEL',
900                                                         orderAsc: {
901                                                                 id: 'gridDisputeOrder_ModelAsc',
902                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'model.name', 'ASC')
903                                                         },
904                                                         orderDesc: {
905                                                                 id: 'gridDisputeOrder_ModelDesc',
906                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'model.name', 'DESC')
907                                                         }
908                                                 },
909                                                 Type: {
910                                                         id: 'gridDisputeColumn_Type',
911                                                         title: 'TYPE',
912                                                         orderAsc: {
913                                                                 id: 'gridDisputeOrder_TypeAsc',
914                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'type.name', 'ASC')
915                                                         },
916                                                         orderDesc: {
917                                                                 id: 'gridDisputeOrder_TypeDesc',
918                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'type.name', 'DESC')
919                                                         },
920                                                         style: 'hidden-phone hidden-tablet'
921                                                 },
922                                                 Reg: {
923                                                         id: 'gridDisputeColumn_Reg',
924                                                         title: 'REGISTRATION',
925                                                         orderAsc: {
926                                                                 id: 'gridDisputeOrder_RegAsc',
927                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'stock.registrationNumber', 'ASC')
928                                                         },
929                                                         orderDesc: {
930                                                                 id: 'gridDisputeOrder_RegDesc',
931                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'stock.registrationNumber', 'DESC')
932                                                         }
933                                                 },
934                                                 Status: {
935                                                         id: 'gridDisputeColumn_Status',
936                                                         title: 'STATUS',
937                                                         orderAsc: {
938                                                                 id: 'gridDisputeOrder_StatusAsc',
939                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'dispute.jobState', 'ASC')
940                                                         },
941                                                         orderDesc: {
942                                                                 id: 'gridDisputeOrder_StatusDesc',
943                                                                 bind: $.proxy(_w.settings.orderDisputeGrid, this, 'dispute.jobState', 'DESC')
944                                                         }
945                                                 }
946                                         }
947                                 },
948                                 'gridDisputeColumnFilters': {
949                                         constructor: 'GridColumnFilter',
950                                         items: {
951                                                 Plaintive: {
952                                                         id: 'gridDisputeFilter_Defendant',
953                                                         context: 'gridDisputeFilter'
954                                                 },
955                                                 Make: {
956                                                         id: 'gridDisputeFilter_Make',
957                                                         context: 'gridDisputeFilter'
958                                                 },
959                                                 Model: {
960                                                         id: 'gridDisputeFilter_Model',
961                                                         context: 'gridDisputeFilter'
962                                                 },
963                                                 Type: {
964                                                         id: 'gridDisputeFilter_Type',
965                                                         context: 'gridDisputeFilter'
966                                                 },
967                                                 Reg: {
968                                                         id: 'gridDisputeFilter_Reg',
969                                                         context: 'gridDisputeFilter'
970                                                 },
971                                                 Status: {
972                                                         id: 'gridDisputeFilter_Status',
973                                                         context: 'gridDisputeFilter'
974                                                 }
975                                         }
976                                 },
977                                 'gridDisputeRowRepeater': {},
978                                 'gridDisputePager': {},
979         
980         // Dispute Defendant grid
981                                 'gridDisputeDefTitle': 'Disputes (Defendant)',
982                                 'gridDisputeDefColumnHeaders': {
983                                         constructor: 'GridColumnHeader',
984                                         items: {
985                                                 Plaintive: {
986                                                         id: 'gridDisputeDefColumn_Plaintive',
987                                                         title: 'PLAINTIFF',
988                                                         orderAsc: {
989                                                                 id: 'gridDisputeDefOrder_PlaintiveAsc',
990                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'fromCompany.name', 'ASC')
991                                                         },
992                                                         orderDesc: {
993                                                                 id: 'gridDisputeDefOrder_PlaintiveDesc',
994                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'fromCompany.name', 'DESC')
995                                                         }
996                                                 },
997                                                 Make: {
998                                                         id: 'gridDisputeDefColumn_Make',
999                                                         title: 'VEHICLE MAKE',
1000                                                         orderAsc: {
1001                                                                 id: 'gridDisputeDefOrder_MakeAsc',
1002                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'make.name', 'ASC')
1003                                                         },
1004                                                         orderDesc: {
1005                                                                 id: 'gridDisputeDefOrder_MakeDesc',
1006                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'make.name', 'DESC')
1007                                                         }
1008                                                 },
1009                                                 Model: {
1010                                                         id: 'gridDisputeDefColumn_Model',
1011                                                         title: 'MODEL',
1012                                                         orderAsc: {
1013                                                                 id: 'gridDisputeDefOrder_ModelAsc',
1014                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'model.name', 'ASC')
1015                                                         },
1016                                                         orderDesc: {
1017                                                                 id: 'gridDisputeDefOrder_ModelDesc',
1018                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'model.name', 'DESC')
1019                                                         }
1020                                                 },
1021                                                 Type: {
1022                                                         id: 'gridDisputeDefColumn_Type',
1023                                                         title: 'TYPE',
1024                                                         orderAsc: {
1025                                                                 id: 'gridDisputeDefOrder_TypeAsc',
1026                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'type.name', 'ASC')
1027                                                         },
1028                                                         orderDesc: {
1029                                                                 id: 'gridDisputeDefOrder_TypeDesc',
1030                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'type.name', 'DESC')
1031                                                         },
1032                                                         style: 'hidden-phone hidden-tablet'
1033                                                 },
1034                                                 Reg: {
1035                                                         id: 'gridDisputeDefColumn_Reg',
1036                                                         title: 'REGISTRATION',
1037                                                         orderAsc: {
1038                                                                 id: 'gridDisputeDefOrder_RegAsc',
1039                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'stock.registrationNumber', 'ASC')
1040                                                         },
1041                                                         orderDesc: {
1042                                                                 id: 'gridDisputeDefOrder_RegDesc',
1043                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'stock.registrationNumber', 'DESC')
1044                                                         }
1045                                                 },
1046                                                 Status: {
1047                                                         id: 'gridDisputeDefColumn_Status',
1048                                                         title: 'STATUS',
1049                                                         orderAsc: {
1050                                                                 id: 'gridDisputeDefOrder_StatusAsc',
1051                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'dispute.jobState', 'ASC')
1052                                                         },
1053                                                         orderDesc: {
1054                                                                 id: 'gridDisputeDefOrder_StatusDesc',
1055                                                                 bind: $.proxy(_w.settings.orderDisputeGridDef, this, 'dispute.jobState', 'DESC')
1056                                                         }
1057                                                 }
1058                                         }
1059                                 },
1060                                 'gridDisputeDefColumnFilters': {
1061                                         constructor: 'GridColumnFilter',
1062                                         items: {
1063                                                 Plaintive: {
1064                                                         id: 'gridDisputeDefFilter_Plaintive',
1065                                                         context: 'gridDisputeDefFilter'
1066                                                 },
1067                                                 Make: {
1068                                                         id: 'gridDisputeDefFilter_Make',
1069                                                         context: 'gridDisputeDefFilter'
1070                                                 },
1071                                                 Model: {
1072                                                         id: 'gridDisputeDefFilter_Model',
1073                                                         context: 'gridDisputeDefFilter'
1074                                                 },
1075                                                 Type: {
1076                                                         id: 'gridDisputeDefFilter_Type',
1077                                                         context: 'gridDisputeDefFilter'
1078                                                 },
1079                                                 Reg: {
1080                                                         id: 'gridDisputeDefFilter_Reg',
1081                                                         context: 'gridDisputeDefFilter'
1082                                                 },
1083                                                 Status: {
1084                                                         id: 'gridDisputeDefFilter_Status',
1085                                                         context: 'gridDisputeDefFilter'
1086                                                 }
1087                                         }
1088                                 },
1089                                 'gridDisputeDefRowRepeater': {},
1090                                 'gridDisputeDefPager': {}
1091                         });
1092                 },
1093
1094                 loadRetailGrid : function( contract, data, options )
1095                 {
1096                         App.API.execTask(
1097                                         'gridRetail', data, options,
1098                                         _w.settings._onRetailGridDataReceived, _w.taskExecError
1099                                         );
1100                 },
1101
1102                 pageRetailGrid : function( page )
1103                 {
1104                         _w.settings.loadRetailGrid( {}, {"Grid":{"Page":page}} );
1105                 },
1106
1107                 clearRetailGridContext : function()
1108                 {
1109                         $('.gridRetailContext').val('');
1110                         $('.gridRetailFilter').val('');
1111                         _w.settings.searchRetailGrid();
1112                 },
1113
1114                 searchRetailGrid : function()
1115                 {
1116                         var filter = {
1117                                         count: 0,
1118                                         filters: {}
1119                         };
1120
1121                         filter = _w.filterIfnotEmpty(filter, 'gridRetailFilter_Name', 'companyRetail.name');
1122                         filter = _w.filterIfnotEmpty(filter, 'gridRetailFilter_Created', 'companyRetail.created');
1123                         filter = _w.filterIfnotEmpty(filter, 'gridRetailFilter_Updated', 'companyRetail.updated');
1124                         var request = {"Grid":{
1125                             "Page": 1,
1126                             "Filter": filter.filters
1127                           }};
1128                         _w.settings.loadRetailGrid( null, request, {} );
1129                 },
1130
1131                 _onRetailGridDataReceived : function( response )
1132                 {
1133                         _w.settings.ti.hydrateParam('gridRetailRowRepeater', {});
1134                         _w.populateFilters(response.Data.Meta.Filters, {
1135                                 'companyRetail.name'            : 'gridRetailFilter_Name',
1136                                 'companyRetail.created'         : 'gridRetailFilter_Created',
1137                                 'companyRetail.updated'         : 'gridRetailFilter_Updated'
1138                         });
1139                         var gridData = [];
1140                         for (var i = 0; i < response.Data.DataSet.length; i++)
1141                         {
1142                                 var row = response.Data.DataSet[i];
1143                                 gridData.push({
1144                                         url: 'retailview',
1145                                         prepend: {},
1146                                         style: {},
1147                                         items: {
1148                                                 'id'      : row.id,
1149                                                 'Name'    : row.name,
1150                                                 'Created' : ((row.created).split(' '))[0],
1151                                                 'Updated' : row.updated ? ((row.updated).split(' '))[0] : '',
1152                                                 'Status'  : row.archived ? 'Archived' : 'Active'
1153                                 }
1154                                 });
1155                         }
1156                         _w.settings.ti.hydrateParam('gridRetailRowRepeater', {
1157                                 constructor : 'GridDataRow',
1158                                 items       : gridData
1159                         });
1160                         response.Data.Meta.itemName = 'retailPager';
1161                         response.Data.Meta.bind = _w.settings.pageRetailGrid;
1162                         _w.settings.ti.hydrateParam('gridRetailPager', {
1163                                 constructor : 'GridPager',
1164                                 items       : [response.Data.Meta]
1165                         });
1166
1167                         true == App.permissions.settingsRetail ? $('#retailGrid').show() : $('#retailGrid').hide();
1168                 },
1169
1170                 loadQuestionGrid : function( contract, data, options )
1171                 {
1172                         App.API.execTask(
1173                                         'gridQuestion', data, options,
1174                                         _w.settings._onQuestionGridDataReceived, _w.taskExecError
1175                                         );
1176                 },
1177
1178                 pageQuestionGrid : function( page )
1179                 {
1180                         _w.settings.loadQuestionGrid( {}, {"Grid":{"Page":page}} );
1181                 },
1182
1183                 clearQuestionGridContext : function()
1184                 {
1185                         $('.gridQuestionContext').val('');
1186                         $('.gridQuestionFilter').val('');
1187                         _w.settings.searchQuestionGrid();
1188                 },
1189
1190                 searchQuestionGrid : function()
1191                 {
1192                         var filter = {
1193                                         count: 0,
1194                                         filters: {}
1195                         };
1196
1197                         filter = _w.filterIfnotEmpty(filter, 'gridQuestionFilter_Created', 'question.created');
1198                         filter = _w.filterIfnotEmpty(filter, 'gridQuestionFilter_Updated', 'question.updated');
1199                         filter = _w.filterIfnotEmpty(filter, 'gridQuestionFilter_Company', 'company.name');
1200                         filter = _w.filterIfnotEmpty(filter, 'gridQuestionFilter_Make', 'make.name');
1201                         filter = _w.filterIfnotEmpty(filter, 'gridQuestionFilter_Model', 'model.name');
1202                         filter = _w.filterIfnotEmpty(filter, 'gridQuestionFilter_Type', 'type.name');
1203                         filter = _w.filterIfnotEmpty(filter, 'gridQuestionFilter_Reg', 'stock.registrationNumber');
1204                         var request = {"Grid":{
1205                             "Page": 1,
1206                             "Filter": filter.filters
1207                           }};
1208                         _w.settings.loadQuestionGrid( null, request, {} );
1209                 },
1210
1211                 _onQuestionGridDataReceived : function( response )
1212                 {
1213                         _w.settings.ti.hydrateParam('gridQuestionRowRepeater', {});
1214                         _w.populateFilters(response.Data.Meta.Filters, {
1215                                 'question.created'         : 'gridQuestionFilter_Created',
1216                                 'question.updated'         : 'gridQuestionFilter_Updated',
1217                                 'company.name'             : 'gridQuestionFilter_Company',
1218                                 'make.name'                : 'gridQuestionFilter_Make',
1219                                 'model.name'               : 'gridQuestionFilter_Model',
1220                                 'type.name'                : 'gridQuestionFilter_Type',
1221                                 'stock.registrationNumber' : 'gridQuestionFilter_Reg'
1222                         });
1223                         var gridData = [];
1224                         for (var i = 0; i < response.Data.DataSet.length; i++)
1225                         {
1226                                 var row = response.Data.DataSet[i];
1227                                 gridData.push({
1228                                         url: 'questionview',
1229                                         prepend: {},
1230                                         style: {
1231                                                 Type    : 'type hidden-phone hidden-tablet',
1232                                         },
1233                                         items: {
1234                                                 'id'      : {id: row.id, auctionId: row.auction.id},
1235                                                 'Created' : ((row.created).split(' '))[0],
1236                                                 'Updated' : row.updated ? ((row.updated).split(' '))[0] : '',
1237                                                 'Company' : row.auction.company.name,
1238                                                 'Make'    : row.auction.stock.type.model.make.name,
1239                                                 'Model'   : row.auction.stock.type.model.name,
1240                                                 'Type'    : row.auction.stock.type.name,
1241                                                 'Reg'     : row.auction.stock.registrationNumber
1242                                 }
1243                                 });
1244                         }
1245                         _w.settings.ti.hydrateParam('gridQuestionRowRepeater', {
1246                                 constructor : 'GridDataRow',
1247                                 items       : gridData
1248                         });
1249                         response.Data.Meta.itemName = 'questionPager';
1250                         response.Data.Meta.bind = _w.settings.pageQuestionGrid;
1251                         _w.settings.ti.hydrateParam('gridQuestionPager', {
1252                                 constructor : 'GridPager',
1253                                 items       : [response.Data.Meta]
1254                         });
1255
1256                         true == App.permissions.auctionPage ? $('#questionsGrid').show() : $('#questionsGrid').hide();
1257                 },
1258
1259                 loadReplyGrid : function( contract, data, options )
1260                 {
1261                         App.API.execTask(
1262                                         'gridReply', data, options,
1263                                         _w.settings._onReplyGridDataReceived, _w.taskExecError
1264                                         );
1265                 },
1266
1267                 pageReplyGrid : function( page )
1268                 {
1269                         _w.settings.loadReplyGrid( {}, {"Grid":{"Page":page}} );
1270                 },
1271
1272                 clearReplyGridContext : function()
1273                 {
1274                         $('.gridReplyContext').val('');
1275                         $('.gridReplyFilter').val('');
1276                         _w.settings.searchReplyGrid();
1277                 },
1278
1279                 searchReplyGrid : function()
1280                 {
1281                         var filter = {
1282                                         count: 0,
1283                                         filters: {}
1284                         };
1285
1286                         filter = _w.filterIfnotEmpty(filter, 'gridReplyFilter_Created', 'question.created');
1287                         filter = _w.filterIfnotEmpty(filter, 'gridReplyFilter_Updated', 'question.updated');
1288                         filter = _w.filterIfnotEmpty(filter, 'gridReplyFilter_Company', 'company.name');
1289                         filter = _w.filterIfnotEmpty(filter, 'gridReplyFilter_Make', 'make.name');
1290                         filter = _w.filterIfnotEmpty(filter, 'gridReplyFilter_Model', 'model.name');
1291                         filter = _w.filterIfnotEmpty(filter, 'gridReplyFilter_Type', 'type.name');
1292                         filter = _w.filterIfnotEmpty(filter, 'gridReplyFilter_Reg', 'stock.registrationNumber')
1293                         var request = {"Grid":{
1294                             "Page": 1,
1295                             "Filter": filter.filters
1296                           }};
1297                         _w.settings.loadReplyGrid( null, request, {} );
1298                 },
1299
1300                 _onReplyGridDataReceived : function( response )
1301                 {
1302                         _w.settings.ti.hydrateParam('gridReplyRowRepeater', {});
1303                         _w.populateFilters(response.Data.Meta.Filters, {
1304                                 'question.created'         : 'gridReplyFilter_Created',
1305                                 'question.updated'         : 'gridReplyFilter_Updated',
1306                                 'company.name'             : 'gridReplyFilter_Company',
1307                                 'make.name'                : 'gridReplyFilter_Make',
1308                                 'model.name'               : 'gridReplyFilter_Model',
1309                                 'type.name'                : 'gridReplyFilter_Type',
1310                                 'stock.registrationNumber' : 'gridReplyFilter_Reg'
1311                         });
1312                         var gridData = [];
1313                         console.log(response.Data.DataSet);
1314                         for (var i = 0; i < response.Data.DataSet.length; i++)
1315                         {
1316                                 var row = response.Data.DataSet[i];
1317                                 gridData.push({
1318                                         url: 'replyview',
1319                                         prepend: {},
1320                                         style: {
1321                                                 Type    : 'type hidden-phone hidden-tablet',
1322                                         },
1323                                         items: {
1324                                                 'id'      : {id: row.id, auctionId: row.auction.id},
1325                                                 'Created' : ((row.created).split(' '))[0],
1326                                                 'Updated' : row.updated ? ((row.updated).split(' '))[0] : '',
1327                                                 'Company' : row.company.name,
1328                                                 'Make'    : row.auction.stock.type.model.make.name,
1329                                                 'Model'   : row.auction.stock.type.model.name,
1330                                                 'Type'    : row.auction.stock.type.name,
1331                                                 'Reg'     : row.auction.stock.registrationNumber
1332                                 }
1333                                 });
1334                         }
1335                         _w.settings.ti.hydrateParam('gridReplyRowRepeater', {
1336                                 constructor : 'GridDataRow',
1337                                 items       : gridData
1338                         });
1339                         response.Data.Meta.itemName = 'userPager';
1340                         response.Data.Meta.bind = _w.settings.pageReplyGrid;
1341                         _w.settings.ti.hydrateParam('gridReplyPager', {
1342                                 constructor : 'GridPager',
1343                                 items       : [response.Data.Meta]
1344                         });
1345
1346                         true == App.permissions.auctionPage ? $('#replyGrid').show() : $('#replyGrid').hide();
1347                 },
1348
1349                 loadUserGrid : function( contract, data, options )
1350                 {
1351                         App.API.execTask(
1352                                         'gridUser', data, options,
1353                                         _w.settings._onUserGridDataReceived, _w.taskExecError
1354                                         );
1355                 },
1356
1357                 pageUserGrid : function( page )
1358                 {
1359                         _w.settings.loadUserGrid( {}, {"Grid":{"Page":page}} );
1360                 },
1361
1362                 clearUserGridContext : function()
1363                 {
1364                         $('.gridUserContext').val('');
1365                         $('.gridUserFilter').val('');
1366                         _w.settings.searchUserGrid();
1367                 },
1368
1369                 searchUserGrid : function()
1370                 {
1371                         var filter = {
1372                                         count: 0,
1373                                         filters: {}
1374                         };
1375
1376                         filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_Name', 'profile.firstName');
1377                         filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_Surname', 'profile.familyName');
1378                         filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_Email', 'profile.email');
1379                         filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_Mobile', 'profile.mobile');
1380                         filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_UserType', 'permissions.name');
1381                         filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_AssignedTo', 'manager.firstName');
1382                         var request = {"Grid":{
1383                             "Page": 1,
1384                             "Filter": filter.filters
1385                           }};
1386                         _w.settings.loadUserGrid( null, request, {} );
1387                 },
1388
1389                 _onUserGridDataReceived : function( response )
1390                 {
1391                         _w.settings.ti.hydrateParam('gridUserRowRepeater', {});
1392                         _w.populateFilters(response.Data.Meta.Filters, {
1393                                 'profile.firstName'  : 'gridUserFilter_Name',
1394                                 'profile.familyName' : 'gridUserFilter_Surname',
1395                                 'profile.email'      : 'gridUserFilter_Email',
1396                                 'profile.mobile'     : 'gridUserFilter_Mobile',
1397                                 'permissions.name'   : 'gridUserFilter_UserType',
1398                                 'manager.firstName'  : 'gridUserFilter_AssignedTo'
1399                         });
1400                         var gridData = [];
1401                         for (var i = 0; i < response.Data.DataSet.length; i++)
1402                         {
1403                                 var row = response.Data.DataSet[i];
1404                                 gridData.push({
1405                                         url: 'userview',
1406                                         prepend: {},
1407                                         style: {
1408                                                 Mobile          : 'type hidden-phone hidden-tablet',
1409                                                 AssignedTo      : 'type hidden-phone hidden-tablet'
1410                                         },
1411                                         items: {
1412                                                 'id'         : row.id,
1413                                                 'Name'       : row.firstName,
1414                                                 'Surname'    : row.familyName,
1415                                                 'Email'      : row.email,
1416                                                 'Mobile'     : row.mobile,
1417                                                 'UserType'   : row.permissions ? row.permissions.name : '',
1418                                                 'AssignedTo' : row.manager ? row.manager.firstName : ''
1419                                 }
1420                                 });
1421                         }
1422                         _w.settings.ti.hydrateParam('gridUserRowRepeater', {
1423                                 constructor : 'GridDataRow',
1424                                 items       : gridData
1425                         });
1426                         response.Data.Meta.itemName = 'userPager';
1427                         response.Data.Meta.bind = _w.settings.pageUserGrid;
1428                         _w.settings.ti.hydrateParam('gridUserPager', {
1429                                 constructor : 'GridPager',
1430                                 items       : [response.Data.Meta]
1431                         });
1432
1433                         true == App.permissions.settingsUser ? $('#usersGrid').show() : $('#usersGrid').hide();
1434                         true == App.permissions.settingsClub ? $('#clubsGrid').show() : $('#clubsGrid').hide();
1435                 },
1436
1437                 loadMemberGrid : function( contract, data, options )
1438                 {
1439                         App.API.execTask(
1440                                         'gridMembership', data, options,
1441                                         _w.settings._onMemberGridDataReceived, _w.taskExecError
1442                                         );
1443                 },
1444
1445                 pageMemberGrid : function( page )
1446                 {
1447                         _w.settings.loadMemberGrid( {}, {"Grid":{"Page":page}} );
1448                 },
1449
1450                 clearMemberGridContext : function()
1451                 {
1452                         $('.gridMemberContext').val('');
1453                         $('.gridMemberFilter').val('');
1454                         _w.settings.searchMemberGrid();
1455                 },
1456
1457                 searchMemberGrid : function()
1458                 {
1459                         var filter = {
1460                                         count: 0,
1461                                         filters: {}
1462                         };
1463                         filter = _w.filterIfnotEmpty(filter, 'gridMemberFilter_Name', 'club.name');
1464                         filter = _w.filterIfnotEmpty(filter, 'gridMemberFilter_Status', 'mmbr.status');
1465                         var request = {"Grid":{
1466                             "Page": 1,
1467                             "Filter": filter.filters
1468                           }};
1469                         _w.settings.loadMemberGrid( null, request, {} );
1470                 },
1471
1472                 _onMemberGridDataReceived : function( response )
1473                 {
1474                         _w.settings.ti.hydrateParam('gridMemberRowRepeater', {});
1475                         _w.populateFilters(response.Data.Meta.Filters, {
1476                                 'club.name'   : 'gridMemberFilter_Name',
1477                                 'mmbr.status' : 'gridMemberFilter_Status'
1478                         });
1479                         var gridData = [];
1480                         for (var i = 0; i < response.Data.DataSet.length; i++)
1481                         {
1482                                 var row = response.Data.DataSet[i];
1483                                 gridData.push({
1484                                         url: 'membershipview',
1485                                         prepend: {},
1486                                         style: {},
1487                                         items: {
1488                                                 'id'       : row.id,
1489                                                 'Name'     : row.club.name,
1490                                                 'Sms'      : row.smsNotification ? 'Yes' : 'No',
1491                                                 'Email'    : row.emailNotification ? 'Yes' : 'No',
1492                                                 'AllMakes' : row.allMakes ? 'Yes' : 'No',
1493                                                 'Status'   : row.status
1494                                 }
1495                                 });
1496                         }
1497                         _w.settings.ti.hydrateParam('gridMemberRowRepeater', {
1498                                 constructor : 'GridDataRow',
1499                                 items       : gridData
1500                         });
1501                         response.Data.Meta.itemName = 'memberPager';
1502                         response.Data.Meta.bind = _w.settings.pageMemberGrid;
1503                         _w.settings.ti.hydrateParam('gridMemberPager', {
1504                                 constructor : 'GridPager',
1505                                 items       : [response.Data.Meta]
1506                         });
1507                 },
1508
1509
1510
1511                 loadClubGrid : function( contract, data, options )
1512                 {
1513                         App.API.execTask(
1514                                         'gridClub', data, options,
1515                                         _w.settings._onClubGridDataReceived, _w.taskExecError
1516                                         );
1517                 },
1518
1519                 pageClubGrid : function( page )
1520                 {
1521                         _w.settings.loadClubGrid( {}, {"Grid":{"Page":page}} );
1522                 },
1523
1524                 clearClubGridContext : function()
1525                 {
1526                         $('.gridClubContext').val('');
1527                         $('.gridClubFilter').val('');
1528                         _w.settings.searchClubGrid();
1529                 },
1530
1531                 searchClubGrid : function()
1532                 {
1533                         var filter = {
1534                                         count: 0,
1535                                         filters: {}
1536                         };
1537                         filter = _w.filterIfnotEmpty(filter, 'gridClubFilter_Name', 'club.name');
1538                         var request = {"Grid":{
1539                             "Page": 1,
1540                             "Filter": filter.filters
1541                           }};
1542                         _w.settings.loadClubGrid( null, request, {} );
1543                 },
1544
1545                 _onClubGridDataReceived : function( response )
1546                 {
1547                         _w.settings.ti.hydrateParam('gridClubRowRepeater', {});
1548                         _w.populateFilters(response.Data.Meta.Filters, {
1549                                 'club.name'   : 'gridClubFilter_Name'
1550                         });
1551                         var gridData = [];
1552                         for (var i = 0; i < response.Data.DataSet.length; i++)
1553                         {
1554                                 var row = response.Data.DataSet[i];
1555                                 gridData.push({
1556                                         url: 'clubview',
1557                                         prepend: {},
1558                                         style: {},
1559                                         items: {
1560                                                 'id'           : row.id,
1561                                                 'Name'         : row.name,
1562                                                 'UseAsDefault' : row.useAsDefault ? 'Yes' : 'No',
1563                                                 'Created'      : row.created,
1564                                                 'Members'      : row.numMembers
1565                                 }
1566                                 });
1567                         }
1568                         _w.settings.ti.hydrateParam('gridClubRowRepeater', {
1569                                 constructor : 'GridDataRow',
1570                                 items       : gridData
1571                         });
1572                         response.Data.Meta.itemName = 'clubPager';
1573                         response.Data.Meta.bind = _w.settings.pageClubGrid;
1574                         _w.settings.ti.hydrateParam('gridClubPager', {
1575                                 constructor : 'GridPager',
1576                                 items       : [response.Data.Meta]
1577                         });
1578                 },
1579
1580                 loadDisputeGrid : function( contract, data, options )
1581                 {
1582                         App.API.execTask(
1583                                         'gridDispute', data, options,
1584                                         _w.settings._onDisputeGridDataReceived, _w.taskExecError
1585                                         );
1586                 },
1587
1588                 pageDisputeGrid : function( page )
1589                 {
1590                         _w.settings.loadDisputeGrid( {}, {"Grid":{"Page":page}} );
1591                 },
1592
1593                 clearDisputeGridContext : function()
1594                 {
1595                         $('.gridDisputeContext').val('');
1596                         $('.gridDisputeFilter').val('');
1597                         _w.settings.searchDisputeGrid();
1598                 },
1599
1600                 searchDisputeGrid : function()
1601                 {
1602                         var filter = {
1603                                         count: 0,
1604                                         filters: {}
1605                         };
1606
1607                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeFilter_Defendant', 'againstCompany.name');
1608                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeFilter_Make', 'make.name');
1609                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeFilter_Model', 'model.name');
1610                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeFilter_Type', 'type.name');
1611                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeFilter_Reg', 'stock.registrationNumber');
1612                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeFilter_Status', 'dispute.jobState');
1613                         var request = {"Grid":{
1614                             "Page": 1,
1615                             "Filter": filter.filters
1616                           }};
1617                         _w.settings.loadDisputeGrid( null, request, {} );
1618                 },
1619
1620                 _onDisputeGridDataReceived : function( response )
1621                 {
1622                         _w.settings.ti.hydrateParam('gridDisputeRowRepeater', {});
1623                         _w.populateFilters(response.Data.Meta.Filters, {
1624                                 'againstCompany.name'                   : 'gridDisputeFilter_Plaintive',
1625                                 'auction.stock.type.model.make.name' : 'gridDisputeFilter_Make',
1626                                 'auction.stock.type.model.name'      : 'gridDisputeFilter_Model',
1627                                 'auction.stock.type..name'           : 'gridDisputeFilter_Type',
1628                                 'auction.stock.registrationNumber'   : 'gridDisputeFilter_Reg',
1629                                 'jobState'                           : 'gridDisputeFilter_Status'
1630                         });
1631                         var gridData = [];
1632                         for (var i = 0; i < response.Data.DataSet.length; i++)
1633                         {
1634                                 var row = response.Data.DataSet[i];
1635                                 gridData.push({
1636                                         url: 'disputeview',
1637                                         prepend: {},
1638                                         style: {
1639                                                 Type    : 'type hidden-phone hidden-tablet',
1640                                         },
1641                                         items: {
1642                                                 'id'        : row.id,
1643                                                 'Plaintive' : row.againstCompany.name,
1644                                                 'Make'      : row.auction.stock.type.model.make.name,
1645                                                 'Model'     : row.auction.stock.type.model.name,
1646                                                 'Type'      : row.auction.stock.type.name,
1647                                                 'Reg'       : row.auction.stock.registrationNumber,
1648                                                 'Status'    : row.jobState
1649                                 }
1650                                 });
1651                         }
1652                         _w.settings.ti.hydrateParam('gridDisputeRowRepeater', {
1653                                 constructor : 'GridDataRow',
1654                                 items       : gridData
1655                         });
1656                         response.Data.Meta.itemName = 'DisputePager';
1657                         response.Data.Meta.bind = _w.settings.pageDisputeGrid;
1658                         _w.settings.ti.hydrateParam('gridDisputePager', {
1659                                 constructor : 'GridPager',
1660                                 items       : [response.Data.Meta]
1661                         });
1662
1663                         true == App.permissions.settingsDispute ? $('#DisputesGrid').show() : $('#DisputesGrid').hide();
1664                         true == App.permissions.settingsClub ? $('#clubsGrid').show() : $('#clubsGrid').hide();
1665                 },
1666     
1667     loadDisputeGridDef : function( contract, data, options )
1668                 {
1669                         App.API.execTask(
1670                                         'gridDisputeDef', data, options,
1671                                         _w.settings._onDisputeGridDefDataReceived, _w.taskExecError
1672                                         );
1673                 },
1674
1675                 pageDisputeGridDef : function( page )
1676                 {
1677                         _w.settings.loadDisputeGridDef( {}, {"Grid":{"Page":page}} );
1678                 },
1679
1680                 clearDisputeGridDefContext : function()
1681                 {
1682                         $('.gridDisputeDefContext').val('');
1683                         $('.gridDisputeDefFilter').val('');
1684                         _w.settings.searchDisputeGridDef();
1685                 },
1686
1687                 searchDisputeGridDef : function()
1688                 {
1689                         var filter = {
1690                                         count: 0,
1691                                         filters: {}
1692                         };
1693
1694                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeDefFilter_Plaintive', 'fromCompany.name');
1695                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeDefFilter_Make', 'make.name');
1696                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeDefFilter_Model', 'model.name');
1697                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeDefFilter_Type', 'type.name');
1698                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeDefFilter_Reg', 'stock.registrationNumber');
1699                         filter = _w.filterIfnotEmpty(filter, 'gridDisputeDefFilter_Status', 'dispute.jobState');
1700                         var request = {"Grid":{
1701                             "Page": 1,
1702                             "Filter": filter.filters
1703                           }};
1704                         _w.settings.loadDisputeGridDef( null, request, {} );
1705                 },
1706
1707                 _onDisputeGridDefDataReceived : function( response )
1708                 {
1709                         _w.settings.ti.hydrateParam('gridDisputeDefRowRepeater', {});
1710                         _w.populateFilters(response.Data.Meta.Filters, {
1711                                 'fromCompany.name'                   : 'gridDisputeDefFilter_Plaintive',
1712                                 'auction.stock.type.model.make.name' : 'gridDisputeDefFilter_Make',
1713                                 'auction.stock.type.model.name'      : 'gridDisputeDefFilter_Model',
1714                                 'auction.stock.type..name'           : 'gridDisputeDefFilter_Type',
1715                                 'auction.stock.registrationNumber'   : 'gridDisputeDefFilter_Reg',
1716                                 'jobState'                           : 'gridDisputeDefFilter_Status'
1717                         });
1718                         var gridData = [];
1719                         for (var i = 0; i < response.Data.DataSet.length; i++)
1720                         {
1721                                 var row = response.Data.DataSet[i];
1722                                 gridData.push({
1723                                         url: 'disputeview',
1724                                         prepend: {},
1725                                         style: {
1726                                                 Type    : 'type hidden-phone hidden-tablet',
1727                                         },
1728                                         items: {
1729                                                 'id'        : row.id,
1730                                                 'Plaintive' : row.fromCompany.name,
1731                                                 'Make'      : row.auction.stock.type.model.make.name,
1732                                                 'Model'     : row.auction.stock.type.model.name,
1733                                                 'Type'      : row.auction.stock.type.name,
1734                                                 'Reg'       : row.auction.stock.registrationNumber,
1735                                                 'Status'    : row.jobState
1736                                 }
1737                                 });
1738                         }
1739                         _w.settings.ti.hydrateParam('gridDisputeDefRowRepeater', {
1740                                 constructor : 'GridDataRow',
1741                                 items       : gridData
1742                         });
1743                         response.Data.Meta.itemName = 'DisputePager';
1744                         response.Data.Meta.bind = _w.settings.pageDisputeGridDef;
1745                         _w.settings.ti.hydrateParam('gridDisputeDefPager', {
1746                                 constructor : 'GridPager',
1747                                 items       : [response.Data.Meta]
1748                         });
1749
1750                         true == App.permissions.settingsDispute ? $('#DisputesGridDef').show() : $('#DisputesGridDef').hide();
1751                         true == App.permissions.settingsClub ? $('#clubsGrid').show() : $('#clubsGrid').hide();
1752                 },
1753
1754                 publishCompanyData : function()
1755                 {
1756                         _w.settings.ti.hydratePartial({
1757                                 'companyName' : {
1758                                         title : 'Name',
1759                                         value : App.companyData.name
1760                                 },
1761                                 'street' : {
1762                                         title : 'Street',
1763                                         value : App.companyData.street
1764                                 },
1765                                 'cityName' : {
1766                                         title : 'Town',
1767                                         value : App.companyData.city.name
1768                                 },
1769                                 'regionName' : {
1770                                         title : 'Suburb',
1771                                         value : App.companyData.city.region ? App.companyData.city.region.name : ''
1772                                 },
1773                                 'postalCode' : {
1774                                         title : 'Code',
1775                                         value : App.companyData.postalCode
1776                                 },
1777                                 'contactOffice' : {
1778                                         title : 'Landline',
1779                                         value : App.companyData.contact
1780                                                 ? App.companyData.contact.office
1781                                                 : ''
1782                                 },
1783                                 'contactMobile' : {
1784                                         title : 'Mobile',
1785                                         value : App.companyData.contact
1786                                                 ? App.companyData.contact.mobile
1787                                                 : ''
1788                                 },
1789                                 'contactName' : {
1790                                         title : 'Contact name',
1791                                         value : App.companyData.contact
1792                                                 ? App.companyData.contact.firstName + ' '
1793                                                         + App.companyData.contact.familyName
1794                                                 : ''
1795                                 }
1796                         });
1797                 },
1798
1799                 publishUserData : function()
1800                 {
1801                         _w.settings.ti.hydratePartial({
1802                                 'firstName' : {
1803                                         title : 'Name',
1804                                         value : App.userData.firstName
1805                                 },
1806                                 'familyName' : {
1807                                         title : 'Surname',
1808                                         value : App.userData.familyName
1809                                 },
1810                                 'email' : {
1811                                         title : 'Email',
1812                                         value : App.userData.email
1813                                 },
1814                                 'mobile' : {
1815                                         title : 'Mobile',
1816                                         value : App.userData.mobile
1817                                 },
1818                                 'permissionsName' : {
1819                                         title : 'User type',
1820                                         value : App.permissions.name
1821                                 },
1822                                 'assignedTo' : {
1823                                         title : 'Assigned to',
1824                                         value : App.userData.manager
1825                                                 ? App.userData.manager.firstName + ' '
1826                                                         + App.userData.manager.familyName
1827                                                 : ''
1828                                 }
1829                         });
1830                 },
1831
1832                 orderRetailGrid : function(field, direction)
1833                 {
1834                         var order = {};
1835                         order[field] = direction;
1836                         _w.settings.loadRetailGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );
1837                 },
1838
1839                 orderQuestionGrid : function(field, direction)
1840                 {
1841                         var order = {};
1842                         order[field] = direction;
1843                         _w.settings.loadQuestionGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );
1844                 },
1845
1846                 orderReplyGrid : function(field, direction)
1847                 {
1848                         var order = {};
1849                         order[field] = direction;
1850                         _w.settings.loadReplyGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );
1851                 },
1852
1853                 orderUserGrid : function(field, direction)
1854                 {
1855                         var order = {};
1856                         order[field] = direction;
1857                         _w.settings.loadUserGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );
1858                 },
1859
1860                 orderMemberGrid : function(field, direction)
1861                 {
1862                         var order = {};
1863                         order[field] = direction;
1864                         _w.settings.loadMemberGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );
1865                 },
1866
1867                 orderClubGrid : function(field, direction)
1868                 {
1869                         var order = {};
1870                         order[field] = direction;
1871                         _w.settings.loadClubGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );
1872                 },
1873
1874                 orderDisputeGrid : function(field, direction)
1875                 {
1876                         var order = {};
1877                         order[field] = direction;
1878                         _w.settings.loadDisputeGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );
1879                 },
1880     
1881     orderDisputeGridDef : function(field, direction)
1882                 {
1883                         var order = {};
1884                         order[field] = direction;
1885                         _w.settings.loadDisputeGridDef( {}, {"Grid":{"Page": 1, "OrderBy": order}} );
1886                 }
1887
1888         };
1889
1890 })();