From 055b8bb708b6b914c3e6fb5def4849effce7ab19 Mon Sep 17 00:00:00 2001 From: Adam Coldrick Date: Tue, 27 Feb 2018 12:00:53 +0000 Subject: [PATCH] Support project name in project detail URLs This commit adds support for navigating to a URL like https://storyboard.openstack.org/#!/project/openstack-infra/storyboard in order to go to the StoryBoard project view. There are some caveats, for a project named `list` or `search` this will not work correctly. Change-Id: Ia6b90e630c57b46abbe925706679efc5c6afcb27 Story: 52 Story: 107 Task: 67 Task: 165 --- .../projects/controller/project_detail_controller.js | 12 ++++++++++-- src/app/projects/module.js | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/app/projects/controller/project_detail_controller.js b/src/app/projects/controller/project_detail_controller.js index ba27a409..33cb4ec7 100644 --- a/src/app/projects/controller/project_detail_controller.js +++ b/src/app/projects/controller/project_detail_controller.js @@ -34,8 +34,16 @@ angular.module('sb.projects').controller('ProjectDetailController', // Parse the ID var id = $stateParams.hasOwnProperty('id') ? - parseInt($stateParams.id, 10) : - null; + $stateParams.id : null; + + if (!isNaN(id)) { + id = parseInt(id, 10); + } + + if (id === null) { + $state.go('sb.index'); + return; + } /** * UI flag for when we're initially loading the view. diff --git a/src/app/projects/module.js b/src/app/projects/module.js index 2ffe1224..0e6a9f3c 100644 --- a/src/app/projects/module.js +++ b/src/app/projects/module.js @@ -44,7 +44,7 @@ angular.module('sb.projects', controller: 'ProjectListController' }) .state('sb.project.detail', { - url: '/{id:[0-9]+}', + url: '/{id:any}', templateUrl: 'app/projects/template/detail.html', controller: 'ProjectDetailController' });