applications-update-view.js
165 lines
| 5.9 KiB
| application/javascript
|
JavascriptLexer
r112 | // Copyright 2010 - 2017 RhodeCode GmbH and the AppEnlight project authors | |||
// | ||||
// Licensed under the Apache License, Version 2.0 (the "License"); | ||||
// you may not use this file except in compliance with the License. | ||||
// You may obtain a copy of the License at | ||||
// | ||||
// http://www.apache.org/licenses/LICENSE-2.0 | ||||
// | ||||
// Unless required by applicable law or agreed to in writing, software | ||||
// distributed under the License is distributed on an "AS IS" BASIS, | ||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
// See the License for the specific language governing permissions and | ||||
// limitations under the License. | ||||
r0 | ||||
r83 | angular.module('appenlight.components.applicationsUpdateView', []) | |||
.component('applicationsUpdateView', { | ||||
templateUrl: 'components/views/applications-update-view/applications-update-view.html', | ||||
controller: applicationsUpdateViewController | ||||
}); | ||||
r0 | ||||
r86 | applicationsUpdateViewController.$inject = ['$state', 'applicationsNoIdResource', 'applicationsResource', 'applicationsPropertyResource', 'stateHolder', 'AeConfig']; | |||
r0 | ||||
r86 | function applicationsUpdateViewController($state, applicationsNoIdResource, applicationsResource, applicationsPropertyResource, stateHolder, AeConfig) { | |||
r0 | 'use strict'; | |||
r83 | console.debug('applicationsUpdateView'); | |||
r0 | var vm = this; | |||
r86 | vm.AeConfig = AeConfig; | |||
r83 | vm.$state = $state; | |||
r0 | vm.loading = {application: false}; | |||
vm.groupingOptions = [ | ||||
['url_type', 'Error Type + location'], | ||||
['url_traceback', 'Traceback + location'], | ||||
['traceback_server', 'Traceback + Server'], | ||||
]; | ||||
var resourceId = $state.params.resourceId; | ||||
var options = {}; | ||||
vm.momentJs = moment; | ||||
vm.formTransferModel = {password:''}; | ||||
// set initial data | ||||
if (resourceId === 'new') { | ||||
vm.resource = { | ||||
resource_id: null, | ||||
slow_report_threshold: 10, | ||||
error_report_threshold: 10, | ||||
allow_permanent_storage: true, | ||||
default_grouping: vm.groupingOptions[1][0] | ||||
}; | ||||
} | ||||
else { | ||||
vm.loading.application = true; | ||||
vm.resource = applicationsResource.get({ | ||||
'resourceId': resourceId | ||||
}, function (data) { | ||||
vm.loading.application = false; | ||||
}); | ||||
} | ||||
vm.updateBasicForm = function () { | ||||
vm.loading.application = true; | ||||
if (vm.resource.resource_id === null) { | ||||
applicationsNoIdResource.save(null, vm.resource, function (data) { | ||||
r62 | stateHolder.AeUser.addApplication(data); | |||
r0 | $state.go('applications.update', {resourceId: data.resource_id}); | |||
setServerValidation(vm.BasicForm); | ||||
}, function (response) { | ||||
if (response.status == 422) { | ||||
setServerValidation(vm.BasicForm, response.data); | ||||
} | ||||
vm.loading.application = false; | ||||
console.log(vm.BasicForm); | ||||
}); | ||||
} | ||||
else { | ||||
applicationsResource.update({resourceId: vm.resource.resource_id}, | ||||
vm.resource, function (data) { | ||||
vm.resource = data; | ||||
vm.loading.application = false; | ||||
setServerValidation(vm.BasicForm); | ||||
}, function (response) { | ||||
if (response.status == 422) { | ||||
setServerValidation(vm.BasicForm, response.data); | ||||
} | ||||
vm.loading.application = false; | ||||
}); | ||||
} | ||||
}; | ||||
vm.addRule = function () { | ||||
console.log('addrule'); | ||||
applicationsPropertyResource.save({ | ||||
resourceId: vm.resource.resource_id, | ||||
key: 'postprocessing_rules' | ||||
}, null, | ||||
function (data) { | ||||
vm.resource.postprocessing_rules.push(data); | ||||
} | ||||
); | ||||
}; | ||||
vm.regenerateAPIKeys = function(){ | ||||
vm.loading.application = true; | ||||
applicationsPropertyResource.save({ | ||||
resourceId: vm.resource.resource_id, | ||||
key: 'api_key' | ||||
}, {password: vm.regenerateAPIKeysPassword}, | ||||
function (data) { | ||||
vm.resource = data; | ||||
vm.loading.application = false; | ||||
vm.regenerateAPIKeysPassword = ''; | ||||
setServerValidation(vm.regenerateAPIKeysForm); | ||||
}, | ||||
function (response) { | ||||
if (response.status == 422) { | ||||
setServerValidation(vm.regenerateAPIKeysForm, response.data); | ||||
console.log(response.data); | ||||
} | ||||
vm.loading.application = false; | ||||
} | ||||
) | ||||
}; | ||||
vm.deleteApplication = function(){ | ||||
vm.loading.application = true; | ||||
applicationsPropertyResource.update({ | ||||
resourceId: vm.resource.resource_id, | ||||
key: 'delete_resource' | ||||
}, vm.formDeleteModel, | ||||
function (data) { | ||||
r62 | stateHolder.AeUser.removeApplicationById(vm.resource.resource_id); | |||
r0 | $state.go('applications.list'); | |||
}, | ||||
function (response) { | ||||
if (response.status == 422) { | ||||
setServerValidation(vm.formDelete, response.data); | ||||
console.log(response.data); | ||||
} | ||||
vm.loading.application = false; | ||||
} | ||||
); | ||||
}; | ||||
vm.transferApplication = function(){ | ||||
vm.loading.application = true; | ||||
applicationsPropertyResource.update({ | ||||
resourceId: vm.resource.resource_id, | ||||
key: 'owner' | ||||
}, vm.formTransferModel, | ||||
function (data) { | ||||
$state.go('applications.list'); | ||||
}, | ||||
function (response) { | ||||
if (response.status == 422) { | ||||
setServerValidation(vm.formTransfer, response.data); | ||||
console.log(response.data); | ||||
} | ||||
vm.loading.application = false; | ||||
} | ||||
) | ||||
} | ||||
} | ||||