tuskar-ui/tuskar_ui/infrastructure/parameters/views.py

108 lines
4.3 KiB
Python

# -*- coding: utf8 -*-
#
# 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.core.urlresolvers import reverse
from django.core.urlresolvers import reverse_lazy
from django.utils.translation import ugettext_lazy as _
import horizon.forms
import horizon.tables
from tuskar_ui import api
from tuskar_ui.infrastructure.parameters import forms
class SimpleServiceConfigView(horizon.forms.ModalFormView):
form_class = forms.SimpleEditServiceConfig
success_url = reverse_lazy('horizon:infrastructure:parameters:index')
submit_label = _("Save Configuration")
template_name = "infrastructure/parameters/simple_service_config.html"
def get_initial(self):
plan = api.tuskar.Plan.get_the_plan(self.request)
compute_prefix = plan.get_role_by_name('Compute').parameter_prefix
controller_prefix = plan.get_role_by_name(
'Controller').parameter_prefix
cinder_iscsi_helper = plan.parameter_value(
controller_prefix + 'CinderISCSIHelper')
cloud_name = plan.parameter_value(
controller_prefix + 'CloudName')
extra_config = plan.parameter_value(
controller_prefix + 'ExtraConfig')
neutron_public_interface = plan.parameter_value(
controller_prefix + 'NeutronPublicInterface')
ntp_server = plan.parameter_value(
controller_prefix + 'NtpServer')
snmp_password = plan.parameter_value(
controller_prefix + 'SnmpdReadonlyUserPassword')
virt_type = plan.parameter_value(
compute_prefix + 'NovaComputeLibvirtType')
return {
'cinder_iscsi_helper': cinder_iscsi_helper,
'cloud_name': cloud_name,
'neutron_public_interface': neutron_public_interface,
'ntp_server': ntp_server,
'extra_config': extra_config,
'neutron_public_interface': neutron_public_interface,
'snmp_password': snmp_password,
'virt_type': virt_type}
class IndexView(horizon.forms.ModalFormView):
form_class = forms.ServiceConfig
form_id = "service_config"
template_name = "infrastructure/parameters/index.html"
def get_initial(self):
self.plan = api.tuskar.Plan.get_the_plan(self.request)
self.parameters = self.plan.parameter_list(
include_key_parameters=False)
return {p.name: p.value for p in self.parameters}
def get_context_data(self, **kwargs):
context = super(IndexView, self).get_context_data(**kwargs)
advanced_edit_action = {
'name': _('Advanced Configuration'),
'url': reverse('horizon:infrastructure:parameters:'
'advanced_service_configuration'),
'icon': 'fa-pencil',
'ajax_modal': False,
}
simplified_edit_action = {
'name': _('Simplified Configuration'),
'url': reverse('horizon:infrastructure:parameters:'
'simple_service_configuration'),
'icon': 'fa-pencil-square-o',
'ajax_modal': True,
}
context['header_actions'] = [advanced_edit_action,
simplified_edit_action]
return context
class AdvancedServiceConfigView(IndexView):
form_class = forms.AdvancedEditServiceConfig
form_id = "advanced_service_config"
success_url = reverse_lazy('horizon:infrastructure:parameters:index')
submit_label = _("Save Configuration")
submit_url = reverse_lazy('horizon:infrastructure:parameters:'
'advanced_service_configuration')
template_name = "infrastructure/parameters/advanced_service_config.html"
def get_context_data(self, **kwargs):
context = super(AdvancedServiceConfigView,
self) .get_context_data(**kwargs)
context['header_actions'] = []
return context