blob: a7ef462ecbe08c2817135379dff0db421a9e2cd0 [file] [log] [blame]
/*
* Copyright 2015 Open Networking Laboratory
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
(function () {
'use strict';
var modules = [
'ngRoute',
'ngResource',
'ngAnimate',
'ngCookies',
'cordRest',
'cordMast',
'cordFoot',
'cordLogin',
'cordHome',
'cordUser',
'cordBundle'
];
angular.module('cordGui', modules)
.config(function ($routeProvider, $httpProvider) {
$httpProvider.interceptors.push('SetCSRFToken');
$routeProvider
.when('/login', {
controller: 'CordLoginCtrl',
controllerAs: 'ctrl',
templateUrl: 'app/view/login/login.html'
})
.when('/home', {
controller: 'CordHomeCtrl',
controllerAs: 'ctrl',
templateUrl: 'app/view/home/home.html'
})
.when('/user', {
controller: 'CordUserCtrl',
controllerAs: 'ctrl',
templateUrl: 'app/view/user/user.html'
})
.when('/bundle', {
controller: 'CordBundleCtrl',
controllerAs: 'ctrl',
templateUrl: 'app/view/bundle/bundle.html'
})
.otherwise({
redirectTo: '/login'
});
})
.controller('CordCtrl', function ($scope, $location, cordConfig) {
$scope.shared = {
url: 'http://' + $location.host() + ':' + $location.port()
};
$scope.shared.userActivity = cordConfig.userActivity;
$scope.page = {};
})
.constant('cordConfig', {
url: '',
userActivity: {}, //check if really needed
activeBundle: 1,
bundles: [
{
"id": "family",
"name": "Family Bundle",
"desc": "Description for family bundle and the amazing thing it can do to manage your house device Parent Control.",
"functions": [
{
"id": "internet",
"name": "Internet",
"desc": "Basic internet connectivity.",
"params": {}
},
{
"id": "firewall",
"name": "Firewall",
"desc": "Normal firewall protection.",
"params": {}
},
{
"id": "url_filter",
"name": "Parental Control",
"desc": "Variable levels of URL filtering.",
"params": {
"level": "PG",
"levels": [ "PG", "PG_13", "R" ]
}
}
]
},
{
"id": "basic",
"name": "Basic Bundle",
"desc": "Description for basic bundle",
"functions": [
{
"id": "internet",
"name": "Internet",
"desc": "Basic internet connectivity.",
"params": {}
},
{
"id": "firewall",
"name": "Firewall",
"desc": "Normal firewall protection.",
"params": {}
}
]
}
]
})
.run(function($rootScope, $location, cordConfig, User){
cordConfig.url = 'http://' + $location.host() + ':' + $location.port();
// basic authentication
$rootScope.$on('$routeChangeStart', function(next, current) {
if(!User.isLoggedIn()){
$location.path('/login');
}
});
});
}());