Fix cannot-use-robot for private base image bug in build dialog

There are a number of small state fixes in this PR, which result in the build dialog being properly reset state-wise each time it is displayed, thus fixing the state inconsistency.

Fixes #2106
This commit is contained in:
Joseph Schorr 2016-11-10 14:47:25 -05:00
parent 6de039dc97
commit 3193f32a95
6 changed files with 44 additions and 16 deletions

View file

@ -12,6 +12,7 @@ angular.module('quay').directive('dockerfileBuildForm', function () {
'repository': '=repository',
'isReady': '=?isReady',
'reset': '=?reset',
'readyForBuild': '&readyForBuild'
},
@ -100,11 +101,13 @@ angular.module('quay').directive('dockerfileBuildForm', function () {
};
var checkEntity = function() {
if (!$scope.pullEntity) { return; }
if (!$scope.pullEntity) {
$scope.state = 'awaiting-bot';
return;
}
$scope.state = 'checking-bot';
$scope.currentRobotHasPermission = null;
if (!$scope.pullEntity) { return; }
var permParams = {
'repository': $scope.privateBaseRepository,
@ -118,6 +121,14 @@ angular.module('quay').directive('dockerfileBuildForm', function () {
};
$scope.$watch('pullEntity', checkEntity);
$scope.$watch('reset', function(reset) {
if (reset) {
$scope.state = 'empty';
$scope.pullEntity = null;
$scope.privateBaseRepository = null;
}
});
$scope.$watch('state', function(state) {
$scope.isReady = state == 'ready';
if ($scope.isReady) {