Commit 85b9097ce4eada5e50b60d5b433893fafbc08468

Authored by Swarn Singh
Exists in master

Merge branch 'master' of git.viithiisys.com:viithiisys/acufuel

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
1 'use strict'; 1 'use strict';
2 2
3 3
4 angular.module('acufuel', ['nvd3', 'ngCookies', 'ngResource', 'ui.router', 'ngAnimate', 'ui.bootstrap', 'xeditable', 'ui.toggle', 'ngTable', 'ui.select2', 'ckeditor', 'ui.calendar', 'ngDragDrop']) 4 angular.module('acufuel', ['nvd3', 'ngCookies', 'ngResource', 'ui.router', 'ngAnimate', 'ui.bootstrap', 'xeditable', 'ui.toggle', 'ngTable', 'ui.select2', 'ckeditor', 'ui.calendar', 'ngDragDrop'])
5 5
6 .config(['$httpProvider', function($httpProvider) { 6 .config(['$httpProvider', function($httpProvider) {
7 $httpProvider.defaults.withCredentials = true; 7 $httpProvider.defaults.withCredentials = true;
8 $httpProvider.interceptors.push('myCSRF'); 8 $httpProvider.interceptors.push('myCSRF');
9 $httpProvider.interceptors.push('httpRequestInterceptor'); 9 $httpProvider.interceptors.push('httpRequestInterceptor');
10 }]) 10 }])
11 11
12 12
13 .factory('httpRequestInterceptor', ['$q', '$rootScope', '$location', function($q, $rootScope, $location) { 13 .factory('httpRequestInterceptor', ['$q', '$rootScope', '$location', function($q, $rootScope, $location) {
14 return { 14 return {
15 request: function($config) { 15 request: function($config) {
16 return $config; 16 return $config;
17 }, 17 },
18 responseError: function(rejection) { 18 responseError: function(rejection) {
19 if (rejection.status === 401) { 19 if (rejection.status === 401) {
20 if($location.path() != "/login"){ 20 if($location.path() != "/login"){
21 localStorage.clear(); 21 localStorage.clear();
22 window.location.reload(); 22 window.location.reload();
23 } 23 }
24 } 24 }
25 return $q.reject(rejection); 25 return $q.reject(rejection);
26 } 26 }
27 } 27 }
28 }]) 28 }])
29
30 .directive('fileModel', ['$parse', function ($parse) {
31 return {
32 restrict: 'A',
33 link: function(scope, element, attrs) {
34 var model = $parse(attrs.fileModel);
35 var modelSetter = model.assign;
36
37 element.bind('change', function(){
38 scope.$apply(function(){
39 modelSetter(scope, element[0].files[0]);
40 });
41 });
42 }
43 };
44 }])
29 45
30 .provider('myCSRF',[function(){ 46 .provider('myCSRF',[function(){
31 var headerName = 'X-CSRFToken'; 47 var headerName = 'X-CSRFToken';
32 var cookieName = 'csrftoken'; 48 var cookieName = 'csrftoken';
33 var allowedMethods = ['GET']; 49 var allowedMethods = ['GET'];
34 50
35 this.setHeaderName = function(n) { 51 this.setHeaderName = function(n) {
36 headerName = n; 52 headerName = n;
37 } 53 }
38 this.setCookieName = function(n) { 54 this.setCookieName = function(n) {
39 cookieName = n; 55 cookieName = n;
40 } 56 }
41 this.setAllowedMethods = function(n) { 57 this.setAllowedMethods = function(n) {
42 allowedMethods = n; 58 allowedMethods = n;
43 } 59 }
44 this.$get = ['$cookies', function($cookies){ 60 this.$get = ['$cookies', function($cookies){
45 return { 61 return {
46 'request': function(config) { 62 'request': function(config) {
47 if(allowedMethods.indexOf(config.method) === -1) { 63 if(allowedMethods.indexOf(config.method) === -1) {
48 // do something on success 64 // do something on success
49 config.headers[headerName] = $cookies[cookieName]; 65 config.headers[headerName] = $cookies[cookieName];
50 } 66 }
51 return config; 67 return config;
52 } 68 }
53 } 69 }
54 }]; 70 }];
55 }]) 71 }])
56 72
57 .config( 73 .config(
58 ['$locationProvider', '$stateProvider', '$urlRouterProvider', 74 ['$locationProvider', '$stateProvider', '$urlRouterProvider',
59 function($locationProvider, $stateProvider, $urlRouterProvider) { 75 function($locationProvider, $stateProvider, $urlRouterProvider) {
60 $locationProvider.hashPrefix('!'); 76 $locationProvider.hashPrefix('!');
61 // routes 77 // routes
62 $urlRouterProvider 78 $urlRouterProvider
63 .otherwise('/login'); 79 .otherwise('/login');
64 80
65 $stateProvider 81 $stateProvider
66 82
67 .state("app", { 83 .state("app", {
68 url: "", 84 url: "",
69 templateUrl: "partials/main/main.html", 85 templateUrl: "partials/main/main.html",
70 controller: "MainController", 86 controller: "MainController",
71 abstract: true 87 abstract: true
72 }) 88 })
73 89
74 .state("login", { 90 .state("login", {
75 url: "/login", 91 url: "/login",
76 templateUrl: "partials/login/login.html", 92 templateUrl: "partials/login/login.html",
77 controller: "LoginController" 93 controller: "LoginController"
78 }) 94 })
79 95
80 .state("app.customers", { 96 .state("app.customers", {
81 url: "/customers", 97 url: "/customers",
82 templateUrl: "partials/customers/customers.html", 98 templateUrl: "partials/customers/customers.html",
83 controller: "customersController", 99 controller: "customersController",
84 data: { 100 data: {
85 authorizedRoles: ["FBO"], 101 authorizedRoles: ["FBO"],
86 } 102 }
87 }) 103 })
88 104
89 .state("app.accountSetting", { 105 .state("app.accountSetting", {
90 url: "/accountSetting", 106 url: "/accountSetting",
91 templateUrl: "partials/accountSetting/accountSetting.html", 107 templateUrl: "partials/accountSetting/accountSetting.html",
92 controller: "AccountSettingController", 108 controller: "AccountSettingController",
93 data: { 109 data: {
94 authorizedRoles: ["FBO"], 110 authorizedRoles: ["FBO"],
95 } 111 }
96 }) 112 })
97 113
98 .state("app.ContactView", { 114 .state("app.ContactView", {
99 url: "/ContactView", 115 url: "/ContactView",
100 templateUrl: "partials/ContactView/ContactView.html", 116 templateUrl: "partials/ContactView/ContactView.html",
101 controller: "ContactViewController", 117 controller: "ContactViewController",
102 data: { 118 data: {
103 authorizedRoles: ["FBO"], 119 authorizedRoles: ["FBO"],
104 } 120 }
105 }) 121 })
106 .state("app.FuelVendors", { 122 .state("app.FuelVendors", {
107 url: "/FuelVendors", 123 url: "/FuelVendors",
108 templateUrl: "partials/FuelVendors/FuelVendors.html", 124 templateUrl: "partials/FuelVendors/FuelVendors.html",
109 controller: "FuelVendorsController", 125 controller: "FuelVendorsController",
110 data: { 126 data: {
111 authorizedRoles: ["FBO"], 127 authorizedRoles: ["FBO"],
112 } 128 }
113 }) 129 })
114 130
115 .state("app.analytics", { 131 .state("app.analytics", {
116 url: "/analytics", 132 url: "/analytics",
117 templateUrl: "partials/analytics/analytics.html", 133 templateUrl: "partials/analytics/analytics.html",
118 controller: "analyticsController", 134 controller: "analyticsController",
119 data: { 135 data: {
120 authorizedRoles: ["FBO"], 136 authorizedRoles: ["FBO"],
121 } 137 }
122 }) 138 })
123 139
124 .state("app.account", { 140 .state("app.account", {
125 url: "/account", 141 url: "/account",
126 templateUrl: "partials/account/account.html", 142 templateUrl: "partials/account/account.html",
127 controller: "accountController", 143 controller: "accountController",
128 data: { 144 data: {
129 authorizedRoles: ["FBO"], 145 authorizedRoles: ["FBO"],
130 } 146 }
131 }) 147 })
132 148
133 .state("app.dashboard", { 149 .state("app.dashboard", {
134 url: "/dashboard", 150 url: "/dashboard",
135 templateUrl: "partials/dashboard/dashboard.html", 151 templateUrl: "partials/dashboard/dashboard.html",
136 controller: "dashboardController", 152 controller: "dashboardController",
137 data: { 153 data: {
138 authorizedRoles: ["FBO"], 154 authorizedRoles: ["FBO"],
139 } 155 }
140 }) 156 })
141 157
142 .state("app.elements", { 158 .state("app.elements", {
143 url: "/elements", 159 url: "/elements",
144 templateUrl: "partials/elements/elements.html", 160 templateUrl: "partials/elements/elements.html",
145 controller: "elementsController", 161 controller: "elementsController",
146 data: { 162 data: {
147 authorizedRoles: ["FBO"], 163 authorizedRoles: ["FBO"],
148 } 164 }
149 }) 165 })
150 166
151 .state("app.error", { 167 .state("app.error", {
152 url: "/error", 168 url: "/error",
153 templateUrl: "partials/error/error.html", 169 templateUrl: "partials/error/error.html",
154 controller: "errorController" 170 controller: "errorController"
155 }) 171 })
156 172
157 .state("app.faq", { 173 .state("app.faq", {
158 url: "/faq", 174 url: "/faq",
159 templateUrl: "partials/faq/faq.html", 175 templateUrl: "partials/faq/faq.html",
160 controller: "faqController" 176 controller: "faqController"
161 }) 177 })
162 178
163 .state("app.forms", { 179 .state("app.forms", {
164 url: "/forms", 180 url: "/forms",
165 templateUrl: "partials/forms/forms.html", 181 templateUrl: "partials/forms/forms.html",
166 controller: "formsController", 182 controller: "formsController",
167 data: { 183 data: {
168 authorizedRoles: ["FBO"], 184 authorizedRoles: ["FBO"],
169 } 185 }
170 }) 186 })
171 187
172 .state("app.fuelManager", { 188 .state("app.fuelManager", {
173 url: "/fuelManager", 189 url: "/fuelManager",
174 templateUrl: "partials/fuelManager/fuelManager.html", 190 templateUrl: "partials/fuelManager/fuelManager.html",
175 controller: "fuelManagerController", 191 controller: "fuelManagerController",
176 data: { 192 data: {
177 authorizedRoles: ["FBO"], 193 authorizedRoles: ["FBO"],
178 } 194 }
179 }) 195 })
180 196
181 .state("app.pricing", { 197 .state("app.pricing", {
182 url: "/pricing", 198 url: "/pricing",
183 templateUrl: "partials/pricing/pricing.html", 199 templateUrl: "partials/pricing/pricing.html",
184 controller: "pricingController", 200 controller: "pricingController",
185 data: { 201 data: {
186 authorizedRoles: ["FBO"], 202 authorizedRoles: ["FBO"],
187 } 203 }
188 }) 204 })
189 205
190 .state("app.reports", { 206 .state("app.reports", {
191 url: "/reports", 207 url: "/reports",
192 templateUrl: "partials/reports/reports.html", 208 templateUrl: "partials/reports/reports.html",
193 controller: "reportsController", 209 controller: "reportsController",
194 data: { 210 data: {
195 authorizedRoles: ["FBO"], 211 authorizedRoles: ["FBO"],
196 } 212 }
197 }) 213 })
198 214
199 .state("app.scheduler", { 215 .state("app.scheduler", {
200 url: "/scheduler", 216 url: "/scheduler",
201 templateUrl: "partials/scheduler/scheduler.html", 217 templateUrl: "partials/scheduler/scheduler.html",
202 controller: "schedulerController", 218 controller: "schedulerController",
203 data: { 219 data: {
204 authorizedRoles: ["FBO"], 220 authorizedRoles: ["FBO"],
205 } 221 }
206 }) 222 })
207 .state("app.signup", { 223 .state("app.signup", {
208 url: "/signup", 224 url: "/signup",
209 templateUrl: "partials/signup/signup.html", 225 templateUrl: "partials/signup/signup.html",
210 controller: "signupController" 226 controller: "signupController"
211 }) 227 })
212 228
213 .state("app.updateFuelManager", { 229 .state("app.updateFuelManager", {
214 url: "/updateFuelManager", 230 url: "/updateFuelManager",
215 templateUrl: "partials/updateFuelManager/updateFuelManager.html", 231 templateUrl: "partials/updateFuelManager/updateFuelManager.html",
216 controller: "updateFuelManagerController", 232 controller: "updateFuelManagerController",
217 data: { 233 data: {
218 authorizedRoles: ["FBO"], 234 authorizedRoles: ["FBO"],
219 } 235 }
220 }) 236 })
221 237
222 .state("app.viewCompany", { 238 .state("app.viewCompany", {
223 url: "/viewCompany/:id", 239 url: "/viewCompany/:id",
224 templateUrl: "partials/viewCompany/viewCompany.html", 240 templateUrl: "partials/viewCompany/viewCompany.html",
225 controller: "viewCompanyController", 241 controller: "viewCompanyController",
226 data: { 242 data: {
227 authorizedRoles: ["FBO"], 243 authorizedRoles: ["FBO"],
228 } 244 }
229 }) 245 })
230 246
231 .state("app.viewFuelVendor", { 247 .state("app.viewFuelVendor", {
232 url: "/viewFuelVendor/:id", 248 url: "/viewFuelVendor/:id",
233 templateUrl: "partials/viewFuelVendor/viewFuelVendor.html", 249 templateUrl: "partials/viewFuelVendor/viewFuelVendor.html",
234 controller: "ViewFuelVendorController", 250 controller: "ViewFuelVendorController",
235 data: { 251 data: {
236 authorizedRoles: ["FBO"], 252 authorizedRoles: ["FBO"],
237 } 253 }
238 }) 254 })
239 255
240 .state("app.fuelOrders", { 256 .state("app.fuelOrders", {
241 url: "/fuelOrders", 257 url: "/fuelOrders",
242 templateUrl: "partials/fuelOrders/fuelOrders.html", 258 templateUrl: "partials/fuelOrders/fuelOrders.html",
243 controller: "fuelOrdersController", 259 controller: "fuelOrdersController",
244 data: { 260 data: {
245 authorizedRoles: ["FBO"], 261 authorizedRoles: ["FBO"],
246 } 262 }
247 }) 263 })
248 264
249 .state("app.DispatchFuel", { 265 .state("app.DispatchFuel", {
250 url: "/DispatchFuel", 266 url: "/DispatchFuel",
251 templateUrl: "partials/DispatchFuel/DispatchFuel.html", 267 templateUrl: "partials/DispatchFuel/DispatchFuel.html",
252 controller: "DispatchFuelController", 268 controller: "DispatchFuelController",
253 data: { 269 data: {
254 authorizedRoles: ["FBO"], 270 authorizedRoles: ["FBO"],
255 } 271 }
256 }) 272 })
257 273
258 .state("app.searchDispatchFuel", { 274 .state("app.searchDispatchFuel", {
259 url: "/searchDispatchFuel", 275 url: "/searchDispatchFuel",
260 templateUrl: "partials/searchDispatchFuel/searchDispatchFuel.html", 276 templateUrl: "partials/searchDispatchFuel/searchDispatchFuel.html",
261 controller: "searchDispatchFuelController", 277 controller: "searchDispatchFuelController",
262 data: { 278 data: {
263 authorizedRoles: ["FBO"], 279 authorizedRoles: ["FBO"],
264 } 280 }
265 }) 281 })
266 282
267 .state("app.Accept", { 283 .state("app.Accept", {
268 url: "/Accept", 284 url: "/Accept",
269 templateUrl: "partials/Accept/Accept.html", 285 templateUrl: "partials/Accept/Accept.html",
270 controller: "AcceptController", 286 controller: "AcceptController",
271 data: { 287 data: {
272 authorizedRoles: ["FBO"], 288 authorizedRoles: ["FBO"],
273 } 289 }
274 }) 290 })
275 291
276 .state("app.delselected", { 292 .state("app.delselected", {
277 url: "/delselected", 293 url: "/delselected",
278 templateUrl: "partials/delselected/delselected.html", 294 templateUrl: "partials/delselected/delselected.html",
279 controller: "delselectedController", 295 controller: "delselectedController",
280 data: { 296 data: {
281 authorizedRoles: ["FBO"], 297 authorizedRoles: ["FBO"],
282 } 298 }
283 }) 299 })
284 300
285 .state("app.pricingcontact", { 301 .state("app.pricingcontact", {
286 url: "/pricingcontact", 302 url: "/pricingcontact",
287 templateUrl: "partials/pricingcontact/pricingcontact.html", 303 templateUrl: "partials/pricingcontact/pricingcontact.html",
288 controller: "pricingcontactController", 304 controller: "pricingcontactController",
289 data: { 305 data: {
290 authorizedRoles: ["FBO"], 306 authorizedRoles: ["FBO"],
291 } 307 }
292 }) 308 })
293 309
294 .state("app.viewContact", { 310 .state("app.viewContact", {
295 url: "/viewContact/:id", 311 url: "/viewContact/:id",
296 templateUrl: "partials/viewcontact/viewcontact.html", 312 templateUrl: "partials/viewcontact/viewcontact.html",
297 controller: "viewcontactController", 313 controller: "viewcontactController",
298 data: { 314 data: {
299 authorizedRoles: ["FBO"], 315 authorizedRoles: ["FBO"],
300 } 316 }
301 }) 317 })
302 318
303 .state("app.viewVendorContact", { 319 .state("app.viewVendorContact", {
304 url: "/viewVendorContact/:id", 320 url: "/viewVendorContact/:id",
305 templateUrl: "partials/viewVendorContact/viewVendorContact.html", 321 templateUrl: "partials/viewVendorContact/viewVendorContact.html",
306 controller: "viewVendorContactController", 322 controller: "viewVendorContactController",
307 data: { 323 data: {
308 authorizedRoles: ["FBO"], 324 authorizedRoles: ["FBO"],
309 } 325 }
310 }) 326 })
311 327
312 .state("app.enterFuelOrder", { 328 .state("app.enterFuelOrder", {
313 url: "/enterFuelOrder", 329 url: "/enterFuelOrder",
314 templateUrl: "partials/enterFuelOrder/enterFuelOrder.html", 330 templateUrl: "partials/enterFuelOrder/enterFuelOrder.html",
315 controller: "enterFuelOrderController", 331 controller: "enterFuelOrderController",
316 data: { 332 data: {
317 authorizedRoles: ["FBO"], 333 authorizedRoles: ["FBO"],
318 } 334 }
319 }) 335 })
320 336
321 .state("app.flightDepDashboard", { 337 .state("app.flightDepDashboard", {
322 url: "/flightDepDashboard", 338 url: "/flightDepDashboard",
323 templateUrl: "partials/flightDepDashboard/flightDepDashboard.html", 339 templateUrl: "partials/flightDepDashboard/flightDepDashboard.html",
324 controller: "flightDepDashboardController" 340 controller: "flightDepDashboardController"
325 }) 341 })
326 342
327 .state("app.flightDepOrders", { 343 .state("app.flightDepOrders", {
328 url: "/flightDepOrders", 344 url: "/flightDepOrders",
329 templateUrl: "partials/flightDepOrders/flightDepOrders.html", 345 templateUrl: "partials/flightDepOrders/flightDepOrders.html",
330 controller: "flightDepOrdersController" 346 controller: "flightDepOrdersController"
331 }) 347 })
332 348
333 } 349 }
334 ]) 350 ])
335 351
336 .run(['$rootScope', '$state', 'LoginService', 'AUTH_EVENTS', function($rootScope, $state, LoginService, AUTH_EVENTS) { 352 .run(['$rootScope', '$state', 'LoginService', 'AUTH_EVENTS', function($rootScope, $state, LoginService, AUTH_EVENTS) {
337 $rootScope.$on('$stateChangeStart', function (event, next, nextParams, fromState) { 353 $rootScope.$on('$stateChangeStart', function (event, next, nextParams, fromState) {
338 $rootScope.currentUser = JSON.parse(window.localStorage.getItem('currentUser')); 354 $rootScope.currentUser = JSON.parse(window.localStorage.getItem('currentUser'));
339 355
340 LoginService.isAuthorized = function (authorizedRoles) { 356 LoginService.isAuthorized = function (authorizedRoles) {
341 if (!angular.isArray(authorizedRoles)) { 357 if (!angular.isArray(authorizedRoles)) {
342 authorizedRoles = [authorizedRoles]; 358 authorizedRoles = [authorizedRoles];
343 } 359 }
344 var userdata = JSON.parse(window.localStorage.getItem('currentUser')); 360 var userdata = JSON.parse(window.localStorage.getItem('currentUser'));
345 return (userdata? (authorizedRoles.indexOf(userdata.type) !== -1): false); 361 return (userdata? (authorizedRoles.indexOf(userdata.type) !== -1): false);
346 } 362 }
347 363
348 if ('data' in next && 'authorizedRoles' in next.data) { 364 if ('data' in next && 'authorizedRoles' in next.data) {
349 var authorizedRoles = next.data.authorizedRoles; 365 var authorizedRoles = next.data.authorizedRoles;
350 if (!LoginService.isAuthorized(authorizedRoles)) { 366 if (!LoginService.isAuthorized(authorizedRoles)) {
351 event.preventDefault(); 367 event.preventDefault();
352 if($state.current.name.length == 0) { 368 if($state.current.name.length == 0) {
353 $state.go('login') 369 $state.go('login')
354 } else { 370 } else {
355 $state.go($state.current, {}, {reload: true}); 371 $state.go($state.current, {}, {reload: true});
356 $rootScope.$broadcast(AUTH_EVENTS.notAuthorized); 372 $rootScope.$broadcast(AUTH_EVENTS.notAuthorized);
357 } 373 }
358 } 374 }
359 } 375 }
360 376
361 if (LoginService.isAuthenticated()) { 377 if (LoginService.isAuthenticated()) {
362 if (next.name == 'login') { 378 if (next.name == 'login') {
363 event.preventDefault(); 379 event.preventDefault();
364 $state.go('app.dashboard'); 380 $state.go('app.dashboard');
365 } 381 }
366 }else{ 382 }else{
367 // if (next.name == 'login') { 383 // if (next.name == 'login') {
368 // event.preventDefault(); 384 // event.preventDefault();
369 // $state.go('app.flightDepDashboard'); 385 // $state.go('app.flightDepDashboard');
370 // } 386 // }
371 387
372 388
373 } 389 }
374 }); 390 });
375 }]) 391 }])
376 392
377 393
378 .directive("datepicker",function(){ 394 .directive("datepicker",function(){
379 return { 395 return {
380 restrict:"A", 396 restrict:"A",
381 link:function(scope,el,attr){ 397 link:function(scope,el,attr){
382 el.datepicker(); 398 el.datepicker();
383 } 399 }
384 }; 400 };
385 }) 401 })
386 402
387 403
388 404
389 405
390 406
391 407
392 408