mirror of
https://github.com/ansible/awx.git
synced 2026-05-17 22:37:41 -02:30
refactored saveSurvey method
This commit is contained in:
@@ -19,6 +19,7 @@ angular.module('SurveyMakerFormDefinition', [])
|
|||||||
name: 'survey_maker', //entity or model name in singular form
|
name: 'survey_maker', //entity or model name in singular form
|
||||||
// // well: true,
|
// // well: true,
|
||||||
breadCrumbs: false,
|
breadCrumbs: false,
|
||||||
|
// twoColumns: true,
|
||||||
// // collapse: true,
|
// // collapse: true,
|
||||||
// collapseTitle: "Properties",
|
// collapseTitle: "Properties",
|
||||||
// collapseMode: 'edit',
|
// collapseMode: 'edit',
|
||||||
@@ -38,26 +39,51 @@ angular.module('SurveyMakerFormDefinition', [])
|
|||||||
|
|
||||||
fields: {
|
fields: {
|
||||||
survey_name: {
|
survey_name: {
|
||||||
label: 'Survey Name',
|
|
||||||
type: 'text',
|
|
||||||
addRequired: true,
|
|
||||||
editRequired: true,
|
|
||||||
capitalize: false
|
|
||||||
},
|
|
||||||
survey_description: {
|
|
||||||
label: 'Survey Description',
|
|
||||||
type: 'text',
|
|
||||||
addRequired: false,
|
|
||||||
editRequired: false
|
|
||||||
},
|
|
||||||
questions: {
|
|
||||||
type: 'custom',
|
type: 'custom',
|
||||||
control: '<label for="survey"><span class="label-text prepend-asterisk">Questions</span></label>'+
|
control: '<div class="row"><div class="col-sm-6"><div class="form-group">'+
|
||||||
|
'<label for="survey_name"><span class="label-text prepend-asterisk">Survey Name</span></label><div>'+
|
||||||
|
'<input type="text" ng-model="survey_name" name="survey_name" id="survey_maker_survey_name" class="form-control ng-pristine ng-invalid ng-invalid-required" required="">'+
|
||||||
|
'<div class="error ng-hide" id="survey_maker-survey_name-required-error" ng-show="survey_maker_form.survey_name.$dirty && survey_maker_form.survey_name.$error.required">A value is required!</div>'+
|
||||||
|
'<div class="error api-error ng-binding" id="survey_maker-survey_name-api-error" ng-bind="survey_name_api_error"></div>'+
|
||||||
|
'</div></div></div>'+
|
||||||
|
'<div class="col-sm-6"><div class="form-group">'+
|
||||||
|
'<label for="survey_description"><span class="label-text">Survey Description</span></label><div>'+
|
||||||
|
'<input type="text" ng-model="survey_description" name="survey_description" id="survey_maker_survey_description" class="form-control ng-pristine ng-valid">'+
|
||||||
|
'<div class="error api-error ng-binding" id="survey_maker-survey_description-api-error" ng-bind="survey_description_api_error"></div>'+
|
||||||
|
'</div></div></div>'+
|
||||||
|
'<div class="col-sm-12"><label for="survey"><span class="label-text prepend-asterisk">Questions</span></label>'+
|
||||||
'<div id="survey_maker_question_area"></div><div id="finalized_questions"></div>'+
|
'<div id="survey_maker_question_area"></div><div id="finalized_questions"></div>'+
|
||||||
'<button style="display:none" type="button" class="btn btn-sm btn-primary" id="add_question_btn" ng-click="addNewQuestion()" aw-tool-tip="Create a new question" data-placement="top" data-original-title="" title="" disabled><i class="fa fa-plus fa-lg"></i> Add Question</button>'+
|
'<button style="display:none" type="button" class="btn btn-sm btn-primary" id="add_question_btn" ng-click="addNewQuestion()" aw-tool-tip="Create a new question" data-placement="top" data-original-title="" title="" disabled><i class="fa fa-plus fa-lg"></i> Add Question</button>'+
|
||||||
'<div id="new_question"></div>'
|
'<div id="new_question"></div></div></div>'
|
||||||
|
// label: 'Survey Name',
|
||||||
|
// type: 'text',
|
||||||
|
// addRequired: true,
|
||||||
|
// editRequired: true,
|
||||||
|
// capitalize: false,
|
||||||
|
// // column: 1
|
||||||
|
},
|
||||||
|
// survey_description: {
|
||||||
|
// type: 'custom',
|
||||||
|
// control: '<div class="col-sm-6"><div class="form-group">'+
|
||||||
|
// '<label for="survey_description"><span class="label-text">Survey Description</span></label><div>'+
|
||||||
|
// '<input type="text" ng-model="survey_description" name="survey_description" id="survey_maker_survey_description" class="form-control ng-pristine ng-valid">'+
|
||||||
|
// '<div class="error api-error ng-binding" id="survey_maker-survey_description-api-error" ng-bind="survey_description_api_error"></div>'+
|
||||||
|
// '</div></div></div></div>'
|
||||||
|
|
||||||
}
|
// // label: 'Survey Description',
|
||||||
|
// // type: 'text',
|
||||||
|
// // addRequired: false,
|
||||||
|
// // editRequired: false,
|
||||||
|
// // column: 2
|
||||||
|
// },
|
||||||
|
// questions: {
|
||||||
|
// type: 'custom',
|
||||||
|
// control: '<label for="survey"><span class="label-text prepend-asterisk">Questions</span></label>'+
|
||||||
|
// '<div id="survey_maker_question_area"></div><div id="finalized_questions"></div>'+
|
||||||
|
// '<button style="display:none" type="button" class="btn btn-sm btn-primary" id="add_question_btn" ng-click="addNewQuestion()" aw-tool-tip="Create a new question" data-placement="top" data-original-title="" title="" disabled><i class="fa fa-plus fa-lg"></i> Add Question</button>'+
|
||||||
|
// '<div id="new_question"></div>'
|
||||||
|
|
||||||
|
// }
|
||||||
},
|
},
|
||||||
|
|
||||||
buttons: { //for now always generates <button> tags
|
buttons: { //for now always generates <button> tags
|
||||||
|
|||||||
@@ -110,27 +110,27 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
scope.saveSurvey = function() {
|
// scope.saveSurvey = function() {
|
||||||
Wait('start');
|
// Wait('start');
|
||||||
if(scope.mode==="add"){
|
// if(scope.mode==="add"){
|
||||||
$('#survey-modal-dialog').dialog('close');
|
// $('#survey-modal-dialog').dialog('close');
|
||||||
scope.$emit('SurveySaved');
|
// scope.$emit('SurveySaved');
|
||||||
}
|
// }
|
||||||
else{
|
// else{
|
||||||
// var url = data.url+ 'survey_spec/';
|
// // var url = data.url+ 'survey_spec/';
|
||||||
Rest.setUrl(url);
|
// Rest.setUrl(url);
|
||||||
Rest.post({ name: scope.survey_name, description: scope.survey_description, spec: scope.survey_questions })
|
// Rest.post({ name: scope.survey_name, description: scope.survey_description, spec: scope.survey_questions })
|
||||||
.success(function () {
|
// .success(function () {
|
||||||
// Wait('stop');
|
// // Wait('stop');
|
||||||
$('#survey-modal-dialog').dialog('close');
|
// $('#survey-modal-dialog').dialog('close');
|
||||||
scope.$emit('SurveySaved');
|
// scope.$emit('SurveySaved');
|
||||||
})
|
// })
|
||||||
.error(function (data, status) {
|
// .error(function (data, status) {
|
||||||
ProcessErrors(scope, data, status, form, { hdr: 'Error!',
|
// ProcessErrors(scope, data, status, form, { hdr: 'Error!',
|
||||||
msg: 'Failed to add new survey. Post returned status: ' + status });
|
// msg: 'Failed to add new survey. Post returned status: ' + status });
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
};
|
// };
|
||||||
|
|
||||||
Wait('start');
|
Wait('start');
|
||||||
if(scope.mode === 'add'){
|
if(scope.mode === 'add'){
|
||||||
@@ -222,11 +222,11 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
scope.$emit('surveySaved');
|
scope.$emit('surveySaved');
|
||||||
});
|
});
|
||||||
|
|
||||||
scope.saveSurvey = function() {
|
// scope.saveSurvey = function() {
|
||||||
Wait('start');
|
// Wait('start');
|
||||||
$('#survey-modal-dialog').dialog('close');
|
// $('#survey-modal-dialog').dialog('close');
|
||||||
scope.$emit('SurveySaved');
|
// scope.$emit('SurveySaved');
|
||||||
};
|
// };
|
||||||
};
|
};
|
||||||
}])
|
}])
|
||||||
|
|
||||||
@@ -367,11 +367,11 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
}])
|
}])
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a schedule. Prompts user to confirm delete
|
* Delete a survey. Prompts user to confirm delete
|
||||||
*
|
*
|
||||||
* DeleteSchedule({
|
* DeleteSurvey({
|
||||||
* scope: $scope containing list of schedules
|
* scope: $scope containing list of survey form fields
|
||||||
* id: id of schedule to delete
|
* id: id of job template that survey is attached to
|
||||||
* callback: $scope.$emit label to call when delete is completed
|
* callback: $scope.$emit label to call when delete is completed
|
||||||
* })
|
* })
|
||||||
*
|
*
|
||||||
@@ -390,6 +390,9 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
scope.removeSurveyDeleted();
|
scope.removeSurveyDeleted();
|
||||||
}
|
}
|
||||||
scope.$on('SurveyDeleted', function(){
|
scope.$on('SurveyDeleted', function(){
|
||||||
|
scope.survey_name = "";
|
||||||
|
scope.survey_description = "";
|
||||||
|
scope.survey_questions = [];
|
||||||
Wait('stop');
|
Wait('stop');
|
||||||
$('#job_templates_delete_survey_btn').hide();
|
$('#job_templates_delete_survey_btn').hide();
|
||||||
$('#job_templates_edit_survey_btn').hide();
|
$('#job_templates_edit_survey_btn').hide();
|
||||||
@@ -398,12 +401,8 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
|
|
||||||
|
|
||||||
Wait('start');
|
Wait('start');
|
||||||
// scope.deleteSurvey = function() {
|
|
||||||
// $location.path($location.path() + '/survey/add');
|
|
||||||
if(scope.mode==="add"){
|
if(scope.mode==="add"){
|
||||||
scope.survey_name = "";
|
|
||||||
scope.survey_description = "";
|
|
||||||
scope.survey_questions = [];
|
|
||||||
scope.$emit("SurveyDeleted");
|
scope.$emit("SurveyDeleted");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@@ -439,13 +438,15 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
|
|
||||||
|
|
||||||
.factory('SurveyControllerInit', ['$location', 'DeleteSurvey', 'EditSurvey', 'AddSurvey', 'GenerateForm', 'SurveyQuestionForm', 'Wait', 'Alert',
|
.factory('SurveyControllerInit', ['$location', 'DeleteSurvey', 'EditSurvey', 'AddSurvey', 'GenerateForm', 'SurveyQuestionForm', 'Wait', 'Alert',
|
||||||
function($location, DeleteSurvey, EditSurvey, AddSurvey, GenerateForm, SurveyQuestionForm, Wait, Alert) {
|
'GetBasePath', 'Rest', 'ProcessErrors' ,
|
||||||
|
function($location, DeleteSurvey, EditSurvey, AddSurvey, GenerateForm, SurveyQuestionForm, Wait, Alert, GetBasePath, Rest, ProcessErrors) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
var scope = params.scope,
|
var scope = params.scope,
|
||||||
parent_scope = params.parent_scope,
|
// parent_scope = params.parent_scope,
|
||||||
id = params.id,
|
id = params.id,
|
||||||
iterator = (params.iterator) ? params.iterator : scope.iterator,
|
url;
|
||||||
base = $location.path().replace(/^\//, '').split('/')[0];
|
// iterator = (params.iterator) ? params.iterator : scope.iterator,
|
||||||
|
// base = $location.path().replace(/^\//, '').split('/')[0];
|
||||||
|
|
||||||
scope.survey_questions = [];
|
scope.survey_questions = [];
|
||||||
scope.answer_types=[
|
scope.answer_types=[
|
||||||
@@ -548,22 +549,27 @@ angular.module('SurveyHelper', [ 'Utilities', 'RestServices', 'SchedulesHelper',
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
scope.saveSurvey = function() {
|
||||||
scope.refreshSchedules = function() {
|
Wait('start');
|
||||||
if (base === 'jobs') {
|
if(scope.mode==="add"){
|
||||||
parent_scope.refreshJobs();
|
$('#survey-modal-dialog').dialog('close');
|
||||||
|
scope.$emit('SurveySaved');
|
||||||
}
|
}
|
||||||
else {
|
else{
|
||||||
scope.search(iterator);
|
url = GetBasePath('job_templates') + id + '/survey_spec/';
|
||||||
|
Rest.setUrl(url);
|
||||||
|
Rest.post({ name: scope.survey_name, description: scope.survey_description, spec: scope.survey_questions })
|
||||||
|
.success(function () {
|
||||||
|
// Wait('stop');
|
||||||
|
$('#survey-modal-dialog').dialog('close');
|
||||||
|
scope.$emit('SurveySaved');
|
||||||
|
})
|
||||||
|
.error(function (data, status) {
|
||||||
|
ProcessErrors(scope, data, status, { hdr: 'Error!',
|
||||||
|
msg: 'Failed to add new survey. Post returned status: ' + status });
|
||||||
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (scope.removeSchedulesRefresh) {
|
|
||||||
scope.removeSchedulesRefresh();
|
|
||||||
}
|
|
||||||
scope.$on('SchedulesRefresh', function() {
|
|
||||||
scope.search(iterator);
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
}])
|
}])
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,6 @@
|
|||||||
<div ng-cloak id="htmlTemplate"></div>
|
<div ng-cloak id="htmlTemplate"></div>
|
||||||
<div ng-include="'/static/partials/schedule_dialog.html'"></div>
|
<div ng-include="'/static/partials/schedule_dialog.html'"></div>
|
||||||
<div ng-include="'/static/partials/logviewer.html'"></div>
|
<div ng-include="'/static/partials/logviewer.html'"></div>
|
||||||
<div id="survey-modal-dialog">
|
<div id="survey-modal-dialog"></div>
|
||||||
<!-- <div id="edit-survey-modal-dialog" title="Edit Survey"> -->
|
<!-- <div id="edit-survey-modal-dialog" title="Edit Survey"> -->
|
||||||
</div>
|
</div>
|
||||||
Reference in New Issue
Block a user