Skip to content

Commit

Permalink
BuildConfig editor fix
Browse files Browse the repository at this point in the history
  • Loading branch information
jhadvig committed Feb 8, 2016
1 parent d1a5a27 commit 674b959
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 31 deletions.
35 changes: 19 additions & 16 deletions assets/app/scripts/controllers/edit/buildConfig.js
Expand Up @@ -17,7 +17,7 @@ angular.module('openshiftConsole')
$scope.options = {};
$scope.builderOptions = {};
$scope.outputOptions = {};
$scope.imageSourcesOptions = {};
$scope.imageSourceOptions = {};
$scope.selectTypes = {
ImageStreamTag: "Image Stream Tag",
ImageStreamImage: "Image Stream Image",
Expand Down Expand Up @@ -171,7 +171,7 @@ angular.module('openshiftConsole')
$scope.imageSourceTypes = angular.copy($scope.buildFromTypes);
var imageSourceFrom = $scope.sourceImage.from;
$scope.imageSourceOptions = $scope.setPickedVariables(
$scope.imageSourcesOptions,
$scope.imageSourceOptions,
imageSourceFrom.kind,
imageSourceFrom.namespace || buildConfig.metadata.namespace,
imageSourceFrom.name.split(":")[0],
Expand Down Expand Up @@ -226,23 +226,26 @@ angular.module('openshiftConsole')
// If builder or output image reference kind is DockerImage select the first imageSteam and imageStreamTag
// in the picker, so when the user changes the reference kind to ImageStreamTag the picker is filled with
// default(first) value.
var builderSelectFirstOption = $scope.builderOptions.pickedType === "DockerImage";
$scope.updateBuilderImageStreams($scope.builderOptions.pickedNamespace, builderSelectFirstOption);
if ($scope.builderOptions.pickedType === "ImageStreamTag") {
$scope.updateBuilderImageStreams($scope.builderOptions.pickedNamespace, false);
}

var outputSelectFirstOption = $scope.outputOptions.pickedType === "DockerImage";
$scope.updateOutputImageStreams($scope.outputOptions.pickedNamespace, outputSelectFirstOption);
if ($scope.outputOptions.pickedType === "ImageStreamTag") {
$scope.updateOutputImageStreams($scope.outputOptions.pickedNamespace, false);
}

if ($scope.sources.images && $scope.sourceImage) {
$scope.imageSourceBuildFrom.projects = angular.copy($scope.buildFrom.projects);
if (!$scope.imageSourceBuildFrom.projects.contains($scope.imageSourceOptions.pickedNamespace)) {
$scope.checkNamespaceAvailability($scope.imageSourceOptions.pickedNamespace, "imageSource");
$scope.checkNamespaceAvailability($scope.imageSourceOptions.pickedNamespace);
$scope.imageSourceBuildFrom.projects.push($scope.imageSourceOptions.pickedNamespace);
}
var imageSourceSelectFirstOption = $scope.imageSourceOptions.pickedType === "DockerImage";
$scope.updateImageSourceImageStreams($scope.imageSourceOptions.pickedNamespace, imageSourceSelectFirstOption);
if ($scope.imageSourceOptions.pickedType === "ImageStreamTag") {
$scope.updateImageSourceImageStreams($scope.imageSourceOptions.pickedNamespace, false);
}
}
$scope.loaded = true;
});
$scope.loaded = true;
// If we found the item successfully, watch for changes on it
watches.push(DataService.watchObject("buildconfigs", $routeParams.buildconfig, context, function(buildConfig, action) {
if (action === "DELETED") {
Expand Down Expand Up @@ -351,7 +354,7 @@ angular.module('openshiftConsole')
$scope.imageSourceBuildFrom.tags = {};
var projectImageStreams = imageStreams.by("metadata.name");
if (!_.isEmpty(projectImageStreams)) {
if (!Object.keys(projectImageStreams).contains($scope.imageSourceBuildFrom.imageStream) && projectName === $scope.imageSourceBuildFrom.namespace) {
if (!Object.keys(projectImageStreams).contains($scope.imageSourceBuildFrom.imageStream) && projectName === $scope.imageSourceBuildFrom.namespace && !selectFirstOption) {
$scope.imageSourceBuildFrom.imageStreams.push($scope.imageSourceImageStream.imageStream);
$scope.imageSourceOptions.pickedImageStream = $scope.imageSourceImageStream.imageStream;
$scope.imageSourceBuildFrom.tags[$scope.imageSourceImageStream.imageStream] = [$scope.imageSourceImageStream.tag];
Expand Down Expand Up @@ -385,7 +388,7 @@ angular.module('openshiftConsole')
$scope.imageSourceOptions.pickedImageStream = $scope.imageSourceBuildFrom.imageStreams[0];
$scope.clearSelectedTag($scope.imageSourceOptions, $scope.imageSourceBuildFrom.tags);
}
} else if (projectName === $scope.outputImageStream.namespace) {
} else if (projectName === $scope.outputImageStream.namespace && !selectFirstOption) {
$scope.imageSourceBuildFrom.imageStreams.push($scope.imageSourceImageStream.imageStream);
$scope.imageSourceOptions.pickedImageStream = $scope.imageSourceImageStream.imageStream;
$scope.imageSourceBuildFrom.tags[$scope.imageSourceImageStream.imageStream] = [$scope.imageSourceImageStream.tag];
Expand Down Expand Up @@ -415,7 +418,7 @@ angular.module('openshiftConsole')
$scope.buildFrom.tags = {};
var projectImageStreams = imageStreams.by("metadata.name");
if (!_.isEmpty(projectImageStreams)) {
if (!Object.keys(projectImageStreams).contains($scope.builderImageStream.imageStream) && projectName === $scope.builderImageStream.namespace && $scope.imageSourceOptions.ImageStream !== "") {
if (!Object.keys(projectImageStreams).contains($scope.builderImageStream.imageStream) && projectName === $scope.builderImageStream.namespace && !selectFirstOption) {
$scope.buildFrom.imageStreams.push($scope.builderImageStream.imageStream);
$scope.builderOptions.pickedImageStream = $scope.builderImageStream.imageStream;
$scope.buildFrom.tags[$scope.builderImageStream.imageStream] = [$scope.builderImageStream.tag];
Expand Down Expand Up @@ -450,7 +453,7 @@ angular.module('openshiftConsole')
$scope.builderOptions.pickedImageStream = $scope.buildFrom.imageStreams[0];
$scope.clearSelectedTag($scope.builderOptions, $scope.buildFrom.tags);
}
} else if (projectName === $scope.builderImageStream.namespace) {
} else if (projectName === $scope.builderImageStream.namespace && !selectFirstOption) {
$scope.buildFrom.imageStreams.push($scope.builderImageStream.imageStream);
$scope.builderOptions.pickedImageStream = $scope.builderImageStream.imageStream;
$scope.buildFrom.tags[$scope.builderImageStream.imageStream] = [$scope.builderImageStream.tag];
Expand Down Expand Up @@ -479,7 +482,7 @@ angular.module('openshiftConsole')
$scope.pushTo.tags = {};
var projectImageStreams = imageStreams.by("metadata.name");
if (!_.isEmpty(projectImageStreams)) {
if (!Object.keys(projectImageStreams).contains($scope.outputImageStream.imageStream) && projectName === $scope.outputImageStream.namespace) {
if (!Object.keys(projectImageStreams).contains($scope.outputImageStream.imageStream) && projectName === $scope.outputImageStream.namespace && !selectFirstOption) {
$scope.pushTo.imageStreams.push($scope.outputImageStream.imageStream);
$scope.outputOptions.pickedImageStream = $scope.outputImageStream.imageStream;
$scope.outputOptions.pickedTag = $scope.outputImageStream.tag;
Expand All @@ -503,7 +506,7 @@ angular.module('openshiftConsole')
} else if (!$scope.pushTo.imageStreams.contains($scope.outputOptions.pickedImageStream)) {
$scope.outputOptions.pickedTag = "";
}
} else if (projectName === $scope.outputImageStream.namespace) {
} else if (projectName === $scope.outputImageStream.namespace && !selectFirstOption) {
$scope.pushTo.imageStreams.push($scope.outputImageStream.imageStream);
$scope.outputOptions.pickedImageStream = $scope.outputImageStream.imageStream;
$scope.outputOptions.pickedTag = $scope.outputImageStream.tag;
Expand Down
23 changes: 8 additions & 15 deletions pkg/assets/bindata.go
Expand Up @@ -4168,7 +4168,7 @@ e.limitRanges = b.by("metadata.name"), 0 !== a("hashSize")(b) && e.$watch("conta
});
}));
} ]), angular.module("openshiftConsole").controller("EditBuildConfigController", [ "$scope", "$routeParams", "DataService", "ProjectsService", "$filter", "ApplicationGenerator", "Navigate", "$location", "AlertMessageService", "SOURCE_URL_PATTERN", function(a, b, c, d, e, f, g, h, i, j) {
a.projectName = b.project, a.buildConfig = null, a.alerts = {}, a.emptyMessage = "Loading...", a.sourceURLPattern = j, a.options = {}, a.builderOptions = {}, a.outputOptions = {}, a.imageSourcesOptions = {}, a.selectTypes = {
a.projectName = b.project, a.buildConfig = null, a.alerts = {}, a.emptyMessage = "Loading...", a.sourceURLPattern = j, a.options = {}, a.builderOptions = {}, a.outputOptions = {}, a.imageSourceOptions = {}, a.selectTypes = {
ImageStreamTag:"Image Stream Tag",
ImageStreamImage:"Image Stream Image",
DockerImage:"Docker Image Link"
Expand Down Expand Up @@ -4248,7 +4248,7 @@ imageStreams:[],
tags:{}
}, a.imageSourcePaths = e("destinationSourcePair")(a.sourceImage.paths), a.imageSourceTypes = angular.copy(a.buildFromTypes);
var i = a.sourceImage.from;
a.imageSourceOptions = a.setPickedVariables(a.imageSourcesOptions, i.kind, i.namespace || d.metadata.namespace, i.name.split(":")[0], i.name.split(":")[1], "ImageStreamImage" === i.kind ? i.name :"", "ImageStreamTag" === i.kind ? d.metadata.namespace + "/" + i.name :i.name), a.imageSourceImageStream = {
a.imageSourceOptions = a.setPickedVariables(a.imageSourceOptions, i.kind, i.namespace || d.metadata.namespace, i.name.split(":")[0], i.name.split(":")[1], "ImageStreamImage" === i.kind ? i.name :"", "ImageStreamTag" === i.kind ? d.metadata.namespace + "/" + i.name :i.name), a.imageSourceImageStream = {
namespace:a.imageSourceOptions.pickedNamespace,
imageStream:a.imageSourceOptions.pickedImageStream,
tag:a.imageSourceOptions.pickedTag
Expand All @@ -4262,16 +4262,9 @@ title:"--- None ---"
})), a.buildFrom.projects = [ "openshift" ], c.list("projects", a, function(b) {
var b = b.by("metadata.name");
for (var c in b) a.buildFrom.projects.push(c), a.pushTo.projects.push(c);
a.availableProjects = angular.copy(a.buildFrom.projects), a.buildFrom.projects.contains(a.builderOptions.pickedNamespace) || (a.checkNamespaceAvailability(a.builderOptions.pickedNamespace), a.buildFrom.projects.push(a.builderOptions.pickedNamespace)), a.pushTo.projects.contains(a.outputOptions.pickedNamespace) || (a.checkNamespaceAvailability(a.outputOptions.pickedNamespace), a.pushTo.projects.push(a.outputOptions.pickedNamespace));
var d = "DockerImage" === a.builderOptions.pickedType;
a.updateBuilderImageStreams(a.builderOptions.pickedNamespace, d);
var e = "DockerImage" === a.outputOptions.pickedType;
if (a.updateOutputImageStreams(a.outputOptions.pickedNamespace, e), a.sources.images && a.sourceImage) {
a.imageSourceBuildFrom.projects = angular.copy(a.buildFrom.projects), a.imageSourceBuildFrom.projects.contains(a.imageSourceOptions.pickedNamespace) || (a.checkNamespaceAvailability(a.imageSourceOptions.pickedNamespace, "imageSource"), a.imageSourceBuildFrom.projects.push(a.imageSourceOptions.pickedNamespace));
var f = "DockerImage" === a.imageSourceOptions.pickedType;
a.updateImageSourceImageStreams(a.imageSourceOptions.pickedNamespace, f);
}
}), a.loaded = !0, k.push(c.watchObject("buildconfigs", b.buildconfig, f, function(b, c) {
a.availableProjects = angular.copy(a.buildFrom.projects), a.buildFrom.projects.contains(a.builderOptions.pickedNamespace) || (a.checkNamespaceAvailability(a.builderOptions.pickedNamespace), a.buildFrom.projects.push(a.builderOptions.pickedNamespace)), a.pushTo.projects.contains(a.outputOptions.pickedNamespace) || (a.checkNamespaceAvailability(a.outputOptions.pickedNamespace), a.pushTo.projects.push(a.outputOptions.pickedNamespace)), "ImageStreamTag" === a.builderOptions.pickedType && a.updateBuilderImageStreams(a.builderOptions.pickedNamespace, !1), "ImageStreamTag" === a.outputOptions.pickedType && a.updateOutputImageStreams(a.outputOptions.pickedNamespace, !1), a.sources.images && a.sourceImage && (a.imageSourceBuildFrom.projects = angular.copy(a.buildFrom.projects), a.imageSourceBuildFrom.projects.contains(a.imageSourceOptions.pickedNamespace) || (a.checkNamespaceAvailability(a.imageSourceOptions.pickedNamespace), a.imageSourceBuildFrom.projects.push(a.imageSourceOptions.pickedNamespace)),
"ImageStreamTag" === a.imageSourceOptions.pickedType && a.updateImageSourceImageStreams(a.imageSourceOptions.pickedNamespace, !1)), a.loaded = !0;
}), k.push(c.watchObject("buildconfigs", b.buildconfig, f, function(b, c) {
"DELETED" === c && (a.alerts.deleted = {
type:"warning",
message:"This build configuration has been deleted."
Expand Down Expand Up @@ -4326,7 +4319,7 @@ namespace:b
}, function(c) {
a.imageSourceBuildFrom.imageStreams = [], a.imageSourceBuildFrom.tags = {};
var e = c.by("metadata.name");
_.isEmpty(e) ? b === a.outputImageStream.namespace ? (a.imageSourceBuildFrom.imageStreams.push(a.imageSourceImageStream.imageStream), a.imageSourceOptions.pickedImageStream = a.imageSourceImageStream.imageStream, a.imageSourceBuildFrom.tags[a.imageSourceImageStream.imageStream] = [ a.imageSourceImageStream.tag ], a.imageSourceOptions.pickedTag = a.imageSourceImageStream.tag) :(a.imageSourceOptions.pickedImageStream = "", a.imageSourceOptions.pickedTag = "") :(Object.keys(e).contains(a.imageSourceBuildFrom.imageStream) || b !== a.imageSourceBuildFrom.namespace || (a.imageSourceBuildFrom.imageStreams.push(a.imageSourceImageStream.imageStream), a.imageSourceOptions.pickedImageStream = a.imageSourceImageStream.imageStream, a.imageSourceBuildFrom.tags[a.imageSourceImageStream.imageStream] = [ a.imageSourceImageStream.tag ], a.imageSourceOptions.pickedTag = a.imageSourceImageStream.tag), angular.forEach(e, function(c, d) {
_.isEmpty(e) ? b !== a.outputImageStream.namespace || d ? (a.imageSourceOptions.pickedImageStream = "", a.imageSourceOptions.pickedTag = "") :(a.imageSourceBuildFrom.imageStreams.push(a.imageSourceImageStream.imageStream), a.imageSourceOptions.pickedImageStream = a.imageSourceImageStream.imageStream, a.imageSourceBuildFrom.tags[a.imageSourceImageStream.imageStream] = [ a.imageSourceImageStream.tag ], a.imageSourceOptions.pickedTag = a.imageSourceImageStream.tag) :(Object.keys(e).contains(a.imageSourceBuildFrom.imageStream) || b !== a.imageSourceBuildFrom.namespace || d || (a.imageSourceBuildFrom.imageStreams.push(a.imageSourceImageStream.imageStream), a.imageSourceOptions.pickedImageStream = a.imageSourceImageStream.imageStream, a.imageSourceBuildFrom.tags[a.imageSourceImageStream.imageStream] = [ a.imageSourceImageStream.tag ], a.imageSourceOptions.pickedTag = a.imageSourceImageStream.tag), angular.forEach(e, function(c, d) {
var e = [];
c.status.tags && c.status.tags.forEach(function(a) {
e.push(a.tag);
Expand All @@ -4339,7 +4332,7 @@ namespace:b
}, function(c) {
a.buildFrom.imageStreams = [], a.buildFrom.tags = {};
var e = c.by("metadata.name");
_.isEmpty(e) ? b === a.builderImageStream.namespace ? (a.buildFrom.imageStreams.push(a.builderImageStream.imageStream), a.builderOptions.pickedImageStream = a.builderImageStream.imageStream, a.buildFrom.tags[a.builderImageStream.imageStream] = [ a.builderImageStream.tag ], a.builderOptions.pickedTag = a.builderImageStream.tag) :(a.builderOptions.pickedImageStream = "", a.builderOptions.pickedTag = "") :(Object.keys(e).contains(a.builderImageStream.imageStream) || b !== a.builderImageStream.namespace || "" === a.imageSourceOptions.ImageStream || (a.buildFrom.imageStreams.push(a.builderImageStream.imageStream), a.builderOptions.pickedImageStream = a.builderImageStream.imageStream, a.buildFrom.tags[a.builderImageStream.imageStream] = [ a.builderImageStream.tag ], a.builderOptions.pickedTag = a.builderImageStream.tag), angular.forEach(e, function(c, d) {
_.isEmpty(e) ? b !== a.builderImageStream.namespace || d ? (a.builderOptions.pickedImageStream = "", a.builderOptions.pickedTag = "") :(a.buildFrom.imageStreams.push(a.builderImageStream.imageStream), a.builderOptions.pickedImageStream = a.builderImageStream.imageStream, a.buildFrom.tags[a.builderImageStream.imageStream] = [ a.builderImageStream.tag ], a.builderOptions.pickedTag = a.builderImageStream.tag) :(Object.keys(e).contains(a.builderImageStream.imageStream) || b !== a.builderImageStream.namespace || d || (a.buildFrom.imageStreams.push(a.builderImageStream.imageStream), a.builderOptions.pickedImageStream = a.builderImageStream.imageStream, a.buildFrom.tags[a.builderImageStream.imageStream] = [ a.builderImageStream.tag ], a.builderOptions.pickedTag = a.builderImageStream.tag), angular.forEach(e, function(c, d) {
var e = [];
c.status.tags && c.status.tags.forEach(function(a) {
e.push(a.tag);
Expand All @@ -4352,7 +4345,7 @@ namespace:b
}, function(c) {
a.pushTo.imageStreams = [], a.pushTo.tags = {};
var e = c.by("metadata.name");
_.isEmpty(e) ? b === a.outputImageStream.namespace ? (a.pushTo.imageStreams.push(a.outputImageStream.imageStream), a.outputOptions.pickedImageStream = a.outputImageStream.imageStream, a.outputOptions.pickedTag = a.outputImageStream.tag) :(a.outputOptions.pickedImageStream = "", a.outputOptions.pickedTag = "") :(Object.keys(e).contains(a.outputImageStream.imageStream) || b !== a.outputImageStream.namespace || (a.pushTo.imageStreams.push(a.outputImageStream.imageStream), a.outputOptions.pickedImageStream = a.outputImageStream.imageStream, a.outputOptions.pickedTag = a.outputImageStream.tag), angular.forEach(e, function(b, c) {
_.isEmpty(e) ? b !== a.outputImageStream.namespace || d ? (a.outputOptions.pickedImageStream = "", a.outputOptions.pickedTag = "") :(a.pushTo.imageStreams.push(a.outputImageStream.imageStream), a.outputOptions.pickedImageStream = a.outputImageStream.imageStream, a.outputOptions.pickedTag = a.outputImageStream.tag) :(Object.keys(e).contains(a.outputImageStream.imageStream) || b !== a.outputImageStream.namespace || d || (a.pushTo.imageStreams.push(a.outputImageStream.imageStream), a.outputOptions.pickedImageStream = a.outputImageStream.imageStream, a.outputOptions.pickedTag = a.outputImageStream.tag), angular.forEach(e, function(b, c) {
var d = [];
b.status.tags && b.status.tags.forEach(function(a) {
d.push(a.tag);
Expand Down

0 comments on commit 674b959

Please sign in to comment.