diff --git a/static/js/pages/new-repo.js b/static/js/pages/new-repo.js index 2e532ab9b..e4843afa7 100644 --- a/static/js/pages/new-repo.js +++ b/static/js/pages/new-repo.js @@ -53,9 +53,11 @@ return true; }; - $scope.createNewRepo = function() { - $('#repoName').popover('hide'); + $scope.$watch('repo.name', function() { + $scope.createError = null; + }); + $scope.createNewRepo = function() { $scope.creating = true; var repo = $scope.repo; var data = { @@ -86,10 +88,7 @@ $location.path('/repository/' + created.namespace + '/' + created.name); }, function(result) { $scope.creating = false; - $scope.createError = result.data ? result.data.message : 'Cannot create repository'; - $timeout(function() { - $('#repoName').popover('show'); - }); + $scope.createError = ApiService.getErrorMessage(result); }); }; } diff --git a/static/partials/new-repo.html b/static/partials/new-repo.html index 6b379c628..801b65b58 100644 --- a/static/partials/new-repo.html +++ b/static/partials/new-repo.html @@ -41,9 +41,12 @@ <input id="repoName" name="repoName" type="text" class="form-control" placeholder="Repository Name" ng-model="repo.name" required autofocus data-trigger="manual" data-content="{{ createError }}" data-placement="right" ng-pattern="/^[.a-z0-9_-]+$/"> </span> - <span class="co-alert co-alert-warning co-alert-popin-warning" ng-show="!newRepoForm.repoName.$error.required && !newRepoForm.repoName.$valid"> + <span class="co-alert co-alert-warning co-alert-popin-warning" ng-show="!creating && !newRepoForm.repoName.$error.required && !newRepoForm.repoName.$valid"> Repository names must match [a-z0-9_-]+ </span> + <span class="co-alert co-alert-danger co-alert-popin-warning" ng-show="!creating && createError"> + {{ createError }} + </span> </div> </div> </div>