Merge "Refactor modal forms for Volumes"
This commit is contained in:
commit
da699e6ca6
@ -30,7 +30,11 @@ from openstack_dashboard.dashboards.project.volumes.snapshots \
|
|||||||
|
|
||||||
class UpdateStatusView(forms.ModalFormView):
|
class UpdateStatusView(forms.ModalFormView):
|
||||||
form_class = vol_snapshot_forms.UpdateStatus
|
form_class = vol_snapshot_forms.UpdateStatus
|
||||||
|
modal_header = _("Update Volume Snapshot Status")
|
||||||
|
modal_id = "update_volume_snapshot_status"
|
||||||
template_name = 'admin/volumes/snapshots/update_status.html'
|
template_name = 'admin/volumes/snapshots/update_status.html'
|
||||||
|
submit_label = _("Update Status")
|
||||||
|
submit_url = "horizon:admin:volumes:snapshots:update_status"
|
||||||
success_url = reverse_lazy("horizon:admin:volumes:snapshots_tab")
|
success_url = reverse_lazy("horizon:admin:volumes:snapshots_tab")
|
||||||
page_title = _("Update Volume Snapshot Status")
|
page_title = _("Update Volume Snapshot Status")
|
||||||
|
|
||||||
@ -49,6 +53,8 @@ class UpdateStatusView(forms.ModalFormView):
|
|||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(UpdateStatusView, self).get_context_data(**kwargs)
|
context = super(UpdateStatusView, self).get_context_data(**kwargs)
|
||||||
context['snapshot_id'] = self.kwargs["snapshot_id"]
|
context['snapshot_id'] = self.kwargs["snapshot_id"]
|
||||||
|
args = (self.kwargs['snapshot_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
|
@ -1,30 +1,11 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:admin:volumes:snapshots:update_status' snapshot_id %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal_id %}update_volume_snapshot_status_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Update Volume Snapshot Status" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
<h3>{% trans "Description:" %}</h3>
|
||||||
<p>{% blocktrans %}
|
<p>{% blocktrans %}
|
||||||
The status of a volume snapshot is normally managed automatically. In some circumstances
|
The status of a volume snapshot is normally managed automatically. In some circumstances
|
||||||
an administrator may need to explicitly update the status value. This is equivalent to
|
an administrator may need to explicitly update the status value. This is equivalent to
|
||||||
the <tt>cinder snapshot-reset-state</tt> command.
|
the <tt>cinder snapshot-reset-state</tt> command.
|
||||||
{% endblocktrans %}</p>
|
{% endblocktrans %}</p>
|
||||||
</div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Update Status" %}" />
|
|
||||||
<a href="{% url 'horizon:admin:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
|
@ -1,36 +1,9 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:admin:volumes:volume_types:manage_qos_spec_association' type_id %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal_id %}associate_qos_spec_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Associate QoS Spec with Volume Type"%}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
<h3>{% trans "Description:" %}</h3>
|
||||||
<p>{% blocktrans %}
|
<p>{% trans "Add, modify or remove the QoS Spec associated with this volume type." %}</p>
|
||||||
Add, modify or remove the QoS Spec associated with this volume type.
|
<p>{% blocktrans %}"None" indicates that no QoS Spec is currently associated. Conversely, setting the QoS Spec to "None" will remove the current association.{% endblocktrans %}</p>
|
||||||
<br>
|
<p>{% blocktrans %}This is equivalent to the <tt>cinder qos-associate</tt> and <tt>cinder qos-disassociate</tt> commands.{% endblocktrans %}</p>
|
||||||
<br>
|
|
||||||
"None" indicates that no QoS Spec is currently associated. Conversely, setting
|
|
||||||
the QoS Spec to "None" will remove the current association.
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
This is equivalent to the <tt>cinder qos-associate</tt> and <tt>cinder qos-disassociate</tt>
|
|
||||||
commands.
|
|
||||||
{% endblocktrans %}</p>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Associate" %}" />
|
|
||||||
<a href="{% url 'horizon:admin:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
|
@ -1,20 +1,7 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:admin:volumes:volume_types:create_qos_spec' %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal_id %}create_volume_type_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Create QoS Spec" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
<h3>{% trans "Description:" %}</h3>
|
||||||
<p>{% blocktrans %}
|
<p>{% blocktrans %}
|
||||||
QoS Specs can be associated with volume types.
|
QoS Specs can be associated with volume types.
|
||||||
@ -27,12 +14,5 @@
|
|||||||
Each QoS Specs entity will have a "Consumer" value which indicates where the
|
Each QoS Specs entity will have a "Consumer" value which indicates where the
|
||||||
administrator would like the QoS policy to be enforced. This value can be "front-end"
|
administrator would like the QoS policy to be enforced. This value can be "front-end"
|
||||||
(Nova Compute), "back-end" (Cinder back-end), or "both".
|
(Nova Compute), "back-end" (Cinder back-end), or "both".
|
||||||
{% endblocktrans %}
|
{% endblocktrans %}</p>
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Create" %}" />
|
|
||||||
<a href="{% url 'horizon:admin:volumes:volume_types_tab' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,20 +1,7 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:admin:volumes:volume_types:create_type' %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal_id %}create_volume_type_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Create Volume Type" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
<h3>{% trans "Description:" %}</h3>
|
||||||
<p>{% blocktrans %}
|
<p>{% blocktrans %}
|
||||||
Volume type is a type or label that can be selected at volume creation
|
Volume type is a type or label that can be selected at volume creation
|
||||||
@ -26,10 +13,4 @@
|
|||||||
pair(s) for that volume type.
|
pair(s) for that volume type.
|
||||||
{% endblocktrans %}
|
{% endblocktrans %}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Create Volume Type" %}" />
|
|
||||||
<a href="{% url 'horizon:admin:volumes:volume_types_tab' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,20 +1,7 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}create_volume_form{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:admin:volumes:volume_types:create_type_encryption' volume_type_id %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal_id %}create_volume_type_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Create Volume Type Encryption" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
<h3>{% trans "Description:" %}</h3>
|
||||||
<p>
|
<p>
|
||||||
{% trans "Creating encryption for a volume type causes all volumes with that volume type to be encrypted. Encryption information cannot be added to a volume type if volumes are currently in use with that volume type." %}
|
{% trans "Creating encryption for a volume type causes all volumes with that volume type to be encrypted. Encryption information cannot be added to a volume type if volumes are currently in use with that volume type." %}
|
||||||
@ -31,10 +18,4 @@
|
|||||||
<p>
|
<p>
|
||||||
{% blocktrans %}The <strong>Key Size</strong> is the size of the encryption key, in bits (e.g., 128, 256). If the field is left empty, the provider default will be used.{% endblocktrans %}
|
{% blocktrans %}The <strong>Key Size</strong> is the size of the encryption key, in bits (e.g., 128, 256). If the field is left empty, the provider default will be used.{% endblocktrans %}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Create Volume Type Encryption" %}" />
|
|
||||||
<a href="{% url 'horizon:admin:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,30 +1,11 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:admin:volumes:volume_types:edit_qos_spec_consumer' qos_spec_id %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal_id %}associate_qos_spec_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Edit Consumer of QoS Spec" %} {% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
<h3>{% trans "Description:" %}</h3>
|
||||||
<p>{% blocktrans %}
|
<p>{% blocktrans %}
|
||||||
Each QoS Specs entity will have a "Consumer" value which indicates where the
|
Each QoS Specs entity will have a "Consumer" value which indicates where the
|
||||||
administrator would like the QoS policy to be enforced. This value can be "front-end"
|
administrator would like the QoS policy to be enforced. This value can be "front-end"
|
||||||
(Nova Compute), "back-end" (Cinder back-end), or "both".
|
(Nova Compute), "back-end" (Cinder back-end), or "both".
|
||||||
{% endblocktrans %}</p>
|
{% endblocktrans %}</p>
|
||||||
</div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Modify Consumer" %}" />
|
|
||||||
<a href="{% url 'horizon:admin:volumes:volume_types_tab' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
|
@ -1,28 +1,7 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}extra_spec_create_form{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:admin:volumes:volume_types:extras:create' vol_type.id %}{% endblock %}
|
<h3>{% trans "Description:" %}</h3>
|
||||||
|
<p>{% trans 'Create a new "extra spec" key-value pair for a volume type.' %}</p>
|
||||||
|
|
||||||
{% block modal_id %}extra_spec_create_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Create Volume Type Extra Spec" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
|
||||||
<p>{% trans 'Create a new "extra spec" key-value pair for a volume type.' %}</p>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Create" %}" />
|
|
||||||
<a href="{% url 'horizon:admin:volumes:volume_types:extras:index' vol_type.id %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
|
@ -1,28 +1,7 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}extra_spec_edit_form{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:admin:volumes:volume_types:extras:edit' vol_type.id key %}{% endblock %}
|
<h3>{% trans "Description:" %}</h3>
|
||||||
|
<p>{% blocktrans with key=key %}Update the "extra spec" value for "{{ key }}"{% endblocktrans %}</p>
|
||||||
|
|
||||||
{% block modal_id %}extra_spec_edit_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% blocktrans %}Edit Extra Spec Value: {{ key }}{% endblocktrans %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
|
||||||
<p>{% blocktrans with key=key %}Update the "extra spec" value for "{{ key }}"{% endblocktrans %}</p>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Save" %}" />
|
|
||||||
<a href="{% url 'horizon:admin:volumes:volume_types:extras:index' vol_type.id %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
|
@ -1,28 +1,7 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}extra_spec_create_form{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:admin:volumes:volume_types:qos_specs:create' qos_spec_id %}{% endblock %}
|
<h3>{% trans "Description:" %}</h3>
|
||||||
|
<p>{% blocktrans with key=qos_spec_name %}Create a new "spec" key-value pair for QoS Spec "{{ qos_spec_name }}"{% endblocktrans %}</p>
|
||||||
|
|
||||||
{% block modal_id %}qos_spec_create_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Create Spec" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
|
||||||
<p>{% blocktrans with key=qos_spec_name %}Create a new "spec" key-value pair for QoS Spec "{{ qos_spec_name }}"{% endblocktrans %}</p>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Create" %}" />
|
|
||||||
<a href="{% url 'horizon:admin:volumes:volume_types:qos_specs:index' qos_spec_id %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
|
@ -1,27 +1,7 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}qos_spec_edit_form{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:admin:volumes:volume_types:qos_specs:edit' qos_spec_id key %}{% endblock %}
|
<h3>{% trans "Description:" %}</h3>
|
||||||
|
<p>{% blocktrans with key=key %}Update the spec value for "{{ key }}"{% endblocktrans %}</p>
|
||||||
|
|
||||||
{% block modal_id %}qos_spec_edit_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Edit Spec Value: " %} {{ key }}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
|
||||||
<p>{% blocktrans with key=key %}Update the spec value for "{{ key }}"{% endblocktrans %}</p>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Save" %}" />
|
|
||||||
<a href="{% url 'horizon:admin:volumes:volume_types:qos_specs:index' qos_spec_id %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,30 +1,11 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %} {% url 'horizon:admin:volumes:volumes:update_status' volume_id %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal_id %}update_volume_status_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Update Volume Status" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
<h3>{% trans "Description:" %}</h3>
|
||||||
<p>{% blocktrans %}
|
<p>{% blocktrans %}
|
||||||
The status of a volume is normally managed automatically. In some circumstances an
|
The status of a volume is normally managed automatically. In some circumstances an
|
||||||
administrator may need to explicitly update the status value. This is equivalent to
|
administrator may need to explicitly update the status value. This is equivalent to
|
||||||
the <tt>cinder reset-state</tt> command.
|
the <tt>cinder reset-state</tt> command.
|
||||||
{% endblocktrans %}</p>
|
{% endblocktrans %}</p>
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Update Status" %}" />
|
|
||||||
<a href="{% url 'horizon:admin:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -58,6 +58,11 @@ class IndexView(ExtraSpecMixin, forms.ModalFormMixin, tables.DataTableView):
|
|||||||
|
|
||||||
class CreateView(ExtraSpecMixin, forms.ModalFormView):
|
class CreateView(ExtraSpecMixin, forms.ModalFormView):
|
||||||
form_class = project_forms.CreateExtraSpec
|
form_class = project_forms.CreateExtraSpec
|
||||||
|
form_id = "extra_spec_create_form"
|
||||||
|
modal_header = _("Create Volume Type Extra Spec")
|
||||||
|
modal_id = "extra_spec_create_modal"
|
||||||
|
submit_label = _("Create")
|
||||||
|
submit_url = "horizon:admin:volumes:volume_types:extras:create"
|
||||||
template_name = 'admin/volumes/volume_types/extras/create.html'
|
template_name = 'admin/volumes/volume_types/extras/create.html'
|
||||||
success_url = 'horizon:admin:volumes:volume_types:extras:index'
|
success_url = 'horizon:admin:volumes:volume_types:extras:index'
|
||||||
|
|
||||||
@ -68,9 +73,20 @@ class CreateView(ExtraSpecMixin, forms.ModalFormView):
|
|||||||
return reverse(self.success_url,
|
return reverse(self.success_url,
|
||||||
args=(self.kwargs['type_id'],))
|
args=(self.kwargs['type_id'],))
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
context = super(CreateView, self).get_context_data(**kwargs)
|
||||||
|
args = (self.kwargs['type_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
|
return context
|
||||||
|
|
||||||
|
|
||||||
class EditView(ExtraSpecMixin, forms.ModalFormView):
|
class EditView(ExtraSpecMixin, forms.ModalFormView):
|
||||||
form_class = project_forms.EditExtraSpec
|
form_class = project_forms.EditExtraSpec
|
||||||
|
form_id = "extra_spec_edit_form"
|
||||||
|
modal_header = _('Edit Extra Spec Value: %s')
|
||||||
|
modal_id = "extra_spec_edit_modal"
|
||||||
|
submit_label = _("Save")
|
||||||
|
submit_url = "horizon:admin:volumes:volume_types:extras:edit"
|
||||||
template_name = 'admin/volumes/volume_types/extras/edit.html'
|
template_name = 'admin/volumes/volume_types/extras/edit.html'
|
||||||
success_url = 'horizon:admin:volumes:volume_types:extras:index'
|
success_url = 'horizon:admin:volumes:volume_types:extras:index'
|
||||||
|
|
||||||
@ -93,3 +109,10 @@ class EditView(ExtraSpecMixin, forms.ModalFormView):
|
|||||||
return {'type_id': type_id,
|
return {'type_id': type_id,
|
||||||
'key': key,
|
'key': key,
|
||||||
'value': extra_specs.get(key, '')}
|
'value': extra_specs.get(key, '')}
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
context = super(EditView, self).get_context_data(**kwargs)
|
||||||
|
args = (self.kwargs['type_id'], self.kwargs['key'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
|
context['modal_header'] = self.modal_header % self.kwargs['key']
|
||||||
|
return context
|
||||||
|
@ -68,7 +68,12 @@ class IndexView(QosSpecMixin, forms.ModalFormMixin, tables.DataTableView):
|
|||||||
class CreateKeyValuePairView(QosSpecMixin, forms.ModalFormView):
|
class CreateKeyValuePairView(QosSpecMixin, forms.ModalFormView):
|
||||||
# this for creating a spec key-value pair for an existing QOS Spec
|
# this for creating a spec key-value pair for an existing QOS Spec
|
||||||
form_class = project_forms.CreateKeyValuePair
|
form_class = project_forms.CreateKeyValuePair
|
||||||
|
form_id = "extra_spec_create_form"
|
||||||
|
modal_header = _("Create Spec")
|
||||||
|
modal_id = "qos_spec_create_modal"
|
||||||
template_name = 'admin/volumes/volume_types/qos_specs/create.html'
|
template_name = 'admin/volumes/volume_types/qos_specs/create.html'
|
||||||
|
submit_label = _("Create")
|
||||||
|
submit_url = "horizon:admin:volumes:volume_types:qos_specs:create"
|
||||||
success_url = 'horizon:admin:volumes:volume_types:qos_specs:index'
|
success_url = 'horizon:admin:volumes:volume_types:qos_specs:index'
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
@ -79,10 +84,22 @@ class CreateKeyValuePairView(QosSpecMixin, forms.ModalFormView):
|
|||||||
return reverse(self.success_url,
|
return reverse(self.success_url,
|
||||||
args=(self.kwargs['qos_spec_id'],))
|
args=(self.kwargs['qos_spec_id'],))
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
context = super(CreateKeyValuePairView, self).\
|
||||||
|
get_context_data(**kwargs)
|
||||||
|
args = (self.kwargs['qos_spec_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
|
return context
|
||||||
|
|
||||||
|
|
||||||
class EditKeyValuePairView(QosSpecMixin, forms.ModalFormView):
|
class EditKeyValuePairView(QosSpecMixin, forms.ModalFormView):
|
||||||
form_class = project_forms.EditKeyValuePair
|
form_class = project_forms.EditKeyValuePair
|
||||||
|
form_id = "qos_spec_edit_form"
|
||||||
|
modal_header = _("Edit Spec Value")
|
||||||
|
modal_id = "qos_spec_edit_modal"
|
||||||
template_name = 'admin/volumes/volume_types/qos_specs/edit.html'
|
template_name = 'admin/volumes/volume_types/qos_specs/edit.html'
|
||||||
|
submit_label = _("Save")
|
||||||
|
submit_url = "horizon:admin:volumes:volume_types:qos_specs_edit"
|
||||||
success_url = 'horizon:admin:volumes:volume_types:qos_specs:index'
|
success_url = 'horizon:admin:volumes:volume_types:qos_specs:index'
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
@ -102,3 +119,9 @@ class EditKeyValuePairView(QosSpecMixin, forms.ModalFormView):
|
|||||||
return {'qos_spec_id': qos_spec_id,
|
return {'qos_spec_id': qos_spec_id,
|
||||||
'key': key,
|
'key': key,
|
||||||
'value': qos_specs.specs.get(key, '')}
|
'value': qos_specs.specs.get(key, '')}
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
context = super(EditKeyValuePairView, self).get_context_data(**kwargs)
|
||||||
|
args = (self.kwargs['qos_spec_id'], self.kwargs['key'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
|
return context
|
||||||
|
@ -32,7 +32,11 @@ from openstack_dashboard.dashboards.admin.volumes.volumes \
|
|||||||
|
|
||||||
class CreateVolumeTypeView(forms.ModalFormView):
|
class CreateVolumeTypeView(forms.ModalFormView):
|
||||||
form_class = volumes_forms.CreateVolumeType
|
form_class = volumes_forms.CreateVolumeType
|
||||||
|
modal_header = _("Create Volume Type")
|
||||||
|
modal_id = "create_volume_type_modal"
|
||||||
template_name = 'admin/volumes/volume_types/create_volume_type.html'
|
template_name = 'admin/volumes/volume_types/create_volume_type.html'
|
||||||
|
submit_label = _("Create Volume Type")
|
||||||
|
submit_url = reverse_lazy("horizon:admin:volumes:volume_types:create_type")
|
||||||
success_url = 'horizon:admin:volumes:volume_types_tab'
|
success_url = 'horizon:admin:volumes:volume_types_tab'
|
||||||
page_title = _("Create a Volume Type")
|
page_title = _("Create a Volume Type")
|
||||||
|
|
||||||
@ -75,8 +79,13 @@ class VolumeTypeEncryptionDetailView(generic.TemplateView):
|
|||||||
|
|
||||||
class CreateVolumeTypeEncryptionView(forms.ModalFormView):
|
class CreateVolumeTypeEncryptionView(forms.ModalFormView):
|
||||||
form_class = volume_types_forms.CreateVolumeTypeEncryption
|
form_class = volume_types_forms.CreateVolumeTypeEncryption
|
||||||
|
form_id = "create_volume_form"
|
||||||
|
modal_header = _("Create Volume Type Encryption")
|
||||||
|
modal_id = "create_volume_type_modal"
|
||||||
template_name = ("admin/volumes/volume_types/"
|
template_name = ("admin/volumes/volume_types/"
|
||||||
"create_volume_type_encryption.html")
|
"create_volume_type_encryption.html")
|
||||||
|
submit_label = _("Create Volume Type Encryption")
|
||||||
|
submit_url = "horizon:admin:volumes:volume_types:create_type_encryption"
|
||||||
success_url = reverse_lazy('horizon:admin:volumes:index')
|
success_url = reverse_lazy('horizon:admin:volumes:index')
|
||||||
page_title = _("Create an Encrypted Volume Type")
|
page_title = _("Create an Encrypted Volume Type")
|
||||||
|
|
||||||
@ -97,6 +106,8 @@ class CreateVolumeTypeEncryptionView(forms.ModalFormView):
|
|||||||
context = super(CreateVolumeTypeEncryptionView, self).\
|
context = super(CreateVolumeTypeEncryptionView, self).\
|
||||||
get_context_data(**kwargs)
|
get_context_data(**kwargs)
|
||||||
context['volume_type_id'] = self.kwargs['volume_type_id']
|
context['volume_type_id'] = self.kwargs['volume_type_id']
|
||||||
|
args = (self.kwargs['volume_type_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
@ -107,9 +118,14 @@ class CreateVolumeTypeEncryptionView(forms.ModalFormView):
|
|||||||
|
|
||||||
class CreateQosSpecView(forms.ModalFormView):
|
class CreateQosSpecView(forms.ModalFormView):
|
||||||
form_class = volumes_forms.CreateQosSpec
|
form_class = volumes_forms.CreateQosSpec
|
||||||
|
modal_header = _("Create QoS Spec")
|
||||||
|
modal_id = "create_volume_type_modal"
|
||||||
template_name = 'admin/volumes/volume_types/create_qos_spec.html'
|
template_name = 'admin/volumes/volume_types/create_qos_spec.html'
|
||||||
success_url = 'horizon:admin:volumes:volume_types_tab'
|
success_url = 'horizon:admin:volumes:volume_types_tab'
|
||||||
page_title = _("Create a QoS Spec")
|
page_title = _("Create a QoS Spec")
|
||||||
|
submit_label = _("Create")
|
||||||
|
submit_url = reverse_lazy(
|
||||||
|
"horizon:admin:volumes:volume_types:create_qos_spec")
|
||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
return reverse(self.success_url)
|
return reverse(self.success_url)
|
||||||
@ -117,7 +133,11 @@ class CreateQosSpecView(forms.ModalFormView):
|
|||||||
|
|
||||||
class EditQosSpecConsumerView(forms.ModalFormView):
|
class EditQosSpecConsumerView(forms.ModalFormView):
|
||||||
form_class = volume_types_forms.EditQosSpecConsumer
|
form_class = volume_types_forms.EditQosSpecConsumer
|
||||||
|
modal_header = _("Edit Consumer of QoS Spec")
|
||||||
|
modal_id = "edit_qos_spec_modal"
|
||||||
template_name = 'admin/volumes/volume_types/edit_qos_spec_consumer.html'
|
template_name = 'admin/volumes/volume_types/edit_qos_spec_consumer.html'
|
||||||
|
submit_label = _("Modify Consumer")
|
||||||
|
submit_url = "horizon:admin:volumes:volume_types:edit_qos_spec_consumer"
|
||||||
success_url = 'horizon:admin:volumes:volume_types_tab'
|
success_url = 'horizon:admin:volumes:volume_types_tab'
|
||||||
page_title = _("Edit QoS Spec Consumer")
|
page_title = _("Edit QoS Spec Consumer")
|
||||||
|
|
||||||
@ -128,6 +148,8 @@ class EditQosSpecConsumerView(forms.ModalFormView):
|
|||||||
context = super(EditQosSpecConsumerView, self).\
|
context = super(EditQosSpecConsumerView, self).\
|
||||||
get_context_data(**kwargs)
|
get_context_data(**kwargs)
|
||||||
context['qos_spec_id'] = self.kwargs["qos_spec_id"]
|
context['qos_spec_id'] = self.kwargs["qos_spec_id"]
|
||||||
|
args = (self.kwargs['qos_spec_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
@ -150,7 +172,12 @@ class EditQosSpecConsumerView(forms.ModalFormView):
|
|||||||
|
|
||||||
class ManageQosSpecAssociationView(forms.ModalFormView):
|
class ManageQosSpecAssociationView(forms.ModalFormView):
|
||||||
form_class = volume_types_forms.ManageQosSpecAssociation
|
form_class = volume_types_forms.ManageQosSpecAssociation
|
||||||
|
modal_header = _("Associate QoS Spec with Volume Type")
|
||||||
|
modal_id = "associate_qos_spec_modal"
|
||||||
template_name = 'admin/volumes/volume_types/associate_qos_spec.html'
|
template_name = 'admin/volumes/volume_types/associate_qos_spec.html'
|
||||||
|
submit_label = _("Associate")
|
||||||
|
submit_url = "horizon:admin:volumes:volume_types:"\
|
||||||
|
"manage_qos_spec_association"
|
||||||
success_url = 'horizon:admin:volumes:volume_types_tab'
|
success_url = 'horizon:admin:volumes:volume_types_tab'
|
||||||
page_title = _("Associate QoS Spec with Volume Type")
|
page_title = _("Associate QoS Spec with Volume Type")
|
||||||
|
|
||||||
@ -161,6 +188,8 @@ class ManageQosSpecAssociationView(forms.ModalFormView):
|
|||||||
context = super(ManageQosSpecAssociationView, self).\
|
context = super(ManageQosSpecAssociationView, self).\
|
||||||
get_context_data(**kwargs)
|
get_context_data(**kwargs)
|
||||||
context['type_id'] = self.kwargs["type_id"]
|
context['type_id'] = self.kwargs["type_id"]
|
||||||
|
args = (self.kwargs['type_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
|
@ -92,13 +92,19 @@ class CreateVolumeTypeView(forms.ModalFormView):
|
|||||||
|
|
||||||
class UpdateStatusView(forms.ModalFormView):
|
class UpdateStatusView(forms.ModalFormView):
|
||||||
form_class = volumes_forms.UpdateStatus
|
form_class = volumes_forms.UpdateStatus
|
||||||
|
modal_header = _("Update Volume Status")
|
||||||
|
modal_id = "update_volume_status_modal"
|
||||||
template_name = 'admin/volumes/volumes/update_status.html'
|
template_name = 'admin/volumes/volumes/update_status.html'
|
||||||
|
submit_label = _("Update Status")
|
||||||
|
submit_url = "horizon:admin:volumes:volumes:update_status"
|
||||||
success_url = reverse_lazy('horizon:admin:volumes:index')
|
success_url = reverse_lazy('horizon:admin:volumes:index')
|
||||||
page_title = _("Update Volume Status")
|
page_title = _("Update Volume Status")
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(UpdateStatusView, self).get_context_data(**kwargs)
|
context = super(UpdateStatusView, self).get_context_data(**kwargs)
|
||||||
context["volume_id"] = self.kwargs['volume_id']
|
context["volume_id"] = self.kwargs['volume_id']
|
||||||
|
args = (self.kwargs['volume_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
|
@ -30,12 +30,17 @@ from openstack_dashboard.dashboards.project.volumes.backups \
|
|||||||
|
|
||||||
class CreateBackupView(forms.ModalFormView):
|
class CreateBackupView(forms.ModalFormView):
|
||||||
form_class = backup_forms.CreateBackupForm
|
form_class = backup_forms.CreateBackupForm
|
||||||
|
modal_header = _("Create Volume Backup")
|
||||||
template_name = 'project/volumes/backups/create_backup.html'
|
template_name = 'project/volumes/backups/create_backup.html'
|
||||||
|
submit_label = _("Create Volume Backup")
|
||||||
|
submit_url = "horizon:project:volumes:volumes:create_backup"
|
||||||
success_url = reverse_lazy("horizon:project:volumes:backups_tab")
|
success_url = reverse_lazy("horizon:project:volumes:backups_tab")
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(CreateBackupView, self).get_context_data(**kwargs)
|
context = super(CreateBackupView, self).get_context_data(**kwargs)
|
||||||
context['volume_id'] = self.kwargs['volume_id']
|
context['volume_id'] = self.kwargs['volume_id']
|
||||||
|
args = (self.kwargs['volume_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
@ -79,12 +84,17 @@ class BackupDetailView(tabs.TabView):
|
|||||||
|
|
||||||
class RestoreBackupView(forms.ModalFormView):
|
class RestoreBackupView(forms.ModalFormView):
|
||||||
form_class = backup_forms.RestoreBackupForm
|
form_class = backup_forms.RestoreBackupForm
|
||||||
|
modal_header = _("Restore Volume Backup")
|
||||||
template_name = 'project/volumes/backups/restore_backup.html'
|
template_name = 'project/volumes/backups/restore_backup.html'
|
||||||
|
submit_label = _("Restore Backup to Volume")
|
||||||
|
submit_url = "horizon:project:volumes:volumes:create_backup"
|
||||||
success_url = reverse_lazy('horizon:project:volumes:index')
|
success_url = reverse_lazy('horizon:project:volumes:index')
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(RestoreBackupView, self).get_context_data(**kwargs)
|
context = super(RestoreBackupView, self).get_context_data(**kwargs)
|
||||||
context['backup_id'] = self.kwargs['backup_id']
|
context['backup_id'] = self.kwargs['backup_id']
|
||||||
|
args = (self.kwargs['backup_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
|
@ -31,7 +31,11 @@ from openstack_dashboard.dashboards.project.volumes \
|
|||||||
|
|
||||||
class UpdateView(forms.ModalFormView):
|
class UpdateView(forms.ModalFormView):
|
||||||
form_class = vol_snapshot_forms.UpdateForm
|
form_class = vol_snapshot_forms.UpdateForm
|
||||||
|
form_id = "update_snapshot_form"
|
||||||
|
modal_header = _("Edit Snapshot")
|
||||||
template_name = 'project/volumes/snapshots/update.html'
|
template_name = 'project/volumes/snapshots/update.html'
|
||||||
|
submit_label = _("Save Changes")
|
||||||
|
submit_url = "horizon:project:volumes:snapshots:update"
|
||||||
success_url = reverse_lazy("horizon:project:volumes:index")
|
success_url = reverse_lazy("horizon:project:volumes:index")
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
@ -49,6 +53,8 @@ class UpdateView(forms.ModalFormView):
|
|||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(UpdateView, self).get_context_data(**kwargs)
|
context = super(UpdateView, self).get_context_data(**kwargs)
|
||||||
context['snapshot'] = self.get_object()
|
context['snapshot'] = self.get_object()
|
||||||
|
args = (self.kwargs['snapshot_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
|
@ -1,26 +1,7 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:project:volumes:volumes:create_backup' volume_id %}{% endblock %}
|
<p><strong>{% trans "Volume Backup:" %}</strong> {% trans "Volume Backups are stored using the Object Storage service. You must have this service activated in order to create a backup." %}</p>
|
||||||
|
<p>{% trans "If no container name is provided, a default container named volumebackups will be provisioned for you. Backups will be the same size as the volume they originate from." %}</p>
|
||||||
{% block modal_id %}create_volume_backup_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Create Volume Backup" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<p><strong>{% trans "Volume Backup:" %}</strong> {% trans "Volume Backups are stored using the Object Storage service. You must have this service activated in order to create a backup." %}</p>
|
|
||||||
<p>{% trans "If no container name is provided, a default container named volumebackups will be provisioned for you. Backups will be the same size as the volume they originate from." %}</p>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Create Volume Backup" %}" />
|
|
||||||
<a href="{% url 'horizon:project:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,26 +1,7 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:project:volumes:backups:restore' backup_id %}{% endblock %}
|
<p><strong>{% trans "Restore Backup:" %}</strong> {% trans "Select a volume to restore to." %}</p>
|
||||||
|
<p>{% trans "Optionally, you may choose to create a new volume." %}</p>
|
||||||
{% block modal_id %}restore_volume_backup_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Restore Volume Backup" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<p><strong>{% trans "Restore Backup:" %}</strong> {% trans "Select a volume to restore to." %}</p>
|
|
||||||
<p>{% trans "Optionally, you may choose to create a new volume." %}</p>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Restore Backup to Volume"%}" />
|
|
||||||
<a href="{% url 'horizon:project:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,26 +1,7 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}update_snapshot_form{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:project:volumes:snapshots:update' snapshot.id %}{% endblock %}
|
<h3>{% trans "Description:" %}</h3>
|
||||||
|
<p>{% trans "Modify the name and description of a snapshot." %}</p>
|
||||||
{% block modal_id %}update_snapshot_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Edit Snapshot" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
|
||||||
<p>{% trans "Modify the name and description of a snapshot." %}</p>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Edit Snapshot" %}" />
|
|
||||||
<a href="{% url 'horizon:project:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -2,20 +2,15 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
{% load url from future %}
|
||||||
|
|
||||||
{% block form_id %}attach_volume_form{% endblock %}
|
|
||||||
{% block form_action %}{% url 'horizon:project:volumes:volumes:attach' volume.id %}{% endblock %}
|
|
||||||
{% block form_class %}{{ block.super }} horizontal {% if show_attach %}split_half{% else %} no_split{% endif %}{% endblock %}
|
{% block form_class %}{{ block.super }} horizontal {% if show_attach %}split_half{% else %} no_split{% endif %}{% endblock %}
|
||||||
|
|
||||||
{% block modal_id %}attach_volume_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Manage Volume Attachments" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
{% block modal-body %}
|
||||||
{% if show_attach %}
|
{% if show_attach %}
|
||||||
<h3>{% trans "Attach To Instance" %}</h3>
|
<h3>{% trans "Attach To Instance" %}</h3>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
{% include "horizon/common/_form_fields.html" %}
|
||||||
</fieldset>
|
</fieldset>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block modal-footer %}
|
{% block modal-footer %}
|
||||||
|
@ -1,26 +1,8 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:project:volumes:volumes:create' %}?{{ request.GET.urlencode }}{% endblock %}
|
<div class="quota-dynamic">
|
||||||
|
|
||||||
{% block modal_id %}create_volume_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Create Volume" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="right quota-dynamic">
|
|
||||||
{% include "project/volumes/volumes/_limits.html" with usages=usages %}
|
{% include "project/volumes/volumes/_limits.html" with usages=usages %}
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Create Volume" %}" />
|
|
||||||
<a href="{% url 'horizon:project:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
|
||||||
|
@ -2,19 +2,8 @@
|
|||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
{% load url from future %}
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:project:volumes:volumes:create_snapshot' volume_id %}{% endblock %}
|
<div class="quota-dynamic">
|
||||||
|
|
||||||
{% block modal_id %}create_volume_snapshot_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Create Volume Snapshot" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right quota-dynamic">
|
|
||||||
{% include "project/volumes/volumes/_snapshot_limits.html" with usages=usages snapshot_quota=True %}
|
{% include "project/volumes/volumes/_snapshot_limits.html" with usages=usages snapshot_quota=True %}
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,26 +1,8 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:project:volumes:volumes:extend' volume.id %}{% endblock %}
|
<div class="quota-dynamic">
|
||||||
|
|
||||||
{% block modal_id %}extend_volume_modal{% endblock %}
|
|
||||||
{% block modal-header %}{% trans "Extend Volume" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="right quota-dynamic">
|
|
||||||
{% include "project/volumes/volumes/_extend_limits.html" with usages=usages %}
|
{% include "project/volumes/volumes/_extend_limits.html" with usages=usages %}
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Extend Volume" %}" />
|
|
||||||
<a href="{% url 'horizon:project:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
|
||||||
|
@ -1,41 +1,22 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:project:volumes:volumes:retype' volume.id %}{% endblock %}
|
<h3>{% trans "Description:" %}</h3>
|
||||||
|
<p>{% blocktrans %}
|
||||||
{% block modal_id %}retype_volume_modal{% endblock %}
|
Change the volume type of a volume after its creation.
|
||||||
{% block modal-header %}{% trans "Change Volume Type" %}{% endblock %}
|
This is equivalent to the <tt>cinder retype</tt> command.
|
||||||
|
{% endblocktrans %}
|
||||||
{% block modal-body %}
|
</p>
|
||||||
<div class="left">
|
<p>{% blocktrans %}
|
||||||
<fieldset>
|
The "Volume Type" selected must be different from the current volume type.
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
{% endblocktrans %}
|
||||||
</fieldset>
|
</p>
|
||||||
</div>
|
<p>{% blocktrans %}
|
||||||
<div class="right">
|
The "Migration Policy" is only used if the volume retype cannot be
|
||||||
<h3>{% trans "Description:" %}</h3>
|
completed. If the "Migration Policy" is "On Demand", the back end will
|
||||||
<p>{% blocktrans %}
|
perform volume migration. Note that migration may take a significant
|
||||||
Change the volume type of a volume after its creation.
|
amount of time to complete, in some cases hours.
|
||||||
This is equivalent to the <tt>cinder retype</tt> command.
|
{% endblocktrans %}
|
||||||
{% endblocktrans %}
|
</p>
|
||||||
</p>
|
|
||||||
<p>{% blocktrans %}
|
|
||||||
The "Volume Type" selected must be different from the current volume type.
|
|
||||||
{% endblocktrans %}
|
|
||||||
</p>
|
|
||||||
<p>{% blocktrans %}
|
|
||||||
The "Migration Policy" is only used if the volume retype cannot be
|
|
||||||
completed. If the "Migration Policy" is "On Demand", the back end will
|
|
||||||
perform volume migration. Note that migration may take a significant
|
|
||||||
amount of time to complete, in some cases hours.
|
|
||||||
{% endblocktrans %}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Change Volume Type" %}" />
|
|
||||||
<a href="{% url 'horizon:project:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -6,7 +6,3 @@
|
|||||||
<p>{% trans "The Transfer ID and the Authorization Key are needed by the recipient in order to accept the transfer. Please capture both the Transfer ID and the Authorization Key and provide them to your transfer recipient." %}</p>
|
<p>{% trans "The Transfer ID and the Authorization Key are needed by the recipient in order to accept the transfer. Please capture both the Transfer ID and the Authorization Key and provide them to your transfer recipient." %}</p>
|
||||||
<p class="alert alert-warning">{% trans "The Authorization Key will not be available after closing this page, so you must capture it now, or else you will be unable to use the transfer." %}</p>
|
<p class="alert alert-warning">{% trans "The Authorization Key will not be available after closing this page, so you must capture it now, or else you will be unable to use the transfer." %}</p>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<a href="{% url 'horizon:project:volumes:volumes_tab' %}" class="btn btn-default secondary cancel close">{% trans "Close" %}</a>
|
|
||||||
{% endblock %}
|
|
||||||
|
@ -1,29 +1,8 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:project:volumes:volumes:update' volume.id %}{% endblock %}
|
<h3>{% trans "Description:" %}</h3>
|
||||||
|
<p>{% trans "Modify name and description of a volume." %}</p>
|
||||||
{% block modal_id %}update_volume_modal{% endblock %}
|
<p>{% trans 'The "Bootable" flag specifies that this volume can be used to launch an instance.' %}</p>
|
||||||
{% block modal-header %}{% trans "Edit Volume" %}{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-body %}
|
|
||||||
<div class="left">
|
|
||||||
<fieldset>
|
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<h3>{% trans "Description:" %}</h3>
|
|
||||||
<p>{% trans "Modify name and description of a volume." %}
|
|
||||||
</p>
|
|
||||||
<p>{% trans 'The "Bootable" flag specifies that this volume can be used to launch an instance.' %}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Save" %}" />
|
|
||||||
<a href="{% url 'horizon:project:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -1,42 +1,23 @@
|
|||||||
{% extends "horizon/common/_modal_form.html" %}
|
{% extends "horizon/common/_modal_form.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load url from future %}
|
|
||||||
|
|
||||||
{% block form_id %}{% endblock %}
|
{% block modal-body-right %}
|
||||||
{% block form_action %}{% url 'horizon:project:volumes:volumes:upload_to_image' volume.id %}{% endblock %}
|
<h3>{% trans "Description:" %}</h3>
|
||||||
|
<p>{% blocktrans %}
|
||||||
{% block modal_id %}update_volume_modal{% endblock %}
|
Upload the volume to the Image Service as an image.
|
||||||
{% block modal-header %}{% trans "Upload Volume to Image" %}{% endblock %}
|
This is equivalent to the <tt>cinder upload-to-image</tt> command.
|
||||||
|
{% endblocktrans %}
|
||||||
{% block modal-body %}
|
</p>
|
||||||
<div class="left">
|
<p>{% blocktrans %}
|
||||||
<fieldset>
|
Choose "Disk Format" for the image. The volume images are created with
|
||||||
{% include "horizon/common/_form_fields.html" %}
|
the QEMU disk image utility.
|
||||||
</fieldset>
|
{% endblocktrans %}
|
||||||
</div>
|
</p>
|
||||||
<div class="right">
|
{% if volume.status == 'in-use' %}
|
||||||
<h3>{% trans "Description:" %}</h3>
|
|
||||||
<p>{% blocktrans %}
|
<p>{% blocktrans %}
|
||||||
Upload the volume to the Image Service as an image.
|
When the volume status is "in-use", you can use "Force" to upload the
|
||||||
This is equivalent to the <tt>cinder upload-to-image</tt> command.
|
volume to an image.
|
||||||
{% endblocktrans %}
|
{% endblocktrans %}
|
||||||
</p>
|
</p>
|
||||||
<p>{% blocktrans %}
|
{% endif %}
|
||||||
Choose "Disk Format" for the image. The volume images are created with
|
|
||||||
the QEMU disk image utility.
|
|
||||||
{% endblocktrans %}
|
|
||||||
</p>
|
|
||||||
{% if volume.status == 'in-use' %}
|
|
||||||
<p>{% blocktrans %}
|
|
||||||
When the volume status is "in-use", you can use "Force" to upload the
|
|
||||||
volume to an image.
|
|
||||||
{% endblocktrans %}
|
|
||||||
</p>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block modal-footer %}
|
|
||||||
<input class="btn btn-primary pull-right" type="submit" value="{% trans "Upload" %}" />
|
|
||||||
<a href="{% url 'horizon:project:volumes:index' %}" class="btn btn-default secondary cancel close">{% trans "Cancel" %}</a>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -79,7 +79,10 @@ class DetailView(tabs.TabView):
|
|||||||
|
|
||||||
class CreateView(forms.ModalFormView):
|
class CreateView(forms.ModalFormView):
|
||||||
form_class = project_forms.CreateForm
|
form_class = project_forms.CreateForm
|
||||||
|
modal_header = _("Create Volume")
|
||||||
template_name = 'project/volumes/volumes/create.html'
|
template_name = 'project/volumes/volumes/create.html'
|
||||||
|
submit_label = _("Create Volume")
|
||||||
|
submit_url = reverse_lazy("horizon:project:volumes:volumes:create")
|
||||||
success_url = reverse_lazy('horizon:project:volumes:volumes_tab')
|
success_url = reverse_lazy('horizon:project:volumes:volumes_tab')
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
@ -93,7 +96,10 @@ class CreateView(forms.ModalFormView):
|
|||||||
|
|
||||||
class ExtendView(forms.ModalFormView):
|
class ExtendView(forms.ModalFormView):
|
||||||
form_class = project_forms.ExtendForm
|
form_class = project_forms.ExtendForm
|
||||||
|
modal_header = _("Extend Volume")
|
||||||
template_name = 'project/volumes/volumes/extend.html'
|
template_name = 'project/volumes/volumes/extend.html'
|
||||||
|
submit_label = _("Extend Volume")
|
||||||
|
submit_url = "horizon:project:volumes:volumes:extend"
|
||||||
success_url = reverse_lazy("horizon:project:volumes:index")
|
success_url = reverse_lazy("horizon:project:volumes:index")
|
||||||
|
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
@ -110,6 +116,8 @@ class ExtendView(forms.ModalFormView):
|
|||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(ExtendView, self).get_context_data(**kwargs)
|
context = super(ExtendView, self).get_context_data(**kwargs)
|
||||||
context['volume'] = self.get_object()
|
context['volume'] = self.get_object()
|
||||||
|
args = (self.kwargs['volume_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
try:
|
try:
|
||||||
usages = quotas.tenant_limit_usages(self.request)
|
usages = quotas.tenant_limit_usages(self.request)
|
||||||
usages['gigabytesUsed'] = (usages['gigabytesUsed']
|
usages['gigabytesUsed'] = (usages['gigabytesUsed']
|
||||||
@ -128,12 +136,16 @@ class ExtendView(forms.ModalFormView):
|
|||||||
|
|
||||||
class CreateSnapshotView(forms.ModalFormView):
|
class CreateSnapshotView(forms.ModalFormView):
|
||||||
form_class = project_forms.CreateSnapshotForm
|
form_class = project_forms.CreateSnapshotForm
|
||||||
|
modal_header = _("Create Volume Snapshot")
|
||||||
template_name = 'project/volumes/volumes/create_snapshot.html'
|
template_name = 'project/volumes/volumes/create_snapshot.html'
|
||||||
|
submit_url = "horizon:project:volumes:volumes:create_snapshot"
|
||||||
success_url = reverse_lazy('horizon:project:volumes:snapshots_tab')
|
success_url = reverse_lazy('horizon:project:volumes:snapshots_tab')
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(CreateSnapshotView, self).get_context_data(**kwargs)
|
context = super(CreateSnapshotView, self).get_context_data(**kwargs)
|
||||||
context['volume_id'] = self.kwargs['volume_id']
|
context['volume_id'] = self.kwargs['volume_id']
|
||||||
|
args = (self.kwargs['volume_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
try:
|
try:
|
||||||
volume = cinder.volume_get(self.request, context['volume_id'])
|
volume = cinder.volume_get(self.request, context['volume_id'])
|
||||||
if (volume.status == 'in-use'):
|
if (volume.status == 'in-use'):
|
||||||
@ -156,7 +168,10 @@ class CreateSnapshotView(forms.ModalFormView):
|
|||||||
|
|
||||||
class UploadToImageView(forms.ModalFormView):
|
class UploadToImageView(forms.ModalFormView):
|
||||||
form_class = project_forms.UploadToImageForm
|
form_class = project_forms.UploadToImageForm
|
||||||
|
modal_header = _("Upload Volume to Image")
|
||||||
template_name = 'project/volumes/volumes/upload_to_image.html'
|
template_name = 'project/volumes/volumes/upload_to_image.html'
|
||||||
|
submit_label = _("Upload")
|
||||||
|
submit_url = "horizon:project:volumes:volumes:upload_to_image"
|
||||||
success_url = reverse_lazy("horizon:project:volumes:index")
|
success_url = reverse_lazy("horizon:project:volumes:index")
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
@ -177,7 +192,8 @@ class UploadToImageView(forms.ModalFormView):
|
|||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(UploadToImageView, self).get_context_data(**kwargs)
|
context = super(UploadToImageView, self).get_context_data(**kwargs)
|
||||||
context['volume'] = self.get_data()
|
context['volume'] = self.get_data()
|
||||||
|
args = (self.kwargs['volume_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
@ -256,7 +272,11 @@ class ShowTransferView(forms.ModalFormView):
|
|||||||
|
|
||||||
class UpdateView(forms.ModalFormView):
|
class UpdateView(forms.ModalFormView):
|
||||||
form_class = project_forms.UpdateForm
|
form_class = project_forms.UpdateForm
|
||||||
|
modal_header = _("Edit Volume")
|
||||||
|
modal_id = "update_volume_modal"
|
||||||
template_name = 'project/volumes/volumes/update.html'
|
template_name = 'project/volumes/volumes/update.html'
|
||||||
|
submit_label = _("Save")
|
||||||
|
submit_url = "horizon:project:volumes:volumes:update"
|
||||||
success_url = reverse_lazy("horizon:project:volumes:index")
|
success_url = reverse_lazy("horizon:project:volumes:index")
|
||||||
|
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
@ -273,6 +293,8 @@ class UpdateView(forms.ModalFormView):
|
|||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(UpdateView, self).get_context_data(**kwargs)
|
context = super(UpdateView, self).get_context_data(**kwargs)
|
||||||
context['volume'] = self.get_object()
|
context['volume'] = self.get_object()
|
||||||
|
args = (self.kwargs['volume_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
@ -286,7 +308,11 @@ class UpdateView(forms.ModalFormView):
|
|||||||
class EditAttachmentsView(tables.DataTableView, forms.ModalFormView):
|
class EditAttachmentsView(tables.DataTableView, forms.ModalFormView):
|
||||||
table_class = project_tables.AttachmentsTable
|
table_class = project_tables.AttachmentsTable
|
||||||
form_class = project_forms.AttachForm
|
form_class = project_forms.AttachForm
|
||||||
|
form_id = "attach_volume_form"
|
||||||
|
modal_header = _("Manage Volume Attachments")
|
||||||
|
modal_id = "attach_volume_modal"
|
||||||
template_name = 'project/volumes/volumes/attach.html'
|
template_name = 'project/volumes/volumes/attach.html'
|
||||||
|
submit_url = "horizon:project:volumes:volumes:attach"
|
||||||
success_url = reverse_lazy("horizon:project:volumes:index")
|
success_url = reverse_lazy("horizon:project:volumes:index")
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
@ -327,6 +353,8 @@ class EditAttachmentsView(tables.DataTableView, forms.ModalFormView):
|
|||||||
context = super(EditAttachmentsView, self).get_context_data(**kwargs)
|
context = super(EditAttachmentsView, self).get_context_data(**kwargs)
|
||||||
context['form'] = self.get_form()
|
context['form'] = self.get_form()
|
||||||
volume = self.get_object()
|
volume = self.get_object()
|
||||||
|
args = (self.kwargs['volume_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
if volume and volume.status == 'available':
|
if volume and volume.status == 'available':
|
||||||
context['show_attach'] = True
|
context['show_attach'] = True
|
||||||
else:
|
else:
|
||||||
@ -353,7 +381,11 @@ class EditAttachmentsView(tables.DataTableView, forms.ModalFormView):
|
|||||||
|
|
||||||
class RetypeView(forms.ModalFormView):
|
class RetypeView(forms.ModalFormView):
|
||||||
form_class = project_forms.RetypeForm
|
form_class = project_forms.RetypeForm
|
||||||
|
modal_id = "retype_volume_modal"
|
||||||
|
modal_header = _("Change Volume Type")
|
||||||
template_name = 'project/volumes/volumes/retype.html'
|
template_name = 'project/volumes/volumes/retype.html'
|
||||||
|
submit_label = _("Change Volume Type")
|
||||||
|
submit_url = "horizon:project:volumes:volumes:retype"
|
||||||
success_url = reverse_lazy("horizon:project:volumes:index")
|
success_url = reverse_lazy("horizon:project:volumes:index")
|
||||||
|
|
||||||
@memoized.memoized_method
|
@memoized.memoized_method
|
||||||
@ -374,7 +406,8 @@ class RetypeView(forms.ModalFormView):
|
|||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(RetypeView, self).get_context_data(**kwargs)
|
context = super(RetypeView, self).get_context_data(**kwargs)
|
||||||
context['volume'] = self.get_data()
|
context['volume'] = self.get_data()
|
||||||
|
args = (self.kwargs['volume_id'],)
|
||||||
|
context['submit_url'] = reverse(self.submit_url, args=args)
|
||||||
return context
|
return context
|
||||||
|
|
||||||
def get_initial(self):
|
def get_initial(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user