mirror of
https://github.com/ansible/awx.git
synced 2026-01-14 11:20:39 -03:30
Merge pull request #5500 from jaredevantabor/ctit-reset
[CTiT] Reverting All The Things
This commit is contained in:
commit
d56317a161
@ -171,26 +171,36 @@ export default [
|
||||
form.buttons.save.disabled = $rootScope.user_is_system_auditor;
|
||||
});
|
||||
|
||||
function startCodeMirrors(){
|
||||
// Attach codemirror to fields that need it
|
||||
let form = _.find(authForms, function(form){
|
||||
return form.name === $scope.authVm.activeAuthForm;
|
||||
});
|
||||
_.each(form.formDef.fields, function(field) {
|
||||
// Codemirror balks at empty values so give it one
|
||||
if($scope.$parent[field.name] === null && field.codeMirror) {
|
||||
$scope.$parent[field.name] = '{}';
|
||||
}
|
||||
if(field.codeMirror) {
|
||||
ParseTypeChange({
|
||||
scope: $scope.$parent,
|
||||
variable: field.name,
|
||||
parse_variable: 'parseType',
|
||||
field_id: form.formDef.name + '_' + field.name
|
||||
});
|
||||
$scope.parseTypeChange('parseType', field.name);
|
||||
}
|
||||
function startCodeMirrors(key){
|
||||
var form = _.find(authForms, function(f){
|
||||
return f.name === $scope.authVm.activeAuthForm;
|
||||
});
|
||||
|
||||
if(!key){
|
||||
// Attach codemirror to fields that need it
|
||||
_.each(form.formDef.fields, function(field) {
|
||||
// Codemirror balks at empty values so give it one
|
||||
if($scope.$parent[field.name] === null && field.codeMirror) {
|
||||
$scope.$parent[field.name] = '{}';
|
||||
}
|
||||
if(field.codeMirror) {
|
||||
createIt(field.name);
|
||||
}
|
||||
});
|
||||
}
|
||||
else if(key){
|
||||
createIt(key);
|
||||
}
|
||||
|
||||
function createIt(name){
|
||||
ParseTypeChange({
|
||||
scope: $scope.$parent,
|
||||
variable: name,
|
||||
parse_variable: 'parseType',
|
||||
field_id: form.formDef.name + '_' + name
|
||||
});
|
||||
$scope.parseTypeChange('parseType', name);
|
||||
}
|
||||
}
|
||||
|
||||
function addFieldInfo(form, key) {
|
||||
@ -227,16 +237,15 @@ export default [
|
||||
// Flag to avoid re-rendering and breaking Select2 dropdowns on tab switching
|
||||
var dropdownRendered = false;
|
||||
|
||||
$scope.$on('populated', function() {
|
||||
startCodeMirrors();
|
||||
|
||||
// Create Select2 fields
|
||||
var opts = [];
|
||||
|
||||
function populateLDAPGroupType(flag){
|
||||
if($scope.$parent.AUTH_LDAP_GROUP_TYPE !== null) {
|
||||
opts.push({
|
||||
id: $scope.$parent.AUTH_LDAP_GROUP_TYPE,
|
||||
text: $scope.$parent.AUTH_LDAP_GROUP_TYPE
|
||||
});
|
||||
$scope.$parent.AUTH_LDAP_GROUP_TYPE = _.find($scope.$parent.AUTH_LDAP_GROUP_TYPE_options, { value: $scope.$parent.AUTH_LDAP_GROUP_TYPE });
|
||||
}
|
||||
|
||||
if(flag !== undefined){
|
||||
dropdownRendered = flag;
|
||||
}
|
||||
|
||||
if(!dropdownRendered) {
|
||||
@ -245,15 +254,21 @@ export default [
|
||||
element: '#configuration_ldap_template_AUTH_LDAP_GROUP_TYPE',
|
||||
multiple: false,
|
||||
placeholder: i18n._('Select group types'),
|
||||
opts: opts
|
||||
});
|
||||
// Fix for bug where adding selected opts causes form to be $dirty and triggering modal
|
||||
// TODO Find better solution for this bug
|
||||
$timeout(function(){
|
||||
$scope.$parent.configuration_ldap_template_form.$setPristine();
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
$scope.$on('AUTH_LDAP_GROUP_TYPE_populated', function(e, data, flag) {
|
||||
populateLDAPGroupType(flag);
|
||||
});
|
||||
|
||||
$scope.$on('codeMirror_populated', function(e, key) {
|
||||
startCodeMirrors(key);
|
||||
});
|
||||
|
||||
$scope.$on('populated', function() {
|
||||
startCodeMirrors();
|
||||
populateLDAPGroupType();
|
||||
});
|
||||
|
||||
angular.extend(authVm, {
|
||||
|
||||
@ -71,7 +71,7 @@ export default [
|
||||
// we want the options w/o a space, and
|
||||
// the ConfigurationUtils.arrayToList()
|
||||
// does a string.split(', ') w/ an extra space
|
||||
// behind the comma.
|
||||
// behind the comma.
|
||||
if(key === "AD_HOC_COMMANDS"){
|
||||
$scope[key] = data[key].toString();
|
||||
}
|
||||
@ -295,9 +295,20 @@ export default [
|
||||
ConfigurationService.patchConfiguration(payload)
|
||||
.then(function() {
|
||||
$scope[key] = $scope.configDataResolve[key].default;
|
||||
if(key === "AD_HOC_COMMANDS"){
|
||||
$scope.AD_HOC_COMMANDS = $scope.AD_HOC_COMMANDS.toString();
|
||||
$scope.$broadcast('adhoc_populated', null, false);
|
||||
if($scope[key + '_field'].type === "select"){
|
||||
// We need to re-instantiate the Select2 element
|
||||
// after resetting the value. Example:
|
||||
$scope.$broadcast(key+'_populated', null, false);
|
||||
}
|
||||
else if($scope[key + '_field'].reset === "CUSTOM_LOGO"){
|
||||
$scope.$broadcast(key+'_reverted');
|
||||
}
|
||||
else if($scope[key + '_field'].type === "textarea" && _.isArray($scope.configDataResolve[key].default)){
|
||||
$scope[key] = ConfigurationUtils.arrayToList($scope[key], key);
|
||||
}
|
||||
else if($scope[key + '_field'].hasOwnProperty('codeMirror')){
|
||||
$scope[key] = '{}';
|
||||
$scope.$broadcast('codeMirror_populated', key);
|
||||
}
|
||||
loginUpdate();
|
||||
})
|
||||
|
||||
@ -77,6 +77,7 @@ export default [
|
||||
|
||||
|
||||
function populateAdhocCommand(flag){
|
||||
$scope.$parent.AD_HOC_COMMANDS = $scope.$parent.AD_HOC_COMMANDS.toString();
|
||||
var ad_hoc_commands = $scope.$parent.AD_HOC_COMMANDS.split(',');
|
||||
$scope.$parent.AD_HOC_COMMANDS = _.map(ad_hoc_commands, (item) => _.find($scope.$parent.AD_HOC_COMMANDS_options, { value: item }));
|
||||
|
||||
@ -94,7 +95,7 @@ export default [
|
||||
}
|
||||
}
|
||||
|
||||
$scope.$on('adhoc_populated', function(e, data, flag) {
|
||||
$scope.$on('AD_HOC_COMMANDS_populated', function(e, data, flag) {
|
||||
populateAdhocCommand(flag);
|
||||
});
|
||||
|
||||
|
||||
@ -152,16 +152,21 @@ export default [
|
||||
|
||||
var dropdownRendered = false;
|
||||
|
||||
$scope.$on('populated', function() {
|
||||
$scope.$on('populated', function(e, data, flag) {
|
||||
populateLogAggregator(flag);
|
||||
});
|
||||
|
||||
var opts = [];
|
||||
$scope.$on('LOG_AGGREGATOR_TYPE_populated', function(e, data, flag) {
|
||||
populateLogAggregator(flag);
|
||||
});
|
||||
|
||||
function populateLogAggregator(flag){
|
||||
if($scope.$parent.LOG_AGGREGATOR_TYPE !== null) {
|
||||
_.each(ConfigurationUtils.listToArray($scope.$parent.LOG_AGGREGATOR_TYPE), function(type) {
|
||||
opts.push({
|
||||
id: type,
|
||||
text: type
|
||||
});
|
||||
});
|
||||
$scope.$parent.LOG_AGGREGATOR_TYPE = _.find($scope.$parent.LOG_AGGREGATOR_TYPE_options, { value: $scope.$parent.LOG_AGGREGATOR_TYPE });
|
||||
}
|
||||
|
||||
if(flag !== undefined){
|
||||
dropdownRendered = flag;
|
||||
}
|
||||
|
||||
if(!dropdownRendered) {
|
||||
@ -170,11 +175,10 @@ export default [
|
||||
element: '#configuration_logging_template_LOG_AGGREGATOR_TYPE',
|
||||
multiple: false,
|
||||
placeholder: i18n._('Select types'),
|
||||
opts: opts
|
||||
});
|
||||
$scope.$parent.configuration_logging_template_form.LOG_AGGREGATOR_TYPE.$setPristine();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
// Fix for bug where adding selected opts causes form to be $dirty and triggering modal
|
||||
// TODO Find better solution for this bug
|
||||
|
||||
@ -78,24 +78,31 @@
|
||||
// Flag to avoid re-rendering and breaking Select2 dropdowns on tab switching
|
||||
var dropdownRendered = false;
|
||||
|
||||
$scope.$on('populated', function(){
|
||||
function populatePendoTrackingState(flag){
|
||||
if($scope.$parent.PENDO_TRACKING_STATE !== null) {
|
||||
$scope.$parent.PENDO_TRACKING_STATE = _.find($scope.$parent.PENDO_TRACKING_STATE_options, { value: $scope.$parent.PENDO_TRACKING_STATE });
|
||||
}
|
||||
|
||||
if(flag !== undefined){
|
||||
dropdownRendered = flag;
|
||||
}
|
||||
|
||||
if(!dropdownRendered) {
|
||||
dropdownRendered = true;
|
||||
CreateSelect2({
|
||||
element: '#configuration_ui_template_PENDO_TRACKING_STATE',
|
||||
multiple: false,
|
||||
placeholder: i18n._('Select commands'),
|
||||
opts: [{
|
||||
id: $scope.$parent.PENDO_TRACKING_STATE,
|
||||
text: $scope.$parent.PENDO_TRACKING_STATE
|
||||
}]
|
||||
placeholder: i18n._('Select commands')
|
||||
});
|
||||
// Fix for bug where adding selected opts causes form to be $dirty and triggering modal
|
||||
// TODO Find better solution for this bug
|
||||
$timeout(function(){
|
||||
$scope.$parent.configuration_ui_template_form.$setPristine();
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
|
||||
$scope.$on('PENDO_TRACKING_STATE_populated', function(e, data, flag) {
|
||||
populatePendoTrackingState(flag);
|
||||
});
|
||||
|
||||
$scope.$on('populated', function(e, data, flag){
|
||||
populatePendoTrackingState(flag);
|
||||
});
|
||||
|
||||
angular.extend(uiVm, {
|
||||
|
||||
@ -159,6 +159,7 @@ function(ConfigurationUtils, i18n, $rootScope) {
|
||||
var filePickerText = angular.element(document.getElementById('filePickerText'));
|
||||
var filePickerError = angular.element(document.getElementById('filePickerError'));
|
||||
var filePickerButton = angular.element(document.getElementById('filePickerButton'));
|
||||
var filePicker = angular.element(document.getElementById('filePicker'));
|
||||
|
||||
scope.imagePresent = global.$AnsibleConfig.custom_logo || false;
|
||||
scope.imageData = $rootScope.custom_logo;
|
||||
@ -168,12 +169,18 @@ function(ConfigurationUtils, i18n, $rootScope) {
|
||||
scope.imageData = $rootScope.custom_logo;
|
||||
});
|
||||
|
||||
scope.update = function(e) {
|
||||
if(scope.$parent[fieldKey]) {
|
||||
scope.$on(fieldKey+'_reverted', function(e) {
|
||||
scope.update(e, true);
|
||||
});
|
||||
|
||||
scope.update = function(e, flag) {
|
||||
if(scope.$parent[fieldKey] || flag ) {
|
||||
e.preventDefault();
|
||||
scope.$parent[fieldKey] = '';
|
||||
filePickerButton.html(browseText);
|
||||
filePickerText.val('');
|
||||
filePicker.value = "";
|
||||
scope.imagePresent = false;
|
||||
}
|
||||
else {
|
||||
// Nothing exists so open file picker
|
||||
|
||||
@ -679,7 +679,7 @@ angular.module('FormGenerator', [GeneratorHelpers.name, 'Utilities', listGenerat
|
||||
|
||||
if(field.reset && !field.disabled) {
|
||||
var resetValue = "'" + field.reset+ "'";
|
||||
var resetMessage = i18n._('Reset');
|
||||
var resetMessage = i18n._('Revert');
|
||||
html+= `<a class="Form-resetValue" ng-click="resetValue(${resetValue})">${resetMessage}</a>`;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user