diff --git a/awx/ui/static/js/app.js b/awx/ui/static/js/app.js
index f5ca57ab69..0a4206d2c1 100644
--- a/awx/ui/static/js/app.js
+++ b/awx/ui/static/js/app.js
@@ -198,6 +198,7 @@ var tower = angular.module('Tower', [
}).
when('/portal', {
+ name: 'portal',
templateUrl: urlPrefix + 'partials/portal.html',
controller: PortalController,
resolve: {
@@ -219,6 +220,7 @@ var tower = angular.module('Tower', [
}).
when('/jobs/:id/stdout', {
+ name: 'jobsStdout',
templateUrl: urlPrefix + 'partials/job_stdout.html',
controller: JobStdoutController,
resolve: {
@@ -229,6 +231,7 @@ var tower = angular.module('Tower', [
}).
when('/ad_hoc_commands/:id', {
+ name: 'adHocJobStdout',
templateUrl: urlPrefix + 'partials/job_stdout_adhoc.html',
controller: JobStdoutController,
resolve: {
@@ -239,6 +242,7 @@ var tower = angular.module('Tower', [
}).
when('/job_templates', {
+ name: 'jobTemplates',
templateUrl: urlPrefix + 'partials/job_templates.html',
controller: JobTemplatesList,
resolve: {
@@ -249,6 +253,7 @@ var tower = angular.module('Tower', [
}).
when('/job_templates/add', {
+ name: 'jobTemplateAdd',
templateUrl: urlPrefix + 'partials/job_templates.html',
controller: JobTemplatesAdd,
resolve: {
@@ -259,6 +264,7 @@ var tower = angular.module('Tower', [
}).
when('/job_templates/:template_id', {
+ name: 'jobTemplateEdit',
templateUrl: urlPrefix + 'partials/job_templates.html',
controller: JobTemplatesEdit,
resolve: {
@@ -269,6 +275,7 @@ var tower = angular.module('Tower', [
}).
when('/job_templates/:id/schedules', {
+ name: 'jobTemplateSchedules',
templateUrl: urlPrefix + 'partials/schedule_detail.html',
controller: ScheduleEditController,
resolve: {
@@ -279,6 +286,7 @@ var tower = angular.module('Tower', [
}).
when('/projects', {
+ name: 'projects',
templateUrl: urlPrefix + 'partials/projects.html',
controller: ProjectsList,
resolve: {
@@ -289,6 +297,7 @@ var tower = angular.module('Tower', [
}).
when('/projects/add', {
+ name: 'projectAdd',
templateUrl: urlPrefix + 'partials/projects.html',
controller: ProjectsAdd,
resolve: {
@@ -299,6 +308,7 @@ var tower = angular.module('Tower', [
}).
when('/projects/:id', {
+ name: 'projectEdit',
templateUrl: urlPrefix + 'partials/projects.html',
controller: ProjectsEdit,
resolve: {
@@ -309,6 +319,7 @@ var tower = angular.module('Tower', [
}).
when('/projects/:id/schedules', {
+ name: 'projectSchedules',
templateUrl: urlPrefix + 'partials/schedule_detail.html',
controller: ScheduleEditController,
resolve: {
@@ -319,6 +330,7 @@ var tower = angular.module('Tower', [
}).
when('/projects/:project_id/organizations', {
+ name: 'projectOrganizations',
templateUrl: urlPrefix + 'partials/projects.html',
controller: OrganizationsList,
resolve: {
@@ -329,6 +341,7 @@ var tower = angular.module('Tower', [
}).
when('/projects/:project_id/organizations/add', {
+ name: 'projectOrganizationAdd',
templateUrl: urlPrefix + 'partials/projects.html',
controller: OrganizationsAdd,
resolve: {
@@ -339,6 +352,7 @@ var tower = angular.module('Tower', [
}).
when('/inventories', {
+ name: 'inventories',
templateUrl: urlPrefix + 'partials/inventories.html',
controller: InventoriesList,
resolve: {
@@ -349,6 +363,7 @@ var tower = angular.module('Tower', [
}).
when('/inventories/add', {
+ name: 'inventoryAdd',
templateUrl: urlPrefix + 'partials/inventories.html',
controller: InventoriesAdd,
resolve: {
@@ -359,6 +374,7 @@ var tower = angular.module('Tower', [
}).
when('/inventories/:inventory_id', {
+ name: 'inventoryEdit',
templateUrl: urlPrefix + 'partials/inventories.html',
controller: InventoriesEdit,
resolve: {
@@ -369,6 +385,7 @@ var tower = angular.module('Tower', [
}).
when('/inventories/:inventory_id/job_templates/add', {
+ name: 'inventoryJobTemplateAdd',
templateUrl: urlPrefix + 'partials/job_templates.html',
controller: JobTemplatesAdd,
resolve: {
@@ -379,6 +396,7 @@ var tower = angular.module('Tower', [
}).
when('/inventories/:inventory_id/job_templates/:template_id', {
+ name: 'inventoryJobTemplateEdit',
templateUrl: urlPrefix + 'partials/job_templates.html',
controller: JobTemplatesEdit,
resolve: {
@@ -389,6 +407,7 @@ var tower = angular.module('Tower', [
}).
when('/inventories/:inventory_id/manage', {
+ name: 'inventoryManage',
templateUrl: urlPrefix + 'partials/inventory-manage.html',
controller: InventoriesManage,
resolve: {
@@ -399,6 +418,7 @@ var tower = angular.module('Tower', [
}).
when('/inventories/:inventory_id/adhoc', {
+ name: 'inventoryAdhoc',
templateUrl: urlPrefix + 'partials/adhoc.html',
controller: AdhocCtrl,
resolve: {
@@ -409,6 +429,7 @@ var tower = angular.module('Tower', [
}).
when('/organizations', {
+ name: 'organizations',
templateUrl: urlPrefix + 'partials/organizations.html',
controller: OrganizationsList,
resolve: {
@@ -419,6 +440,7 @@ var tower = angular.module('Tower', [
}).
when('/organizations/add', {
+ name: 'organizationAdd',
templateUrl: urlPrefix + 'partials/organizations.html',
controller: OrganizationsAdd,
resolve: {
@@ -429,6 +451,7 @@ var tower = angular.module('Tower', [
}).
when('/organizations/:organization_id', {
+ name: 'organizationEdit',
templateUrl: urlPrefix + 'partials/organizations.html',
controller: OrganizationsEdit,
resolve: {
@@ -439,6 +462,7 @@ var tower = angular.module('Tower', [
}).
when('/organizations/:organization_id/admins', {
+ name: 'organizationAdmins',
templateUrl: urlPrefix + 'partials/organizations.html',
controller: AdminsList,
resolve: {
@@ -449,6 +473,7 @@ var tower = angular.module('Tower', [
}).
when('/organizations/:organization_id/users', {
+ name: 'organizationUsers',
templateUrl: urlPrefix + 'partials/users.html',
controller: UsersList,
resolve: {
@@ -459,6 +484,7 @@ var tower = angular.module('Tower', [
}).
when('/organizations/:organization_id/users/add', {
+ name: 'organizationUserAdd',
templateUrl: urlPrefix + 'partials/users.html',
controller: UsersAdd,
resolve: {
@@ -469,6 +495,7 @@ var tower = angular.module('Tower', [
}).
when('/organizations/:organization_id/users/:user_id', {
+ name: 'organizationUserEdit',
templateUrl: urlPrefix + 'partials/users.html',
controller: UsersEdit,
resolve: {
@@ -479,6 +506,7 @@ var tower = angular.module('Tower', [
}).
when('/teams', {
+ name: 'teams',
templateUrl: urlPrefix + 'partials/teams.html',
controller: TeamsList,
resolve: {
@@ -489,6 +517,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/add', {
+ name: 'teamsAdd',
templateUrl: urlPrefix + 'partials/teams.html',
controller: TeamsAdd,
resolve: {
@@ -499,6 +528,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id', {
+ name: 'teamEdit',
templateUrl: urlPrefix + 'partials/teams.html',
controller: TeamsEdit,
resolve: {
@@ -509,6 +539,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id/permissions/add', {
+ name: 'teamPermissionAdd',
templateUrl: urlPrefix + 'partials/teams.html',
controller: PermissionsAdd,
resolve: {
@@ -519,6 +550,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id/permissions', {
+ name: 'teamPermissions',
templateUrl: urlPrefix + 'partials/teams.html',
controller: PermissionsList,
resolve: {
@@ -529,6 +561,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id/permissions/:permission_id', {
+ name: 'teamPermissionEdit',
templateUrl: urlPrefix + 'partials/teams.html',
controller: PermissionsEdit,
resolve: {
@@ -539,6 +572,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id/users', {
+ name: 'teamUsers',
templateUrl: urlPrefix + 'partials/teams.html',
controller: UsersList,
resolve: {
@@ -549,6 +583,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id/users/:user_id', {
+ name: 'teamUserEdit',
templateUrl: urlPrefix + 'partials/teams.html',
controller: UsersEdit,
resolve: {
@@ -559,6 +594,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id/projects', {
+ name: 'teamProjects',
templateUrl: urlPrefix + 'partials/teams.html',
controller: ProjectsList,
resolve: {
@@ -569,6 +605,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id/projects/add', {
+ name: 'teamProjectAdd',
templateUrl: urlPrefix + 'partials/teams.html',
controller: ProjectsAdd,
resolve: {
@@ -579,6 +616,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id/projects/:project_id', {
+ name: 'teamProjectEdit',
templateUrl: urlPrefix + 'partials/teams.html',
controller: ProjectsEdit,
resolve: {
@@ -589,6 +627,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id/credentials', {
+ name: 'teamCredentials',
templateUrl: urlPrefix + 'partials/teams.html',
controller: CredentialsList,
resolve: {
@@ -599,6 +638,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id/credentials/add', {
+ name: 'teamCredentialAdd',
templateUrl: urlPrefix + 'partials/teams.html',
controller: CredentialsAdd,
resolve: {
@@ -609,6 +649,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:team_id/credentials/:credential_id', {
+ name: 'teamCredentialEdit',
templateUrl: urlPrefix + 'partials/teams.html',
controller: CredentialsEdit,
resolve: {
@@ -619,6 +660,7 @@ var tower = angular.module('Tower', [
}).
when('/credentials', {
+ name: 'credentials',
templateUrl: urlPrefix + 'partials/credentials.html',
controller: CredentialsList,
resolve: {
@@ -629,6 +671,7 @@ var tower = angular.module('Tower', [
}).
when('/credentials/add', {
+ name: 'credentialAdd',
templateUrl: urlPrefix + 'partials/credentials.html',
controller: CredentialsAdd,
resolve: {
@@ -639,6 +682,7 @@ var tower = angular.module('Tower', [
}).
when('/credentials/:credential_id', {
+ name: 'credentialEdit',
templateUrl: urlPrefix + 'partials/credentials.html',
controller: CredentialsEdit,
resolve: {
@@ -649,6 +693,7 @@ var tower = angular.module('Tower', [
}).
when('/users', {
+ name: 'users',
templateUrl: urlPrefix + 'partials/users.html',
controller: UsersList,
resolve: {
@@ -659,6 +704,7 @@ var tower = angular.module('Tower', [
}).
when('/users/add', {
+ name: 'userAdd',
templateUrl: urlPrefix + 'partials/users.html',
controller: UsersAdd,
resolve: {
@@ -669,6 +715,7 @@ var tower = angular.module('Tower', [
}).
when('/users/:user_id', {
+ name: 'userEdit',
templateUrl: urlPrefix + 'partials/users.html',
controller: UsersEdit,
resolve: {
@@ -679,6 +726,7 @@ var tower = angular.module('Tower', [
}).
when('/users/:user_id/credentials', {
+ name: 'userCredentials',
templateUrl: urlPrefix + 'partials/users.html',
controller: CredentialsList,
resolve: {
@@ -689,6 +737,7 @@ var tower = angular.module('Tower', [
}).
when('/users/:user_id/permissions/add', {
+ name: 'userPermissionAdd',
templateUrl: urlPrefix + 'partials/users.html',
controller: PermissionsAdd,
resolve: {
@@ -699,6 +748,7 @@ var tower = angular.module('Tower', [
}).
when('/users/:user_id/permissions', {
+ name: 'userPermissions',
templateUrl: urlPrefix + 'partials/users.html',
controller: PermissionsList,
resolve: {
@@ -709,6 +759,7 @@ var tower = angular.module('Tower', [
}).
when('/users/:user_id/permissions/:permission_id', {
+ name: 'userPermissionEdit',
templateUrl: urlPrefix + 'partials/users.html',
controller: PermissionsEdit,
resolve: {
@@ -719,6 +770,7 @@ var tower = angular.module('Tower', [
}).
when('/users/:user_id/credentials/add', {
+ name: 'userCredentialAdd',
templateUrl: urlPrefix + 'partials/teams.html',
controller: CredentialsAdd,
resolve: {
@@ -729,6 +781,7 @@ var tower = angular.module('Tower', [
}).
when('/teams/:user_id/credentials/:credential_id', {
+ name: 'teamUserCredentialEdit',
templateUrl: urlPrefix + 'partials/teams.html',
controller: CredentialsEdit,
resolve: {
@@ -739,11 +792,13 @@ var tower = angular.module('Tower', [
}).
when('/login', {
+ name: 'signIn',
templateUrl: urlPrefix + 'partials/blank.html',
controller: Authenticate
}).
when('/logout', {
+ name: 'signOut',
templateUrl: urlPrefix + 'partials/blank.html',
controller: Authenticate,
resolve: {
@@ -754,6 +809,7 @@ var tower = angular.module('Tower', [
}).
when('/home', {
+ name: 'dashboard',
templateUrl: urlPrefix + 'partials/home.html',
controller: Home,
resolve: {
@@ -768,6 +824,7 @@ var tower = angular.module('Tower', [
}).
when('/home/groups', {
+ name: 'dashboardGroups',
templateUrl: urlPrefix + 'partials/subhome.html',
controller: HomeGroups,
resolve: {
@@ -778,6 +835,7 @@ var tower = angular.module('Tower', [
}).
when('/home/hosts', {
+ name: 'dashboardHosts',
templateUrl: urlPrefix + 'partials/subhome.html',
controller: HomeHosts,
resolve: {
@@ -788,6 +846,7 @@ var tower = angular.module('Tower', [
}).
when('/sockets', {
+ name: 'sockets',
templateUrl: urlPrefix + 'partials/sockets.html',
controller: SocketsController
}).
diff --git a/awx/ui/static/js/shared/route-extensions/link-to.directive.js b/awx/ui/static/js/shared/route-extensions/link-to.directive.js
index b79ffaef99..5528717abd 100644
--- a/awx/ui/static/js/shared/route-extensions/link-to.directive.js
+++ b/awx/ui/static/js/shared/route-extensions/link-to.directive.js
@@ -1,3 +1,5 @@
+/* jshint unused: vars */
+
import {lookupRouteUrl} from './lookup-route-url';
/**
@@ -37,9 +39,9 @@ import {lookupRouteUrl} from './lookup-route-url';
title: 'Featured',
body: 'This post is featured because it is awesome'
};">
-
+
{{featuredPost.title}}
-
+
@@ -47,20 +49,19 @@ import {lookupRouteUrl} from './lookup-route-url';
*/
export default
[ '$route',
+ '$location',
'transitionTo',
- function($routeProvider, transitionTo) {
+ function($routeProvider, $location, transitionTo) {
+
return {
- restrict: 'E',
- transclude: true,
- template: '',
+ restrict: 'A',
scope: {
- routeName: '@route',
+ routeName: '@linkTo',
model: '&'
},
- link: function(scope, element) {
-
+ link: function (scope, element, attrs) {
var model = scope.$eval(scope.model);
- scope.url = lookupRouteUrl(scope.routeName, $routeProvider.routes, model);
+ scope.url = lookupRouteUrl(scope.routeName, $routeProvider.routes, model, $location.$$html5);
element.find('[data-transition-to]').on('click', function(e) {
e.stopPropagation();
@@ -68,6 +69,7 @@ export default
transitionTo(scope.routeName, model);
});
+ element.attr('href', scope.url);
}
};
}
diff --git a/awx/ui/static/js/shared/route-extensions/lookup-route-url.js b/awx/ui/static/js/shared/route-extensions/lookup-route-url.js
index 54e505a2ae..e2b0b8ffd5 100644
--- a/awx/ui/static/js/shared/route-extensions/lookup-route-url.js
+++ b/awx/ui/static/js/shared/route-extensions/lookup-route-url.js
@@ -1,4 +1,4 @@
-export function lookupRouteUrl(name, routes, models) {
+export function lookupRouteUrl(name, routes, models, html5Mode) {
var route = _.find(routes, {name: name});
if (angular.isUndefined(route)) {
@@ -39,5 +39,9 @@ export function lookupRouteUrl(name, routes, models) {
}
+ if (!html5Mode) {
+ routeUrl = '#' + routeUrl;
+ }
+
return routeUrl;
}