mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-08 11:16:47 +00:00
The create page's flavor dialog posted its forms the normal way, and the server sent a fresh page back: the VM's name, sizes, disk choices and MAC edits were lost, and a refused flavor left the page for a bare form. The dialog's forms are now posted from the page. The flavor views answer such a post with the presets and the dialog body, rendered from the same includes as the page, and the script swaps them in: a refused flavor shows its errors in the dialog, and the focus stays in it. A post without the script, or one whose request fails, still goes the normal way. Fixes #173 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
16 lines
806 B
HTML
16 lines
806 B
HTML
{% load i18n %}
|
|
<div id="presets">
|
|
{% if flavors %}
|
|
<div class="d-flex flex-wrap gap-2" role="group" aria-labelledby="presets-label" aria-describedby="presets_help">
|
|
{% for flavor in flavors %}
|
|
<button type="button" class="btn btn-sm border text-body focus-ring preset" aria-pressed="false"
|
|
data-label="{{ flavor.label }}" data-vcpu="{{ flavor.vcpu }}" data-memory="{{ flavor.memory }}" data-disk="{{ flavor.disk }}">
|
|
<strong>{{ flavor.label }}</strong> · {{ flavor.vcpu }} vCPU · {{ flavor.memory }} MiB · {{ flavor.disk }} GiB
|
|
</button>
|
|
{% endfor %}
|
|
</div>
|
|
<div id="presets_help" class="form-text">{% trans "A preset fills vCPUs, memory and a new disk of its size." %}</div>
|
|
{% else %}
|
|
<p class="form-text mb-0">{% trans "No flavors yet." %}</p>
|
|
{% endif %}
|
|
</div>
|