text changes to registration mail content
[namibia] / public / js / app / admin-workspace / xmlrpcclients.js
1 ;(function(){
2
3         window._w.xmlrpcclients = {
4
5                 ti : null,
6
7                 onTemplateReady : function( template, event, eventData )
8                 {
9                         _w.xmlrpcclients.ti = _t[template];
10
11                         _w.xmlrpcclients.initGrids();
12
13                         // XmlRpc grid
14                         if (null == App.API.taskContract('gridSystemXmlRpcClient'))
15                         {
16                                 App.API.getTask(
17                                                 'gridSystemXmlRpcClient', 'Valuation', 'XmlRpc.Grid', null,
18                                                 {}, _w.xmlrpcclients.loadXmlRpcGrid, _w.taskContractError
19                                                 );
20                         }
21                         else
22                         {
23                                 _w.xmlrpcclients.loadXmlRpcGrid( null, {}, {} );
24                         }
25                 },
26
27                 onTemplatePublished : function( template, event, eventData )
28                 {
29                         $(".gridXmlRpcFilter").keypress(function (evt) {
30                                 var charCode = evt.charCode || evt.keyCode;
31                                 if (charCode  == 13) { //Enter key's keycode
32                                         $('#btnXmlRpcSearch').click();
33                                 }
34                         });
35
36                         _w.xmlrpcclients.ti = _t[template];
37
38                         // XmlRpc grid
39                         $('#btnXmlRpcAdd').click(function() {
40                                 window.location.hash = '/xmlrpcclientview?id=0';
41                         });
42             $('#btnXmlRpcClearSearch').click(_w.xmlrpcclients.clearXmlRpcGridContext);
43             $('#btnXmlRpcSearch').click(_w.xmlrpcclients.searchXmlRpcGrid);
44
45                 },
46
47                 exportXmlRpcGrid : function()
48                 {
49                         App.API.execTask(
50                                         'gridSystemXmlRpcClient', {}, {'ExportToExcel': true},
51                                         _w.xmlrpcclients._onExportReceived, _w.taskExecError,
52                                         'EXPORT', true
53                                         );
54                 },
55
56                 initGrids : function()
57                 {
58
59                         _w.xmlrpcclients.ti.hydrate({
60                                 // XmlRpc grid
61                                 'gridXmlRpcTitle': 'Manage xml-rpc clients',
62                                 'gridTitleButtons': {
63                                         constructor: 'Button',
64                                         items: {
65                                                 /*Export: {
66                                                         preset: 'GridExport',
67                                                         id: 'exportAuctionGrid',
68                                                         handler: _w.xmlrpcclients.exportXmlRpcGrid
69                                                 }*/
70                                         }
71                                 },
72                                 'gridXmlRpcColumnHeaders': {
73                                         constructor: 'GridColumnHeader',
74                                         items: {
75                                                 ClientName: {
76                                                         id: 'gridXmlRpcColumn_ClientName',
77                                                         title: 'CLIENT NAME',
78                                                         orderAsc: {
79                                                                 id: 'gridXmlRpcOrder_ClientNameAsc',
80                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.clientName', 'ASC')
81                                                         },
82                                                         orderDesc: {
83                                                                 id: 'gridXmlRpcOrder_ClientNameDesc',
84                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.clientName', 'DESC')
85                                                         }
86                                                 },
87                                                 ClientApiId: {
88                                                         id: 'gridXmlRpcColumn_ClientApiId',
89                                                         title: 'API ID',
90                                                         orderAsc: {
91                                                                 id: 'gridXmlRpcOrder_ClientApiIdAsc',
92                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.clientApiId', 'ASC')
93                                                         },
94                                                         orderDesc: {
95                                                                 id: 'gridXmlRpcOrder_ClientApiIdDesc',
96                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.clientApiId', 'DESC')
97                                                         }
98                                                 },
99                                                 CallbackUrl: {
100                                                         id: 'gridXmlRpcColumn_CallbackUrl',
101                                                         title: 'CALLBACK URL',
102                                                         orderAsc: {
103                                                                 id: 'gridXmlRpcOrder_CallbackUrlAsc',
104                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.callbackUrl', 'ASC')
105                                                         },
106                                                         orderDesc: {
107                                                                 id: 'gridXmlRpcOrder_CallbackUrlDesc',
108                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.callbackUrl', 'DESC')
109                                                         }
110                                                 },
111                                                 TriggerSentToSales: {
112                                                         id: 'gridXmlRpcColumn_TriggerSentToSales',
113                                                         title: 'SEND TO SALES',
114                                                         orderAsc: {
115                                                                 id: 'gridXmlRpcOrder_TriggerSentToSalesAsc',
116                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.triggerSentToSales', 'ASC')
117                                                         },
118                                                         orderDesc: {
119                                                                 id: 'gridXmlRpcOrder_TriggerSentToSalesDesc',
120                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.triggerSentToSales', 'DESC')
121                                                         }
122                                                 },
123                                                 Created: {
124                                                         id: 'gridXmlRpcColumn_Created',
125                                                         title: 'CREATED',
126                                                         orderAsc: {
127                                                                 id: 'gridXmlRpcOrder_CreatedAsc',
128                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.created', 'ASC')
129                                                         },
130                                                         orderDesc: {
131                                                                 id: 'gridXmlRpcOrder_CreatedDesc',
132                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.created', 'DESC')
133                                                         }
134                                                 },
135                                                 Archived: {
136                                                         id: 'gridXmlRpcColumn_Archived',
137                                                         title: 'ARCHIVED',
138                                                         orderAsc: {
139                                                                 id: 'gridXmlRpcOrder_ArchivedAsc',
140                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.archived', 'ASC')
141                                                         },
142                                                         orderDesc: {
143                                                                 id: 'gridXmlRpcOrder_ArchivedDesc',
144                                                                 bind: $.proxy(_w.xmlrpcclients.orderXmlRpcGrid, this, 'xmlRpc.archived', 'DESC')
145                                                         }
146                                                 }
147                                         }
148                                 },
149                                 'gridXmlRpcColumnFilters': {
150                                         constructor: 'GridColumnFilter',
151                                         items: {
152                                                 ClientName : {
153                                                         id: 'gridXmlRpcFilter_ClientName',
154                                                         context: 'gridXmlRpcFilter'
155                                                 },
156                                                 ClientApiId : {
157                                                         id: 'gridXmlRpcFilter_ClientApiId',
158                                                         context: 'gridXmlRpcFilter'
159                                                 },
160                                                 CallbackUrl : {
161                                                         id: 'gridXmlRpcFilter_CallbackUrl',
162                                                         context: 'gridXmlRpcFilter'
163                                                 },
164                                                 TriggerSentToSales: {
165                                                         id: 'gridXmlRpcFilter_TriggerSentToSales',
166                                                         context: 'gridXmlRpcFilter'
167                                                 },
168                                                 Created: {
169                                                         id: 'gridXmlRpcFilter_Created',
170                                                         context: 'gridXmlRpcFilter'
171                                                 },
172                                                 Archived: {
173                                                         id: 'gridXmlRpcFilter_Archived',
174                                                         context: 'gridXmlRpcFilter'
175                                                 }
176                                         }
177                                 },
178                                 'gridXmlRpcRowRepeater': {},
179                                 'gridXmlRpcPager': {}
180                         });
181
182                 },
183
184                 loadXmlRpcGrid : function( contract, data, options )
185                 {
186                         App.API.execTask(
187                                         'gridSystemXmlRpcClient', data, options,
188                                         _w.xmlrpcclients._onXmlRpcGridDataReceived, _w.taskExecError
189                                         );
190                 },
191
192                 pageXmlRpcGrid : function( page )
193                 {
194                         _w.xmlrpcclients.loadXmlRpcGrid( {}, {"Grid":{"Page":page}} );
195                 },
196
197                 clearXmlRpcGridContext : function()
198                 {
199                         $('.gridXmlRpcContext').val('');
200                         $('.gridXmlRpcFilter').val('');
201                         _w.xmlrpcclients.searchXmlRpcGrid();
202                 },
203
204                 searchXmlRpcGrid : function()
205                 {
206                         var filter = {
207                                         count: 0,
208                                         filters: {}
209                         };
210
211                         filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_ClientName', 'xmlRpc.clientName');
212                         filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_ClientApiId', 'xmlRpc.clientApiId');
213                         filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_CallbackUrl', 'xmlRpc.callbackUrl');
214                         filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_TriggerSentToSales', 'xmlRpc.triggerSentToSales');
215                         filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_Created', 'xmlRpc.created');
216                         filter = _w.filterIfnotEmpty(filter, 'gridXmlRpcFilter_Archived', 'xmlRpc.archived');
217                         var request = {"Grid":{
218                             "Page": 1,
219                             "Filter": filter.filters
220                           }};
221                         _w.xmlrpcclients.loadXmlRpcGrid( null, request, {} );
222                 },
223
224                 _onXmlRpcGridDataReceived : function( response )
225                 {
226                         _w.xmlrpcclients.ti.hydrateParam('gridXmlRpcRowRepeater', {});
227                         _w.populateFilters(response.Data.Meta.Filters, {
228                                 'xmlRpc.clientName'             : 'gridXmlRpcFilter_ClientName',
229                                 'xmlRpc.clientApiId'            : 'gridXmlRpcFilter_ClientApiId',
230                                 'xmlRpc.callbackUrl'            : 'gridXmlRpcFilter_CallbackUrl',
231                                 'xmlRpc.triggerSentToSales' : 'gridXmlRpcFilter_TriggerSentToSales',
232                                 'xmlRpc.created'                        : 'gridXmlRpcFilter_Created',
233                                 'xmlRpc.archived'                       : 'gridXmlRpcFilter_Archived'
234                         });
235                         var gridData = [];
236                         for (var i = 0; i < response.Data.DataSet.length; i++)
237                         {
238                                 var row = response.Data.DataSet[i];
239                                 gridData.push({
240                                         url: 'xmlrpcclientview',
241                                         prepend: {},
242                                         style: {},
243                                         items: {
244                                                 'id'                            : row.id,
245                                                 'ClientName'                    : row.clientName,
246                                                 'ClientApiId'                   : row.clientApiId,
247                                                 'CallbackUrl'                   : row.callbackUrl,
248                                                 'TriggerSentToSales'    : row.triggerSentToSales ? 'Yes' : 'No',
249                                                 'Created'                               : row.created,
250                                                 'Archived'                              : row.archived ? 'Yes' : 'No'
251                                 }
252                                 });
253                         }
254                         _w.xmlrpcclients.ti.hydrateParam('gridXmlRpcRowRepeater', {
255                                 constructor : 'GridDataRow',
256                                 items       : gridData
257                         });
258                         response.Data.Meta.itemName = 'userPager';
259                         response.Data.Meta.bind = _w.xmlrpcclients.pageXmlRpcGrid;
260                         _w.xmlrpcclients.ti.hydrateParam('gridXmlRpcPager', {
261                                 constructor : 'GridPager',
262                                 items       : [response.Data.Meta]
263                         });
264                 },
265
266                 orderXmlRpcGrid : function(field, direction)
267                 {
268                         var order = {};
269                         order[field] = direction;
270                         _w.xmlrpcclients.loadXmlRpcGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );
271                 },
272
273                 _onExportReceived : function( response )
274                 {
275                         var win = window.open();
276                         win.document.write(response);
277                 }
278
279         };
280
281 })();