3 window._w.userpermissions = {
7 onTemplateReady : function( template, event, eventData )
9 _w.userpermissions.ti = _t[template];
10 App.DataStore.setData('stockstatuses',
12 {"value":"Permissions", "label":"Permissions"},
13 {"value":"Price Guide", "label":"Price Guide"},
14 {"value":"Archived", "label":"Archived"}
17 _w.userpermissions.ti.hydrate({
18 'gridTitle': 'Permissions Control',
19 'gridTitleSubtext': 'Please use the filters below to narrow down the view',
20 'gridColumnHeaders': {
21 constructor: 'GridColumnHeader',
24 id: 'gridPermissionsColumn_Title',
27 id: 'gridPermissionsOrder_TitleAsc',
28 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.name', 'ASC')
31 id: 'gridPermissionsOrder_TitleDesc',
32 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.name', 'DESC')
36 id: 'gridPermissionsColumn_Admin',
37 title: 'ADMIN ACCESS',
39 id: 'gridPermissionsOrder_AdminAsc',
40 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.accessAdminModule', 'ASC')
43 id: 'gridPermissionsOrder_AdminDesc',
44 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.accessAdminModule', 'DESC')
48 id: 'gridPermissionsColumn_Portal',
49 title: 'PORTAL ACCESS',
51 id: 'gridPermissionsOrder_PortalAsc',
52 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.accessPortalModule', 'ASC')
55 id: 'gridPermissionsOrder_PortalDesc',
56 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.accessPortalModule', 'DESC')
60 id: 'gridPermissionsColumn_Stock',
61 title: 'STOCK ACCESS',
63 id: 'gridPermissionsOrder_StockAsc',
64 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.stockPage', 'ASC')
67 id: 'gridPermissionsOrder_StockDesc',
68 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.stockPage', 'DESC')
72 id: 'gridPermissionsColumn_Valuation',
73 title: 'VALUATION ACCESS',
75 id: 'gridPermissionsOrder_ValuationAsc',
76 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.valuationPage', 'ASC')
79 id: 'gridPermissionsOrder_ValuationDesc',
80 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.valuationPage', 'DESC')
84 id: 'gridPermissionsColumn_Settings',
85 title: 'SETTINGS ACCESS',
87 id: 'gridPermissionsOrder_SettingsAsc',
88 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.settingsPage', 'ASC')
91 id: 'gridPermissionsOrder_SettingsDesc',
92 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.settingsPage', 'DESC')
96 id: 'gridPermissionsColumn_PriceGuide',
97 title: 'PRICE GUIDE ACCESS',
99 id: 'gridPermissionsOrder_PriceGuideAsc',
100 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.pgPage', 'ASC')
103 id: 'gridPermissionsOrder_PriceGuideDesc',
104 bind: $.proxy(_w.userpermissions.orderPermissionsGrid, this, 'permissions.pgPage', 'DESC')
109 'gridColumnFilters': {
110 constructor: 'GridColumnFilter',
113 id: 'gridPermissionsFilter_Title',
114 context: 'gridPermissionsFilter'
124 'gridRowRepeater': {},
128 // Retrieve initial grid data.
129 if (null == App.API.taskContract('gridPermissions'))
132 'gridPermissions', 'User', 'Permissions.Grid', null,
133 {}, _w.userpermissions.loadPermissionsGrid, _w.taskContractError
138 _w.userpermissions.loadPermissionsGrid( null, {}, {} );
142 onTemplatePublished : function()
144 $(".gridPermissionsFilter").keypress(function (evt) {
145 var charCode = evt.charCode || evt.keyCode;
146 if (charCode == 13) { //Enter key's keycode
147 $('#btnSearch').click();
151 $('#btnClearSearch').click(_w.userpermissions.clearPermissionsGridContext);
152 $('#btnSearch').click(_w.userpermissions.searchPermissionsGrid);
155 pagePermissionsGrid : function( page )
157 _w.userpermissions.loadPermissionsGrid( {}, {"Grid":{"Page":page}} );
160 loadPermissionsGrid : function( contract, data, options )
163 'gridPermissions', data, options,
164 _w.userpermissions._onPermissionsGridDataReceived, _w.taskExecError
168 _onPermissionsGridDataReceived : function( response )
170 _w.userpermissions.ti.hydrateParam('gridRowRepeater', {});
171 _w.populateFilters(response.Data.Meta.Filters, {
172 'permissions.name': 'gridPermissionsContext_Title'
175 for (var i = 0; i < response.Data.DataSet.length; i++)
177 var row = response.Data.DataSet[i];
179 url: 'viewuserpermissions',
185 'Admin' : row.accessAdminModule ? 'Yes' : 'No',
186 'Portal' : row.accessPortalModule ? 'Yes' : 'No',
187 'Stock' : row.stockPage ? 'Yes' : 'No',
188 'Valuation' : row.valuationPage ? 'Yes' : 'No',
189 'Settings' : row.settingsPage ? 'Yes' : 'No',
190 'PriceGuide' : row.pgPage ? 'Yes' : 'No'
194 _w.userpermissions.ti.hydrateParam('gridRowRepeater', {
195 constructor : 'GridDataRow',
198 response.Data.Meta.itemName = 'permissionsPager';
199 response.Data.Meta.bind = _w.userpermissions.pagePermissionsGrid;
200 _w.userpermissions.ti.hydrateParam('gridPager', {
201 constructor : 'GridPager',
202 items : [response.Data.Meta]
206 exportPermissionsGrid : function()
209 'gridPermissions', {}, {'ExportToExcel': true},
210 _w.userpermissions._onExportReceived, _w.taskExecError,
215 _onExportReceived : function( response )
217 var win = window.open();
218 win.document.write(response);
221 clearPermissionsGridContext : function()
223 $('.gridPermissionsContext').val('');
224 $('.gridPermissionsFilter').val('');
225 _w.userpermissions.searchPermissionsGrid();
228 searchPermissionsGrid : function()
234 filter = _w.filterIfnotEmpty(filter, 'gridPermissionsFilter_Title', 'permissions.name');
235 var request = {"Grid":{
237 "Filter": filter.filters
239 _w.userpermissions.loadPermissionsGrid( null, request, {} );
242 orderPermissionsGrid : function(field, direction)
245 order[field] = direction;
246 _w.userpermissions.loadPermissionsGrid( {}, {"Grid":{"Page": 1, "OrderBy": order}} );