2 * Copyright (c) 2015 Inocybe Technologies and others. All rights reserved.
\r
4 * This program and the accompanying materials are made available under the
\r
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
\r
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
\r
9 define(['angularAMD', 'app/routingConfig', 'Restangular', 'angular-translate', 'angular-translate-loader-static-files', 'app/core/core.services', 'common/config/env.module'], function(ng) {
\r
12 var ovsdb = angular.module('app.ovsdb', ['app.core', 'pascalprecht.translate', 'ui.router.state', 'restangular', 'config']);
\r
13 ovsdb.register = ovsdb; // for unit test
\r
15 // Filter to access neutron opendaylight.
\r
16 // This factory need to be to avoid circular dependencies.
\r
17 ovsdb.factory('NeutronInterceptor', ['$q', '$window', 'Base64', function($q, $window, Base64) {
\r
19 request : function(config) {
\r
20 // Use AAA basic authentication
\r
21 if (config.url.indexOf('controller/nb/v2') != -1) {
\r
22 config.headers = config.headers || {};
\r
23 if ($window.sessionStorage.odlUser && $window.sessionStorage.odlPass) {
\r
24 var encoded = Base64.encode('admin' + ':' + 'admin');
\r
25 config.headers.Authorization = 'Basic ' + encoded;
\r
30 response : function(response) {
\r
31 return response || $q.when(response);
\r
36 ovsdb.config(function($stateProvider, $compileProvider, $controllerProvider, $provide, $httpProvider, NavHelperProvider) {
\r
38 controller : $controllerProvider.register,
\r
39 directive : $compileProvider.directive,
\r
40 factory : $provide.factory,
\r
41 service : $provide.service,
\r
42 constant: $provide.constant
\r
46 NavHelperProvider.addControllerUrl('src/app/ovsdb/ovsdb.controller.js');
\r
47 NavHelperProvider.addToMenu('Ovsdb', {
\r
48 "link" : "#/ovsdb/index",
\r
49 "active" : "main.ovsdb.*",
\r
50 "title" : "Network Virtualization",
\r
51 "icon" : "icon-sitemap",
\r
53 "title" : "NetWork Virtualization",
\r
54 "description" : "OVSDB"
\r
58 var access = routingConfig.accessLevels;
\r
59 $stateProvider.state('main.ovsdb', {
\r
64 templateUrl: 'src/app/ovsdb/views/root.tpl.html',
\r
65 controller: 'RootOvsdbCtrl'
\r
70 $stateProvider.state('main.ovsdb.index', {
\r
72 access: access.admin,
\r
75 templateUrl: 'src/app/ovsdb/views/index.tpl.html',
\r
76 controller: 'OvsdbCtrl'
\r
81 $httpProvider.interceptors.push('NeutronInterceptor');
\r