From 93150f8bc02335e2194731f5f879002f1318c247 Mon Sep 17 00:00:00 2001 From: carlos Date: Fri, 8 Feb 2019 09:26:33 -0200 Subject: [PATCH 1/5] Job options may be hidden from job run page --- .../assets/javascripts/menu/joboptions.js | 1 + .../grails-app/domain/rundeck/Option.groovy | 12 +++- .../grails-app/i18n/messages.properties | 2 + .../views/framework/_jobOptionsKO.gsp | 66 ++++++++++--------- .../views/scheduledExecution/_optEdit.gsp | 20 ++++++ 5 files changed, 68 insertions(+), 33 deletions(-) diff --git a/rundeckapp/grails-app/assets/javascripts/menu/joboptions.js b/rundeckapp/grails-app/assets/javascripts/menu/joboptions.js index b98c2bb500c..f5360565155 100644 --- a/rundeckapp/grails-app/assets/javascripts/menu/joboptions.js +++ b/rundeckapp/grails-app/assets/javascripts/menu/joboptions.js @@ -58,6 +58,7 @@ function Option(data) { self.descriptionHtml = ko.observable(data.descriptionHtml); self.loading = ko.observable(false); self.required = ko.observable(data.required ? true : false); + self.shouldBeHidden = ko.observable(data.shouldBeHidden ? true : false); self.enforced = ko.observable(data.enforced ? true : false); self.isDate = ko.observable(data.isDate ? true : false); self.dateFormat = ko.observable(data.dateFormat); diff --git a/rundeckapp/grails-app/domain/rundeck/Option.groovy b/rundeckapp/grails-app/domain/rundeck/Option.groovy index 0050637c287..37776f89f46 100644 --- a/rundeckapp/grails-app/domain/rundeck/Option.groovy +++ b/rundeckapp/grails-app/domain/rundeck/Option.groovy @@ -71,6 +71,7 @@ public class Option implements Comparable{ Boolean multivalueAllSelected String optionValuesPluginType List valuesFromPlugin + Boolean shouldBeHidden static belongsTo=[scheduledExecution:ScheduledExecution] static transients = ['valuesList', 'realValuesUrl', 'configMap', 'typeFile','valuesFromPlugin'] @@ -99,6 +100,7 @@ public class Option implements Comparable{ multivalueAllSelected(nullable: true) label(nullable: true) optionValuesPluginType(nullable: true) + shouldBeHidden(nullable: true) } @@ -198,6 +200,9 @@ public class Option implements Comparable{ if(optionValuesPluginType) { map.optionValuesPluginType = optionValuesPluginType } + if(shouldBeHidden){ + map.shouldBeHidden = shouldBeHidden + } return map } @@ -261,6 +266,9 @@ public class Option implements Comparable{ if(data.optionValuesPluginType) { opt.optionValuesPluginType = data.optionValuesPluginType } + if(data.shouldBeHidden){ + opt.shouldBeHidden = data.shouldBeHidden + } return opt } /** @@ -349,7 +357,7 @@ public class Option implements Comparable{ 'dateFormat', 'values', 'valuesList', 'valuesUrl', 'valuesUrlLong', 'regex', 'multivalued', 'multivalueAllSelected', 'label', 'delimiter', 'optionValuesPluginType', - 'secureInput', 'secureExposed', 'optionType', 'configData']. + 'secureInput', 'secureExposed', 'optionType', 'configData', 'shouldBeHidden']. each { k -> opt[k]=this[k] } @@ -381,7 +389,7 @@ public class Option implements Comparable{ ', optionValuesPluginType=' + optionValuesPluginType + '\'' + ", optionType='" + optionType + '\'' + ", configData='" + configData + '\'' + - + ", shouldBeHidden='" + '\'' + '}' ; } diff --git a/rundeckapp/grails-app/i18n/messages.properties b/rundeckapp/grails-app/i18n/messages.properties index 323cbff2509..0176bcb94c4 100644 --- a/rundeckapp/grails-app/i18n/messages.properties +++ b/rundeckapp/grails-app/i18n/messages.properties @@ -570,6 +570,8 @@ select.jobs.to.delete=Select Jobs to delete. project.name.can.only.contain.these.characters=Project name can only contain these characters\: [a-zA-Z0-9_-+.] and cannot start with a '.'. Option.required.label=Required Option.required.description=Require this option to have a non-blank value when running the Job +Option.hidden.label=Should be hidden +Option.hidden.description=Should be hidden from job run page execution=Execution plural.format={1} plural.count.format={0} {1} diff --git a/rundeckapp/grails-app/views/framework/_jobOptionsKO.gsp b/rundeckapp/grails-app/views/framework/_jobOptionsKO.gsp index a1cdd0c910e..e56748a8dbf 100644 --- a/rundeckapp/grails-app/views/framework/_jobOptionsKO.gsp +++ b/rundeckapp/grails-app/views/framework/_jobOptionsKO.gsp @@ -84,6 +84,8 @@ used by _editOptions.gsp template selectedoptsmap[optName] : (optionSelect.defaultValue ?: ''), valuesFromPlugin : optionSelect.valuesFromPlugin + (optionSelect.defaultValue ?: ''), + shouldBeHidden : !!optionSelect.shouldBeHidden ] } ]}" id="jobOptionData"/> @@ -102,48 +104,50 @@ data for configuring remote option cascading/dependencies
-
+
- -
+
- + -
+
-
- - - +
+ + + + - -
+
-
- %{----}% - -
+
+ %{----}% + +
-
-

+
+

+
diff --git a/rundeckapp/grails-app/views/scheduledExecution/_optEdit.gsp b/rundeckapp/grails-app/views/scheduledExecution/_optEdit.gsp index e8ecaa36c6f..6728f0f550b 100644 --- a/rundeckapp/grails-app/views/scheduledExecution/_optEdit.gsp +++ b/rundeckapp/grails-app/views/scheduledExecution/_optEdit.gsp @@ -536,6 +536,26 @@
+
+ +
+
+ + +
+
+ + +
+
+ +
+
+