mirror of
https://github.com/ansible/awx.git
synced 2026-04-04 17:55:06 -02:30
helpers/Groups.GroupsEdit now supports an 'add' mode for creating new groups.
This commit is contained in:
@@ -327,7 +327,7 @@ InventoriesAdd.$inject = ['$scope', '$rootScope', '$compile', '$location', '$log
|
|||||||
|
|
||||||
|
|
||||||
function InventoriesEdit($scope, $location, $routeParams, $compile, GenerateList, ClearScope, InventoryGroups, InventoryHosts, BuildTree, Wait,
|
function InventoriesEdit($scope, $location, $routeParams, $compile, GenerateList, ClearScope, InventoryGroups, InventoryHosts, BuildTree, Wait,
|
||||||
GetSyncStatusMsg, InjectHosts, HostsReload, GroupsAdd, GroupsEdit, GroupsDelete, Breadcrumbs, LoadBreadCrumbs, Empty, Rest, ProcessErrors,
|
GetSyncStatusMsg, InjectHosts, HostsReload, GroupsEdit, GroupsDelete, Breadcrumbs, LoadBreadCrumbs, Empty, Rest, ProcessErrors,
|
||||||
InventoryUpdate, Alert, ToggleChildren, ViewUpdateStatus, GroupsCancelUpdate, Find, HostsCreate, EditInventoryProperties, HostsEdit,
|
InventoryUpdate, Alert, ToggleChildren, ViewUpdateStatus, GroupsCancelUpdate, Find, HostsCreate, EditInventoryProperties, HostsEdit,
|
||||||
HostsDelete, ToggleHostEnabled, CopyMoveGroup, CopyMoveHost, Stream, GetBasePath, ShowJobSummary, ApplyEllipsis, WatchInventoryWindowResize,
|
HostsDelete, ToggleHostEnabled, CopyMoveGroup, CopyMoveHost, Stream, GetBasePath, ShowJobSummary, ApplyEllipsis, WatchInventoryWindowResize,
|
||||||
HelpDialog, InventoryGroupsHelp, Store) {
|
HelpDialog, InventoryGroupsHelp, Store) {
|
||||||
@@ -499,10 +499,11 @@ function InventoriesEdit($scope, $location, $routeParams, $compile, GenerateList
|
|||||||
};
|
};
|
||||||
|
|
||||||
$scope.createGroup = function () {
|
$scope.createGroup = function () {
|
||||||
GroupsAdd({
|
GroupsEdit({
|
||||||
scope: $scope,
|
scope: $scope,
|
||||||
inventory_id: $scope.inventory_id,
|
inventory_id: $scope.inventory_id,
|
||||||
group_id: $scope.selected_group_id
|
group_id: $scope.selected_group_id,
|
||||||
|
mode: 'add'
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -512,7 +513,8 @@ function InventoriesEdit($scope, $location, $routeParams, $compile, GenerateList
|
|||||||
inventory_id: $scope.inventory_id,
|
inventory_id: $scope.inventory_id,
|
||||||
group_id: group_id,
|
group_id: group_id,
|
||||||
tree_id: tree_id,
|
tree_id: tree_id,
|
||||||
groups_reload: true
|
groups_reload: true,
|
||||||
|
mode: 'edit'
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -663,8 +665,8 @@ function InventoriesEdit($scope, $location, $routeParams, $compile, GenerateList
|
|||||||
}
|
}
|
||||||
|
|
||||||
InventoriesEdit.$inject = ['$scope', '$location', '$routeParams', '$compile', 'GenerateList', 'ClearScope', 'InventoryGroups', 'InventoryHosts',
|
InventoriesEdit.$inject = ['$scope', '$location', '$routeParams', '$compile', 'GenerateList', 'ClearScope', 'InventoryGroups', 'InventoryHosts',
|
||||||
'BuildTree', 'Wait', 'GetSyncStatusMsg', 'InjectHosts', 'HostsReload', 'GroupsAdd', 'GroupsEdit', 'GroupsDelete', 'Breadcrumbs',
|
'BuildTree', 'Wait', 'GetSyncStatusMsg', 'InjectHosts', 'HostsReload', 'GroupsEdit', 'GroupsDelete', 'Breadcrumbs',
|
||||||
'LoadBreadCrumbs', 'Empty', 'Rest', 'ProcessErrors', 'InventoryUpdate', 'Alert', 'ToggleChildren', 'ViewUpdateStatus', 'GroupsCancelUpdate',
|
'LoadBreadCrumbs', 'Empty', 'Rest', 'ProcessErrors', 'InventoryUpdate', 'Alert', 'ToggleChildren', 'ViewUpdateStatus', 'GroupsCancelUpdate',
|
||||||
'Find', 'HostsCreate', 'EditInventoryProperties', 'HostsEdit', 'HostsDelete', 'ToggleHostEnabled', 'CopyMoveGroup', 'CopyMoveHost',
|
'Find', 'HostsCreate', 'EditInventoryProperties', 'HostsEdit', 'HostsDelete', 'ToggleHostEnabled', 'CopyMoveGroup', 'CopyMoveHost',
|
||||||
'Stream', 'GetBasePath', 'ShowJobSummary', 'ApplyEllipsis', 'WatchInventoryWindowResize', 'HelpDialog', 'InventoryGroupsHelp', 'Store'
|
'Stream', 'GetBasePath', 'ShowJobSummary', 'ApplyEllipsis', 'WatchInventoryWindowResize', 'HelpDialog', 'InventoryGroupsHelp', 'Store'
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -319,217 +319,6 @@ angular.module('GroupsHelper', ['RestServices', 'Utilities', 'ListGenerator', 'G
|
|||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
|
||||||
.factory('GroupsAdd', ['$rootScope', '$location', '$log', '$routeParams', 'Rest', 'Alert', 'GroupForm', 'GenerateForm',
|
|
||||||
'Prompt', 'ProcessErrors', 'GetBasePath', 'ParseTypeChange', 'Wait', 'GetChoices',
|
|
||||||
'GetSourceTypeOptions', 'LookUpInit', 'BuildTree', 'SourceChange', 'WatchInventoryWindowResize', 'ToJSON',
|
|
||||||
function ($rootScope, $location, $log, $routeParams, Rest, Alert, GroupForm, GenerateForm, Prompt, ProcessErrors,
|
|
||||||
GetBasePath, ParseTypeChange, Wait, GetChoices, GetSourceTypeOptions, LookUpInit, BuildTree,
|
|
||||||
SourceChange, WatchInventoryWindowResize, ToJSON) {
|
|
||||||
return function (params) {
|
|
||||||
|
|
||||||
var inventory_id = params.inventory_id,
|
|
||||||
group_id = (params.group_id !== undefined) ? params.group_id : null,
|
|
||||||
parent_scope = params.scope,
|
|
||||||
defaultUrl = (group_id !== null) ? GetBasePath('groups') + group_id + '/children/' :
|
|
||||||
GetBasePath('inventory') + inventory_id + '/groups/',
|
|
||||||
form = GroupForm,
|
|
||||||
generator = GenerateForm,
|
|
||||||
scope = generator.inject(form, { mode: 'add', modal: true, related: false, show_modal: false }),
|
|
||||||
choicesReady;
|
|
||||||
|
|
||||||
scope.formModalActionLabel = 'Save';
|
|
||||||
scope.formModalCancelShow = true;
|
|
||||||
scope.source = null;
|
|
||||||
generator.reset();
|
|
||||||
|
|
||||||
scope[form.fields.source_vars.parseTypeName] = 'yaml';
|
|
||||||
scope.parseType = 'yaml';
|
|
||||||
ParseTypeChange({ scope: scope, field_id: 'group_variables' });
|
|
||||||
|
|
||||||
$('#group_tabs a[data-toggle="tab"]').on('show.bs.tab', function (e) {
|
|
||||||
var callback = function(){ Wait('stop'); };
|
|
||||||
if ($(e.target).text() === 'Properties') {
|
|
||||||
Wait('start');
|
|
||||||
ParseTypeChange({ scope: scope, field_id: 'group_variables', onReady: callback });
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (scope.source && scope.source.value === 'ec2') {
|
|
||||||
Wait('start');
|
|
||||||
ParseTypeChange({ scope: scope, variable: 'source_vars', parse_variable: form.fields.source_vars.parseTypeName,
|
|
||||||
field_id: 'group_source_vars', onReady: callback });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (scope.removeAddTreeRefreshed) {
|
|
||||||
scope.removeAddTreeRefreshed();
|
|
||||||
}
|
|
||||||
scope.removeAddTreeRefreshed = scope.$on('GroupTreeRefreshed', function () {
|
|
||||||
$rootScope.formModalHeader = null;
|
|
||||||
$rootScope.formModalCancleShow = null;
|
|
||||||
$rootScope.formModalActionLabel = null;
|
|
||||||
Wait('stop');
|
|
||||||
$('#form-modal').modal('hide');
|
|
||||||
scope.removeAddTreeRefreshed();
|
|
||||||
});
|
|
||||||
|
|
||||||
if (scope.removeSaveComplete) {
|
|
||||||
scope.removeSaveComplete();
|
|
||||||
}
|
|
||||||
scope.removeSaveComplete = scope.$on('SaveComplete', function (e, group_id, error) {
|
|
||||||
if (!error) {
|
|
||||||
if (scope.searchCleanup) {
|
|
||||||
scope.searchCleanup();
|
|
||||||
}
|
|
||||||
scope.formModalActionDisabled = false;
|
|
||||||
BuildTree({
|
|
||||||
scope: parent_scope,
|
|
||||||
inventory_id: inventory_id,
|
|
||||||
refresh: true,
|
|
||||||
new_group_id: group_id
|
|
||||||
});
|
|
||||||
WatchInventoryWindowResize();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (scope.removeFormSaveSuccess) {
|
|
||||||
scope.removeFormSaveSuccess();
|
|
||||||
}
|
|
||||||
scope.removeFormSaveSuccess = scope.$on('formSaveSuccess', function (e, group_id, url) {
|
|
||||||
|
|
||||||
// Source data gets stored separately from the group. Validate and store Source
|
|
||||||
// related fields, then call SaveComplete to wrap things up.
|
|
||||||
|
|
||||||
var parseError = false,
|
|
||||||
data = {},
|
|
||||||
regions, r, i;
|
|
||||||
|
|
||||||
// Update the selector tree with new group name, descr
|
|
||||||
//SetNodeName({ scope: scope['selectedNode'], group_id: group_id,
|
|
||||||
// name: scope.name, description: scope.description });
|
|
||||||
|
|
||||||
if (scope.source.value !== null && scope.source.value !== '') {
|
|
||||||
data.group = group_id;
|
|
||||||
data.source = scope.source.value;
|
|
||||||
data.source_path = scope.source_path;
|
|
||||||
data.credential = scope.credential;
|
|
||||||
data.overwrite = scope.overwrite;
|
|
||||||
data.overwrite_vars = scope.overwrite_vars;
|
|
||||||
data.update_on_launch = scope.update_on_launch;
|
|
||||||
|
|
||||||
// Create a string out of selected list of regions
|
|
||||||
regions = $('#s2id_group_source_regions').select2("data");
|
|
||||||
r = [];
|
|
||||||
for (i = 0; i < regions.length; i++) {
|
|
||||||
r.push(regions[i].id);
|
|
||||||
}
|
|
||||||
data.source_regions = r.join();
|
|
||||||
|
|
||||||
if (scope.source.value === 'ec2') {
|
|
||||||
data.source_vars = ToJSON(scope.envParseType, scope.source_vars, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!parseError) {
|
|
||||||
Rest.setUrl(url);
|
|
||||||
Rest.put(data)
|
|
||||||
.success(function () {
|
|
||||||
scope.$emit('SaveComplete', group_id, false);
|
|
||||||
})
|
|
||||||
.error(function (data, status) {
|
|
||||||
scope.$emit('SaveComplete', group_id, true);
|
|
||||||
ProcessErrors(scope, data, status, form, {
|
|
||||||
hdr: 'Error!',
|
|
||||||
msg: 'Failed to update group inventory source. PUT status: ' + status
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// No source value
|
|
||||||
scope.$emit('SaveComplete', group_id, false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Cancel
|
|
||||||
scope.cancelModal = function () {
|
|
||||||
if (scope.searchCleanup) {
|
|
||||||
scope.searchCleanup();
|
|
||||||
}
|
|
||||||
WatchInventoryWindowResize();
|
|
||||||
};
|
|
||||||
|
|
||||||
// Save
|
|
||||||
scope.formModalAction = function () {
|
|
||||||
var data;
|
|
||||||
Wait('start');
|
|
||||||
scope.formModalActionDisabled = true;
|
|
||||||
data = {
|
|
||||||
name: scope.name,
|
|
||||||
description: scope.description
|
|
||||||
};
|
|
||||||
if (inventory_id) {
|
|
||||||
data.inventory = inventory_id;
|
|
||||||
}
|
|
||||||
data.variables = ToJSON(scope.parseType, scope.variables, true);
|
|
||||||
Rest.setUrl(defaultUrl);
|
|
||||||
Rest.post(data)
|
|
||||||
.success(function (data) {
|
|
||||||
scope.$emit('formSaveSuccess', data.id, GetBasePath('inventory_sources') + data.id + '/');
|
|
||||||
})
|
|
||||||
.error(function (data, status) {
|
|
||||||
Wait('stop');
|
|
||||||
scope.formModalActionDisabled = false;
|
|
||||||
ProcessErrors(scope, data, status, form, { hdr: 'Error!',
|
|
||||||
msg: 'Failed to add new group. POST returned status: ' + status });
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
scope.sourceChange = function () {
|
|
||||||
SourceChange({ scope: scope, form: GroupForm });
|
|
||||||
};
|
|
||||||
|
|
||||||
choicesReady = 0;
|
|
||||||
|
|
||||||
if (scope.removeChoicesReady) {
|
|
||||||
scope.removeChoicesReady();
|
|
||||||
}
|
|
||||||
scope.removeChoicesReady = scope.$on('choicesReadyGroup', function () {
|
|
||||||
choicesReady++;
|
|
||||||
if (choicesReady === 2) {
|
|
||||||
$('#form-modal').modal('show');
|
|
||||||
Wait('stop');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Load options for source regions
|
|
||||||
GetChoices({
|
|
||||||
scope: scope,
|
|
||||||
url: GetBasePath('inventory_sources'),
|
|
||||||
field: 'source_regions',
|
|
||||||
variable: 'rax_regions',
|
|
||||||
choice_name: 'rax_region_choices',
|
|
||||||
callback: 'choicesReadyGroup'
|
|
||||||
});
|
|
||||||
|
|
||||||
GetChoices({
|
|
||||||
scope: scope,
|
|
||||||
url: GetBasePath('inventory_sources'),
|
|
||||||
field: 'source_regions',
|
|
||||||
variable: 'ec2_regions',
|
|
||||||
choice_name: 'ec2_region_choices',
|
|
||||||
callback: 'choicesReadyGroup'
|
|
||||||
});
|
|
||||||
|
|
||||||
GetSourceTypeOptions({
|
|
||||||
scope: scope,
|
|
||||||
variable: 'source_type_options'
|
|
||||||
});
|
|
||||||
|
|
||||||
Wait('start');
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
])
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Add the list of schedules to the Group Edit modal
|
* Add the list of schedules to the Group Edit modal
|
||||||
@@ -609,7 +398,11 @@ function(ScheduleEdit, SchedulesList, GenerateList, SearchInit, PaginateInit, Re
|
|||||||
|
|
||||||
scope.editSchedule = function(id) {
|
scope.editSchedule = function(id) {
|
||||||
var schedule = Find({ list: scope[SchedulesList.name], key: 'id', val: id });
|
var schedule = Find({ list: scope[SchedulesList.name], key: 'id', val: id });
|
||||||
ScheduleEdit({ scope: parent_scope, schedule: schedule });
|
ScheduleEdit({ scope: parent_scope, schedule: schedule, mode: 'edit' });
|
||||||
|
};
|
||||||
|
|
||||||
|
scope.addSchedule = function() {
|
||||||
|
ScheduleEdit({ scope: parent_scope, schedule: {}, mode: 'add'});
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}])
|
}])
|
||||||
@@ -633,6 +426,7 @@ function(ScheduleEdit, SchedulesList, GenerateList, SearchInit, PaginateInit, Re
|
|||||||
function(SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize) {
|
function(SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize) {
|
||||||
return function(params) {
|
return function(params) {
|
||||||
var parent_scope = params.scope,
|
var parent_scope = params.scope,
|
||||||
|
mode = params.mode, // 'create' or 'edit'
|
||||||
schedule = params.schedule,
|
schedule = params.schedule,
|
||||||
scope = parent_scope.$new(),
|
scope = parent_scope.$new(),
|
||||||
scheduler,
|
scheduler,
|
||||||
@@ -677,10 +471,12 @@ function(SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize) {
|
|||||||
container.show('slide', { direction: 'left' }, 300);
|
container.show('slide', { direction: 'left' }, 300);
|
||||||
$('#group-save-button').prop('disabled', true);
|
$('#group-save-button').prop('disabled', true);
|
||||||
target.show();
|
target.show();
|
||||||
scope.$apply(function() {
|
if (mode === 'edit') {
|
||||||
scheduler.setRRule(schedule.rrule);
|
scope.$apply(function() {
|
||||||
scheduler.setName(schedule.name);
|
scheduler.setRRule(schedule.rrule);
|
||||||
});
|
scheduler.setName(schedule.name);
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
setTimeout(function() { showForm(); }, 1000);
|
setTimeout(function() { showForm(); }, 1000);
|
||||||
|
|
||||||
@@ -694,7 +490,6 @@ function(SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize) {
|
|||||||
parent_scope.showScheduleDetail = function() {
|
parent_scope.showScheduleDetail = function() {
|
||||||
if (parent_scope.formShowing) {
|
if (parent_scope.formShowing) {
|
||||||
scheduler.isValid();
|
scheduler.isValid();
|
||||||
//$('#schedules-form').hide();
|
|
||||||
detail.width($('#schedules-form').width()).height($('#schedules-form').height());
|
detail.width($('#schedules-form').width()).height($('#schedules-form').height());
|
||||||
target.hide();
|
target.hide();
|
||||||
detail.show();
|
detail.show();
|
||||||
@@ -717,15 +512,28 @@ function(SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize) {
|
|||||||
schedule.name = newSchedule.name;
|
schedule.name = newSchedule.name;
|
||||||
schedule.rrule = newSchedule.rrule;
|
schedule.rrule = newSchedule.rrule;
|
||||||
Rest.setUrl(url);
|
Rest.setUrl(url);
|
||||||
Rest.post(schedule)
|
if (mode === 'edit') {
|
||||||
.success(function(){
|
Rest.put(schedule)
|
||||||
Wait('stop');
|
.success(function(){
|
||||||
container.hide('slide', { direction: 'right' }, 500, restoreList);
|
Wait('stop');
|
||||||
})
|
container.hide('slide', { direction: 'right' }, 500, restoreList);
|
||||||
.error(function(){
|
})
|
||||||
Wait('stop');
|
.error(function(){
|
||||||
container.hide('slide', { direction: 'right' }, 500, restoreList);
|
Wait('stop');
|
||||||
});
|
container.hide('slide', { direction: 'right' }, 500, restoreList);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Rest.post(schedule)
|
||||||
|
.success(function(){
|
||||||
|
Wait('stop');
|
||||||
|
container.hide('slide', { direction: 'right' }, 500, restoreList);
|
||||||
|
})
|
||||||
|
.error(function(){
|
||||||
|
Wait('stop');
|
||||||
|
container.hide('slide', { direction: 'right' }, 500, restoreList);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
scope.schedulerIsValid = false;
|
scope.schedulerIsValid = false;
|
||||||
@@ -752,10 +560,11 @@ function(SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize) {
|
|||||||
var parent_scope = params.scope,
|
var parent_scope = params.scope,
|
||||||
group_id = params.group_id,
|
group_id = params.group_id,
|
||||||
tree_id = params.tree_id,
|
tree_id = params.tree_id,
|
||||||
|
mode = params.mode, // 'add' or 'edit'
|
||||||
inventory_id = params.inventory_id,
|
inventory_id = params.inventory_id,
|
||||||
groups_reload = params.groups_reload,
|
groups_reload = params.groups_reload,
|
||||||
generator = GenerateForm,
|
generator = GenerateForm,
|
||||||
defaultUrl = GetBasePath('groups') + group_id + '/',
|
defaultUrl,
|
||||||
master = {},
|
master = {},
|
||||||
choicesReady,
|
choicesReady,
|
||||||
modal_scope = parent_scope.$new(),
|
modal_scope = parent_scope.$new(),
|
||||||
@@ -763,6 +572,14 @@ function(SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize) {
|
|||||||
sources_scope = parent_scope.$new(),
|
sources_scope = parent_scope.$new(),
|
||||||
x, y, ww, wh, maxrows;
|
x, y, ww, wh, maxrows;
|
||||||
|
|
||||||
|
if (mode === 'edit') {
|
||||||
|
defaultUrl = GetBasePath('groups') + group_id + '/';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
defaultUrl = (group_id !== null) ? GetBasePath('groups') + group_id + '/children/' :
|
||||||
|
GetBasePath('inventory') + inventory_id + '/groups/';
|
||||||
|
}
|
||||||
|
|
||||||
generator.inject(GroupForm, { mode: 'edit', id: 'properties-tab', breadCrumbs: false, related: false, scope: properties_scope });
|
generator.inject(GroupForm, { mode: 'edit', id: 'properties-tab', breadCrumbs: false, related: false, scope: properties_scope });
|
||||||
generator.inject(SourceForm, { mode: 'edit', id: 'sources-tab', breadCrumbs: false, related: false, scope: sources_scope });
|
generator.inject(SourceForm, { mode: 'edit', id: 'sources-tab', breadCrumbs: false, related: false, scope: sources_scope });
|
||||||
|
|
||||||
@@ -1068,7 +885,12 @@ function(SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize) {
|
|||||||
sources_scope.removeChoicesReady = sources_scope.$on('choicesReadyGroup', function () {
|
sources_scope.removeChoicesReady = sources_scope.$on('choicesReadyGroup', function () {
|
||||||
choicesReady++;
|
choicesReady++;
|
||||||
if (choicesReady === 2) {
|
if (choicesReady === 2) {
|
||||||
modal_scope.$emit('choicesCompleteGroup');
|
if (mode === 'edit') {
|
||||||
|
modal_scope.$emit('choicesCompleteGroup');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
modal_scope.$emit('groupVariablesLoaded');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1175,18 +997,46 @@ function(SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize) {
|
|||||||
|
|
||||||
if (!parseError) {
|
if (!parseError) {
|
||||||
Rest.setUrl(sources_scope.source_url);
|
Rest.setUrl(sources_scope.source_url);
|
||||||
Rest.put(data)
|
if (mode === 'edit') {
|
||||||
.success(function () {
|
Rest.put(data)
|
||||||
modal_scope.$emit('SaveComplete', false);
|
.success(function () {
|
||||||
})
|
modal_scope.$emit('SaveComplete', false);
|
||||||
.error(function (data, status) {
|
})
|
||||||
modal_scope.$emit('SaveComplete', true);
|
.error(function (data, status) {
|
||||||
ProcessErrors(sources_scope, data, status, SourceForm, { hdr: 'Error!',
|
modal_scope.$emit('SaveComplete', true);
|
||||||
msg: 'Failed to update group inventory source. PUT status: ' + status });
|
ProcessErrors(sources_scope, data, status, SourceForm, { hdr: 'Error!',
|
||||||
});
|
msg: 'Failed to update group inventory source. PUT status: ' + status });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Rest.post(data)
|
||||||
|
.success(function () {
|
||||||
|
modal_scope.$emit('SaveComplete', false);
|
||||||
|
})
|
||||||
|
.error(function (data, status) {
|
||||||
|
modal_scope.$emit('SaveComplete', true);
|
||||||
|
ProcessErrors(sources_scope, data, status, SourceForm, { hdr: 'Error!',
|
||||||
|
msg: 'Failed to update group inventory source. PUT status: ' + status });
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (modal_scope.removeUpdateVariables) {
|
||||||
|
modal_scope.removeUpdateVariables();
|
||||||
|
}
|
||||||
|
modal_scope.removeUpdateVariables = modal_scope.$on('updateVariables', function(e, data, url) {
|
||||||
|
Rest.setUrl(url);
|
||||||
|
Rest.put(data)
|
||||||
|
.success(function () {
|
||||||
|
modal_scope.$emit('formSaveSuccess');
|
||||||
|
})
|
||||||
|
.error(function (data, status) {
|
||||||
|
ProcessErrors(modal_scope, data, status, null, { hdr: 'Error!',
|
||||||
|
msg: 'Failed to update group variables. PUT status: ' + status });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
// Cancel
|
// Cancel
|
||||||
modal_scope.cancelModal = function () {
|
modal_scope.cancelModal = function () {
|
||||||
try {
|
try {
|
||||||
@@ -1218,29 +1068,40 @@ function(SchedulerInit, Rest, Wait, SetSchedulesInnerDialogSize) {
|
|||||||
data.inventory = inventory_id;
|
data.inventory = inventory_id;
|
||||||
|
|
||||||
Rest.setUrl(defaultUrl);
|
Rest.setUrl(defaultUrl);
|
||||||
Rest.put(data)
|
if (mode === 'edit') {
|
||||||
.success(function () {
|
Rest.put(data)
|
||||||
if (properties_scope.variables) {
|
.success(function () {
|
||||||
//update group variables
|
if (properties_scope.variables) {
|
||||||
Rest.setUrl(properties_scope.variable_url);
|
modal_scope.$emit('updateVariables', json_data, properties_scope.variable_url);
|
||||||
Rest.put(json_data)
|
}
|
||||||
.success(function () {
|
else {
|
||||||
modal_scope.$emit('formSaveSuccess');
|
modal_scope.$emit('formSaveSuccess');
|
||||||
})
|
}
|
||||||
.error(function (data, status) {
|
})
|
||||||
ProcessErrors(modal_scope, data, status, null, { hdr: 'Error!',
|
.error(function (data, status) {
|
||||||
msg: 'Failed to update group variables. PUT status: ' + status });
|
Wait('stop');
|
||||||
});
|
ProcessErrors(properties_scope, data, status, GroupForm, { hdr: 'Error!',
|
||||||
} else {
|
msg: 'Failed to update group: ' + group_id + '. PUT status: ' + status
|
||||||
modal_scope.$emit('formSaveSuccess');
|
});
|
||||||
}
|
|
||||||
})
|
|
||||||
.error(function (data, status) {
|
|
||||||
Wait('stop');
|
|
||||||
ProcessErrors(properties_scope, data, status, GroupForm, { hdr: 'Error!',
|
|
||||||
msg: 'Failed to update group: ' + group_id + '. PUT status: ' + status
|
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
|
else {
|
||||||
|
Rest.post(data)
|
||||||
|
.success(function () {
|
||||||
|
if (properties_scope.variables) {
|
||||||
|
modal_scope.$emit('updateVariables', json_data, properties_scope.variable_url);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
modal_scope.$emit('formSaveSuccess');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.error(function (data, status) {
|
||||||
|
Wait('stop');
|
||||||
|
ProcessErrors(properties_scope, data, status, GroupForm, { hdr: 'Error!',
|
||||||
|
msg: 'Failed to create group: ' + group_id + '. POST status: ' + status
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Start the update process
|
// Start the update process
|
||||||
|
|||||||
Reference in New Issue
Block a user