Rework 'Create Service' wizard to pass environment_id value.
It is needed to properly get subnet inside MS SQL Cluster form. Change-Id: Ic0329770153f42f08a6eab8b4e98558421aaf8aa
This commit is contained in:
parent
dc564630d8
commit
ca090ab708
|
@ -12,7 +12,7 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.core.urlresolvers import reverse, reverse_lazy
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django import shortcuts
|
||||
|
||||
|
@ -32,7 +32,6 @@ from consts import DEPLOYMENT_STATUS_DISPLAY_CHOICES
|
|||
class CreateService(tables.LinkAction):
|
||||
name = 'CreateService'
|
||||
verbose_name = _('Create Service')
|
||||
url = 'horizon:murano:environments:create'
|
||||
classes = ('btn-launch', 'ajax-modal')
|
||||
|
||||
def allowed(self, request, environment):
|
||||
|
@ -249,6 +248,17 @@ class ServicesTable(tables.DataTable):
|
|||
operation_updated = tables.Column('operation_updated',
|
||||
verbose_name=_('Time updated'))
|
||||
|
||||
def __init__(self, request, **kwargs):
|
||||
# we need to update CreateService url here because by default actions
|
||||
# are instantiated in DataTableMetaclass with no args
|
||||
for action_id, action in self.base_actions.items():
|
||||
if isinstance(action, CreateService):
|
||||
self.base_actions[action_id] = CreateService(
|
||||
url=reverse('horizon:murano:environments:create',
|
||||
args=(kwargs.get('environment_id'),)))
|
||||
break
|
||||
super(ServicesTable, self).__init__(request, **kwargs)
|
||||
|
||||
def get_object_id(self, datum):
|
||||
return datum.id
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ urlpatterns = patterns(
|
|||
VIEW_MOD,
|
||||
url(r'^environments$', IndexView.as_view(), name='index'),
|
||||
|
||||
url(r'^create/$',
|
||||
url(ENVIRONMENT_ID + r'/create/$',
|
||||
Wizard.as_view(
|
||||
make_forms_getter(initial_forms=initial_forms_maker),
|
||||
condition_dict=get_service_checkers),
|
||||
|
|
|
@ -137,8 +137,10 @@ class Wizard(ModalFormMixin, LazyWizard):
|
|||
|
||||
def get_context_data(self, form, **kwargs):
|
||||
context = super(Wizard, self).get_context_data(form=form, **kwargs)
|
||||
context['service_descriptions'] = get_service_descriptions(
|
||||
self.request)
|
||||
context.update({
|
||||
'service_descriptions': get_service_descriptions(self.request),
|
||||
'environment_id': self.kwargs.get('environment_id')
|
||||
})
|
||||
if self.steps.index > 0:
|
||||
data = self.get_cleaned_data_for_step('service_choice')
|
||||
service_type = data['service']
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends "common/_modal_form.html" %}
|
||||
{% load i18n humanize %}
|
||||
{% load url from future %} {# fix for django 1.4.9 on CentOS #}
|
||||
{% block form_action %}{% url 'horizon:murano:environments:create' %}{% endblock %}
|
||||
{% block form_action %}{% url 'horizon:murano:environments:create' environment_id %}{% endblock %}
|
||||
{% block form_id %}create_service_form{% endblock %}
|
||||
{% block modal_id %}create_service{% endblock %}
|
||||
{% block modal-header %}{% trans "Create Service" %}{% endblock %}
|
||||
|
|
Loading…
Reference in New Issue