// # Copyright (C) 2010-2016 RhodeCode GmbH // # // # This program is free software: you can redistribute it and/or modify // # it under the terms of the GNU Affero General Public License, version 3 // # (only), as published by the Free Software Foundation. // # // # This program is distributed in the hope that it will be useful, // # but WITHOUT ANY WARRANTY; without even the implied warranty of // # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // # GNU General Public License for more details. // # // # You should have received a copy of the GNU Affero General Public License // # along with this program. If not, see <http://www.gnu.org/licenses/>. // # // # This program is dual-licensed. If you wish to learn more about the // # AppEnlight Enterprise Edition, including its added features, Support // # services, and proprietary license terms, please see // # https://rhodecode.com/licenses/ angular.module('appenlight.components.adminConfigurationView', []) .component('adminConfigurationView', { templateUrl: 'components/views/admin-configuration-view/admin-configuration-view.html', controller: AdminConfigurationViewController }); AdminConfigurationViewController.$inject = ['configsResource', 'configsNoIdResource']; function AdminConfigurationViewController(configsResource, configsNoIdResource) { var vm = this; vm.loading = {config: true}; var filters = [ 'template_footer_html:global', 'list_groups_to_non_admins:global', 'per_application_reports_rate_limit:global', 'per_application_logs_rate_limit:global', 'per_application_metrics_rate_limit:global', ]; vm.configs = {}; vm.configList = configsResource.query({filter: filters}, function (data) { vm.loading = {config: false}; _.each(data, function (item) { if (vm.configs[item.section] === undefined) { vm.configs[item.section] = {}; } vm.configs[item.section][item.key] = item; }); }); vm.save = function () { vm.loading.config = true; _.each(vm.configList, function (item) { item.$save(); }); vm.loading.config = false; }; };