diff --git a/tuskar_ui/infrastructure/flavors/views.py b/tuskar_ui/infrastructure/flavors/views.py index 20a793945..be31f9b26 100644 --- a/tuskar_ui/infrastructure/flavors/views.py +++ b/tuskar_ui/infrastructure/flavors/views.py @@ -37,6 +37,7 @@ class IndexView(horizon.tables.MultiTableView): 'name': _("New Flavor"), 'url': reverse('horizon:infrastructure:flavors:create'), 'icon': 'fa-plus', + 'ajax_modal': True, } context['header_actions'] = [create_action] context['flavors_count'] = self.get_flavors_count() diff --git a/tuskar_ui/infrastructure/nodes/views.py b/tuskar_ui/infrastructure/nodes/views.py index a91aacbc8..9f744fa2f 100644 --- a/tuskar_ui/infrastructure/nodes/views.py +++ b/tuskar_ui/infrastructure/nodes/views.py @@ -42,6 +42,7 @@ class IndexView(infrastructure_views.ItemCountMixin, 'name': _('Register Nodes'), 'url': reverse('horizon:infrastructure:nodes:register'), 'icon': 'fa-plus', + 'ajax_modal': True, } context['header_actions'] = [register_action] return context diff --git a/tuskar_ui/infrastructure/parameters/forms.py b/tuskar_ui/infrastructure/parameters/forms.py index 08c8b9291..c0ff5c51e 100644 --- a/tuskar_ui/infrastructure/parameters/forms.py +++ b/tuskar_ui/infrastructure/parameters/forms.py @@ -98,7 +98,43 @@ class ServiceConfig(horizon.forms.SelfHandlingForm): pass -class EditServiceConfig(horizon.forms.SelfHandlingForm): +class AdvancedEditServiceConfig(ServiceConfig): + def __init__(self, *args, **kwargs): + super(AdvancedEditServiceConfig, self).__init__(*args, **kwargs) + + plan = api.tuskar.Plan.get_the_plan(self.request) + parameters = plan.parameter_list(include_key_parameters=False) + + for p in parameters: + if p.hidden: + self.fields[p.name] = django.forms.CharField( + required=False, + widget=django.forms.PasswordInput(render_value=True), + label=name_with_tooltip(p)) + else: + self.fields[p.name] = django.forms.CharField( + required=False, + label=name_with_tooltip(p)) + + def handle(self, request, data): + plan = api.tuskar.Plan.get_the_plan(self.request) + + try: + plan.patch(request, plan.uuid, data) + except Exception as e: + horizon.exceptions.handle( + request, + _("Unable to update the service configuration.")) + LOG.exception(e) + return False + else: + horizon.messages.success( + request, + _("Service configuration updated.")) + return True + + +class SimpleEditServiceConfig(horizon.forms.SelfHandlingForm): virt_type = django.forms.ChoiceField( label=_("Deployment Type"), choices=VIRT_TYPE_CHOICES, diff --git a/tuskar_ui/infrastructure/parameters/templates/parameters/_service_config.html b/tuskar_ui/infrastructure/parameters/templates/parameters/_simple_service_config.html similarity index 94% rename from tuskar_ui/infrastructure/parameters/templates/parameters/_service_config.html rename to tuskar_ui/infrastructure/parameters/templates/parameters/_simple_service_config.html index a23b6a2df..f8788d2fd 100644 --- a/tuskar_ui/infrastructure/parameters/templates/parameters/_service_config.html +++ b/tuskar_ui/infrastructure/parameters/templates/parameters/_simple_service_config.html @@ -3,7 +3,7 @@ {% load url from future %} {% block form_id %}configuration_form{% endblock %} -{% block form_action %}{% url 'horizon:infrastructure:parameters:service_configuration' %}{% endblock %} +{% block form_action %}{% url 'horizon:infrastructure:parameters:simple_service_configuration' %}{% endblock %} {% block modal_id %}provision_modal{% endblock %} {% block modal-header %}{% trans "Service Configuration" %}{% endblock %} diff --git a/tuskar_ui/infrastructure/parameters/templates/parameters/advanced_service_config.html b/tuskar_ui/infrastructure/parameters/templates/parameters/advanced_service_config.html new file mode 100644 index 000000000..f291d59d3 --- /dev/null +++ b/tuskar_ui/infrastructure/parameters/templates/parameters/advanced_service_config.html @@ -0,0 +1,82 @@ +{% extends "infrastructure/base.html" %} +{% load i18n %} +{% load url from future %} +{% block title %}{% trans "Advanced Service Configuration" %}{% endblock %} + +{% block page_header %} + {% include 'horizon/common/_items_count_domain_page_header.html' with title=_('Advanced Service Configuration') %} +{% endblock %} + +{% block main %} +