mirror of
https://github.com/ansible/awx.git
synced 2026-05-14 04:47:44 -02:30
Fixed delete on templates list
This commit is contained in:
@@ -1,10 +1,9 @@
|
|||||||
function ListTemplatesController (model, strings, $state, $scope, rbacUiControlService, Dataset, $filter, Alert, InitiatePlaybookRun, Prompt, Wait, ProcessErrors, TemplateCopyService) {
|
function ListTemplatesController (model, JobTemplate, WorkflowJobTemplate, strings, $state, $scope, rbacUiControlService, Dataset, $filter, Alert, InitiatePlaybookRun, Prompt, Wait, ProcessErrors, TemplateCopyService) {
|
||||||
const vm = this || {}
|
const vm = this || {},
|
||||||
const unifiedJobTemplate = model;
|
unifiedJobTemplate = model,
|
||||||
|
jobTemplate = new JobTemplate(),
|
||||||
|
workflowJobTemplate = new WorkflowJobTemplate();
|
||||||
|
|
||||||
init();
|
|
||||||
|
|
||||||
function init() {
|
|
||||||
vm.strings = strings;
|
vm.strings = strings;
|
||||||
|
|
||||||
// TODO: add the permission based functionality to the base model
|
// TODO: add the permission based functionality to the base model
|
||||||
@@ -39,7 +38,6 @@ function ListTemplatesController (model, strings, $state, $scope, rbacUiControlS
|
|||||||
$scope[`${$scope.list.iterator}_dataset`] = dataset;
|
$scope[`${$scope.list.iterator}_dataset`] = dataset;
|
||||||
$scope[$scope.list.name] = dataset.results;
|
$scope[$scope.list.name] = dataset.results;
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
// get modified date and user who modified it
|
// get modified date and user who modified it
|
||||||
vm.getModified = function(template) {
|
vm.getModified = function(template) {
|
||||||
@@ -261,10 +259,8 @@ function ListTemplatesController (model, strings, $state, $scope, rbacUiControlS
|
|||||||
var action = function() {
|
var action = function() {
|
||||||
$('#prompt-modal').modal('hide');
|
$('#prompt-modal').modal('hide');
|
||||||
Wait('start');
|
Wait('start');
|
||||||
// TODO: The request url doesn't work here
|
|
||||||
unifiedJobTemplate.request('delete', template.id)
|
|
||||||
.then(() => {
|
|
||||||
|
|
||||||
|
let deleteComplete = () => {
|
||||||
let reloadListStateParams = null;
|
let reloadListStateParams = null;
|
||||||
|
|
||||||
if($scope.templates.length === 1 && $state.params.template_search && !_.isEmpty($state.params.template_search.page) && $state.params.template_search.page !== '1') {
|
if($scope.templates.length === 1 && $state.params.template_search && !_.isEmpty($state.params.template_search.page) && $state.params.template_search.page !== '1') {
|
||||||
@@ -277,6 +273,12 @@ function ListTemplatesController (model, strings, $state, $scope, rbacUiControlS
|
|||||||
} else {
|
} else {
|
||||||
$state.go('.', reloadListStateParams, {reload: true});
|
$state.go('.', reloadListStateParams, {reload: true});
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if(template.type === "job_template") {
|
||||||
|
jobTemplate.request('delete', template.id)
|
||||||
|
.then(() => {
|
||||||
|
deleteComplete();
|
||||||
})
|
})
|
||||||
.catch(({data, status}) => {
|
.catch(({data, status}) => {
|
||||||
ProcessErrors($scope, data, status, null, {
|
ProcessErrors($scope, data, status, null, {
|
||||||
@@ -287,6 +289,22 @@ function ListTemplatesController (model, strings, $state, $scope, rbacUiControlS
|
|||||||
.finally(function() {
|
.finally(function() {
|
||||||
Wait('stop');
|
Wait('stop');
|
||||||
});
|
});
|
||||||
|
} else if(template.type === "workflow_job_template") {
|
||||||
|
workflowJobTemplate.request('delete', template.id)
|
||||||
|
.then(() => {
|
||||||
|
deleteComplete();
|
||||||
|
})
|
||||||
|
.catch(({data, status}) => {
|
||||||
|
ProcessErrors($scope, data, status, null, {
|
||||||
|
hdr: strings.get('error.HEADER'),
|
||||||
|
msg: strings.get('error.CALL', {path: "" + unifiedJobTemplate.path + template.id, status})
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.finally(function() {
|
||||||
|
Wait('stop');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let deleteModalBody = `<div class="Prompt-bodyQuery">${strings.get('deleteResource.CONFIRM', 'template')}</div>`;
|
let deleteModalBody = `<div class="Prompt-bodyQuery">${strings.get('deleteResource.CONFIRM', 'template')}</div>`;
|
||||||
@@ -303,6 +321,8 @@ function ListTemplatesController (model, strings, $state, $scope, rbacUiControlS
|
|||||||
|
|
||||||
ListTemplatesController.$inject = [
|
ListTemplatesController.$inject = [
|
||||||
'resolvedModels',
|
'resolvedModels',
|
||||||
|
'JobTemplateModel',
|
||||||
|
'WorkflowJobTemplateModel',
|
||||||
'TemplatesStrings',
|
'TemplatesStrings',
|
||||||
'$state',
|
'$state',
|
||||||
'$scope',
|
'$scope',
|
||||||
|
|||||||
21
awx/ui/client/lib/models/WorkflowJobTemplate.js
Normal file
21
awx/ui/client/lib/models/WorkflowJobTemplate.js
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
let Base;
|
||||||
|
|
||||||
|
function WorkflowJobTemplateModel (method, resource, config) {
|
||||||
|
Base.call(this, 'workflow_job_templates');
|
||||||
|
|
||||||
|
this.Constructor = WorkflowJobTemplateModel;
|
||||||
|
|
||||||
|
return this.create(method, resource, config);
|
||||||
|
}
|
||||||
|
|
||||||
|
function WorkflowJobTemplateModelLoader (BaseModel) {
|
||||||
|
Base = BaseModel;
|
||||||
|
|
||||||
|
return WorkflowJobTemplateModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
WorkflowJobTemplateModelLoader.$inject = [
|
||||||
|
'BaseModel'
|
||||||
|
];
|
||||||
|
|
||||||
|
export default WorkflowJobTemplateModelLoader;
|
||||||
@@ -12,6 +12,7 @@ import WorkflowJobTemplateNode from '~models/WorkflowJobTemplateNode';
|
|||||||
import InventorySource from '~models/InventorySource';
|
import InventorySource from '~models/InventorySource';
|
||||||
import Inventory from '~models/Inventory';
|
import Inventory from '~models/Inventory';
|
||||||
import InventoryScript from '~models/InventoryScript';
|
import InventoryScript from '~models/InventoryScript';
|
||||||
|
import WorkflowJobTemplate from '~models/WorkflowJobTemplate';
|
||||||
|
|
||||||
import ModelsStrings from '~models/models.strings';
|
import ModelsStrings from '~models/models.strings';
|
||||||
import UnifiedJobTemplate from '~models/UnifiedJobTemplate';
|
import UnifiedJobTemplate from '~models/UnifiedJobTemplate';
|
||||||
@@ -34,6 +35,7 @@ angular
|
|||||||
.service('InventorySourceModel', InventorySource)
|
.service('InventorySourceModel', InventorySource)
|
||||||
.service('InventoryModel', Inventory)
|
.service('InventoryModel', Inventory)
|
||||||
.service('InventoryScriptModel', InventoryScript)
|
.service('InventoryScriptModel', InventoryScript)
|
||||||
|
.service('WorkflowJobTemplateModel', WorkflowJobTemplate)
|
||||||
.service('ModelsStrings', ModelsStrings)
|
.service('ModelsStrings', ModelsStrings)
|
||||||
.service('UnifiedJobTemplateModel', UnifiedJobTemplate);
|
.service('UnifiedJobTemplateModel', UnifiedJobTemplate);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user