Skip to content

Commit 95a2778

Browse files
committed
Bug 1421097 - Fix problems with secret links on build config page
* Fix missing "Create Secret" link if the page is accessed directly by URL * Fix runtime error in `canAddSourceSecret` https://bugzilla.redhat.com/show_bug.cgi?id=1421097
1 parent a05779d commit 95a2778

File tree

4 files changed

+27
-19
lines changed

4 files changed

+27
-19
lines changed

app/scripts/directives/oscSourceSecrets.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ angular.module("openshiftConsole")
2121
var lastSecret = _.last($scope.pickedSecrets);
2222
switch ($scope.strategyType) {
2323
case 'Custom':
24-
return lastSecret.secretSource.name;
24+
return _.get(lastSecret, 'secretSource.name');
2525
default:
26-
return lastSecret.secret.name;
26+
return _.get(lastSecret, 'secret.name');
2727
}
2828
};
2929

app/views/edit/build-config.html

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -347,8 +347,10 @@ <h3 class="with-divider">Image Configuration</h3>
347347
</div>
348348
</div>
349349

350-
<div class="form-group" ng-if="strategyType !== 'JenkinsPipeline'">
351-
<!-- Use ng-show instead of ng-if so the form is still marked invalid if a hidden field has errors. -->
350+
<!-- Wait for project to load since the directive uses `canI` checks that need it. -->
351+
<div class="form-group" ng-if="project && strategyType !== 'JenkinsPipeline'">
352+
<!-- Use ng-show instead of ng-if when checking `view.advancedOptions` so
353+
the form is still marked invalid if a hidden field has errors. -->
352354
<div ng-show="view.advancedOptions">
353355
<osc-secrets model="secrets.picked.pullSecret"
354356
namespace="projectName"
@@ -401,19 +403,21 @@ <h3 class="with-divider">Image Configuration</h3>
401403
</div>
402404
</div>
403405

404-
<!-- Use ng-show instead of ng-if so the form is still marked invalid if a hidden field has errors. -->
405-
<div class="form-group" ng-show="view.advancedOptions">
406-
<osc-secrets model="secrets.picked.pushSecret"
407-
namespace="projectName"
408-
display-type="push"
409-
type="image"
410-
disable-input="imageOptions.to.type==='None'"
411-
service-account-to-link="builder"
412-
secrets-by-type="secrets.secretsByType"
413-
alerts="alerts">
414-
</osc-secrets>
406+
<!-- Wait for project to load since the directive uses `canI` checks that need it. -->
407+
<div ng-if="project">
408+
<!-- Use ng-show instead of ng-if so the form is still marked invalid if a hidden field has errors. -->
409+
<div class="form-group" ng-show="view.advancedOptions">
410+
<osc-secrets model="secrets.picked.pushSecret"
411+
namespace="projectName"
412+
display-type="push"
413+
type="image"
414+
disable-input="imageOptions.to.type==='None'"
415+
service-account-to-link="builder"
416+
secrets-by-type="secrets.secretsByType"
417+
alerts="alerts">
418+
</osc-secrets>
419+
</div>
415420
</div>
416-
417421
</div>
418422
</dl>
419423
</div>

dist/scripts/scripts.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10783,10 +10783,10 @@ b.canAddSourceSecret = function() {
1078310783
var a = _.last(b.pickedSecrets);
1078410784
switch (b.strategyType) {
1078510785
case "Custom":
10786-
return a.secretSource.name;
10786+
return _.get(a, "secretSource.name");
1078710787

1078810788
default:
10789-
return a.secret.name;
10789+
return _.get(a, "secret.name");
1079010790
}
1079110791
}, b.setLastSecretsName = function(a) {
1079210792
var c = _.last(b.pickedSecrets);

dist/scripts/templates.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9271,7 +9271,8 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
92719271
"</div>\n" +
92729272
"</div>\n" +
92739273
"</div>\n" +
9274-
"<div class=\"form-group\" ng-if=\"strategyType !== 'JenkinsPipeline'\">\n" +
9274+
"\n" +
9275+
"<div class=\"form-group\" ng-if=\"project && strategyType !== 'JenkinsPipeline'\">\n" +
92759276
"\n" +
92769277
"<div ng-show=\"view.advancedOptions\">\n" +
92779278
"<osc-secrets model=\"secrets.picked.pullSecret\" namespace=\"projectName\" display-type=\"pull\" type=\"image\" secrets-by-type=\"secrets.secretsByType\" service-account-to-link=\"builder\" alerts=\"alerts\">\n" +
@@ -9306,11 +9307,14 @@ angular.module('openshiftConsoleTemplates', []).run(['$templateCache', function(
93069307
"</div>\n" +
93079308
"</div>\n" +
93089309
"\n" +
9310+
"<div ng-if=\"project\">\n" +
9311+
"\n" +
93099312
"<div class=\"form-group\" ng-show=\"view.advancedOptions\">\n" +
93109313
"<osc-secrets model=\"secrets.picked.pushSecret\" namespace=\"projectName\" display-type=\"push\" type=\"image\" disable-input=\"imageOptions.to.type==='None'\" service-account-to-link=\"builder\" secrets-by-type=\"secrets.secretsByType\" alerts=\"alerts\">\n" +
93119314
"</osc-secrets>\n" +
93129315
"</div>\n" +
93139316
"</div>\n" +
9317+
"</div>\n" +
93149318
"</dl>\n" +
93159319
"</div>\n" +
93169320
"<div ng-if=\"!(updatedBuildConfig | isJenkinsPipelineStrategy)\" class=\"section\">\n" +

0 commit comments

Comments
 (0)