Remove unused config access via REST
This original method to retrieve user settings has been replaced by https://review.openstack.org/#/c/170351/. Remove old way to prevent confusion. Change-Id: I4fec94a78168d48fee5b21d24064200b2aefce91 Closes-Bug: #1455246
This commit is contained in:
parent
46ca8a7095
commit
a4b48e4c05
@ -17,59 +17,6 @@
|
|||||||
(function () {
|
(function () {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
/**
|
|
||||||
* @ngdoc service
|
|
||||||
* @name hz.api.configAPI
|
|
||||||
* @description Provides access to dashboard configuration.
|
|
||||||
*/
|
|
||||||
function ConfigAPI(apiService) {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @name hz.api.configAPI.getUserDefaults
|
|
||||||
* @description
|
|
||||||
* Get the default user configuration settings.
|
|
||||||
*
|
|
||||||
* Returns an object with user configuration settings.
|
|
||||||
*/
|
|
||||||
this.getUserDefaults = function() {
|
|
||||||
return apiService.get('/api/config/user/')
|
|
||||||
.success(function(data) {
|
|
||||||
// store config in localStorage
|
|
||||||
// should be call only when defaults are needed
|
|
||||||
// or when user wants to reset it
|
|
||||||
localStorage.user_config = angular.toJson(data);
|
|
||||||
})
|
|
||||||
.error(function () {
|
|
||||||
horizon.alert('error', gettext('Unable to retrieve user configuration.'));
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @name hz.api.configAPI.getAdminDefaults
|
|
||||||
* @description
|
|
||||||
* Get the default admin configuration settings.
|
|
||||||
*
|
|
||||||
* Returns an object with admin configuration settings.
|
|
||||||
*/
|
|
||||||
this.getAdminDefaults = function() {
|
|
||||||
return apiService.get('/api/config/admin/')
|
|
||||||
.success(function(data) {
|
|
||||||
// store this in localStorage
|
|
||||||
// should be call once each page load
|
|
||||||
localStorage.admin_config = angular.toJson(data);
|
|
||||||
})
|
|
||||||
.error(function () {
|
|
||||||
horizon.alert('error', gettext('Unable to retrieve admin configuration.'));
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Register it with the API module so that anybody using the
|
|
||||||
// API module will have access to the Config APIs.
|
|
||||||
angular.module('hz.api')
|
|
||||||
.service('hz.api.config', ['hz.api.common.service', ConfigAPI]);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ngdoc service
|
* @ngdoc service
|
||||||
* @name hz.api.settingsService
|
* @name hz.api.settingsService
|
||||||
|
@ -16,17 +16,10 @@
|
|||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.views import generic
|
from django.views import generic
|
||||||
|
|
||||||
from horizon import conf
|
|
||||||
|
|
||||||
from openstack_dashboard.api.rest import urls
|
from openstack_dashboard.api.rest import urls
|
||||||
from openstack_dashboard.api.rest import utils as rest_utils
|
from openstack_dashboard.api.rest import utils as rest_utils
|
||||||
|
|
||||||
|
|
||||||
# properties we know are admin config
|
|
||||||
admin_configs = ['ajax_queue_limit', 'ajax_poll_interval',
|
|
||||||
'user_home', 'help_url',
|
|
||||||
'password_autocomplete', 'disable_password_reveal']
|
|
||||||
|
|
||||||
# settings that we allow to be retrieved via REST API
|
# settings that we allow to be retrieved via REST API
|
||||||
# these settings are available to the client and are not secured.
|
# these settings are available to the client and are not secured.
|
||||||
# *** THEY SHOULD BE TREATED WITH EXTREME CAUTION ***
|
# *** THEY SHOULD BE TREATED WITH EXTREME CAUTION ***
|
||||||
@ -35,52 +28,6 @@ settings_additional = getattr(settings, 'REST_API_ADDITIONAL_SETTINGS', [])
|
|||||||
|
|
||||||
settings_allowed = settings_required + settings_additional
|
settings_allowed = settings_required + settings_additional
|
||||||
|
|
||||||
# properties we know are user config
|
|
||||||
# this is a white list of keys under HORIZON_CONFIG in settings.pys
|
|
||||||
# that we want to pass onto client
|
|
||||||
user_configs = ['auto_fade_alerts', 'modal_backdrop']
|
|
||||||
|
|
||||||
|
|
||||||
@urls.register
|
|
||||||
class DefaultUserConfigs(generic.View):
|
|
||||||
"""API for retrieving user configurations.
|
|
||||||
|
|
||||||
This API returns read-only-default configuration values.
|
|
||||||
This configuration object is ideally fetched once per application life
|
|
||||||
or when a user needs to restore the default values.
|
|
||||||
Examples of user config: modal_backdrop, disable_password_reveal
|
|
||||||
"""
|
|
||||||
url_regex = r'config/user/$'
|
|
||||||
|
|
||||||
@rest_utils.ajax()
|
|
||||||
def get(self, request):
|
|
||||||
"""Get default user configurations
|
|
||||||
"""
|
|
||||||
config = {}
|
|
||||||
for key in user_configs:
|
|
||||||
config[key] = conf.HORIZON_CONFIG.get(key, None)
|
|
||||||
return config
|
|
||||||
|
|
||||||
|
|
||||||
@urls.register
|
|
||||||
class AdminConfigs(generic.View):
|
|
||||||
"""API for retrieving admin configurations.
|
|
||||||
|
|
||||||
This API returns read-only admin configuration values.
|
|
||||||
This configuration object can be fetched as needed.
|
|
||||||
Examples of admin config: help_url, user_home
|
|
||||||
"""
|
|
||||||
url_regex = r'config/admin/$'
|
|
||||||
|
|
||||||
@rest_utils.ajax()
|
|
||||||
def get(self, request):
|
|
||||||
"""Get read-only admin configurations
|
|
||||||
"""
|
|
||||||
config = {}
|
|
||||||
for key in admin_configs:
|
|
||||||
config[key] = conf.HORIZON_CONFIG.get(key, None)
|
|
||||||
return config
|
|
||||||
|
|
||||||
|
|
||||||
@urls.register
|
@urls.register
|
||||||
class Settings(generic.View):
|
class Settings(generic.View):
|
||||||
|
@ -12,10 +12,6 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import mock
|
|
||||||
|
|
||||||
from horizon import conf
|
|
||||||
|
|
||||||
from openstack_dashboard.api.rest import config
|
from openstack_dashboard.api.rest import config
|
||||||
from openstack_dashboard.test import helpers as test
|
from openstack_dashboard.test import helpers as test
|
||||||
|
|
||||||
@ -33,24 +29,6 @@ class ConfigRestTestCase(test.TestCase):
|
|||||||
self.fail('%s contains %s when it should not' %
|
self.fail('%s contains %s when it should not' %
|
||||||
(response, expected_content))
|
(response, expected_content))
|
||||||
|
|
||||||
def test_user_config_get(self):
|
|
||||||
user_config = {"modal_backdrop": "static"}
|
|
||||||
content = '"modal_backdrop": "static"'
|
|
||||||
with mock.patch.dict(conf.HORIZON_CONFIG, user_config):
|
|
||||||
request = self.mock_rest_request()
|
|
||||||
response = config.DefaultUserConfigs().get(request)
|
|
||||||
self.assertStatusCode(response, 200)
|
|
||||||
self.assertContains(response.content, content)
|
|
||||||
|
|
||||||
def test_admin_config_get(self):
|
|
||||||
admin_config = {"user_home": "somewhere.com"}
|
|
||||||
content = '"user_home": "somewhere.com"'
|
|
||||||
with mock.patch.dict(conf.HORIZON_CONFIG, admin_config):
|
|
||||||
request = self.mock_rest_request()
|
|
||||||
response = config.AdminConfigs().get(request)
|
|
||||||
self.assertStatusCode(response, 200)
|
|
||||||
self.assertContains(response.content, content)
|
|
||||||
|
|
||||||
def test_settings_config_get(self):
|
def test_settings_config_get(self):
|
||||||
request = self.mock_rest_request()
|
request = self.mock_rest_request()
|
||||||
response = config.Settings().get(request)
|
response = config.Settings().get(request)
|
||||||
@ -58,12 +36,3 @@ class ConfigRestTestCase(test.TestCase):
|
|||||||
self.assertContains(response.content, "REST_API_SETTING_1")
|
self.assertContains(response.content, "REST_API_SETTING_1")
|
||||||
self.assertContains(response.content, "REST_API_SETTING_2")
|
self.assertContains(response.content, "REST_API_SETTING_2")
|
||||||
self.assertNotContains(response.content, "REST_API_SECURITY")
|
self.assertNotContains(response.content, "REST_API_SECURITY")
|
||||||
|
|
||||||
def test_ignore_list(self):
|
|
||||||
ignore_config = {"password_validator": "someobject"}
|
|
||||||
content = '"password_validator": "someobject"'
|
|
||||||
with mock.patch.dict(conf.HORIZON_CONFIG, ignore_config):
|
|
||||||
request = self.mock_rest_request()
|
|
||||||
response = config.AdminConfigs().get(request)
|
|
||||||
self.assertStatusCode(response, 200)
|
|
||||||
self.assertNotContains(response.content, content)
|
|
||||||
|
Loading…
Reference in New Issue
Block a user