From 4b9d67eddae80e7df9b91b5de741b68817dacb79 Mon Sep 17 00:00:00 2001
From: Bach Dániel <bd@ik.bme.hu>
Date: Tue, 7 Oct 2014 16:54:57 +0200
Subject: [PATCH] dashboard: fix MassMigrationView

---
 circle/dashboard/templates/dashboard/_vm-mass-migrate.html | 8 +++++---
 circle/dashboard/views/vm.py                               | 6 ++++++
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/circle/dashboard/templates/dashboard/_vm-mass-migrate.html b/circle/dashboard/templates/dashboard/_vm-mass-migrate.html
index 6038785..bb68c06 100644
--- a/circle/dashboard/templates/dashboard/_vm-mass-migrate.html
+++ b/circle/dashboard/templates/dashboard/_vm-mass-migrate.html
@@ -1,6 +1,7 @@
 {% extends "dashboard/mass-operate.html" %}
 {% load i18n %}
 {% load sizefieldtags %}
+{% load crispy_forms_tags %}
 
 
 {% block formfields %}
@@ -11,20 +12,20 @@
         <label for="migrate-to-none">
           <strong>{% trans "Reschedule" %}</strong>
         </label>
-        <input id="migrate-to-none" type="radio" name="node" value="" style="float: right;" checked="checked">
+        <input id="migrate-to-none" type="radio" name="to_node" value="" style="float: right;" checked="checked">
         <span class="vm-migrate-node-property">
           {% trans "This option will reschedule each virtual machine to the optimal node." %}
         </span>
         <div style="clear: both;"></div>
       </div>
     </li>
-    {% for n in nodes %}
+    {% for n in form.fields.to_node.queryset.all %}
     <li class="panel panel-default mass-migrate-node">
       <div class="panel-body">
         <label for="migrate-to-{{n.pk}}">
           <strong>{{ n }}</strong>
         </label>
-        <input id="migrate-to-{{n.pk}}" type="radio" name="node" value="{{ n.pk }}" style="float: right;"/>
+        <input id="migrate-to-{{n.pk}}" type="radio" name="to_node" value="{{ n.pk }}" style="float: right;"/>
         <span class="vm-migrate-node-property">{% trans "CPU load" %}: {{ n.cpu_usage }}</span>
         <span class="vm-migrate-node-property">{% trans "RAM usage" %}: {{ n.byte_ram_usage|filesize }}/{{ n.ram_size|filesize }}</span>
         <div style="clear: both;"></div>
@@ -32,5 +33,6 @@
     </li>
     {% endfor %}
   </ul>
+  {{ form.live_migration|as_crispy_field }}
   <hr />
 {% endblock %}
diff --git a/circle/dashboard/views/vm.py b/circle/dashboard/views/vm.py
index 7277f30..5428bdf 100644
--- a/circle/dashboard/views/vm.py
+++ b/circle/dashboard/views/vm.py
@@ -762,6 +762,12 @@ class MassOperationView(OperationView):
         self.check_auth()
         if extra is None:
             extra = {}
+
+        if hasattr(self, 'form_class'):
+            form = self.form_class(self.request.POST, **self.get_form_kwargs())
+            if form.is_valid():
+                extra.update(form.cleaned_data)
+
         self._call_operations(extra)
         if request.is_ajax():
             store = messages.get_messages(request)
--
libgit2 0.26.0