Merge "NG details view route should not be '/project/...'"
This commit is contained in:
commit
9dee6b3af3
@ -23,7 +23,8 @@
|
||||
'$q',
|
||||
'horizon.app.core.openstack-service-api.keystone',
|
||||
'horizon.app.core.openstack-service-api.policy',
|
||||
'horizon.app.core.openstack-service-api.settings'
|
||||
'horizon.app.core.openstack-service-api.settings',
|
||||
'horizon.app.core.detailRoute'
|
||||
];
|
||||
|
||||
/*
|
||||
@ -36,7 +37,7 @@
|
||||
* but do not need to be restricted to such use. Each exposed function
|
||||
* is documented below.
|
||||
*/
|
||||
function domainService($q, keystone, policy, settingsService) {
|
||||
function domainService($q, keystone, policy, settingsService, detailRoute) {
|
||||
return {
|
||||
getDetailsPath: getDetailsPath,
|
||||
getDomainPromise: getDomainPromise,
|
||||
@ -52,7 +53,7 @@
|
||||
* view.
|
||||
*/
|
||||
function getDetailsPath(item) {
|
||||
return 'project/ngdetails/OS::Keystone::Domain/' + item.id;
|
||||
return detailRoute + 'OS::Keystone::Domain/' + item.id;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -15,15 +15,16 @@
|
||||
"use strict";
|
||||
|
||||
describe('domain service', function() {
|
||||
var service, $scope;
|
||||
var service, $scope, detailRoute;
|
||||
beforeEach(module('horizon.dashboard.identity.domains'));
|
||||
beforeEach(inject(function($injector) {
|
||||
service = $injector.get('horizon.dashboard.identity.domains.service');
|
||||
detailRoute = $injector.get('horizon.app.core.detailRoute');
|
||||
}));
|
||||
|
||||
it("getDetailsPath creates urls using the item's ID", function() {
|
||||
var myItem = {id: "1234"};
|
||||
expect(service.getDetailsPath(myItem)).toBe('project/ngdetails/OS::Keystone::Domain/1234');
|
||||
expect(service.getDetailsPath(myItem)).toBe(detailRoute + 'OS::Keystone::Domain/1234');
|
||||
});
|
||||
|
||||
describe('listDomains', function() {
|
||||
|
@ -21,14 +21,15 @@
|
||||
|
||||
userService.$inject = [
|
||||
'$q',
|
||||
'horizon.app.core.openstack-service-api.keystone'
|
||||
'horizon.app.core.openstack-service-api.keystone',
|
||||
'horizon.app.core.detailRoute'
|
||||
];
|
||||
|
||||
/*
|
||||
* @ngdoc factory
|
||||
* @name horizon.dashboard.identity.users.service
|
||||
*/
|
||||
function userService($q, keystone) {
|
||||
function userService($q, keystone, detailRoute) {
|
||||
return {
|
||||
getDetailsPath: getDetailsPath,
|
||||
getUserPromise: getUserPromise,
|
||||
@ -43,7 +44,7 @@
|
||||
* Given an user object, returns the relative path to the details view.
|
||||
*/
|
||||
function getDetailsPath(item) {
|
||||
return 'project/ngdetails/OS::Keystone::User/' + item.id;
|
||||
return detailRoute + 'OS::Keystone::User/' + item.id;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -17,19 +17,20 @@
|
||||
"use strict";
|
||||
|
||||
describe('Identity user service', function() {
|
||||
var service, keystone, scope, $q;
|
||||
var service, keystone, scope, $q, detailRoute;
|
||||
|
||||
beforeEach(module('horizon.dashboard.identity.users'));
|
||||
beforeEach(inject(function($injector, _$q_) {
|
||||
service = $injector.get('horizon.dashboard.identity.users.service');
|
||||
keystone = $injector.get('horizon.app.core.openstack-service-api.keystone');
|
||||
detailRoute = $injector.get('horizon.app.core.detailRoute');
|
||||
scope = $injector.get('$rootScope').$new();
|
||||
$q = _$q_;
|
||||
}));
|
||||
|
||||
it("getDetailsPath creates proper url", function() {
|
||||
var item = {id: 614};
|
||||
expect(service.getDetailsPath(item)).toBe('project/ngdetails/OS::Keystone::User/614');
|
||||
expect(service.getDetailsPath(item)).toBe(detailRoute + 'OS::Keystone::User/614');
|
||||
});
|
||||
|
||||
describe('getUsersPromise', function() {
|
||||
|
32
openstack_dashboard/static/app/core/core-constants.module.js
Normal file
32
openstack_dashboard/static/app/core/core-constants.module.js
Normal file
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* (c) Copyright 2016 IBM Corp.
|
||||
*
|
||||
* 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';
|
||||
|
||||
/**
|
||||
* @ngdoc overview
|
||||
* @name horizon.app.core.constants
|
||||
* @description
|
||||
*
|
||||
* # horizon.app.core.constants
|
||||
*
|
||||
* This module hosts constants used by configuration blocks.
|
||||
*/
|
||||
angular
|
||||
.module('horizon.app.core.constants', [])
|
||||
.constant('horizon.app.core.detailRoute', 'ngdetails/');
|
||||
|
||||
})();
|
@ -32,6 +32,7 @@
|
||||
angular
|
||||
.module('horizon.app.core', [
|
||||
'horizon.app.core.conf',
|
||||
'horizon.app.core.constants',
|
||||
'horizon.app.core.cloud-services',
|
||||
'horizon.app.core.flavors',
|
||||
'horizon.app.core.images',
|
||||
@ -47,13 +48,19 @@
|
||||
// becomes available. For now there is no volumes module.
|
||||
.constant('horizon.app.core.volumes.resourceType', VOLUME_RESOURCE_TYPE);
|
||||
|
||||
config.$inject = ['$provide', '$windowProvider', '$routeProvider'];
|
||||
config.$inject = [
|
||||
'$provide',
|
||||
'$windowProvider',
|
||||
'$routeProvider',
|
||||
'horizon.app.core.detailRoute'
|
||||
];
|
||||
|
||||
function config($provide, $windowProvider, $routeProvider) {
|
||||
function config($provide, $windowProvider, $routeProvider, detailRoute) {
|
||||
var path = $windowProvider.$get().STATIC_URL + 'app/core/';
|
||||
$provide.constant('horizon.app.core.basePath', path);
|
||||
|
||||
$routeProvider
|
||||
.when('/project/ngdetails/:type/:path*', {
|
||||
.when('/' + detailRoute + ':type/:path*', {
|
||||
templateUrl: $windowProvider.$get().STATIC_URL +
|
||||
'framework/widgets/details/routed-details-view.html'
|
||||
});
|
||||
|
@ -277,7 +277,8 @@
|
||||
config.$inject = [
|
||||
'$provide',
|
||||
'$windowProvider',
|
||||
'$routeProvider'
|
||||
'$routeProvider',
|
||||
'horizon.app.core.detailRoute'
|
||||
];
|
||||
|
||||
/**
|
||||
@ -288,7 +289,7 @@
|
||||
* @description Routes used by this module.
|
||||
* @returns {undefined} Returns nothing
|
||||
*/
|
||||
function config($provide, $windowProvider, $routeProvider) {
|
||||
function config($provide, $windowProvider, $routeProvider, detailRoute) {
|
||||
var path = $windowProvider.$get().STATIC_URL + 'app/core/images/';
|
||||
$provide.constant('horizon.app.core.images.basePath', path);
|
||||
|
||||
@ -309,7 +310,7 @@
|
||||
});
|
||||
|
||||
function goToAngularDetails(params) {
|
||||
return 'project/ngdetails/OS::Glance::Image/' + params.id;
|
||||
return detailRoute + 'OS::Glance::Image/' + params.id;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,8 @@
|
||||
'$filter',
|
||||
'horizon.app.core.openstack-service-api.glance',
|
||||
'horizon.app.core.openstack-service-api.userSession',
|
||||
'horizon.app.core.images.transitional-statuses'
|
||||
'horizon.app.core.images.transitional-statuses',
|
||||
'horizon.app.core.detailRoute'
|
||||
];
|
||||
|
||||
/*
|
||||
@ -36,7 +37,7 @@
|
||||
* but do not need to be restricted to such use. Each exposed function
|
||||
* is documented below.
|
||||
*/
|
||||
function imageService($filter, glance, userSession, transitionalStatuses) {
|
||||
function imageService($filter, glance, userSession, transitionalStatuses, detailRoute) {
|
||||
var version;
|
||||
|
||||
return {
|
||||
@ -56,7 +57,7 @@
|
||||
* view.
|
||||
*/
|
||||
function getDetailsPath(item) {
|
||||
return 'project/ngdetails/OS::Glance::Image/' + item.id;
|
||||
return detailRoute + 'OS::Glance::Image/' + item.id;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -17,15 +17,16 @@
|
||||
"use strict";
|
||||
|
||||
describe('images service', function() {
|
||||
var service;
|
||||
var service, detailRoute;
|
||||
beforeEach(module('horizon.app.core.images'));
|
||||
beforeEach(inject(function($injector) {
|
||||
service = $injector.get('horizon.app.core.images.service');
|
||||
detailRoute = $injector.get('horizon.app.core.detailRoute');
|
||||
}));
|
||||
|
||||
it("getDetailsPath creates urls using the item's ID", function() {
|
||||
var myItem = {id: "1234"};
|
||||
expect(service.getDetailsPath(myItem)).toBe('project/ngdetails/OS::Glance::Image/1234');
|
||||
expect(service.getDetailsPath(myItem)).toBe(detailRoute + 'OS::Glance::Image/1234');
|
||||
});
|
||||
|
||||
describe('imageType', function() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user