The Project selected has a status of \"failed\". You must run a successful update before you can select a playbook. You will not be able to save this Job Template without a valid playbook.";
- break;
- case 'never updated':
- msg = "
The Project selected has a status of \"never updated\". You must run a successful update before you can select a playbook. You will not be able to save this Job Template without a valid playbook.";
- break;
- case 'missing':
- msg = '
The selected project has a status of \"missing\". Please check the server and make sure ' +
- ' the directory exists and file permissions are set correctly.
';
- break;
- }
- Wait('stop');
- if (msg) {
- Alert('Warning', msg, 'alert-info alert-info--noTextTransform', null, null, null, null, true);
- }
- })
- .error(function (data, status) {
- if (status === 403) {
- /* User doesn't have read access to the project, no problem. */
- } else {
- ProcessErrors($scope, data, status, form, { hdr: 'Error!', msg: 'Failed to get project ' + $scope.project +
- '. GET returned status: ' + status });
- }
- });
- }
- };
-
- // Register a watcher on project_name. Refresh the playbook list on change.
- if ($scope.watchProjectUnregister) {
- $scope.watchProjectUnregister();
- }
- $scope.watchProjectUnregister = $scope.$watch('project', function (newValue, oldValue) {
- if (newValue !== oldValue) {
- getPlaybooks($scope.project);
- checkSCMStatus();
- }
- });
-
- // watch for changes to 'verbosity', ensure we keep our select2 in sync when it changes.
- $scope.$watch('verbosity', sync_verbosity_select2);
-
- if ($scope.removeJobTemplateLoadFinished) {
- $scope.removeJobTemplateLoadFinished();
- }
- $scope.removeJobTemplateLoadFinished = $scope.$on('jobTemplateLoadFinished', function () {
- CreateSelect2({
- element:'#job_template_job_type',
- multiple: false
- });
-
- CreateSelect2({
- element:'#playbook-select',
- multiple: false
- });
-
- });
-
// Retrieve each related set and populate the playbook list
if ($scope.jobTemplateLoadedRemove) {
$scope.jobTemplateLoadedRemove();
@@ -226,8 +208,6 @@ export default
master = masterObject;
- getPlaybooks($scope.project);
-
dft = ($scope.host_config_key === "" || $scope.host_config_key === null) ? false : true;
md5Setup({
scope: $scope,
@@ -238,7 +218,7 @@ export default
ParseTypeChange({ scope: $scope, field_id: 'job_template_variables', onChange: callback });
- $scope.$emit('jobTemplateLoadFinished');
+ jobTemplateLoadFinished();
});
Wait('start');
@@ -304,68 +284,21 @@ export default
callback: 'choicesReady'
});
- Rest.setUrl(GetBasePath('labels'));
- Wait("start");
- Rest.get()
- .success(function (data) {
- $scope.labelOptions = data.results
- .map((i) => ({label: i.name, value: i.id}));
+ $scope.labelOptions = availableLabels
+ .map((i) => ({label: i.name, value: i.id}));
- var seeMoreResolve = $q.defer();
+ var opts = selectedLabels
+ .map(i => ({id: i.id + "",
+ test: i.name}));
- var getNext = function(data, arr, resolve) {
- Rest.setUrl(data.next);
- Rest.get()
- .success(function (data) {
- if (data.next) {
- getNext(data, arr.concat(data.results), resolve);
- } else {
- resolve.resolve(arr.concat(data.results));
- }
- });
- };
- if($state.params.job_template_id !== "null"){
- Rest.setUrl(defaultUrl + $state.params.job_template_id +
- "/labels");
- Rest.get()
- .success(function(data) {
- if (data.next) {
- getNext(data, data.results, seeMoreResolve);
- } else {
- seeMoreResolve.resolve(data.results);
- }
+ CreateSelect2({
+ element:'#job_template_labels',
+ multiple: true,
+ addNew: true,
+ opts: opts
+ });
- seeMoreResolve.promise.then(function (labels) {
- $scope.$emit("choicesReady");
- var opts = labels
- .map(i => ({id: i.id + "",
- test: i.name}));
- CreateSelect2({
- element:'#job_template_labels',
- multiple: true,
- addNew: true,
- opts: opts
- });
- Wait("stop");
- });
- }).error(function(){
- // job template id is null in this case
- $scope.$emit("choicesReady");
- });
- }
- else {
- // job template doesn't exist
- $scope.$emit("choicesReady");
- }
-
- })
- .error(function (data, status) {
- ProcessErrors($scope, data, status, form, {
- hdr: 'Error!',
- msg: 'Failed to get labels. GET returned ' +
- 'status: ' + status
- });
- });
+ $scope.$emit("choicesReady");
function saveCompleted() {
$state.go($state.current, {}, {reload: true});
diff --git a/awx/ui/client/src/templates/main.js b/awx/ui/client/src/templates/main.js
index 0480584109..945d52dab2 100644
--- a/awx/ui/client/src/templates/main.js
+++ b/awx/ui/client/src/templates/main.js
@@ -77,7 +77,62 @@ angular.module('templates', [surveyMaker.name, templatesList.name, jobTemplates.
});
});
}
- }]
+ }],
+ availableLabels: ['Rest', '$stateParams', 'GetBasePath', 'ProcessErrors', 'TemplatesService',
+ function(Rest, $stateParams, GetBasePath, ProcessErrors, TemplatesService) {
+ var getNext = function(data, arr) {
+ Rest.setUrl(data.next);
+ return Rest.get()
+ .then(function (res) {
+ if (res.data.next) {
+ return getNext(res.data, arr.concat(res.data.results));
+ } else {
+ return arr.concat(res.data.results);
+ }
+ });
+ };
+
+ return TemplatesService.getLabelOptions()
+ .then(function(res) {
+ if (res.next) {
+ return getNext(res, res.results)
+ .then(function(labels) {
+ return labels;
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
+ }
+ else {
+ return res.results;
+ }
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
+ }],
+ checkPermissions: ['Rest', 'GetBasePath', 'TemplatesService', 'Alert', 'ProcessErrors', '$state',
+ function(Rest, GetBasePath, TemplatesService, Alert, ProcessErrors, $state) {
+ return TemplatesService.getJobTemplateOptions()
+ .then(function(data) {
+ if (!data.actions.POST) {
+ $state.go("^");
+ Alert('Permission Error', 'You do not have permission to add a job template.', 'alert-info');
+ }
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get job template options. OPTIONS returned status: ' +
+ response.status
+ });
+ });
+ }]
}
}
});
@@ -117,6 +172,83 @@ angular.module('templates', [surveyMaker.name, templatesList.name, jobTemplates.
'status: ' + status
});
});
+ }],
+ availableLabels: ['Rest', '$stateParams', 'GetBasePath', 'ProcessErrors', 'TemplatesService',
+ function(Rest, $stateParams, GetBasePath, ProcessErrors, TemplatesService) {
+ var getNext = function(data, arr) {
+ Rest.setUrl(data.next);
+ return Rest.get()
+ .then(function (res) {
+ if (res.data.next) {
+ return getNext(res.data, arr.concat(res.data.results));
+ } else {
+ return arr.concat(res.data.results);
+ }
+ });
+ };
+
+ return TemplatesService.getLabelOptions()
+ .then(function(res) {
+ if (res.next) {
+ return getNext(res, res.results)
+ .then(function(labels) {
+ return labels;
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
+ }
+ else {
+ return res.results;
+ }
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
+ }],
+ selectedLabels: ['Rest', '$stateParams', 'GetBasePath', 'TemplatesService', 'ProcessErrors',
+ function(Rest, $stateParams, GetBasePath, TemplatesService, ProcessErrors) {
+ var getNext = function(data, arr) {
+ Rest.setUrl(data.next);
+ return Rest.get()
+ .then(function (res) {
+ if (res.data.next) {
+ return getNext(res.data, arr.concat(res.data.results));
+ } else {
+ return arr.concat(res.data.results);
+ }
+ });
+ };
+ return TemplatesService.getJobTemplateLabels($stateParams.job_template_id)
+ .then(function(res) {
+ if (res.next) {
+ return getNext(res, res.results)
+ .then(function(labels) {
+ return labels;
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
+ }
+ else {
+ return res.results;
+ }
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
}]
}
}
@@ -129,6 +261,65 @@ angular.module('templates', [surveyMaker.name, templatesList.name, jobTemplates.
form: 'WorkflowForm',
controllers: {
add: 'WorkflowAdd'
+ },
+ resolve: {
+ add: {
+ availableLabels: ['Rest', '$stateParams', 'GetBasePath', 'ProcessErrors', 'TemplatesService',
+ function(Rest, $stateParams, GetBasePath, ProcessErrors, TemplatesService) {
+ var getNext = function(data, arr) {
+ Rest.setUrl(data.next);
+ return Rest.get()
+ .then(function (res) {
+ if (res.data.next) {
+ return getNext(res.data, arr.concat(res.data.results));
+ } else {
+ return arr.concat(res.data.results);
+ }
+ });
+ };
+
+ return TemplatesService.getLabelOptions()
+ .then(function(res) {
+ if (res.next) {
+ return getNext(res, res.results)
+ .then(function(labels) {
+ return labels;
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
+ }
+ else {
+ return res.results;
+ }
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
+ }],
+ checkPermissions: ['Rest', 'GetBasePath', 'TemplatesService', 'Alert', 'ProcessErrors', '$state',
+ function(Rest, GetBasePath, TemplatesService, Alert, ProcessErrors, $state) {
+ return TemplatesService.getWorkflowJobTemplateOptions()
+ .then(function(data) {
+ if (!data.actions.POST) {
+ $state.go("^");
+ Alert('Permission Error', 'You do not have permission to add a workflow job template.', 'alert-info');
+ }
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get workflow job template options. OPTIONS returned status: ' +
+ response.status
+ });
+ });
+ }]
+ }
}
});
@@ -144,6 +335,100 @@ angular.module('templates', [surveyMaker.name, templatesList.name, jobTemplates.
activityStream: true,
activityStreamTarget: 'workflow_job_template',
activityStreamId: 'workflow_job_template_id'
+ },
+ resolve: {
+ edit: {
+ availableLabels: ['Rest', '$stateParams', 'GetBasePath', 'ProcessErrors', 'TemplatesService',
+ function(Rest, $stateParams, GetBasePath, ProcessErrors, TemplatesService) {
+ var getNext = function(data, arr) {
+ Rest.setUrl(data.next);
+ return Rest.get()
+ .then(function (res) {
+ if (res.data.next) {
+ return getNext(res.data, arr.concat(res.data.results));
+ } else {
+ return arr.concat(res.data.results);
+ }
+ });
+ };
+
+ return TemplatesService.getLabelOptions()
+ .then(function(res) {
+ if (res.next) {
+ return getNext(res, res.results)
+ .then(function(labels) {
+ return labels;
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
+ }
+ else {
+ return res.results;
+ }
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
+ }],
+ selectedLabels: ['Rest', '$stateParams', 'GetBasePath', 'TemplatesService', 'ProcessErrors',
+ function(Rest, $stateParams, GetBasePath, TemplatesService, ProcessErrors) {
+ var getNext = function(data, arr) {
+ Rest.setUrl(data.next);
+ return Rest.get()
+ .then(function (res) {
+ if (res.data.next) {
+ return getNext(res.data, arr.concat(res.data.results));
+ } else {
+ return arr.concat(res.data.results);
+ }
+ });
+ };
+ return TemplatesService.getWorkflowJobTemplateLabels($stateParams.workflow_job_template_id)
+ .then(function(res) {
+ if (res.next) {
+ return getNext(res, res.results)
+ .then(function(labels) {
+ return labels;
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
+ }
+ else {
+ return res.results;
+ }
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get labels. GET returned status: ' +
+ response.status
+ });
+ });
+ }],
+ workflowJobTemplateData: ['$stateParams', 'TemplatesService', 'ProcessErrors',
+ function($stateParams, TemplatesService, ProcessErrors) {
+ return TemplatesService.getWorkflowJobTemplate($stateParams.workflow_job_template_id)
+ .then(function(res) {
+ return res.data;
+ }).catch(function(response){
+ ProcessErrors(null, response.data, response.status, null, {
+ hdr: 'Error!',
+ msg: 'Failed to get workflow job template. GET returned status: ' +
+ response.status
+ });
+ });
+ }]
+ }
}
});
diff --git a/awx/ui/client/src/templates/templates.service.js b/awx/ui/client/src/templates/templates.service.js
index 825dc5deb6..c740d6663d 100644
--- a/awx/ui/client/src/templates/templates.service.js
+++ b/awx/ui/client/src/templates/templates.service.js
@@ -35,16 +35,14 @@ export default ['Rest', 'GetBasePath', '$q', function(Rest, GetBasePath, $q){
return Rest.post(data);
},
getLabelOptions: function(){
- var url = GetBasePath('labels');
+ var url = GetBasePath('labels') + '?page_size=200';
var deferred = $q.defer();
Rest.setUrl(url);
Rest.get()
.success(function(data) {
- // Turn the labels into something consumable
- var labels = data.results.map((i) => ({label: i.name, value: i.id}));
- deferred.resolve(labels);
+ deferred.resolve(data);
}).error(function(msg, code) {
deferred.reject(msg, code);
});
@@ -52,6 +50,36 @@ export default ['Rest', 'GetBasePath', '$q', function(Rest, GetBasePath, $q){
return deferred.promise;
},
+ getJobTemplateLabels: function(id) {
+ var url = GetBasePath('job_templates') + id + "/labels?page_size=200";
+
+ var deferred = $q.defer();
+
+ Rest.setUrl(url);
+ Rest.get()
+ .success(function(data) {
+ deferred.resolve(data);
+ }).error(function(msg, code) {
+ deferred.reject(msg, code);
+ });
+
+ return deferred.promise;
+ },
+ getWorkflowJobTemplateLabels: function(id) {
+ var url = GetBasePath('workflow_job_templates') + id + "/labels?page_size=200";
+
+ var deferred = $q.defer();
+
+ Rest.setUrl(url);
+ Rest.get()
+ .success(function(data) {
+ deferred.resolve(data);
+ }).error(function(msg, code) {
+ deferred.reject(msg, code);
+ });
+
+ return deferred.promise;
+ },
getJobTemplate: function(id) {
var url = GetBasePath('job_templates');
@@ -205,6 +233,36 @@ export default ['Rest', 'GetBasePath', '$q', function(Rest, GetBasePath, $q){
Rest.setUrl(url);
return Rest.post();
+ },
+ getWorkflowJobTemplateOptions: function() {
+ var deferred = $q.defer();
+
+ let url = GetBasePath('workflow_job_templates');
+
+ Rest.setUrl(url);
+ Rest.options()
+ .success(function(data) {
+ deferred.resolve(data);
+ }).error(function(msg, code) {
+ deferred.reject(msg, code);
+ });
+
+ return deferred.promise;
+ },
+ getJobTemplateOptions: function() {
+ var deferred = $q.defer();
+
+ let url = GetBasePath('job_templates');
+
+ Rest.setUrl(url);
+ Rest.options()
+ .success(function(data) {
+ deferred.resolve(data);
+ }).error(function(msg, code) {
+ deferred.reject(msg, code);
+ });
+
+ return deferred.promise;
}
};
}];
diff --git a/awx/ui/client/src/templates/workflows/add-workflow/workflow-add.controller.js b/awx/ui/client/src/templates/workflows/add-workflow/workflow-add.controller.js
index be496f559e..ea8f63d5f5 100644
--- a/awx/ui/client/src/templates/workflows/add-workflow/workflow-add.controller.js
+++ b/awx/ui/client/src/templates/workflows/add-workflow/workflow-add.controller.js
@@ -7,19 +7,10 @@
export default [
'$scope', 'WorkflowForm', 'GenerateForm', 'Alert', 'ProcessErrors',
'ClearScope', 'Wait', '$state', 'CreateSelect2', 'TemplatesService',
- 'ToJSON', 'ParseTypeChange', '$q', 'Rest', 'GetBasePath',
+ 'ToJSON', 'ParseTypeChange', '$q', 'Rest', 'GetBasePath', 'availableLabels',
function($scope, WorkflowForm, GenerateForm, Alert, ProcessErrors,
ClearScope, Wait, $state, CreateSelect2, TemplatesService, ToJSON,
- ParseTypeChange, $q, Rest, GetBasePath) {
-
- Rest.setUrl(GetBasePath('workflow_job_templates'));
- Rest.options()
- .success(function(data) {
- if (!data.actions.POST) {
- $state.go("^");
- Alert('Permission Error', 'You do not have permission to add a workflow job template.', 'alert-info');
- }
- });
+ ParseTypeChange, $q, Rest, GetBasePath, availableLabels) {
ClearScope();
// Inject dynamic view
@@ -43,24 +34,14 @@ export default [
}
});
- // Go out and grab the possible labels
- TemplatesService.getLabelOptions()
- .then(function(data){
- $scope.labelOptions = data;
- // select2-ify the labels input
- CreateSelect2({
- element:'#workflow_job_template_labels',
- multiple: true,
- addNew: true
- });
- }, function(error){
- ProcessErrors($scope, error.data, error.status, form, {
- hdr: 'Error!',
- msg: 'Failed to get labels. GET returned ' +
- 'status: ' + error.status
- });
- });
+ $scope.labelOptions = availableLabels
+ .map((i) => ({label: i.name, value: i.id}));
+ CreateSelect2({
+ element:'#workflow_job_template_labels',
+ multiple: true,
+ addNew: true
+ });
}
$scope.formSave = function () {
diff --git a/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js b/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js
index fb408745a2..03c0ad00bd 100644
--- a/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js
+++ b/awx/ui/client/src/templates/workflows/edit-workflow/workflow-edit.controller.js
@@ -9,11 +9,11 @@ export default [
'ProcessErrors', 'ClearScope', 'GetBasePath', '$q', 'ParseTypeChange',
'Wait', 'Empty', 'ToJSON', 'initSurvey', '$state', 'CreateSelect2',
'ParseVariableString', 'TemplatesService', 'Rest', 'ToggleNotification',
- 'OrgAdminLookup',
+ 'OrgAdminLookup', 'availableLabels', 'selectedLabels', 'workflowJobTemplateData',
function($scope, $stateParams, WorkflowForm, GenerateForm, Alert,
ProcessErrors, ClearScope, GetBasePath, $q, ParseTypeChange, Wait, Empty,
ToJSON, SurveyControllerInit, $state, CreateSelect2, ParseVariableString,
- TemplatesService, Rest, ToggleNotification, OrgAdminLookup) {
+ TemplatesService, Rest, ToggleNotification, OrgAdminLookup, availableLabels, selectedLabels, workflowJobTemplateData) {
ClearScope();
$scope.$watch('workflow_job_template_obj.summary_fields.user_capabilities.edit', function(val) {
@@ -47,125 +47,74 @@ export default [
templateType: 'workflow_job_template'
});
- Rest.setUrl(GetBasePath('labels'));
- Wait("start");
- Rest.get()
- .success(function (data) {
- $scope.labelOptions = data.results
- .map((i) => ({label: i.name, value: i.id}));
+ $scope.labelOptions = availableLabels
+ .map((i) => ({label: i.name, value: i.id}));
- var seeMoreResolve = $q.defer();
+ var opts = selectedLabels
+ .map(i => ({id: i.id + "",
+ test: i.name}));
- var getNext = function(data, arr, resolve) {
- Rest.setUrl(data.next);
- Rest.get()
- .success(function (data) {
- if (data.next) {
- getNext(data, arr.concat(data.results), resolve);
- } else {
- resolve.resolve(arr.concat(data.results));
+ CreateSelect2({
+ element:'#workflow_job_template_labels',
+ multiple: true,
+ addNew: true,
+ opts: opts
+ });
+
+ $scope.workflow_job_template_obj = workflowJobTemplateData;
+ $scope.name = workflowJobTemplateData.name;
+ $scope.can_edit = workflowJobTemplateData.summary_fields.user_capabilities.edit;
+ let fld, i;
+ for (fld in form.fields) {
+ if (fld !== 'variables' && fld !== 'survey' && workflowJobTemplateData[fld] !== null && workflowJobTemplateData[fld] !== undefined) {
+ if (form.fields[fld].type === 'select') {
+ if ($scope[fld + '_options'] && $scope[fld + '_options'].length > 0) {
+ for (i = 0; i < $scope[fld + '_options'].length; i++) {
+ if (workflowJobTemplateData[fld] === $scope[fld + '_options'][i].value) {
+ $scope[fld] = $scope[fld + '_options'][i];
}
- });
- };
-
- Rest.setUrl(GetBasePath('workflow_job_templates') + id +
- "/labels");
- Rest.get()
- .success(function(data) {
- if (data.next) {
- getNext(data, data.results, seeMoreResolve);
- } else {
- seeMoreResolve.resolve(data.results);
- }
-
- seeMoreResolve.promise.then(function (labels) {
- $scope.$emit("choicesReady");
- var opts = labels
- .map(i => ({id: i.id + "",
- test: i.name}));
- CreateSelect2({
- element:'#workflow_job_template_labels',
- multiple: true,
- addNew: true,
- opts: opts
- });
- Wait("stop");
- });
- }).error(function(){
- // job template id is null in this case
- $scope.$emit("choicesReady");
- });
-
- })
- .error(function (data, status) {
- ProcessErrors($scope, data, status, form, {
- hdr: 'Error!',
- msg: 'Failed to get labels. GET returned ' +
- 'status: ' + status
- });
- });
-
- // Go out and GET the workflow job temlate data needed to populate the form
- TemplatesService.getWorkflowJobTemplate(id)
- .then(function(data){
- let workflowJobTemplateData = data.data;
- $scope.workflow_job_template_obj = workflowJobTemplateData;
- $scope.name = workflowJobTemplateData.name;
- $scope.can_edit = workflowJobTemplateData.summary_fields.user_capabilities.edit;
- let fld, i;
- for (fld in form.fields) {
- if (fld !== 'variables' && fld !== 'survey' && workflowJobTemplateData[fld] !== null && workflowJobTemplateData[fld] !== undefined) {
- if (form.fields[fld].type === 'select') {
- if ($scope[fld + '_options'] && $scope[fld + '_options'].length > 0) {
- for (i = 0; i < $scope[fld + '_options'].length; i++) {
- if (workflowJobTemplateData[fld] === $scope[fld + '_options'][i].value) {
- $scope[fld] = $scope[fld + '_options'][i];
- }
- }
- } else {
- $scope[fld] = workflowJobTemplateData[fld];
}
} else {
$scope[fld] = workflowJobTemplateData[fld];
- if(!Empty(workflowJobTemplateData.summary_fields.survey)) {
- $scope.survey_exists = true;
- }
+ }
+ } else {
+ $scope[fld] = workflowJobTemplateData[fld];
+ if(!Empty(workflowJobTemplateData.summary_fields.survey)) {
+ $scope.survey_exists = true;
}
}
- if (fld === 'variables') {
- // Parse extra_vars, converting to YAML.
- $scope.variables = ParseVariableString(workflowJobTemplateData.extra_vars);
-
- ParseTypeChange({ scope: $scope, field_id: 'workflow_job_template_variables' });
- }
- if (form.fields[fld].type === 'lookup' && workflowJobTemplateData.summary_fields[form.fields[fld].sourceModel]) {
- $scope[form.fields[fld].sourceModel + '_' + form.fields[fld].sourceField] =
- workflowJobTemplateData.summary_fields[form.fields[fld].sourceModel][form.fields[fld].sourceField];
- }
}
+ if (fld === 'variables') {
+ // Parse extra_vars, converting to YAML.
+ $scope.variables = ParseVariableString(workflowJobTemplateData.extra_vars);
- if(workflowJobTemplateData.organization) {
- OrgAdminLookup.checkForAdminAccess({organization: workflowJobTemplateData.organization})
- .then(function(canEditOrg){
- $scope.canEditOrg = canEditOrg;
- });
+ ParseTypeChange({ scope: $scope, field_id: 'workflow_job_template_variables' });
}
- else {
- $scope.canEditOrg = true;
+ if (form.fields[fld].type === 'lookup' && workflowJobTemplateData.summary_fields[form.fields[fld].sourceModel]) {
+ $scope[form.fields[fld].sourceModel + '_' + form.fields[fld].sourceField] =
+ workflowJobTemplateData.summary_fields[form.fields[fld].sourceModel][form.fields[fld].sourceField];
}
+ }
- Wait('stop');
- $scope.url = workflowJobTemplateData.url;
- $scope.survey_enabled = workflowJobTemplateData.survey_enabled;
-
- $scope.includeWorkflowMaker = true;
-
- }, function(error){
- ProcessErrors($scope, error.data, error.status, form, {
- hdr: 'Error!',
- msg: 'Failed to get workflow job template. GET returned ' +
- 'status: ' + error.status
+ if(workflowJobTemplateData.organization) {
+ OrgAdminLookup.checkForAdminAccess({organization: workflowJobTemplateData.organization})
+ .then(function(canEditOrg){
+ $scope.canEditOrg = canEditOrg;
});
+ }
+ else {
+ $scope.canEditOrg = true;
+ }
+
+ $scope.url = workflowJobTemplateData.url;
+ $scope.survey_enabled = workflowJobTemplateData.survey_enabled;
+
+ $scope.includeWorkflowMaker = true;
+
+ $scope.$on('SurveySaved', function() {
+ Wait('stop');
+ $scope.survey_exists = true;
+ $scope.invalid_survey = false;
});
}
@@ -338,15 +287,6 @@ export default [
});
};
- if ($scope.removeSurveySaved) {
- $scope.removeSurveySaved();
- }
- $scope.removeSurveySaved = $scope.$on('SurveySaved', function() {
- Wait('stop');
- $scope.survey_exists = true;
- $scope.invalid_survey = false;
- });
-
init();
}
];