6c814b241d
Since not all services are ready to use the system scope token, we need a way to disable and enable the use of system scope token on a per-service basis. This setting let us configure which services should use the system scope token. By default the list is empty and system scope token is not used at all. Change-Id: I5e0cdc7288221571f183a37b800c19dc4cff5707
40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
# Copyright 2016 Letv Cloud Computing
|
|
# All Rights Reserved.
|
|
#
|
|
# 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.
|
|
|
|
from django.conf import settings
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
import horizon
|
|
|
|
from openstack_dashboard.utils import settings as setting_utils
|
|
|
|
|
|
class AdminFloatingIps(horizon.Panel):
|
|
name = _("Floating IPs")
|
|
slug = 'floating_ips'
|
|
permissions = ('openstack.services.network', )
|
|
policy_rules = (("network", "context_is_admin"),)
|
|
|
|
@staticmethod
|
|
def can_register():
|
|
return setting_utils.get_dict_config(
|
|
'OPENSTACK_NEUTRON_NETWORK', 'enable_router')
|
|
|
|
def allowed(self, context):
|
|
if (('network' in settings.SYSTEM_SCOPE_SERVICES) !=
|
|
bool(context['request'].user.system_scoped)):
|
|
return False
|
|
return super().allowed(context)
|