3 window._w.systemusers = {
15 onTemplateReady : function( template, event, eventData )
17 _w.systemusers.ti = _t[template];
19 _w.systemusers.initGrids();
22 if (null == App.API.taskContract('gridSystemUser'))
25 'gridSystemUser', 'User', 'Profile.AdminGrid', null,
26 {}, _w.systemusers.loadUserGrid, _w.taskContractError
31 _w.systemusers.loadUserGrid( null, {}, {} );
35 onTemplatePublished : function( template, event, eventData )
37 $(".gridUserFilter").keypress(function (evt) {
38 var charCode = evt.charCode || evt.keyCode;
39 if (charCode == 13) { //Enter key's keycode
40 $('#btnUserSearch').click();
44 _w.systemusers.ti = _t[template];
47 $('#btnUserAdd').click(function() {
48 window.location.hash = '/systemuserview?id=0';
50 $('#btnUserClearSearch').click(_w.systemusers.clearUserGridContext);
51 $('#btnUserSearch').click(_w.systemusers.searchUserGrid);
55 exportUserGrid : function()
58 'gridSystemUser', {}, {'ExportToExcel': true},
59 _w.systemusers._onExportReceived, _w.taskExecError,
64 _onExportReceived : function( response )
66 var win = window.open();
67 win.document.write(response);
70 initGrids : function()
73 _w.systemusers.ti.hydrate({
75 'gridUserTitle': 'Manage system users',
77 constructor: 'Button',
82 handler: _w.systemusers.exportUserGrid
86 'gridUserColumnHeaders': {
87 constructor: 'GridColumnHeader',
90 id: 'gridUserColumn_Company',
93 id: 'gridUserOrder_CompanyAsc',
94 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'company.name', 'ASC')
97 id: 'gridUserOrder_CompanyDesc',
98 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'company.name', 'DESC')
102 id: 'gridUserColumn_Name',
105 id: 'gridUserOrder_NameAsc',
106 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'profile.firstName', 'ASC')
109 id: 'gridUserOrder_NameDesc',
110 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'profile.firstName', 'DESC')
114 id: 'gridUserColumn_Surname',
117 id: 'gridUserOrder_SurnameAsc',
118 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'profile.familyName', 'ASC')
121 id: 'gridUserOrder_SurnameDesc',
122 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'profile.familyName', 'DESC')
126 id: 'gridUserColumn_Email',
129 id: 'gridUserOrder_EmailAsc',
130 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'profile.email', 'ASC')
133 id: 'gridUserOrder_EmailDesc',
134 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'profile.email', 'DESC')
138 id: 'gridUserColumn_Mobile',
141 id: 'gridUserOrder_MobileAsc',
142 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'profile.mobile', 'ASC')
145 id: 'gridUserOrder_MobileDesc',
146 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'profile.mobile', 'DESC')
150 id: 'gridUserColumn_UserType',
153 id: 'gridUserOrder_UserTypeAsc',
154 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'permissions.name', 'ASC')
157 id: 'gridUserOrder_UserTypeDesc',
158 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'permissions.name', 'DESC')
162 id: 'gridUserColumn_AssignedTo',
163 title: 'ASSIGNED TO',
165 id: 'gridUserOrder_AssignedToAsc',
166 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'manager.firstName', 'ASC')
169 id: 'AssignedToDesc',
170 bind: $.proxy(_w.systemusers.orderUserGrid, this, 'manager.firstName', 'DESC')
175 'gridUserColumnFilters': {
176 constructor: 'GridColumnFilter',
179 id: 'gridUserFilter_Company',
180 context: 'gridUserFilter'
183 id: 'gridUserFilter_Name',
184 context: 'gridUserFilter'
187 id: 'gridUserFilter_Surname',
188 context: 'gridUserFilter'
191 id: 'gridUserFilter_Email',
192 context: 'gridUserFilter'
195 id: 'gridUserFilter_Mobile',
196 context: 'gridUserFilter'
199 id: 'gridUserFilter_UserType',
200 context: 'gridUserFilter'
203 id: 'gridUserFilter_AssignedTo',
204 context: 'gridUserFilter'
208 'gridUserRowRepeater': {},
214 loadUserGrid : function( contract, data, options )
217 'gridSystemUser', data, options,
218 _w.systemusers._onUserGridDataReceived, _w.taskExecError
222 pageUserGrid : function( page )
224 _w.systemusers.loadUserGrid( {}, {"Grid":{"Page":page}} );
227 clearUserGridContext : function()
229 $('.gridUserContext').val('');
230 $('.gridUserFilter').val('');
231 _w.systemusers.searchUserGrid();
234 searchUserGrid : function()
241 filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_Company', 'company.name');
242 filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_Name', 'profile.firstName');
243 filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_Surname', 'profile.familyName');
244 filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_Email', 'profile.email');
245 filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_Mobile', 'profile.mobile');
246 filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_UserType', 'permissions.name');
247 filter = _w.filterIfnotEmpty(filter, 'gridUserFilter_AssignedTo', 'manager.firstName');
248 var request = {"Grid":{
250 "Filter": filter.filters
252 _w.systemusers.loadUserGrid( null, request, {} );
255 _onUserGridDataReceived : function( response )
257 _w.systemusers.ti.hydrateParam('gridUserRowRepeater', {});
258 _w.populateFilters(response.Data.Meta.Filters, {
259 'company.name' : 'gridUserFilter_Company',
260 'profile.firstName' : 'gridUserFilter_Name',
261 'profile.familyName' : 'gridUserFilter_Surname',
262 'profile.email' : 'gridUserFilter_Email',
263 'profile.mobile' : 'gridUserFilter_Mobile',
264 'permissions.name' : 'gridUserFilter_UserType',
265 'manager.firstName' : 'gridUserFilter_AssignedTo'
268 for (var i = 0; i < response.Data.DataSet.length; i++)
270 var row = response.Data.DataSet[i];
272 url: 'systemuserview',
277 'Company' : row.company ? row.company.name : '',
278 'Name' : row.firstName,
279 'Surname' : row.familyName,
281 'Mobile' : row.mobile,
282 'UserType' : row.permissions ? row.permissions.name : '',
283 'AssignedTo' : row.manager ? row.manager.firstName : ''
287 _w.systemusers.ti.hydrateParam('gridUserRowRepeater', {
288 constructor : 'GridDataRow',
291 response.Data.Meta.itemName = 'userPager';
292 response.Data.Meta.bind = _w.systemusers.pageUserGrid;
293 _w.systemusers.ti.hydrateParam('gridUserPager', {
294 constructor : 'GridPager',
295 items : [response.Data.Meta]
299 orderUserGrid : function(field, direction)
302 order[field] = direction;
303 _w.systemusers.loadUserGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );