Send option request for config page just once (Fixes #1813)

Add permission check in config template.
This commit is contained in:
Emanuel Schuetze 2016-01-22 20:45:04 +01:00
parent 48781b95ba
commit 4d6aade16a
3 changed files with 17 additions and 7 deletions

View File

@ -281,11 +281,20 @@ angular.module('OpenSlidesApp.core', [
])
.factory('Config', [
'$http',
'DS',
function(DS) {
function($http, DS) {
var configOptions;
return DS.defineResource({
name: 'core/config',
idAttribute: 'key',
configOptions: configOptions,
getConfigOptions: function () {
if (!this.configOptions) {
this.configOptions = $http({ 'method': 'OPTIONS', 'url': '/rest/core/config/' });
}
return this.configOptions;
},
});
}
])

View File

@ -219,8 +219,8 @@ angular.module('OpenSlidesApp.core.site', [
url: '/config',
controller: 'ConfigCtrl',
resolve: {
configOption: function($http) {
return $http({ 'method': 'OPTIONS', 'url': '/rest/core/config/' });
configOptions: function(Config) {
return Config.getConfigOptions();
}
}
})
@ -436,10 +436,10 @@ angular.module('OpenSlidesApp.core.site', [
.controller('ConfigCtrl', [
'$scope',
'Config',
'configOption',
function($scope, Config, configOption) {
'configOptions',
function($scope, Config, configOptions) {
Config.bindAll({}, $scope, 'configs');
$scope.configGroups = configOption.data.config_groups;
$scope.configGroups = configOptions.data.config_groups;
// save changed config value
$scope.save = function(key, value) {

View File

@ -5,7 +5,8 @@
</div>
<div class="details">
<div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<div os-perms="core.can_manage_config" class="panel-group" id="accordion"
role="tablist" aria-multiselectable="true">
<!-- generate config groups -->
<div ng-repeat="group in configGroups">
<div class="panel panel-default">