Merge pull request #1543 from mabashian/1447-prompt-strings

Mark prompt strings for translation
This commit is contained in:
Michael Abashian 2018-04-25 13:02:01 -04:00 committed by GitHub
commit cb1f25393a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 47 additions and 18 deletions

View File

@ -28,6 +28,7 @@ function TemplatesStrings (BaseString) {
SURVEY: t.s('Survey'),
PREVIEW: t.s('Preview'),
LAUNCH: t.s('LAUNCH'),
CONFIRM: t.s('CONFIRM'),
SELECTED: t.s('SELECTED'),
NO_CREDENTIALS_SELECTED: t.s('No credentials selected'),
NO_INVENTORY_SELECTED: t.s('No inventory selected'),
@ -51,6 +52,7 @@ function TemplatesStrings (BaseString) {
CHOOSE_JOB_TYPE: t.s('Choose a job type'),
CHOOSE_VERBOSITY: t.s('Choose a verbosity'),
EXTRA_VARIABLES: t.s('Extra Variables'),
EXTRA_VARIABLES_HELP: t.s('<p>Pass extra command line variables to the playbook. This is the -e or --extra-vars command line parameter for ansible-playbook. Provide key/value pairs using either YAML or JSON.</p>JSON:<br /><blockquote>{<br />&quot;somevar&quot;: &quot;somevalue&quot;,<br />&quot;password&quot;: &quot;magic&quot;<br /> }</blockquote>YAML:<br /><blockquote>---<br />somevar: somevalue<br />password: magic<br /></blockquote>'),
PLEASE_ENTER_ANSWER: t.s('Please enter an answer.'),
PLEASE_SELECT_VALUE: t.s('Please select a value'),
VALID_INTEGER: t.s('Please enter an answer that is a valid integer.'),

View File

@ -8,12 +8,12 @@ export default ['$filter', '$state', '$stateParams', '$http', 'Wait',
'$scope', '$rootScope', 'CreateSelect2', 'ParseTypeChange', 'GetBasePath',
'Rest', 'ParentObject', 'JobTemplateModel', '$q', 'Empty', 'SchedulePost',
'ProcessErrors', 'SchedulerInit', '$location', 'PromptService', 'RRuleToAPI', 'moment',
'WorkflowJobTemplateModel',
'WorkflowJobTemplateModel', 'TemplatesStrings',
function($filter, $state, $stateParams, $http, Wait,
$scope, $rootScope, CreateSelect2, ParseTypeChange, GetBasePath,
Rest, ParentObject, JobTemplate, $q, Empty, SchedulePost,
ProcessErrors, SchedulerInit, $location, PromptService, RRuleToAPI, moment,
WorkflowJobTemplate
WorkflowJobTemplate, TemplatesStrings
) {
var base = $scope.base || $location.path().replace(/^\//, '').split('/')[0],
@ -33,6 +33,7 @@ export default ['$filter', '$state', '$stateParams', '$http', 'Wait',
};
$scope.preventCredsWithPasswords = true;
$scope.strings = TemplatesStrings;
/*
* This is a workaround for the angular-scheduler library inserting `ll` into fields after an

View File

@ -1,11 +1,11 @@
export default ['$filter', '$state', '$stateParams', 'Wait', '$scope', 'moment',
'$rootScope', '$http', 'CreateSelect2', 'ParseTypeChange', 'ParentObject', 'ProcessErrors', 'Rest',
'GetBasePath', 'SchedulerInit', 'SchedulePost', 'JobTemplateModel', '$q', 'Empty', 'PromptService', 'RRuleToAPI',
'WorkflowJobTemplateModel',
'WorkflowJobTemplateModel', 'TemplatesStrings',
function($filter, $state, $stateParams, Wait, $scope, moment,
$rootScope, $http, CreateSelect2, ParseTypeChange, ParentObject, ProcessErrors, Rest,
GetBasePath, SchedulerInit, SchedulePost, JobTemplate, $q, Empty, PromptService, RRuleToAPI,
WorkflowJobTemplate
WorkflowJobTemplate, TemplatesStrings
) {
let schedule, scheduler, scheduleCredentials = [];
@ -21,6 +21,8 @@ function($filter, $state, $stateParams, Wait, $scope, moment,
$scope.hideForm = true;
$scope.parseType = 'yaml';
$scope.strings = TemplatesStrings;
$scope.processSchedulerEndDt = function(){
// set the schedulerEndDt to be equal to schedulerStartDt + 1 day @ midnight
var dt = new Date($scope.schedulerUTCTime);

View File

@ -686,5 +686,5 @@
ng-disabled="!schedulerIsValid || promptModalMissingReqFields"> Save</button>
</div>
</div>
<prompt prompt-data="promptData" action-text="CONFIRM" prevent-creds-with-passwords="preventCredsWithPasswords"></prompt>
<prompt prompt-data="promptData" action-text="{{:: strings.get('prompt.CONFIRM')}}" prevent-creds-with-passwords="preventCredsWithPasswords"></prompt>
</div>

View File

@ -73,16 +73,40 @@ export default [ 'Rest', 'GetBasePath', 'ProcessErrors', 'CredentialTypeModel',
if(vm.promptDataClone.launchConf.passwords_needed_to_start) {
vm.promptDataClone.launchConf.passwords_needed_to_start.forEach((passwordNeeded) => {
if(passwordNeeded === "ssh_password") {
vm.promptDataClone.prompts.credentials.passwords.ssh = {};
}
if(passwordNeeded === "become_password") {
vm.promptDataClone.prompts.credentials.passwords.become = {};
}
if(passwordNeeded === "ssh_key_unlock") {
vm.promptDataClone.prompts.credentials.passwords.ssh_key_unlock = {};
}
if(passwordNeeded.startsWith("vault_password")) {
if (passwordNeeded === "ssh_password") {
vm.promptDataClone.prompts.credentials.value.forEach((defaultCredential) => {
defaultCredential.passwords_needed.forEach((neededPassword) => {
if (neededPassword === "ssh_password") {
vm.promptDataClone.prompts.credentials.passwords.ssh = {
id: defaultCredential.id,
name: defaultCredential.name
};
}
});
});
} else if (passwordNeeded === "become_password") {
vm.promptDataClone.prompts.credentials.value.forEach((defaultCredential) => {
defaultCredential.passwords_needed.forEach((neededPassword) => {
if (neededPassword === "become_password") {
vm.promptDataClone.prompts.credentials.passwords.become = {
id: defaultCredential.id,
name: defaultCredential.name
};
}
});
});
} else if (passwordNeeded === "ssh_key_unlock") {
vm.promptDataClone.prompts.credentials.value.forEach((defaultCredential) => {
defaultCredential.passwords_needed.forEach((neededPassword) => {
if (neededPassword === "ssh_key_unlock") {
vm.promptDataClone.prompts.credentials.passwords.ssh_key_unlock = {
id: defaultCredential.id,
name: defaultCredential.name
};
}
});
});
} else if (passwordNeeded.startsWith("vault_password")) {
let vault_id = null;
if (passwordNeeded.includes('.')) {
vault_id = passwordNeeded.split(/\.(.+)/)[1];

View File

@ -5,7 +5,7 @@ export default [ 'templateUrl',
scope: {
promptData: '=',
onFinish: '&',
actionText: '@actionText',
actionText: '@',
preventCredsWithPasswords: '<'
},
templateUrl: templateUrl('templates/prompt/prompt'),

View File

@ -93,7 +93,7 @@
<div class="form-group Form-formGroup Form-formGroup--singleColumn" ng-if="promptData.launchConf.ask_variables_on_launch && !promptData.prompts.variables.ignore">
<label for="variables">
<span class="Form-inputLabel">{{:: vm.strings.get('prompt.EXTRA_VARIABLES') }}</span>
<a id="awp-variables" href="" aw-pop-over="<p>Pass extra command line variables to the playbook. This is the -e or --extra-vars command line parameter for ansible-playbook. Provide key/value pairs using either YAML or JSON.</p>JSON:<br /><blockquote>{<br />&quot;somevar&quot;: &quot;somevalue&quot;,<br />&quot;password&quot;: &quot;magic&quot;<br /> }</blockquote>YAML:<br /><blockquote>---<br />somevar: somevalue<br />password: magic<br /></blockquote>" data-placement="right" data-container="body" over-title="Extra Variables" class="help-link" data-original-title="" title="" tabindex="-1">
<a id="awp-variables" href="" aw-pop-over="{{:: vm.strings.get('prompt.EXTRA_VARIABLES_HELP')}}" data-placement="right" data-container="body" over-title="Extra Variables" class="help-link" data-original-title="" title="" tabindex="-1">
<i class="fa fa-question-circle"></i>
</a>
<div class="parse-selection" id="job_launch_variables_parse_type">

View File

@ -129,5 +129,5 @@
<button type="button" class="btn btn-sm WorkflowMaker-cancelButton" ng-click="closeWorkflowMaker()"> Close</button>
<button type="button" class="btn btn-sm WorkflowMaker-saveButton" ng-click="saveWorkflowMaker()" ng-show="workflowJobTemplateObj.summary_fields.user_capabilities.edit || canAddWorkflowJobTemplate" ng-disabled="edgeFlags.conflict || workflowMakerFormConfig.nodeMode === 'add'"> Save</button>
</div>
<prompt prompt-data="promptData" action-text="CONFIRM" prevent-creds-with-passwords="preventCredsWithPasswords"></prompt>
<prompt prompt-data="promptData" action-text="{{:: strings.get('prompt.CONFIRM')}}" prevent-creds-with-passwords="preventCredsWithPasswords"></prompt>
</div>