/**
* @license Ulakbus-UI
* Copyright (C) 2015 ZetaOps Inc.
*
* This file is licensed under the GNU General Public License v3
* (GPLv3). See LICENSE.txt for details.
*/
'use strict';
/**
* @ngdoc module
* @name ulakbus
* @module ulakbus
* @description Ulakbus module is the main module of ulakbus-ui. All application-wide configurations and definings
* of constants handled in this module. \r
* There are two scripts on `app/` root; `main.js` and `app.js`. And `main.html`, `index.html`.
* `main.*` files are contains both production and development requirements or configurations/necessities for
* relative environment. Tagged with `// \@if NODE_ENV='PRODUCTION'` in commented line and configured in
* Gruntfile.js with package `preprocess` and `env`, related grunt command generates index.* for given file.
*
*/
angular.module(
'ulakbus', [
'ui.bootstrap',
'angular-loading-bar',
'ngRoute',
'ngSanitize',
'ngCookies',
'ulakbus.formService',
'ulakbus.dashboard',
'ulakbus.auth',
'ulakbus.error_pages',
'ulakbus.crud',
'ulakbus.debug',
'ulakbus.devSettings',
'ulakbus.version',
//'schemaForm',
'gettext',
'ulakbus.uitemplates'
])
/**
* @memberof ulakbus
* @ngdoc constant
* @name RESTURL
* @description RESTURL is the url of rest api to talk.
* Based on the environment it changes from dev to prod
*/
.constant("RESTURL", (function () {
// todo: below backendurl definition is for development purpose and will be deleted
var backendurl = location.href.indexOf('nightly') > -1 ? "//nightly.api.ulakbus.net/" : "//api.ulakbus.net/";
if (document.cookie.indexOf("backendurl") > -1) {
var cookiearray = document.cookie.split(';');
angular.forEach(cookiearray, function (item) {
if (item.indexOf("backendurl") > -1) {
backendurl = item.split('=')[1];
}
});
}
if (location.href.indexOf("backendurl") > -1) {
var urlfromqstr = location.href.split('?')[1].split('=')[1];
backendurl = decodeURIComponent(urlfromqstr.replace(/\+/g, " "));
document.cookie = "backendurl=" + backendurl;
window.location.href = window.location.href.split('?')[0];
}
return {url: backendurl};
})()).
/**
* USER_ROLES and AUTH_EVENTS are constant for auth functions
*/
constant("USER_ROLES", {
all: "*",
admin: "admin",
student: "student",
staff: "staff",
dean: "dean"
})
.constant('AUTH_EVENTS', {
loginSuccess: 'auth-login-success',
loginFailed: 'auth-login-failed',
logoutSuccess: 'auth-logout-success',
sessionTimeout: 'auth-session-timeout',
notAuthenticated: 'auth-not-authenticated',
notAuthorized: 'auth-not-authorized'
})
.config(function ($logProvider) {
$logProvider.debugEnabled(true);
});